Merge branch 'master' into staging

master
Marius Bakke 2017-10-05 00:45:38 +02:00
commit 7716ccd59c
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
95 changed files with 4374 additions and 752 deletions

View File

@ -65,6 +65,7 @@ Sou Bunnbu (宋文武) <iyzsong@gmail.com>
Sou Bunnbu (宋文武) <iyzsong@gmail.com> <iyzsong@member.fsf.org>
Stefan Reichör <stefan@xsteve.at>
Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
Theodoros Foradis <theodoros.for@openmailbox.org> <theodoros@foradis.org>
Thomas Danckaert <thomas.danckaert@gmail.com> <post@thomasdanckaert.be>
Tobias Geerinckx-Rice <me@tobias.gr> <tobias.geerinckx.rice@gmail.com>
Tomáš Čech <sleep_walker@gnu.org> <sleep_walker@suse.cz>

View File

@ -7,6 +7,7 @@
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
# Copyright © 2017 Leo Famulari <leo@famulari.name>
# Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
#
# This file is part of GNU Guix.
#
@ -143,6 +144,7 @@ MODULES = \
guix/build/make-bootstrap.scm \
guix/search-paths.scm \
guix/packages.scm \
guix/import/print.scm \
guix/import/utils.scm \
guix/import/gnu.scm \
guix/import/snix.scm \
@ -173,6 +175,7 @@ MODULES = \
guix/scripts/import/gnu.scm \
guix/scripts/import/nix.scm \
guix/scripts/import/hackage.scm \
guix/scripts/import/json.scm \
guix/scripts/import/elpa.scm \
guix/scripts/import/texlive.scm \
guix/scripts/environment.scm \
@ -275,6 +278,7 @@ SCM_TESTS = \
tests/hash.scm \
tests/pk-crypto.scm \
tests/pki.scm \
tests/print.scm \
tests/sets.scm \
tests/modules.scm \
tests/gnu-maintenance.scm \
@ -708,6 +712,15 @@ hydra-jobs.scm: $(GOBJECTS)
"$(top_srcdir)/build-aux/hydra/gnu-system.scm" > "$@.tmp"
$(AM_V_at)mv "$@.tmp" "$@"
# Compute the Cuirass jobs and write them in the target file.
cuirass-jobs.scm: $(GOBJECTS)
$(AM_V_at)$(MKDIR_P) "`dirname "$@"`"
$(AM_V_GEN)$(top_builddir)/pre-inst-env "$(GUILE)" \
"$(top_srcdir)/build-aux/hydra/evaluate.scm" \
"$(top_srcdir)/build-aux/cuirass/gnu-system.scm" \
cuirass > "$@.tmp"
$(AM_V_at)mv "$@.tmp" "$@"
.PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version
.PHONY: assert-no-store-file-names assert-binaries-available
.PHONY: assert-final-inputs-self-contained

View File

@ -0,0 +1,47 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;;
;;; This file defines build jobs for the Cuirass continuation integration
;;; tool.
;;;
(include-from-path "build-aux/hydra/gnu-system.scm")
(use-modules ((guix licenses)
#:select (license? license-name license-uri license-comment)))
(define (cuirass-jobs store arguments)
"Return Cuirass jobs."
(map hydra-job->cuirass-job (hydra-jobs store arguments)))
(define (hydra-job->cuirass-job hydra-job)
(let ((name (car hydra-job))
(job ((cdr hydra-job))))
(lambda _ (acons #:job-name (symbol->string name)
(map symbol-alist-entry->keyword-alist-entry job)))))
(define (symbol-alist-entry->keyword-alist-entry entry)
(cons (symbol->keyword (car entry)) (entry->sexp-entry (cdr entry))))
(define (entry->sexp-entry o)
(match o
((? license?) `((name . (license-name o))
(uri . ,(license-uri o))
(comment . ,(license-comment o))))
(_ o)))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -70,7 +71,7 @@ Otherwise return THING."
;; Without further ado...
(match (command-line)
((command file)
((command file cuirass? ...)
;; Load FILE, a Scheme file that defines Hydra jobs.
(let ((port (current-output-port)))
(save-module-excursion
@ -96,7 +97,11 @@ Otherwise return THING."
;; Call the entry point of FILE and print the resulting job sexp.
(pretty-print
(match ((module-ref %user-module 'hydra-jobs) store '())
(match ((module-ref %user-module
(if (equal? cuirass? "cuirass")
'cuirass-jobs
'hydra-jobs))
store '())
(((names . thunks) ...)
(map (lambda (job thunk)
(format (current-error-port) "evaluating '~a'... " job)
@ -107,8 +112,8 @@ Otherwise return THING."
names thunks)))
port))))
((command _ ...)
(format (current-error-port) "Usage: ~a FILE
Evaluate the Hydra jobs defined in FILE.~%"
(format (current-error-port) "Usage: ~a FILE [cuirass]
Evaluate the Hydra or Cuirass jobs defined in FILE.~%"
command)
(exit 1)))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -270,6 +271,8 @@ valid."
(define subset
(match (assoc-ref arguments 'subset)
("core" 'core) ; only build core packages
("hello" 'hello) ; only build hello
(((? string?) (? string?) ...) 'list) ; only build selected list of packages
(_ 'all))) ; build everything
(define (cross-jobs system)
@ -340,6 +343,22 @@ valid."
package system))
%core-packages)
(cross-jobs system)))
((hello)
;; Build hello package only.
(if (string=? system (%current-system))
(let ((hello (specification->package "hello")))
(list (package-job store (job-name hello) hello system)))
'()))
((list)
;; Build selected list of packages only.
(if (string=? system (%current-system))
(let* ((names (assoc-ref arguments 'subset))
(packages (map specification->package names)))
(map (lambda (package)
(package-job store (job-name package)
package system))
packages))
'()))
(else
(error "unknown subset" subset))))
%hydra-supported-systems)))

View File

@ -3479,6 +3479,14 @@ build file @file{build.xml} with tasks to build the specified jar
archive. In this case the parameter @code{#:source-dir} can be used to
specify the source sub-directory, defaulting to ``src''.
The @code{#:main-class} parameter can be used with the minimal ant
buildfile to specify the main class of the resulting jar. This makes the
jar file executable. The @code{#:test-include} parameter can be used to
specify the list of junit tests to run. It defaults to
@code{(list "**/*Test.java")}. The @code{#:test-exclude} can be used to
disable some tests. It defaults to @code{(list "**/Abstract*.java")},
because abstract classes cannot be run as tests.
The parameter @code{#:build-target} can be used to specify the Ant task
that should be run during the @code{build} phase. By default the
``jar'' task will be run.
@ -5899,6 +5907,56 @@ CTAN while fetching the sources from the directory
guix import texlive --archive=generic ifxetex
@end example
@item json
@cindex JSON, import
Import package metadata from a local JSON file@footnote{This
functionality requires Guile-JSON to be installed.
@xref{Requirements}.}. Consider the following example package
definition in JSON format:
@example
@{
"name": "hello",
"version": "2.10",
"source": "mirror://gnu/hello/hello-2.10.tar.gz",
"build-system": "gnu",
"home-page": "https://www.gnu.org/software/hello/",
"synopsis": "Hello, GNU world: An example GNU package",
"description": "GNU Hello prints a greeting.",
"license": "GPL-3.0+",
"native-inputs": ["gcc@@6"]
@}
@end example
The field names are the same as for the @code{<package>} record
(@xref{Defining Packages}). References to other packages are provided
as JSON lists of quoted package specification strings such as
@code{guile} or @code{guile@@2.0}.
The importer also supports a more explicit source definition using the
common fields for @code{<origin>} records:
@example
@{
@dots{}
"source": @{
"method": "url-fetch",
"uri": "mirror://gnu/hello/hello-2.10.tar.gz",
"sha256": @{
"base32": "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"
@}
@}
@dots{}
@}
@end example
The command below reads metadata from the JSON file @code{hello.json}
and outputs a package expression:
@example
guix import json hello.json
@end example
@item nix
Import metadata from a local copy of the source of the
@uref{http://nixos.org/nixpkgs/, Nixpkgs distribution}@footnote{This
@ -9964,7 +10022,7 @@ with the default settings, for commonly encountered log files.
(operating-system
;; @dots{}
(services (cons* (mcron-service)
(services (cons* (service mcron-service-type)
(service rottlog-service-type)
%base-services)))
@end lisp
@ -14213,7 +14271,8 @@ blocks, as in this example:
(https-port #f)
(ssl-certificate #f)
(ssl-certificate-key #f)
(root "/srv/http/extra-website"))))
(root "/srv/http/extra-website")
(try-files (list "$uri" "$uri/index.html")))))
@end example
@end deffn
@ -14344,6 +14403,10 @@ server block.
Index files to look for when clients ask for a directory. If it cannot be found,
Nginx will send the list of files in the directory.
@item @code{try-files} (default: @code{'()})
A list of files whose existence is checked in the specified order.
@code{nginx} will use the first file it finds to process the request.
@item @code{ssl-certificate} (default: @code{"/etc/nginx/cert.pem"})
Where to find the certificate for secure connections. Set it to @code{#f} if
you don't have a certificate or you don't want to use HTTPS.
@ -15367,15 +15430,8 @@ packages, as prescribed in the @file{gnu-system.scm} example spec:
(let ((spec #~((#:name . "guix")
(#:url . "git://git.savannah.gnu.org/guix.git")
(#:load-path . ".")
;; Here we must provide an absolute file name.
;; We take jobs from one of the examples provided
;; by Cuirass.
(#:file . #$(file-append
cuirass
"/tests/gnu-system.scm"))
(#:proc . hydra-jobs)
(#:file . "build-aux/cuirass/gnu-system.scm")
(#:proc . cuirass-jobs)
(#:arguments (subset . "hello"))
(#:branch . "master"))))
(service cuirass-service-type
@ -16952,6 +17008,71 @@ Extra options will be passed to @code{git daemon}, please run
@end table
@end deftp
@subsubheading Cgit Service
@cindex Cgit service
@cindex Git, web interface
@uref{https://git.zx2c4.com/cgit/, Cgit} is a web frontend for Git
repositories written in C.
The following example will configure the service with default values.
By default, Cgit can be accessed on port 80 (@code{http://localhost:80}).
@example
(service nginx-service-type)
(service fcgiwrap-service-type)
(service cgit-service-type)
@end example
@deftp {Data Type} cgit-configuration
Data type representing the configuration of Cgit.
This type has the following parameters:
@table @asis
@item @code{config-file} (default: @code{(cgit-configuration-file)})
The configuration file to use for Cgit. This can be set to a
@dfn{cgit-configuration-file} record value, or any gexp
(@pxref{G-Expressions}).
For example, to instead use a local file, the @code{local-file} function
can be used:
@example
(service cgit-service-type
(cgit-configuration
(config-file (local-file "./my-cgitrc.conf"))))
@end example
@item @code{package} (default: @code{cgit})
The Cgit package to use.
@end table
@end deftp
@deftp {Data Type} cgit-configuration-file
Data type representing the configuration options for Cgit.
This type has the following parameters:
@table @asis
@item @code{css} (default: @code{"/share/cgit/cgit.css"})
URL which specifies the css document to include in all Cgit pages.
@item @code{logo} (default: @code{"/share/cgit/cgit.png"})
URL which specifies the source of an image which will be used as a logo
on all Cgit pages.
@item @code{virtual-root} (default: @code{"/"})
URL which, if specified, will be used as root for all Cgit links.
@item @code{repository-directory} (default: @code{"/srv/git"})
Name of the directory to scan for repositories.
@item @code{robots} (default: @code{(list "noindex" "nofollow")})
Text used as content for the ``robots'' meta-tag.
@end table
@end deftp
@node Setuid Programs
@subsection Setuid Programs
@ -19099,6 +19220,18 @@ Translation Project} so that as many users as possible can read them in
their native language. User interfaces search them and display them in
the language specified by the current locale.
To allow @command{xgettext} to extract them as translatable strings,
synopses and descriptions @emph{must be literal strings}. This means
that you cannot use @code{string-append} or @code{format} to construct
these strings:
@lisp
(package
;; @dots{}
(synopsis "This is translatable")
(description (string-append "This is " "*not*" " translatable.")))
@end lisp
Translation is a lot of work so, as a packager, please pay even more
attention to your synopses and descriptions as every change may entail
additional work for translators. In order to help them, it is possible

View File

@ -326,6 +326,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/plotutils.scm \
%D%/packages/polkit.scm \
%D%/packages/popt.scm \
%D%/packages/profiling.scm \
%D%/packages/pth.scm \
%D%/packages/pulseaudio.scm \
%D%/packages/pumpio.scm \
@ -501,6 +502,7 @@ GNU_SYSTEM_MODULES = \
%D%/tests/networking.scm \
%D%/tests/rsync.scm \
%D%/tests/ssh.scm \
%D%/tests/version-control.scm \
%D%/tests/virtualization.scm \
%D%/tests/web.scm
@ -557,6 +559,7 @@ dist_patch_DATA = \
%D%/packages/patches/chmlib-inttypes.patch \
%D%/packages/patches/clang-libc-search-path.patch \
%D%/packages/patches/clang-3.8-libc-search-path.patch \
%D%/packages/patches/clisp-remove-failing-test.patch \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/clx-remove-demo.patch \
%D%/packages/patches/cmake-fix-tests.patch \
@ -574,6 +577,7 @@ dist_patch_DATA = \
%D%/packages/patches/crda-optional-gcrypt.patch \
%D%/packages/patches/crossmap-allow-system-pysam.patch \
%D%/packages/patches/clucene-contribs-lib.patch \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-2017-12836.patch \
%D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \
@ -683,6 +687,7 @@ dist_patch_DATA = \
%D%/packages/patches/graphicsmagick-CVE-2017-13776+CVE-2017-13777.patch \
%D%/packages/patches/graphicsmagick-CVE-2017-14042.patch \
%D%/packages/patches/graphicsmagick-CVE-2017-14165.patch \
%D%/packages/patches/graphicsmagick-CVE-2017-14649.patch \
%D%/packages/patches/graphite2-ffloat-store.patch \
%D%/packages/patches/grep-gnulib-lock.patch \
%D%/packages/patches/grep-timing-sensitive-test.patch \
@ -889,6 +894,7 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-CVE-2015-8869.patch \
%D%/packages/patches/ocaml-Add-a-.file-directive.patch \
%D%/packages/patches/ocaml-findlib-make-install.patch \
%D%/packages/patches/ocaml-graph-honor-source-date-epoch.patch \
%D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/ola-readdir-r.patch \
%D%/packages/patches/openscenegraph-ffmpeg3.patch \
@ -974,6 +980,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-genshi-isstring-helper.patch \
%D%/packages/patches/python-genshi-stripping-of-unsafe-script-tags.patch \
%D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
%D%/packages/patches/python-nose-timer-drop-ordereddict.patch \
%D%/packages/patches/python-parse-too-many-fields.patch \
%D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
%D%/packages/patches/python-statsmodels-fix-tests.patch \
@ -988,8 +995,6 @@ dist_patch_DATA = \
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
%D%/packages/patches/python2-subprocess32-disable-input-test.patch \
%D%/packages/patches/qemu-CVE-2017-13711.patch \
%D%/packages/patches/qemu-CVE-2017-14167.patch \
%D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
@ -1114,8 +1119,6 @@ dist_patch_DATA = \
%D%/packages/patches/xinetd-fix-fd-leak.patch \
%D%/packages/patches/xinetd-CVE-2013-4342.patch \
%D%/packages/patches/xmodmap-asprintf.patch \
%D%/packages/patches/xorg-server-CVE-2017-10971.patch \
%D%/packages/patches/xorg-server-CVE-2017-10972.patch \
%D%/packages/patches/libyaml-CVE-2014-9130.patch \
%D%/packages/patches/zathura-plugindir-environment-variable.patch \
%D%/packages/patches/zziplib-CVE-2017-5974.patch \

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 ng0 <ng0@no-reply.pragmatique.xyz>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;;
;;; This file is part of GNU Guix.
;;;
@ -20,6 +21,8 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages)
#:use-module (gnu packages xml)
@ -29,7 +32,8 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages pkg-config))
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages libusb))
(define-public florence
(package
@ -76,3 +80,42 @@ available to help to click.")
;; The documentation is under FDL1.2, but we do not install the
;; documentation.
(license license:gpl2+)))
(define-public footswitch
(let ((commit "7cb0a9333a150c27c7e4746ee827765d244e567a"))
(package
(name "footswitch")
(version (git-version "0.1" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rgerganov/footswitch")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0mg1vr4a9vls5y435w7wdnr1vb5059gy60lvrdfjgzhd2wwf47iw"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("hidapi" ,hidapi)))
(arguments
`(#:tests? #f ; no tests
#:make-flags (list "CC=gcc")
#:phases (modify-phases %standard-phases
(delete 'configure)
;; Install target in the Makefile does not work for Guix
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out")
"/bin")))
(mkdir-p bin)
(install-file "footswitch" bin)
#t))))))
(home-page "https://github.com/rgerganov/footswitch")
(synopsis "Command line utility for PCsensor foot switch")
(description
"Command line utility for programming foot switches sold by PCsensor.
It works for both single pedal devices and three pedal devices. All supported
devices have vendorId:productId = 0c45:7403 or 0c45:7404.")
(license license:expat))))

View File

@ -4,6 +4,7 @@
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -25,6 +26,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages gnupg)
@ -305,6 +307,42 @@ of device actions, such as installing and debugging apps, and it provides access
to a Unix shell that can run commands on the connected device or emulator.")
(license license:asl2.0)))
(define-public android-udev-rules
(package
(name "android-udev-rules")
(version "20170910")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/M0Rf30/android-udev-rules")
(commit version)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32 "0vic40n3si0dxag3dyc3hi3pn7cjpm5q378x8v2ys19n3iz9fp1g"))))
(build-system trivial-build-system)
(native-inputs `(("source" ,source)))
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((source (assoc-ref %build-inputs "source")))
(install-file (string-append source "/51-android.rules")
(string-append %output "/lib/udev/rules.d"))))))
(home-page "https://github.com/M0Rf30/android-udev-rules")
(synopsis "udev rules for Android devices")
(description "Provides a set of udev rules to allow using Android devices
with tools such as @command{adb} and @command{fastboot} without root
privileges. This package is intended to be added as a rule to the
@code{udev-service-type} in your @code{operating-system} configuration.
Additionally, an @code{adbusers} group must be defined and your user added to
it.
@emph{Simply installing this package will not have any effect.} It is meant
to be passed to the @code{udev} service.")
(license license:gpl3+)))
(define-public git-repo
(package
(name "git-repo")

View File

@ -4,7 +4,7 @@
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Andersson <christopher@8bits.nu>
;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.

View File

@ -36,6 +36,7 @@
#:use-module (guix build-system trivial)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
@ -79,6 +80,8 @@
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (srfi srfi-1))
(define-public alsa-modular-synth
@ -1125,7 +1128,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
(define-public guitarix
(package
(name "guitarix")
(version "0.35.5")
(version "0.35.6")
(source (origin
(method url-fetch)
(uri (string-append
@ -1133,7 +1136,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
version ".tar.xz"))
(sha256
(base32
"00pfb6qa3jfa6qaql7isnb8srfdfmk362ygslh7y0qkm36qasmh4"))))
"0ffvfnvhj6vz73zsrpi88hs69ys4zskm847zf825dl2r39n9nn41"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no "check" target
@ -2913,3 +2916,62 @@ mixers.")
(define-public python2-pyalsaaudio
(package-with-python2 python-pyalsaaudio))
(define-public snd
(package
(name "snd")
(version "17.7")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
"snd-" version ".tar.gz"))
(sha256
(base32
"1vm0dy5qlycqkima7y5ajzvazyjybifa803fabjcpncjz08c26vp"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:tests? #f ; no tests
#:out-of-source? #f ; for the 'install-doc' phase
#:configure-flags
(let* ((out (assoc-ref %outputs "out"))
(docdir (string-append out "/share/doc/snd")))
(list "--with-alsa" "--with-jack" "--with-gmp"
(string-append "--with-doc-dir=" docdir)))
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(docdir (string-append out "/share/doc/snd")))
(mkdir-p docdir)
(for-each
(lambda (f)
(install-file f docdir))
(find-files "." "\\.html$|COPYING"))
(copy-recursively "pix" (string-append docdir "/pix"))
#t))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("alsa-lib" ,alsa-lib)
("fftw" ,fftw)
("flac" ,flac)
("gmp" ,gmp)
("gsl" ,gsl)
("gtk+" ,gtk+)
("jack" ,jack-1)
("libsamplerate" ,libsamplerate)
("mpc" ,mpc)
("mpfr" ,mpfr)
("mpg123" ,mpg123)
("speex" ,speex)
("timidity++" ,timidity++)
("vorbis-tools" ,vorbis-tools)
("wavpack" ,wavpack)))
(synopsis "Sound editor")
(home-page "https://ccrma.stanford.edu/software/snd/")
(description
"Snd is a sound editor modelled loosely after Emacs. It can be
customized and extended using either the s7 Scheme implementation (included in
the Snd sources), Ruby, or Forth.")
(license (license:non-copyleft "file://COPYING"))))

View File

@ -6,6 +6,7 @@
;;; Copyright © 2015, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2017 ng0 <ng0@libertad.pw>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -194,7 +195,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
(define-public autoconf-archive
(package
(name "autoconf-archive")
(version "2017.03.21")
(version "2017.09.28")
(source
(origin
(method url-fetch)
@ -202,7 +203,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
version ".tar.xz"))
(sha256
(base32
"0rfpapadka2023qhy8294ca5awxpb8d4904js6kv7piby5ax8siq"))))
"00gsh9hkrgg291my98plkrwlcpxkfrpq64pglf18kciqbf2bb7sw"))))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/autoconf-archive/")
(synopsis "Collection of freely reusable Autoconf macros")

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
@ -78,6 +78,16 @@ C or C++ programs, though that is not its primary goal.")
(license (x11-style (string-append home-page "license.txt")))))
(define-public libgc/back-pointers
(package
(inherit libgc)
(name "libgc-back-pointers")
(arguments
`(#:make-flags
(list "CPPFLAGS=-DKEEP_BACK_PTRS=1")
,@(package-arguments libgc)))
(synopsis "The BDW garbage collector, with back-pointer tracking")))
(define-public libatomic-ops
(package
(name "libatomic-ops")

View File

@ -2,7 +2,7 @@
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016 Stefan Reichoer <stefan@xsteve.at>
;;;
@ -55,9 +55,8 @@
(arguments
'(#:tests? #f ; test suite appears broken
#:configure-flags
(list (string-append "-DCMAKE_INSTALL_RPATH="
(assoc-ref %outputs "out") "/lib:"
(assoc-ref %outputs "out") "/lib64"))
(list (string-append "-DCMAKE_INSTALL_LIBDIR="
(assoc-ref %outputs "out") "/lib"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-paths

View File

@ -9,6 +9,7 @@
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -293,3 +294,26 @@ generation.")
C++ but is used in C and C++ projects and frequently used in embedded systems
but it works for any C/C++ project.")
(license bsd-3)))
(define-public python-parameterized
(package
(name "python-parameterized")
(version "0.6.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "parameterized" version))
(sha256
(base32
"1qj1939shm48d9ql6fm1nrdy4p7sdyj8clz1szh5swwpf1qqxxfa"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; there are no tests
(home-page "https://github.com/wolever/parameterized")
(synopsis "Parameterized testing with any Python test framework")
(description
"Parameterized is a Python library that aims to fix parameterized testing
for every Python test framework. It supports nose, py.test, and unittest.")
(license bsd-2)))
(define-public python2-parameterized
(package-with-python2 python-parameterized))

View File

@ -187,8 +187,8 @@ their dependencies.")
(license l:gpl3+))))
(define-public cuirass
(let ((commit "2a4d493e28100b8eca7d23300dd872c9f99e1f16")
(revision "9"))
(let ((commit "9cfea9fe2e3ca6a3d1b832a6ec217426ec973c93")
(revision "10"))
(package
(name "cuirass")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@ -200,7 +200,7 @@ their dependencies.")
(file-name (string-append name "-" version))
(sha256
(base32
"0hi7x25ya8wydrfj9jd9zb351mw8pgxxxwgxxdn5kds7qvhxr26v"))))
"177klidmsw12kjk9dzawc0bqcwqlplgx45m87qpgjfx3cnk28i2b"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)
@ -268,6 +268,17 @@ their dependencies.")
("automake" ,automake)
("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
(native-search-paths
;; For HTTPS access, Cuirass itself honors these variables, with the
;; same semantics as Git and OpenSSL (respectively).
(list (search-path-specification
(variable "GIT_SSL_CAINFO")
(file-type 'regular)
(separator #f) ;single entry
(files '("etc/ssl/certs/ca-certificates.crt")))
(search-path-specification
(variable "SSL_CERT_DIR")
(files '("etc/ssl/certs")))))
(synopsis "Continuous integration system")
(description
"Cuirass is a continuous integration tool using GNU Guix. It is

View File

@ -58,7 +58,11 @@
;; Needed to have cflow-mode.el installed.
(native-inputs `(("emacs" ,emacs-minimal)))
(arguments
'(#:configure-flags (list (string-append "CPPFLAGS="
"-D" "CFLOW_PREPROC=\\\""
(assoc-ref %build-inputs "gcc")
"/bin/cpp\\\""))))
(home-page "https://www.gnu.org/software/cflow/")
(synopsis "Create a graph of control flow within a program")
(description

View File

@ -16,7 +16,7 @@
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2017 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;;
;;; This file is part of GNU Guix.
;;;

View File

@ -92,13 +92,13 @@ error stream.")
(define-public r-rcpp
(package
(name "r-rcpp")
(version "0.12.12")
(version "0.12.13")
(source
(origin
(method url-fetch)
(uri (cran-uri "Rcpp" version))
(sha256
(base32 "1byyqvlgb2p46p1gv243k73rk69fa8pa4l5m5asmckag2pkb2glz"))))
(base32 "1bm84yc48475plgsnnbvzi6nzkixpnfw8ry86ax63f9g524asw55"))))
(build-system r-build-system)
(home-page "http://www.rcpp.org")
(synopsis "Seamless R and C++ integration")
@ -964,14 +964,14 @@ contexts.")
(define-public r-lava
(package
(name "r-lava")
(version "1.5")
(version "1.5.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "lava" version))
(sha256
(base32
"0x6s7x111x87a4rh5nbk7vw6j4iq40i1c21w0j795h28rgyc7zc2"))))
"1vcm04h9i39gmf2prl5d4j4il4gs6skzr6y2fvl1vn4hklna87f4"))))
(build-system r-build-system)
(propagated-inputs
`(("r-numderiv" ,r-numderiv)
@ -1078,21 +1078,24 @@ calendar objects.")
(define-public r-ddalpha
(package
(name "r-ddalpha")
(version "1.2.1")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "ddalpha" version))
(sha256
(base32
"0nsd515x6bap1qpfyx141hyldmpmyasnhv0f8s9dj6zcklp89af4"))))
"0pczw9543y7f92m7gyk7rxcjn8vsjaldc5vl0r56ywip9i374zbh"))))
(build-system r-build-system)
(propagated-inputs
`(("r-bh" ,r-bh)
("r-class" ,r-class)
("r-mass" ,r-mass)
("r-rcpp" ,r-rcpp)
("r-robustbase" ,r-robustbase)))
("r-robustbase" ,r-robustbase)
("r-sfsmisc" ,r-sfsmisc)))
(native-inputs
`(("gfortran" ,gfortran)))
(home-page "http://cran.r-project.org/web/packages/ddalpha")
(synopsis "Depth-Based classification and calculation of data depth")
(description

View File

@ -58,7 +58,7 @@
(define-public libsodium
(package
(name "libsodium")
(version "1.0.14")
(version "1.0.15")
(source (origin
(method url-fetch)
(uri (list (string-append
@ -69,7 +69,7 @@
"releases/old/libsodium-" version ".tar.gz")))
(sha256
(base32
"1rvylybhxyn6ap3hrcingsl737zrqg12l7r91ns93j7xjz889z1w"))))
"1x3qw7lsz44vcxpcn1dvwig410phg6gmv31jwj94arrgka3rwspv"))))
(build-system gnu-build-system)
(synopsis "Portable NaCl-based crypto library")
(description

View File

@ -9,7 +9,7 @@
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
@ -68,6 +68,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages xml)
@ -77,6 +78,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system ruby)
#:use-module (guix build-system cmake)
#:use-module (guix utils)
#:use-module (srfi srfi-26)
@ -254,6 +256,45 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
;; HAVE_CXX_STDHEADERS being defined in db_cxx.h.
"--enable-cxx"))))))))))
(define-public es-dump-restore
(package
(name "es-dump-restore")
(version "2.1.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "es_dump_restore" version))
(sha256
(base32
"020yk7f1hw48clmf5501z3xv9shsdchyymcv0y2cci2c1xvr1mim"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f ;; No testsuite.
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-bin-es_dump_restore
(lambda* (#:key outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
"/bin/es_dump_restore")
`("GEM_PATH" ":" prefix (,(string-append
(getenv "GEM_PATH")
":"
(getenv "GEM_HOME")))))
#t)))))
(propagated-inputs
`(("ruby-httpclient" ,ruby-httpclient)
("ruby-multi-json" ,ruby-multi-json)
("ruby-progress_bar" ,ruby-progress_bar)
("ruby-rubyzip" ,ruby-rubyzip)
("ruby-thor" ,ruby-thor)))
(synopsis "Utility for dumping and restoring ElasticSearch indexes")
(description
"This package provides a utility for dumping the contents of an
ElasticSearch index to a compressed file and restoring the dumpfile back to an
ElasticSearch server")
(home-page "https://github.com/patientslikeme/es_dump_restore")
(license license:expat)))
(define-public leveldb
(package
(name "leveldb")
@ -1674,3 +1715,30 @@ implementation for Python.")
(define-public python2-orator
(package-with-python2 (strip-python2-variant python-orator)))
(define-public virtuoso-ose
(package
(name "virtuoso-ose")
(version "7.2.4.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/openlink/virtuoso-opensource/releases/"
"download/v" version "/virtuoso-opensource-" version ".tar.gz"))
(sha256
(base32 "12dqam1gc1v93l0bj0vlpvjqppki6y1hqrlznywxnw0rrz9pb002"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; Tests require a network connection.
(inputs
`(("openssl" ,openssl)
("net-tools" ,net-tools)))
(home-page "http://vos.openlinksw.com/owiki/wiki/VOS/")
(synopsis "Multi-model database system")
(description "Virtuoso is a scalable cross-platform server that combines
relational, graph, and document data management with web application server
and web services platform functionality.")
;; configure: error: ... can only be build on 64bit platforms
(supported-systems '("x86_64-linux" "mips64el-linux" "aarch64-linux"))
(license license:gpl2)))

View File

@ -55,13 +55,13 @@ clients.")
(define-public vdirsyncer
(package
(name "vdirsyncer")
(version "0.16.2")
(version "0.16.3")
(source (origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
"19xqzxcgmpm2z56l2d4a1n4sqmhrnzfwx3d9avfzgldwyhlrz0da"))))
"0dpwbfi97ksijqng191659m8k0v215y8ld95w8gb126m4m96qpzw"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -89,6 +89,7 @@ clients.")
("python-pytest" ,python-pytest)
("python-pytest-localserver" ,python-pytest-localserver)
("python-pytest-subtesthack" ,python-pytest-subtesthack)
("python-urllib3" ,python-urllib3)
("python-wsgi-intercept" ,python-wsgi-intercept)
("radicale" ,radicale)))
(propagated-inputs

View File

@ -2,7 +2,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
@ -59,7 +59,7 @@
(define-public dnsmasq
(package
(name "dnsmasq")
(version "2.76")
(version "2.78")
(source (origin
(method url-fetch)
(uri (string-append
@ -67,7 +67,7 @@
version ".tar.xz"))
(sha256
(base32
"15lzih6671gh9knzpl8mxchiml7z5lfqzr7jm2r0rjhrxs6nk4jb"))))
"0ar5h5v3kas2qx2wgy5iqin15gc4jhqrqs067xacgc3lii1rz549"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -483,14 +483,14 @@ Extensions} (DNSSEC).")
(define-public knot
(package
(name "knot")
(version "2.5.4")
(version "2.6.0")
(source (origin
(method url-fetch)
(uri (string-append "https://secure.nic.cz/files/knot-dns/"
name "-" version ".tar.xz"))
(sha256
(base32
"1w14m9pmc8vl9mcgikvwbflwcxwz52l77jq98wvxyxab13lpdpiz"))
"1zc3ybhcxgbysyy68kbmndh6xzy4jnr5iikyrf9s2sxzs1hlkq38"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2017 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -32,15 +32,16 @@
(define-public dunst
(package
(name "dunst")
(version "1.1.0")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://knopwob.org/public/dunst-release/dunst-"
version ".tar.bz2"))
"https://github.com/dunst-project/dunst/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0w3hilzwanwsp4q6dxbdj6l0mvpg4fq02wf8isll8kmbx9kz2ay7"))))
"1bf5fmmj79wlwi8wzir3rd8czyrxfx16w8q7c957123yz1g5ph53"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target
@ -55,15 +56,15 @@
(inputs
`(("dbus" ,dbus)
("glib" ,glib)
("gtk" ,gtk+-2)
("cairo" ,cairo)
("pango" ,pango)
("libx11" ,libx11)
("libxext" ,libxext)
("libxft" ,libxft)
("libxscrnsaver" ,libxscrnsaver)
("libxinerama" ,libxinerama)
("libxrandr" ,libxrandr)
("libxdg-basedir" ,libxdg-basedir)))
(home-page "http://knopwob.org/dunst")
(home-page "https://dunst-project.org/")
(synopsis "Customizable and lightweight notification daemon")
(description
"Dunst is a highly configurable and minimalistic notification daemon.

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;;
;;; This file is part of GNU Guix.
;;;

View File

@ -1278,10 +1278,32 @@ Maps directly inside Emacs.")
single buffer.")
(license license:gpl3+)))
(define-public emacs-tablist
(package
(name "emacs-tablist")
(version "0.70")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/politza/tablist/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"177d6s7ym1mwz1nhnl09r14z3n093g9a2szm97xsaig0c204xz9c"))))
(build-system emacs-build-system)
(home-page "https://github.com/politza/tablist")
(synopsis "Extension for @code{tabulated-list-mode}")
(description "Tablist is the Emacs package that provides several
additional features to @code{tabulated-list-mode}: it adds marks,
filters, new key bindings and faces. It can be enabled by
@code{tablist-mode} or @code{tablist-minor-mode} commands.")
(license license:gpl3+)))
(define-public emacs-pdf-tools
(package
(name "emacs-pdf-tools")
(version "0.70")
(version "0.80")
(source (origin
(method url-fetch)
(uri (string-append
@ -1290,7 +1312,7 @@ single buffer.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1m0api6wiawswyk46bdsyk6r5rg3b86a4paar6nassm6x6c6vr77"))))
"06imydn3a92vr57azpn1zhqc14kxyyslmyi9ldsyphan9b724gb6"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests
@ -1339,6 +1361,7 @@ single buffer.")
("glib" ,glib)
("libpng" ,libpng)
("zlib" ,zlib)))
(propagated-inputs `(("tablist" ,emacs-tablist)))
(synopsis "Emacs support library for PDF files")
(description
"PDF Tools is, among other things, a replacement of DocView for PDF
@ -2100,6 +2123,29 @@ read from small to large monitors by using colors, a prefix feature, and smart
truncation.")
(license license:gpl2+)))
(define-public emacs-sr-speedbar
(package
(name "emacs-sr-speedbar")
(version "20140914.2339")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/emacsorphanage/sr-speedbar/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"15xwwc6kgvmk4wdhx1j8w6m6ivxvc94028ppgdpa2m51a8c9vjm9"))))
(build-system emacs-build-system)
(home-page "https://www.emacswiki.org/emacs/SrSpeedbar")
(synopsis "Same frame Emacs @code{speedbar}")
(description
"This Emacs package allows you to show @code{M-x speedbar} in the
same frame (in an extra window). You can customize the initial width of
the speedbar window.")
(license license:gpl3+)))
(define-public emacs-shell-switcher
(package
(name "emacs-shell-switcher")
@ -2417,7 +2463,7 @@ in @code{html-mode}.")
(define-public emacs-slime
(package
(name "emacs-slime")
(version "2.19")
(version "2.20")
(source
(origin
(file-name (string-append name "-" version ".tar.gz"))
@ -2427,7 +2473,7 @@ in @code{html-mode}.")
version ".tar.gz"))
(sha256
(base32
"1jhaq5cn89k45nzyl0jd12gmjxnh1bq9jlfwrxba342agxsscb0p"))))
"086lq5y4pvj9wihy0si02xxvyzpzz8mcg3hz1cvy9zxlyjwzr1gk"))))
(build-system emacs-build-system)
(native-inputs
`(("texinfo" ,texinfo)))
@ -2525,6 +2571,27 @@ insertion mode. When enabled all keys are implicitly prefixed with
@samp{C-} (among other helpful shortcuts).")
(license license:gpl3+))))
(define-public emacs-jinja2-mode
(package
(name "emacs-jinja2-mode")
(version "0.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/paradoxxxzero/jinja2-mode/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0cgxjab1kla2zc2fj7bzib6i7snp08zshandmp9kqcm85l262xpn"))))
(build-system emacs-build-system)
(home-page "https://github.com/paradoxxxzero/jinja2-mode")
(synopsis "Major mode for jinja2")
(description
"Emacs major mode for jinja2 with: syntax highlighting,
sgml/html integration, and indentation (working with sgml).")
(license license:gpl3+)))
(define-public emacs-rfcview
(package
(name "emacs-rfcview")
@ -3488,7 +3555,7 @@ names, e.g. #0000ff is displayed in white with a blue background.")
(define-public emacs-visual-fill-column
(package
(name "emacs-visual-fill-column")
(version "1.7")
(version "1.11")
(source (origin
(method url-fetch)
(uri (string-append "https://codeload.github.com/joostkremers/"
@ -3496,7 +3563,7 @@ names, e.g. #0000ff is displayed in white with a blue background.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"12vn7kdq2mpz9hgibbn1vhpf23lcm7c26k3fkz8nidhygwl5x5lq"))))
"13jnviakp607zcms7f8ams56mr8wffnq1pghlc6fvqs39663pgwh"))))
(build-system emacs-build-system)
(home-page "https://github.com/joostkremers/visual-fill-column")
(synopsis "Fill-column for visual-line-mode")
@ -3509,6 +3576,31 @@ wrapping lines at the window edge, which is the standard behaviour of
window edge.")
(license license:gpl3+)))
(define-public emacs-writeroom
(package
(name "emacs-writeroom")
(version "3.7")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/joostkremers/writeroom-mode/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0yqgp5h3kvvpgva4azakb2wnjl7gsyh45glf75crspv3xyq57f2r"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
(home-page "https://github.com/joostkremers/writeroom-mode")
(synopsis "Distraction-free writing for Emacs")
(description
"This package defines a minor mode for distraction-free writing. Some of
the default effects include entering fullscreen, deleting other windows of the
current frame, disabling the mode line, and adding margins to the buffer that
restrict the text width to 80 characters.")
(license license:bsd-3)))
(define-public emacs-ido-completing-read+
(package
(name "emacs-ido-completing-read+")
@ -3940,7 +4032,7 @@ Flx has support for ido (interactively do things) through flx-ido.")
(define-public emacs-cyberpunk-theme
(package
(name "emacs-cyberpunk-theme")
(version "1.18")
(version "1.19")
(source
(origin
(method url-fetch)
@ -3948,7 +4040,7 @@ Flx has support for ido (interactively do things) through flx-ido.")
"archive/" version ".tar.gz"))
(sha256
(base32
"0pxzbw0qjxgkhhs3gn3k9qy41kl1a4pfzbw83dk24l4b3nxd24wg"))
"05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system emacs-build-system)
(home-page "https://github.com/n3mo/cyberpunk-theme.el")
@ -4801,6 +4893,97 @@ the same - CDLaTeX focuses on speediness for inserting LaTeX
constructs.")
(license license:gpl3+)))
(define-public emacs-cnfonts
(package
(name "emacs-cnfonts")
(version "0.9.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/tumashu/cnfonts/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1l6cgcvc6md1zq97ccczankpyi0k4vjx6apflny6kjq3p33lyhf4"))))
(build-system emacs-build-system)
(home-page "https://github.com/tumashu/cnfonts")
(synopsis "Emacs Chinese fonts setup tool")
(description "cnfonts is a Chinese fonts setup tool, allowing for easy
configuration of Chinese fonts.")
(license license:gpl2+)))
(define-public emacs-pos-tip
(package
(name "emacs-pos-tip")
(version "0.4.6")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/pitkali/pos-tip/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"12jqfy26vjk7lq0aa8yn8zqj8c85fkvx7y9prj0pcn4wqiz2ad2r"))))
(build-system emacs-build-system)
;; The following functions and variables needed by emacs-pos-tip are
;; not included in emacs-minimal:
;; x-display-pixel-width, x-display-pixel-height, x-show-tip
(arguments `(#:emacs ,emacs))
(home-page "https://github.com/pitkali/pos-tip")
(synopsis "Show tooltip at point")
(description "The standard library tooltip.el provides a function for
displaying a tooltip at the mouse position. However, locating a tooltip at an
arbitrary buffer position in a window is not easy. Pos-tip provides such a
function to be used by other frontend programs.")
(license license:gpl2+)))
(define-public emacs-pyim-basedict
(package
(name "emacs-pyim-basedict")
(version "0.3.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/tumashu/pyim-basedict/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0nfgxviavkgrpyfsw60xsws4fk51fcmgl8fp6zf4ibqjjbp53n3n"))))
(build-system emacs-build-system)
(home-page "https://github.com/tumashu/pyim-basedict")
(synopsis "Input method dictionary of pyim")
(description "Pyim-basedict is the default pinyin input method dictionary,
containing words from the rime project.")
(license license:gpl2+)))
(define-public emacs-pyim
(package
(name "emacs-pyim")
(version "1.6.4")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/tumashu/pyim/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0hfg8q9hcjifvnlghw2g94dfxfirms2psq2ghqb28fhkf0lks13r"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
("emacs-pyim-basedict" ,emacs-pyim-basedict)
("emacs-popup" ,emacs-popup)
("emacs-pos-tip" ,emacs-pos-tip)))
(home-page "https://github.com/tumashu/pyim")
(synopsis "Chinese input method")
(description "Chinese input method which supports quanpin, shuangpin, wubi
and cangjie.")
(license license:gpl2+)))
(define-public emacs-xelb
(package
(name "emacs-xelb")

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;;
;;; This file is part of GNU Guix.
@ -290,8 +290,8 @@ languages are C and C++.")
(define-public libjaylink
;; No release tarballs available.
(let ((commit "faa2a433fdd3de211728f3da5921133214af9dd3")
(revision "1"))
(let ((commit "699b7001d34a79c8e7064503dde1bede786fd7f0")
(revision "2"))
(package
(name "libjaylink")
(version (string-append "0.1.0-" revision "."
@ -304,7 +304,7 @@ languages are C and C++.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"02crr56csz8whq3q4mrmdzzgwp5b0qvxm0fb18drclc3zj44yxl2"))))
"034872d44myycnzn67v5b8ixrgmg8sk32aqalvm5x7108w2byww1"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@ -355,59 +355,66 @@ language.")
(license license:bsd-2)))
(define-public openocd
;; FIXME: Use tarball release after nrf52 patch is merged.
(let ((commit "674141e8a7a6413cb803d90c2a20150260015f81")
(revision "1"))
(package
(name "openocd")
(version (string-append "0.9.0-" revision "."
(string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.code.sf.net/p/openocd/code.git")
(commit commit)))
(sha256
(base32
"1i86jp0wawq78d73z8hp7q1pn7lmlvhjjr19f7299h4w40a5jf8j"))
(file-name (string-append name "-" version "-checkout"))
(patches
(search-patches "openocd-nrf52.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(inputs
`(("hidapi" ,hidapi)
("jimtcl" ,jimtcl)
("libftdi" ,libftdi)
("libjaylink" ,libjaylink)
("libusb-compat" ,libusb-compat)))
(arguments
'(#:configure-flags
(append (list "--disable-werror"
"--disable-internal-jimtcl"
"--disable-internal-libjaylink")
(map (lambda (programmer)
(string-append "--enable-" programmer))
'("amtjtagaccel" "armjtagew" "buspirate" "ftdi"
"gw16012" "jlink" "oocd_trace" "opendous" "osbdm"
"parport" "aice" "cmsis-dap" "dummy" "jtag_vpi"
"remote-bitbang" "rlink" "stlink" "ti-icdi" "ulink"
"usbprog" "vsllink" "usb-blaster-2" "usb_blaster"
"presto" "openjtag")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
(home-page "http://openocd.org")
(synopsis "On-Chip Debugger")
(description "OpenOCD provides on-chip programming and debugging support
(package
(name "openocd")
(version "0.10.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/openocd/openocd/"
version "/openocd-" version ".tar.gz"))
(sha256
(base32
"09p57y3c2spqx4vjjlz1ljm1lcd0j9q8g76ywxqgn3yc34wv18zd"))
;; FIXME: Remove after nrf52 patch is merged.
(patches
(search-patches "openocd-nrf52.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(inputs
`(("hidapi" ,hidapi)
("jimtcl" ,jimtcl)
("libftdi" ,libftdi)
("libjaylink" ,libjaylink)
("libusb-compat" ,libusb-compat)))
(arguments
'(#:configure-flags
(append (list "--disable-werror"
"--enable-sysfsgpio"
"--disable-internal-jimtcl"
"--disable-internal-libjaylink")
(map (lambda (programmer)
(string-append "--enable-" programmer))
'("amtjtagaccel" "armjtagew" "buspirate" "ftdi"
"gw16012" "jlink" "opendous" "osbdm"
"parport" "aice" "cmsis-dap" "dummy" "jtag_vpi"
"remote-bitbang" "rlink" "stlink" "ti-icdi" "ulink"
"usbprog" "vsllink" "usb-blaster-2" "usb_blaster"
"presto" "openjtag")))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vfi"))))
(add-after 'autoreconf 'change-udev-group
(lambda _
(substitute* "contrib/60-openocd.rules"
(("plugdev") "dialout"))
#t))
(add-after 'install 'install-udev-rules
(lambda* (#:key outputs #:allow-other-keys)
(install-file "contrib/60-openocd.rules"
(string-append
(assoc-ref outputs "out")
"/lib/udev/rules.d/")))))))
(home-page "http://openocd.org")
(synopsis "On-Chip Debugger")
(description "OpenOCD provides on-chip programming and debugging support
with a layered architecture of JTAG interface and TAP support.")
(license license:gpl2+))))
(license license:gpl2+)))
;; The commits for all propeller tools are the latest versions as published
;; here: https://github.com/dbetz/propeller-gcc

View File

@ -4,7 +4,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
@ -61,6 +61,7 @@
#:use-module (gnu packages m4)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@ -1127,3 +1128,154 @@ hexadecimal editor able to open disk files, but later support for analyzing
binaries, disassembling code, debugging programs, attaching to remote gdb
servers, ...")
(license license:lgpl3)))
(define-public asco
(package
(name "asco")
(version "0.4.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/asco/asco/" version "/ASCO-"
version ".tar.gz"))
(sha256
(base32
"119rbc2dc8xzwxvykgji0v0nrzvymjmlizr1bc2mihspj686kxsl"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
#:make-flags '("all" "asco-mpi")
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((coreutils (assoc-ref inputs "coreutils-minimal")))
(substitute* '("errfunc.c" "asco.c")
(("cp ")
(string-append coreutils "/bin/cp "))
(("nice")
(string-append coreutils "/bin/nice")))
(substitute* "Makefile"
(("<FULL_PATH_TO_MPICH>/bin/mpicc") (which "mpicc")))
#t)))
(replace 'install ; no install target
(lambda* (#:key outputs #:allow-other-keys)
(for-each (lambda (file)
(install-file file (string-append
(assoc-ref outputs "out")
"/bin")))
'("asco" "asco-mpi" "asco-test"
"tools/alter/alter" "tools/log/log"))
#t)))))
(native-inputs
`(("mpi" ,openmpi)))
(inputs
`(("coreutils-minimal" ,coreutils-minimal)))
(home-page "http://asco.sourceforge.net/")
(synopsis "SPICE circuit optimizer")
(description
"ASCO brings circuit optimization capabilities to existing SPICE simulators using a
high-performance parallel differential evolution (DE) optimization algorithm.")
(license license:gpl2+)))
(define-public libngspice
;; Note: The ngspice's build system does not allow us to build both the
;; library and the executables in one go. Thus, we have two packages.
;; See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27344#236>.
(package
(name "libngspice")
(version "26")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/ngspice/ng-spice-rework/"
version "/ngspice-" version ".tar.gz"))
(sha256
(base32
"02019ndcl057nq9z41nxycqba7wxlb081ibvfj9jv010nz431qji"))
(modules '((guix build utils)))
;; We remove the non-free cider and build without it.
(snippet
'(begin
(delete-file-recursively "src/ciderlib")
(delete-file "src/ciderinit")
(substitute* "configure"
(("src/ciderlib/Makefile") "")
(("src/ciderlib/input/Makefile") "")
(("src/ciderlib/support/Makefile") "")
(("src/ciderlib/oned/Makefile") "")
(("src/ciderlib/twod/Makefile") ""))))))
(build-system gnu-build-system)
(arguments
`(;; No tests for libngspice exist.
;; The transient tests for ngspice fail.
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-timestamps
(lambda _
(substitute* "configure"
(("`date`") "Do 1. Jan 00:00:00 UTC 1970"))
#t))
(add-after 'unpack 'delete-program-manuals
(lambda _
(substitute* "man/man1/Makefile.in"
(("^man_MANS = ngspice\\.1 ngnutmeg\\.1 ngsconvert\\.1 ngmultidec\\.1")
"man_MANS = "))
#t))
(add-after 'install 'delete-script-files
(lambda* (#:key outputs #:allow-other-keys)
(delete-file-recursively
(string-append (assoc-ref outputs "out")
"/share/ngspice/scripts")))))
#:configure-flags
(list "--enable-openmp"
"--enable-xspice"
"--with-ngshared"
"--with-readline=yes")))
(native-inputs
`(("bison" ,bison)
("flex" ,flex)))
(inputs
`(("libxaw" ,libxaw)
("mpi" ,openmpi)
("readline" ,readline)))
(home-page "http://ngspice.sourceforge.net/")
(synopsis "Mixed-level/mixed-signal circuit simulator")
(description
"Ngspice is a mixed-level/mixed-signal circuit simulator. It includes
@code{Spice3f5}, a circuit simulator, and @code{Xspice}, an extension that
provides code modeling support and simulation of digital components through
an embedded event driven algorithm.")
(license (list license:lgpl2.0+ ; code in frontend/numparam
(license:non-copyleft "file:///COPYING") ; spice3 bsd-style
license:public-domain)))) ; xspice
(define-public ngspice
;; The ngspice executables (see libngpsice above.)
(package (inherit libngspice)
(name "ngspice")
(arguments
(substitute-keyword-arguments (package-arguments libngspice)
((#:configure-flags flags)
`(delete "--with-ngshared" ,flags))
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'delete-include-files
(lambda _
(substitute* "src/Makefile.in"
(("^SUBDIRS = misc maths frontend spicelib include/ngspice")
"SUBDIRS = misc maths frontend spicelib"))
#t))
(add-after 'install 'delete-cmpp-dlmain
(lambda* (#:key outputs #:allow-other-keys)
(for-each (lambda (file)
(delete-file
(string-append (assoc-ref outputs "out")
file)))
'("/bin/cmpp" "/share/ngspice/dlmain.c"))
#t))
(delete 'delete-program-manuals)
(delete 'delete-script-files)))))
(inputs
`(("libngspice" ,libngspice)
("readline" ,readline)))))

View File

@ -22,37 +22,37 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages finance)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages dns)
#:use-module (gnu packages emacs)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages linux)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages upnp)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages gnuzilla))
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages dns)
#:use-module (gnu packages emacs)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages linux)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages upnp)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages gnuzilla))
(define-public bitcoin-core
(package

View File

@ -5,6 +5,7 @@
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,19 +23,22 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages flashing-tools)
#:use-module (guix licenses)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages flex)
#:use-module (gnu packages elf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages libusb)
#:use-module (gnu packages libftdi)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages qt)
#:use-module (gnu packages autotools)
#:use-module (gnu packages admin))
@ -80,7 +84,7 @@ verifying and erasing flash chips. It is designed to flash
BIOS/EFI/coreboot/firmware/optionROM images on mainboards,
network/graphics/storage controller cards, and various other
programmer devices.")
(license gpl2)))
(license license:gpl2)))
(define-public 0xffff
(package
@ -111,7 +115,7 @@ programmer devices.")
for FIASCO images. It supports generating, unpacking, editing and
flashing of FIASCO images for Maemo devices. Use it with care. It can
brick your device.")
(license gpl3+)))
(license license:gpl3+)))
(define-public avrdude
(package
@ -139,7 +143,7 @@ brick your device.")
"AVRDUDE is a utility to download/upload/manipulate the ROM and
EEPROM contents of AVR microcontrollers using the in-system programming
technique (ISP).")
(license gpl2+)))
(license license:gpl2+)))
(define-public dfu-programmer
(package
@ -165,7 +169,7 @@ technique (ISP).")
"Dfu-programmer is a multi-platform command-line programmer for
Atmel (8051, AVR, XMEGA & AVR32) chips with a USB bootloader supporting
ISP.")
(license gpl2+)))
(license license:gpl2+)))
(define-public dfu-util
(package
@ -192,7 +196,7 @@ ranges from small devices like micro-controller boards up to mobile phones.
With dfu-util you are able to download firmware to your device or upload
firmware from it.")
(home-page "http://dfu-util.sourceforge.net/")
(license gpl2+)))
(license license:gpl2+)))
(define-public teensy-loader-cli
;; The repo does not tag versions nor does it use releases, but a commit
@ -243,7 +247,7 @@ HalfKay bootloader is running, so you can upload new programs and run them.
You need to add the udev rules to make the Teensy update available for
non-root users.")
(home-page "https://www.pjrc.com/teensy/loader_cli.html")
(license gpl3))))
(license license:gpl3))))
(define-public rkflashtool
(let ((commit "094bd6410cb016e487e2ccb1050c59eeac2e6dd1")
@ -277,4 +281,51 @@ non-root users.")
(description "Allows flashing of Rockchip based embedded linux devices.
The list of currently supported devices is: RK2818, RK2918, RK2928, RK3026,
RK3036, RK3066, RK312X, RK3168, RK3188, RK3288, RK3368.")
(license bsd-2))))
(license license:bsd-2))))
(define-public heimdall
(package
(name "heimdall")
(version "1.4.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/Benjamin-Dobell/Heimdall"
"/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1y7gwg3lipyp2zcysm2vid1qg5nwin9bxbvgzs28lz2rya4fz6sq"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release")
#:tests? #f; no tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-invocations
(lambda* (#:key outputs #:allow-other-keys)
(substitute* '("heimdall-frontend/source/aboutform.cpp"
"heimdall-frontend/source/mainwindow.cpp")
(("start[(]\"heimdall\"")
(string-append "start(\"" (assoc-ref outputs "out")
"/bin/heimdall\"")))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin"))
(lib (string-append (assoc-ref outputs "out") "/lib")))
(install-file "bin/heimdall" bin)
(install-file "bin/heimdall-frontend" bin)
(install-file "libpit/libpit.a" lib)
#t))))))
(inputs
`(("libusb" ,libusb)
("qtbase" ,qtbase)
("zlib" ,zlib)))
(home-page "http://glassechidna.com.au/heimdall/")
(synopsis "Flash firmware onto Samsung mobile devices")
(description "@command{heimdall} is a tool suite used to flash firmware (aka
ROMs) onto Samsung mobile devices. Heimdall connects to a mobile device over
USB and interacts with low-level software running on the device, known as Loke.
Loke and Heimdall communicate via the custom Samsung-developed protocol typically
referred to as the \"Odin 3 protocol\".")
(license license:expat)))

View File

@ -20,6 +20,7 @@
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -514,6 +515,32 @@ fonts.")
;; exceptions.
(license license:gpl3)))
(define-public font-rachana
(package
(name "font-rachana")
(version "7.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://gitlab.com/smc/rachana/repository/archive.tar.gz?ref=Version"
version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0jc091gshna6p1dd6lf507jxkgk6rsja835fc9dm71mcplq53bm1"))))
(build-system font-build-system)
(home-page "https://smc.org.in")
(synopsis "Malayalam font")
(description
"Rachana is a Malayalam font designed by Hussain K H. The project was
part of Rachana Aksharavedi for the original script of Malayalam in computing.
Rachana has about 1,200+ glyphs for Malayalam and contains glyphs required for
printing old Malayalam books without compromising the writing style.")
;; This font is licensed under SIL 1.1 or GPLv3+ with font embedding
;; exceptions.
(license (list license:silofl1.1 license:gpl3+))))
(define-public font-tex-gyre
(package
(name "font-tex-gyre")

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org>
;;;
;;; This file is part of GNU Guix.
;;;

View File

@ -173,7 +173,7 @@ as required.")
(define-public libfilezilla
(package
(name "libfilezilla")
(version "0.10.1")
(version "0.11.0")
(source
(origin
(method url-fetch)
@ -181,7 +181,7 @@ as required.")
name "/" name "-" version ".tar.bz2"))
(sha256
(base32
"1yi9db0hpxh3giyjhkbz7ajmf95qw27xdvh3xvw208zri5k575x0"))))
"1l4yhw269dyarqb2spqhycxzzyfn8pj4qh9vfycdw1c93hj6fx6c"))))
(build-system gnu-build-system)
(native-inputs
`(("cppunit" ,cppunit)

View File

@ -3045,7 +3045,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
(define-public mgba
(package
(name "mgba")
(version "0.6.0")
(version "0.6.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mgba-emu/mgba/archive/"
@ -3053,7 +3053,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"01zy2w5pihlkrmbm51icgyff6iqyqa5ha6qrm4aj8ibzznz03kyq"))
"0xmq1q1j71hnpd49wm91cqq8w5zdhb921cm17jchp4qjmaqgwy3w"))
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.

View File

@ -2050,7 +2050,7 @@ editors, IDEs, etc.")
(package
(inherit vte)
(name "vte-ng")
(version "0.48.3.a")
(version "0.50.0.a")
(native-inputs
`(("gtk-doc" ,gtk-doc)
("gperf" ,gperf)
@ -2065,7 +2065,7 @@ editors, IDEs, etc.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1wdkf090zclqy11hxdjgy8f6fgzajl0xzzirajikhbaiill7f8zh"))))
"0h5ifg6xpix074k445bmnd39mc75llrfkrsr9vw98dxa4rffxrgf"))))
(arguments
`(#:configure-flags '("CXXFLAGS=-Wformat=0")
#:phases (modify-phases %standard-phases
@ -6062,7 +6062,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.")
(define-public gnome-calendar
(package
(name "gnome-calendar")
(version "3.24.3")
(version "3.26.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -6070,22 +6070,78 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.")
name "-" version ".tar.xz"))
(sha256
(base32
"1v7k1wcl5yg9bd4l0rz0z03h32d35zgfp4qzz21widjcyis41jry"))))
(build-system glib-or-gtk-build-system)
"0p4xg9sfhcyy2lj9sdg8pk6dmggbi80f038dycr24v0ccy3nk6f2"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
;; gnome-calendar has to be installed before the tests can be run
;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
#:tests? #f))
(native-inputs
`(("intltool" ,intltool)
`(("gettext" ,gettext-minimal)
("glib-bin" ,glib "bin") ; For glib-compile-schemas
("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
("pkg-config" ,pkg-config)))
(inputs
`(("bdb" ,bdb)
("desktop-file-utils" ,desktop-file-utils)
("evolution-data-server" ,evolution-data-server)
`(("evolution-data-server" ,evolution-data-server)
("gnome-online-accounts" ,gnome-online-accounts)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
(home-page "https://wiki.gnome.org/Apps/Calendar")
(synopsis "GNOME's calendar application")
(description
"GNOME Calendar is a simple calendar application designed to fit the GNOME
desktop. It supports multiple calendars, monthly view and yearly view.")
desktop. It supports multiple calendars, month, week and year view.")
(license license:gpl3+)))
(define-public gnome-todo
(package
(name "gnome-todo")
(version "3.26.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"13if2lg4r65v3z7h5y57qv4iqz9ihjaml8bzvvihha7dffyr1lz4"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
#:phases (modify-phases %standard-phases
(add-after
'install 'wrap-gnome-todo
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH"))
(python-path (getenv "PYTHONPATH")))
(wrap-program (string-append out "/bin/gnome-todo")
;; XXX: gi plugins are broken.
;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
;; For plugins.
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
`("PYTHONPATH" ":" prefix (,python-path))))
#t)))))
(native-inputs
`(("gettext" ,gettext-minimal)
("gobject-introspection" ,gobject-introspection)
("glib:bin" ,glib "bin") ; For glib-compile-resources
("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
("pkg-config" ,pkg-config)))
(inputs
`(("rest" ,rest) ; For Todoist plugin
("json-glib" ,json-glib) ; For Todoist plugin
("libical" ,libical)
("libpeas" ,libpeas)
("python-pygobject" ,python-pygobject)
("evolution-data-server" ,evolution-data-server)
("gnome-online-accounts" ,gnome-online-accounts)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
(home-page "https://wiki.gnome.org/Apps/Todo")
(synopsis "GNOME's ToDo Application")
(description
"GNOME To Do is a simplistic personal task manager designed to perfectly
fit the GNOME desktop.")
(license license:gpl3+)))
(define-public gnome-dictionary

View File

@ -155,7 +155,7 @@ tool to extract metadata from a file and print the results.")
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
("gnutls" ,gnutls)
("gnutls" ,gnutls/dane)
("libgcrypt" ,libgcrypt)
("openssl" ,openssl)
("zlib" ,zlib)))
@ -197,7 +197,7 @@ and support for SSL3 and TLS.")
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 1.5 MiB of man3 pages
(inputs `(("gnutls" ,gnutls)
(inputs `(("gnutls" ,gnutls/dane)
("libidn" ,libidn)
("zlib" ,zlib)))
(native-inputs
@ -271,7 +271,7 @@ supports HTTP, HTTPS and GnuTLS.")
("gnurl" ,gnurl)
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
("gnutls" ,gnutls)
("gnutls" ,gnutls/dane)
("libextractor" ,libextractor)
("libgcrypt" ,libgcrypt)
("libidn" ,libidn)

View File

@ -416,16 +416,32 @@ standards.")
(mozilla-patch "icecat-bug-546387.patch" "d13e3fefb76e" "1b760r0bg2ydbl585wlmajljh1nlisrwxvjws5b28a3sgjy01i6k")
(mozilla-patch "icecat-bug-1350152.patch" "f822bda79c28" "1wf56169ca874shr6r7qx40s17h2gwj7ngmpyylrpmd1c6hipvsj")
(mozilla-patch "icecat-bug-1388166.patch" "fbb0bdb191d5" "1y8wpj38vw1dd6f375s9i0mrk9bd8z8gz5g70p4qynfllpkn072d")
(mozilla-patch "icecat-bug-1380824.patch" "fbddb5cdd3c7" "0k5nyl2z1y2rx9fwqyfj64678yv6v3pnmshgk552pbzqmaf8i1hq")
(mozilla-patch "icecat-bug-1390550.patch" "76c25987a275" "095b9vwsiza9ikbnnppfcld16h75x5bxjfxc73913y04n0i42ifh")
(mozilla-patch "icecat-bug-1387918.patch" "32eec29a85a5" "057simakqg56jvas1wkskg5kszn96m74nca26x08d5w7rzmbv1q2")
(mozilla-patch "icecat-CVE-2017-7810-pt1.patch" "fbddb5cdd3c7" "0k5nyl2z1y2rx9fwqyfj64678yv6v3pnmshgk552pbzqmaf8i1hq")
(mozilla-patch "icecat-CVE-2017-7810-pt2.patch" "76c25987a275" "095b9vwsiza9ikbnnppfcld16h75x5bxjfxc73913y04n0i42ifh")
(mozilla-patch "icecat-CVE-2017-7810-pt3.patch" "32eec29a85a5" "057simakqg56jvas1wkskg5kszn96m74nca26x08d5w7rzmbv1q2")
(mozilla-patch "icecat-bug-1373222.patch" "ecef71fa933f" "0vsymgy5j702lamvh2riahni7rdj9ba3bd6i4a2m22d638rwp1i2")
(mozilla-patch "icecat-bug-1376036.patch" "68a444daf85b" "1faaadaajidzb9i00710zxdyv370hlrdg1l5rw2ymfmzbjj4jqyd")
(mozilla-patch "icecat-CVE-2017-7814.patch" "68a444daf85b" "1faaadaajidzb9i00710zxdyv370hlrdg1l5rw2ymfmzbjj4jqyd")
(mozilla-patch "icecat-bug-1376825.patch" "eeeec9cafc4e" "188qf6zi9kyxb33330yia6wmrd5mdyqn5hr1cl38zy7m3akv8srh")
(mozilla-patch "icecat-bug-1385272.patch" "d68fa12fbffc" "13gh97vz9n2b7303jcvr1072iy8bghy9chvbmxzvw82prvkscavw")
(mozilla-patch "icecat-bug-1390002.patch" "c24e6fc9f689" "0aswhy5fz2f6wzd5j5gg3nqvz707ip344089h2z2chcp146vxmf4")
(mozilla-patch "icecat-bug-1371657.patch" "ae110cf77596" "0gdrkfq9wy9cfcdgbj14ci86xgh2prkbz69pfy97r9igd8059syw")
(mozilla-patch "icecat-bug-1386787.patch" "b8417112486d" "1hya6lccz7vm51v4f6ww072794cwzmfn9xhxmvrnqbiyspxx5fz4")))
(mozilla-patch "icecat-CVE-2017-7810-pt4.patch" "ae110cf77596" "0gdrkfq9wy9cfcdgbj14ci86xgh2prkbz69pfy97r9igd8059syw")
(mozilla-patch "icecat-CVE-2017-7810-pt5.patch" "b8417112486d" "1hya6lccz7vm51v4f6ww072794cwzmfn9xhxmvrnqbiyspxx5fz4")
(mozilla-patch "icecat-bug-1386905.patch" "badbf4308211" "0fj1pyjqfdsbrlfykwmkzav2nvdj1f4grwq3cal9f7ay6wjnfs9b")
(mozilla-patch "icecat-CVE-2017-7810-pt6.patch" "d78675515c78" "03w5hqy40xkckbaf5bm9kdbdqvp9ffvpk9mlrc9lja6b7qa4pjhg")
(mozilla-patch "icecat-bug-1382303.patch" "f01155fe4d54" "0hnz1kvmvspg6453kydsklbvrjgzn8x3djvrym3f2xl2yinaf90d")
(mozilla-patch "icecat-bug-1393467.patch" "4eec2a60622c" "1h006mwcsagq7mz7haymwgr7fn4zj14n5lxbjcmhdqrxdvma2hjj")
(mozilla-patch "icecat-bug-1384801.patch" "9556e792f905" "0i74r807189s8i78483caiifw68cn7fs543i4cys6k3gn12dhhjy")
(mozilla-patch "icecat-CVE-2017-7823.patch" "bd284765b5bc" "1c4hss87kc4qwx30magbqczm9h7zmwirjfc8zimqbrnwv9bbsfh3")
(mozilla-patch "icecat-CVE-2017-7805.patch" "113da8d46aa4" "1vy0lw659mwixmb57mgybga152rdwqd5zj1g7nfw1zgp15pfwr75")
(mozilla-patch "icecat-bug-1376399.patch" "58a574502ca9" "1zmg91pg0s5nwngc32a4fywidvxyaayvx1h052fsv0i4cfm16l9v")
(mozilla-patch "icecat-bug-1396570.patch" "24db61862c54" "0af1jjfma042xvn0xhgims1yvb2b51nhn4m0pcfwg3fn0llmka03")
(mozilla-patch "icecat-CVE-2017-7819.patch" "1a02f11c6efe" "18a9qvdvrqw34qw3lljg6gkn358jl23lyimhmbc964023rhs36sz")
(mozilla-patch "icecat-CVE-2017-7810-pt7.patch" "002686d9536f" "065g0d759wfiaj69b1sqg7l08p2knc0q9m9hvkgwwsf0r78xcbjj")
(mozilla-patch "icecat-CVE-2017-7810-pt8.patch" "eaadb31758d8" "0b3k3la6ykac5mbp9gyqqgjbmj19vx9sl1b0wp387qar0p12nyaz")
(mozilla-patch "icecat-bug-1368269.patch" "0cff5e66e0f4" "0jb0wqi7c0ih4441s1908j6gv18v4inh7k2w47h3c9nhz4rgyrw7")
(mozilla-patch "icecat-CVE-2017-7793.patch" "6ff3c82962f0" "0bw82034kdmrpznigbavzzsiybzrw8giyf8v0z2cxf6mwl72bf9k")
(mozilla-patch "icecat-bug-1400399.patch" "d6f78b1349b7" "0i3gwr2al3xl65yfa3nimvy8dp0jzpx21f6bjw18xwn7zkkh9j54")
(mozilla-patch "icecat-bug-1400721.patch" "285cde398833" "0a1i32zl30wfyw7zkqj595s94n6wdlg5c495m0910pd05pjg3qam")))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
;;;
;;; This file is part of GNU Guix.
;;;

View File

@ -13,7 +13,7 @@
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2017 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;;
;;; This file is part of GNU Guix.
;;;

View File

@ -46,14 +46,14 @@
;; The 7 release series has an incompatible API, while the 6 series is still
;; maintained. Don't update to 7 until we've made sure that the ImageMagick
;; users are ready for the 7-series API.
(version "6.9.9-15")
(version "6.9.9-17")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
"0bxgdc1qiyvag6a2iiqcbwp4ak0m1mzi9qhs51fbrvv6syy12m6c"))))
"0y39jcd6358dph51ch5w43sqk9lv079jhgg3l7g5mks6m25f49gz"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")
@ -185,7 +185,8 @@ script.")
"graphicsmagick-CVE-2017-13775.patch"
"graphicsmagick-CVE-2017-13776+CVE-2017-13777.patch"
"graphicsmagick-CVE-2017-14042.patch"
"graphicsmagick-CVE-2017-14165.patch"))))
"graphicsmagick-CVE-2017-14165.patch"
"graphicsmagick-CVE-2017-14649.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -4716,3 +4716,567 @@ complex transformations and code analysis tools.")
#t)))))
(native-inputs
`(("java-junit" ,java-junit)))))
(define-public java-microemulator-cldc
(package
(name "java-microemulator-cldc")
(version "2.0.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/barteo/microemu/archive/"
"microemulator_"
(string-map (lambda (c) (if (char=? c #\.) #\_ c))
version)
".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1x1apmz38gkppxnwnygwmi12j54v4p258v8ddzn6dldkk7vak1ll"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "microemulator-cldc.jar"
#:source-dir "microemu-cldc/src/main/java"
#:tests? #f)); Requires even older software
(home-page "https://github.com/barteo/microemu")
(synopsis "J2ME CLDC emulator")
(description "Microemulator is a Java 2 Micro Edition (J2ME) CLDC/MIDP
Emulator. It allows to demonstrate MIDlet based applications in web browser
applet and can be run as a standalone java application.")
(license (list license:asl2.0
;; or altenatively:
license:lgpl2.1+))))
(define-public java-datanucleus-javax-persistence
(package
(name "java-datanucleus-javax-persistence")
(version "2.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/datanucleus/"
"javax.persistence/archive/javax.persistence-"
version "-release.tar.gz"))
(sha256
(base32
"11jx0fjwgc2hhbqqgdd6m1pf2fplf9vslppygax0y1z5csnqjhpx"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "java-datanucleus-javax-persistence.jar"
#:jdk ,icedtea-8
#:source-dir "src/main/java"
#:tests? #f)); no tests
(home-page "https://github.com/datanucleus/javax.persistence")
(synopsis "JPA API")
(description "This package contains a clean definition of JPA API intended
for use with DataNucleus JPA since the JCP haven't provided an official JPA API
jar. See @url{http://java.net/projects/jpa-spec/downloads} for the specification
used to generate this API.")
(license (list license:edl1.0 license:epl1.0))))
(define-public java-osgi-cmpn
(package
(name "java-osgi-cmpn")
(version "6.0.0")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/"
"org/osgi/osgi.cmpn/" version "/osgi.cmpn-"
version "-sources.jar"))
(sha256
(base32
"1lmb6xyrmkqdhv1kayf0514rlwq6ypvs4m44ibrck3snp8241wys"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "osgi-cmpn.jar"
#:tests? #f)); no tests
(inputs
`(("annotation" ,java-osgi-annotation)
("core" ,java-osgi-core)
("java-datanucleus-javax-persistence" ,java-datanucleus-javax-persistence)
("microemulator" ,java-microemulator-cldc)
("servlet" ,java-classpathx-servletapi)))
(home-page "http://www.osgi.org")
(synopsis "Compendium specification module of OSGi framework")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
the compendium specification module, providing interfaces and classes for use
in compiling bundles.")
(license license:asl2.0)))
(define-public java-osgi-service-component-annotations
(package
(name "java-osgi-service-component-annotations")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.service.component.annotations/"
version "/org.osgi.service.component.annotations-"
version "-sources.jar"))
(sha256
(base32
"15rq9cmp4fpn74q44m4j35qsqmjf5lx3hcrk6pzvbhc08igic2f0"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "osgi-service-component-annotations.jar"
#:tests? #f)); no tests
(inputs
`(("annotation" ,java-osgi-annotation)))
(home-page "http://www.osgi.org")
(synopsis "Support annotations for osgi-service-component")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
the support annotations for osgi-service-component.")
(license license:asl2.0)))
(define-public java-osgi-dto
(package
(name "java-osgi-dto")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.dto/" version "/org.osgi.dto-"
version "-sources.jar"))
(sha256
(base32
"0f4bqjzadn0hwk6sd3h5gvbyfp3yci1s6r0v770cc15p0pg627yr"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "osgi-dto.jar"
#:tests? #f)); no tests
(inputs
`(("annotation" ,java-osgi-annotation)))
(home-page "http://www.osgi.org")
(synopsis "Data Transfer Objects")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
the Data Transfer Objects. It is easily serializable having only public fields
of primitive types and their wrapper classes, Strings, and DTOs. List, Set,
Map and array aggregates may also be used. The aggregates must only hold
objects of the listed types or aggregates.")
(license license:asl2.0)))
(define-public java-osgi-resource
(package
(name "java-osgi-resource")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.resource/"
version "/org.osgi.resource-"
version "-sources.jar"))
(sha256
(base32
"0hi0fsc5v99q22bd7lrkvpz1y0ds4w9arjldpwsrcpqvz2js7q2d"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "osgi-resource.jar"
#:tests? #f)); no tests
(inputs
`(("annotation" ,java-osgi-annotation)
("dto" ,java-osgi-dto)))
(home-page "http://www.osgi.org")
(synopsis "OSGI Resource")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
the definition of common types in osgi packages.")
(license license:asl2.0)))
(define-public java-osgi-namespace-contract
(package
(name "java-osgi-namespace-contract")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.namespace.contract/"
version "/org.osgi.namespace.contract-"
version "-sources.jar"))
(sha256
(base32
"1iz4f2i0fvqrlq90ki9nfzcfpvy2av434ri25bglywqssx8mmp36"))))
(build-system ant-build-system)
(inputs
`(("resource" ,java-osgi-resource)
("annotation" ,java-osgi-annotation)))
(arguments
`(#:jar-name "osgi-namespace-contract.jar"
#:tests? #f)); no tests
(home-page "http://www.osgi.org")
(synopsis "Contract Capability and Requirement Namespace")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
the names for the attributes and directives for a namespace with contracts.")
(license license:asl2.0)))
(define-public java-osgi-namespace-extender
(package
(name "java-osgi-namespace-extender")
(version "1.0.1")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.namespace.extender/"
version "/org.osgi.namespace.extender-"
version "-sources.jar"))
(sha256
(base32
"0jgqiak2i05qv6j3gd33xlaifzzc0ylxxk376v2x0apfg3vvixmz"))))
(build-system ant-build-system)
(inputs
`(("resource" ,java-osgi-resource)
("annotation" ,java-osgi-annotation)))
(arguments
`(#:jar-name "osgi-namespace-extendent.jar"
#:tests? #f)); no tests
(home-page "http://www.osgi.org")
(synopsis "Extender Capability and Requirement Namespace")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
the names for the attributes and directives for an extender namespace.")
(license license:asl2.0)))
(define-public java-osgi-namespace-service
(package
(name "java-osgi-namespace-service")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.namespace.service/"
version "/org.osgi.namespace.service-"
version "-sources.jar"))
(sha256
(base32
"0qmw8n2449nkmm56d1znz9zhazb6ya3vsimd5bf5jg23zzhgl8c8"))))
(build-system ant-build-system)
(inputs
`(("resource" ,java-osgi-resource)
("annotation" ,java-osgi-annotation)))
(arguments
`(#:jar-name "osgi-namespace-service.jar"
#:tests? #f)); no tests
(home-page "http://www.osgi.org")
(synopsis "Service Capability and Requirement Namespace")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
the names for the attributes and directives for a service namespace.")
(license license:asl2.0)))
(define-public java-osgi-util-function
(package
(name "java-osgi-util-function")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.util.function/"
version "/org.osgi.util.function-"
version "-sources.jar"))
(sha256
(base32
"04l7j3hwmmj28w23m7paca0afzncs42j2mdr3liqq8kvp548sc6x"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "osgi-util-function.jar"
#:tests? #f)); no tests
(inputs
`(("annotation" ,java-osgi-annotation)))
(home-page "http://www.osgi.org")
(synopsis "OSGI Util Function")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
an interface for a function that accepts a single argument and produces a result.")
(license license:asl2.0)))
(define-public java-osgi-util-promise
(package
(name "java-osgi-util-promise")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.util.promise/"
version "/org.osgi.util.promise-"
version "-sources.jar"))
(sha256
(base32
"0y34dwiflg1c4ahvkswpf9z02xph2sr9fm04ia5493x3lshpw22c"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "osgi-util-promise.jar"
#:tests? #f)); no tests
(inputs
`(("annotation" ,java-osgi-annotation)
("function" ,java-osgi-util-function)))
(home-page "http://www.osgi.org")
(synopsis "Promise of a value")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
an interface and utilitary classes for promises. A Promise represents a future
value. It handles the interactions for asynchronous processing.")
(license license:asl2.0)))
(define-public java-osgi-service-metatype-annotations
(package
(name "java-osgi-service-metatype-annotations")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.service.metatype.annotations/"
version "/org.osgi.service.metatype.annotations-"
version "-sources.jar"))
(sha256
(base32
"12rwm3349wk80vm88rcdgs4435m4jxkpkj5mrx326skkz2c6hyw6"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "osgi-service-metatype-annotations.jar"
#:tests? #f)); no tests
(inputs
`(("annotation" ,java-osgi-annotation)))
(home-page "http://www.osgi.org")
(synopsis "Support annotations for metatype")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
the support annotations for metatype.")
(license license:asl2.0)))
(define-public java-osgi-service-repository
(package
(name "java-osgi-service-repository")
(version "1.1.0")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.service.repository/"
version "/org.osgi.service.repository-"
version "-sources.jar"))
(sha256
(base32
"1k41mhg7b58pd8nsghr2qwcjrxdnf1p9spsw9v11k4257g6rl06n"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "osgi-service-repository.jar"
#:tests? #f)); no tests
(inputs
`(("annotation" ,java-osgi-annotation)
("promise" ,java-osgi-util-promise)
("resource" ,java-osgi-resource)))
(home-page "http://www.osgi.org")
(synopsis "OSGI service repository")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
a repository service that contains resources.")
(license license:asl2.0)))
(define-public java-osgi-framework
(package
(name "java-osgi-framework")
(version "1.8.0")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.framework/" version "/org.osgi.framework-"
version "-sources.jar"))
(sha256
(base32
"1lwp2zfad3rybcc6q9bwz8xsgkc92ypzy5p6x54387f1qj65m73s"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "osgi-framework.jar"
#:tests? #f)); no tests
(inputs
`(("annotation" ,java-osgi-annotation)
("resource" ,java-osgi-resource)
("dto" ,java-osgi-dto)))
(home-page "http://www.osgi.org")
(synopsis "OSGi framework")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language.")
(license license:asl2.0)))
(define-public java-osgi-service-log
(package
(name "java-osgi-service-log")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.service.log/"
version "/org.osgi.service.log-"
version "-sources.jar"))
(sha256
(base32
"1029j30dzcwializzca0j3fkhwwz08kmmsha5agw1iccscimj6r0"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "osgi-service-log.jar"
#:tests? #f)); no tests
(inputs
`(("java-osgi-framework" ,java-osgi-framework)))
(home-page "http://www.osgi.org")
(synopsis "Provides methods for bundles to write messages to the log")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
the log service.")
(license license:asl2.0)))
(define-public java-osgi-service-jdbc
(package
(name "java-osgi-service-jdbc")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.service.jdbc/"
version "/org.osgi.service.jdbc-"
version "-sources.jar"))
(sha256
(base32
"11iln5v7bk469cgb9ddkrz9sa95b3733gqgaqw9xf5g6wq652yjz"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "osgi-service-jdbc.jar"
#:tests? #f)); no tests
(home-page "http://www.osgi.org")
(synopsis "Factory for JDBC connection factories")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
a factory for JDBC connection factories. There are 3 preferred connection
factories for getting JDBC connections:
@itemize
@item @code{javax.sql.DataSource};
@item @code{javax.sql.ConnectionPoolDataSource};
@item @code{javax.sql.XADataSource}.
@end itemize")
(license license:asl2.0)))
(define-public java-osgi-service-resolver
(package
(name "java-osgi-service-resolver")
(version "1.0.1")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.service.resolver/"
version "/org.osgi.service.resolver-"
version "-sources.jar"))
(sha256
(base32
"1dzqn1ryfi2rq4zwsgp44bmj2wlfydjg1qbxw2b0z4xdjjy55vxd"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "osgi-service-resolver.jar"
#:tests? #f)); no tests
(inputs
`(("annotation" ,java-osgi-annotation)
("resource" ,java-osgi-resource)))
(home-page "http://www.osgi.org")
(synopsis "OSGI Resolver service")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
a resolver service that resolves the specified resources in the context supplied
by the caller.")
(license license:asl2.0)))
(define-public java-osgi-util-tracker
(package
(name "java-osgi-util-tracker")
(version "1.5.1")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.util.tracker/"
version "/org.osgi.util.tracker-"
version "-sources.jar"))
(sha256
(base32
"0c4fh9vxwzsx59r8dygda0gq2gx3z5vfhc3jsphlqwf5w0h403lz"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "osgi-util-tracker.jar"
#:tests? #f)); no tests
(inputs
`(("framework" ,java-osgi-framework)
("annotation" ,java-osgi-annotation)))
(home-page "http://www.osgi.org")
(synopsis "Bundle tracking")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
bundle tracking utility classes.")
(license license:asl2.0)))
(define-public java-osgi-service-cm
(package
(name "java-osgi-service-cm")
(version "1.5.0")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.service.cm/"
version "/org.osgi.service.cm-"
version "-sources.jar"))
(sha256
(base32
"1z8kap48y3xi0ggj8v6czglfnpnd94mmismgi2wbqhj1nl5fzbp6"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "osgi-service-cm.jar"
#:tests? #f)); no tests
(inputs
`(("framework" ,java-osgi-framework)
("annotation" ,java-osgi-annotation)))
(home-page "http://www.osgi.org")
(synopsis "OSGI Configuration Management")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
utility classes for the configuration of services.")
(license license:asl2.0)))
(define-public java-osgi-service-packageadmin
(package
(name "java-osgi-service-packageadmin")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append "http://central.maven.org/maven2/org/osgi/"
"org.osgi.service.packageadmin/"
version "/org.osgi.service.packageadmin-"
version "-sources.jar"))
(sha256
(base32
"041mpxzi7g36wmcily6y4ccn3jx15akpdy8gmhyb7m98x7qfvn52"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "osgi-service-packageadmin.jar"
#:tests? #f)); no tests
(inputs
`(("framework" ,java-osgi-framework)))
(home-page "http://www.osgi.org")
(synopsis "OSGI Package Administration")
(description
"OSGi, for Open Services Gateway initiative framework, is a module system
and service platform for the Java programming language. This package contains
the packageadmin service.")
(license license:asl2.0)))

View File

@ -867,7 +867,7 @@ and to return information on pronunciations, meanings and synonyms.")
(define-public libreoffice
(package
(name "libreoffice")
(version "5.3.5.2")
(version "5.3.6.1")
(source
(origin
(method url-fetch)
@ -876,7 +876,7 @@ and to return information on pronunciations, meanings and synonyms.")
"http://download.documentfoundation.org/libreoffice/src/"
(version-prefix version 3) "/libreoffice-" version ".tar.xz"))
(sha256 (base32
"1sknmb9bhm8mxyfycqbwng1jqs4avyp1ffcla7dhlpwqs1aqxvx5"))))
"023a7hr7v5cf0ipga4ijhyl58ncgbjrp500qq5fwf65j8g2c3apz"))))
(build-system gnu-build-system)
(native-inputs
`(;; autoreconf is run by the LibreOffice build system, since after

View File

@ -4,7 +4,7 @@
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;;
;;; This file is part of GNU Guix.

View File

@ -367,8 +367,8 @@ It has been modified to remove all non-free binary blobs.")
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
(define %linux-libre-version "4.13.3")
(define %linux-libre-hash "011mjm7kz8sf45zj17qldww34q8wh1sv6j0zqrmrlrj39i0xq1a2")
(define %linux-libre-version "4.13.4")
(define %linux-libre-hash "028dww9c6x22mvd0jd87bmibqiz5lrsyynrbzka18gh39sk0v8j7")
(define-public linux-libre
(make-linux-libre %linux-libre-version
@ -377,14 +377,14 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config))
(define-public linux-libre-4.9
(make-linux-libre "4.9.51"
"168pyrddkfsmwgk4npnlp2hsxmqv6zpwsspyv2ngr9bdnzh45pvj"
(make-linux-libre "4.9.52"
"0zl1z13r4gg6r2sbx8mrif2cnjkjlfrswiap7wzb22jyfnlyj5nb"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
(make-linux-libre "4.4.88"
"0ds5jxh8p7f8yk55i1xbvz0xmgp4nc7g1xka23c4mcbal2v9v5b2"
(make-linux-libre "4.4.89"
"1bw1cma8hxcj6wi8znc4nvw1p6dlc1lgciqak6n6ijn53xdd242h"
%intel-compatible-systems
#:configuration-file kernel-config))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -34,18 +35,23 @@
(define-public lirc
(package
(name "lirc")
(version "0.9.4")
(version "0.10.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/lirc/LIRC/" version
"/lirc-" version ".tar.bz2"))
(sha256
(base32
"1l2xzhnm4hrla51ik09hcafki0y8wnww7svfm7j63zbl2rssc66x"))
"1whlyifvvc7w04ahq07nnk1h18wc8j7c6wnvlb6mszravxh3qxcb"))
(patches (search-patches "lirc-localstatedir.patch"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")
'(#:configure-flags
'("--localstatedir=/var"
;; "configure" script fails to enable "devinput" driver as it
;; checks for "/dev/input" directory (which is not available),
;; so enable it explicitly.
"--enable-devinput")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-kernel-sniffing

View File

@ -33,6 +33,7 @@
#:use-module (gnu packages m4)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix hg-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system asdf)
@ -42,6 +43,7 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libffcall)
@ -228,21 +230,31 @@ supporting ASDF, Sockets, Gray streams, MOP, and other useful components.")
(define-public clisp
(package
(name "clisp")
(version "2.49")
(version "2.49-60")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/clisp/release/" version
"/clisp-" version ".tar.gz"))
(method hg-fetch)
(uri (hg-reference
(url "http://hg.code.sf.net/p/clisp/clisp")
(changeset "clisp_2_49_60-2017-06-25")))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32 "0rp82nqp5362isl9i34rwgg04cidz7izljd9d85pqcw1qr964bxx"))))
(base32 "0qjv3z274rbdmb941hy03hl63f4z7bmci234f8dyz4skgfr82d3i"))
(patches (search-patches "clisp-remove-failing-test.patch"))))
(build-system gnu-build-system)
(inputs `(("libffcall" ,libffcall)
("readline" ,readline-6.2)
("ncurses" ,ncurses)
("readline" ,readline)
("libsigsegv" ,libsigsegv)))
(arguments
'(;; XXX The custom configure script does not cope well when passed
;; --build=<triplet>.
#:configure-flags '("CFLAGS=-falign-functions=4"
"--enable-portability"
"--with-dynamic-ffi"
"--with-dynamic-modules"
"--with-module=bindings/glibc"
"--with-module=rawsock")
#:build #f
#:phases
(modify-phases %standard-phases
@ -262,11 +274,9 @@ supporting ASDF, Sockets, Gray streams, MOP, and other useful components.")
(lambda _
(substitute* "src/constobj.d"
(("__DATE__ __TIME__") "\"1\""))
#t))
(add-before 'build 'chdir-to-source
(lambda _
;; We are supposed to call make under the src sub-directory.
(chdir "src")
(substitute* "src/genclisph.d"
(("__DATE__") "\"1\"")
(("__TIME__") "\"1\""))
#t)))
;; Makefiles seem to have race conditions.
#:parallel-build? #f))

View File

@ -225,14 +225,14 @@ aliasing facilities to work just as they would on normal mail.")
(define-public mutt
(package
(name "mutt")
(version "1.8.3")
(version "1.9.1")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/mutt/mutt/downloads/"
"mutt-" version ".tar.gz"))
(sha256
(base32
"0hpd896mw630sd6ps60hpka8cg691nvr627n8kmabv7zcxnp90cv"))
"1c8vv4anl555a03pbnwf8wnf0d8pcnd4p35y3q8f5ikkcflq76vl"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs
@ -1244,15 +1244,17 @@ hashing schemes plugin for @code{Dovecot}.")
(define-public isync
(package
(name "isync")
(version "1.2.1")
(version "1.3.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/isync/isync/"
version "/isync-" version ".tar.gz"))
(sha256 (base32
"1bij6nm06ghkg98n2pdyacam2fyg5y8f7ajw0d5653m0r4ldw5p7"))))
"173wd7x8y5sp94slzwlnb7zhgs32r57zl9xspl2rf4g3fqwmhpwd"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)))
(inputs
`(("bdb" ,bdb)
("openssl" ,openssl)))

View File

@ -18,7 +18,7 @@
;;; Copyright © 2017 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;;
;;; This file is part of GNU Guix.
;;;

View File

@ -5,13 +5,13 @@
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 <contact.ng0@cryptolab.net>
;;; Copyright © 2016, 2017 <ng0@infotropique.org>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2016, 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -90,6 +90,7 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages less)
#:use-module (gnu packages readline)
#:use-module (gnu packages photo)
#:use-module (gnu packages texinfo))
(define-public libotr
@ -532,6 +533,60 @@ transformation; audio and video conferences; file transfer; TLS, GPG and
end-to-end encryption support; XML console.")
(license license:gpl3)))
(define-public dino
;; The only release tarball is for version 0.0, but it is very old and fails
;; to build.
(let ((commit "54a25fd926070a977138cec94908c55806e22f4a")
(revision "1"))
(package
(name "dino")
(version (string-append "0.0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dino/dino.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1m100wzr5xqaj3r4vprxj0961833wqk0p7z94nmjsf2f0s67v5r3"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests
#:parallel-build? #f ; not supported
#:configure-flags
;; FIXME: we disable the omemo plugin because it needs
;; libsignal-protocol, for which we don't have a package yet.
'("-DDISABLED_PLUGINS=omemo")
#:modules ((guix build cmake-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build cmake-build-system)
(guix build glib-or-gtk-build-system))
#:phases
(modify-phases %standard-phases
(add-after 'install 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(inputs
`(("libgee" ,libgee)
("libsoup" ,libsoup)
("sqlite" ,sqlite)
("gpgme" ,gpgme)
("gtk+" ,gtk+)
("glib-networking" ,glib-networking)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin")
("vala" ,vala)
("gettext" ,gettext-minimal)))
(home-page "https://dino.im")
(synopsis "Graphical Jabber (XMPP) client")
(description "Dino is a Jabber (XMPP) client which aims to fit well into
a graphical desktop environment like GNOME.")
(license license:gpl3+))))
(define-public prosody
(package
(name "prosody")
@ -746,14 +801,14 @@ instant messenger with audio and video chat capabilities.")
(define-public qtox
(package
(name "qtox")
(version "1.11.0")
(version "1.12.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/qTox/qTox/archive/v"
version ".tar.gz"))
(sha256
(base32
"1m1ca1ybgj4yfm6a61yyj21f5jpip8dsbliwkfypswhmv5y52f5y"))
"0ycgvcfn8hchc775dcn1wpdqff8chvzz1svx9g99wa5vcns9pflg"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system)
(arguments
@ -775,6 +830,8 @@ instant messenger with audio and video chat capabilities.")
("libvpx" ,libvpx)
("libxscrnsaver" ,libxscrnsaver)
("libx11" ,libx11)
("libexif" ,libexif)
("sqlite" ,sqlite)
("openal" ,openal)
("qrencode" ,qrencode)
("qtbase" ,qtbase)
@ -793,7 +850,7 @@ connect with friends and family without anyone else listening in.")
(define-public pybitmessage
(package
(name "pybitmessage")
(version "0.6.1")
(version "0.6.2")
(source
(origin
(method url-fetch)
@ -802,39 +859,28 @@ connect with friends and family without anyone else listening in.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1ffj7raxpp277kphj98190fxrwfx16vmbspk7k3azg3bh5f5idnf"))))
(inputs
`(("python" ,python-2)
("python:tk" ,python-2 "tk")
("openssl" ,openssl)
("sqlite" ,sqlite)
("qt" ,qt-4)
"1in2mhaxkp2sx8pgvifq9dk1z8b2x3imf1anr0z926vwxwjrf85w"))))
(propagated-inputs
;; TODO:
;; Package "pyopencl", required in addition to numpy for OpenCL support.
;; Package "gst123", required in addition to alsa-utils and
;; mpg123 for sound support.
`(("python2-msgpack" ,python2-msgpack)
("python2-pythondialog" ,python2-pythondialog)
("python2-pyqt-4" ,python2-pyqt-4)
("python2-sip" ,python2-sip)
("python2-pysqlite" ,python2-pysqlite)
("python2-pyopenssl" ,python2-pyopenssl)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(build-system gnu-build-system)
`(("openssl" ,openssl)))
(build-system python-build-system)
(arguments
`(#:imported-modules ((guix build python-build-system)
,@%gnu-build-system-modules)
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out")))
#:tests? #f ; no test target
`(#:modules ((guix build python-build-system)
(guix build utils))
#:tests? #f ;no test target
#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-makefile
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "Makefile"
(("mkdir -p \\$\\{DESTDIR\\}/usr") "")
(("/usr/local") "")
(("/usr") "")
(("#!/bin/sh") (string-append "#!" (which "sh")))
(("python2") (which "python"))
(("/opt/openssl-compat-bitcoin/lib/")
(string-append (assoc-ref inputs "openssl") "/lib/")))
#t))
(add-after 'unpack 'fix-unmatched-python-shebangs
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/bitmessagemain.py"
@ -868,18 +914,24 @@ connect with friends and family without anyone else listening in.")
(string-append (assoc-ref inputs "openssl")
"/lib/libssl.so")))
#t))
;; XXX: Make does not build and install bitmsghash, do it
;; and place it in /lib.
(add-before 'build 'build-and-install-bitmsghash
(lambda* (#:key outputs #:allow-other-keys)
(chdir "src/bitmsghash")
(system* "make")
(chdir "../..")
(install-file "src/bitmsghash/bitmsghash.so"
(string-append (assoc-ref outputs "out") "/lib"))
(add-after 'unpack 'noninteractive-build
;; This applies upstream commit 4c597d3f7cf9f83a763472aa165a1a4292019f20
(lambda _
(substitute* "setup.py"
(("except NameError")
"except EOFError, NameError"))
#t))
(add-after 'install 'wrap
(@@ (guix build python-build-system) wrap)))))
;; XXX: python setup.py does not build and install bitmsghash,
;; without it PyBitmessage tries to compile it at first run
;; in the store, which due to obvious reasons fails. Do it
;; and place it in /lib.
(add-after 'unpack 'build-and-install-bitmsghash
(lambda* (#:key outputs #:allow-other-keys)
(with-directory-excursion "src/bitmsghash"
(system* "make")
(install-file "bitmsghash.so"
(string-append (assoc-ref outputs "out") "/lib")))
#t)))))
(license license:expat)
(description
"Distributed and trustless peer-to-peer communications protocol

View File

@ -131,6 +131,7 @@ bind processes, and much more.")
(native-inputs
`(("pkg-config" ,pkg-config)
("perl" ,perl)))
(outputs '("out" "debug"))
(arguments
`(#:configure-flags `("--enable-mpi-ext=affinity" ;cr doesn't work
"--enable-memchecker"

View File

@ -1088,7 +1088,7 @@ users to select LV2 plugins and run them with jalv.")
(define-public synthv1
(package
(name "synthv1")
(version "0.8.3")
(version "0.8.4")
(source (origin
(method url-fetch)
(uri
@ -1096,7 +1096,7 @@ users to select LV2 plugins and run them with jalv.")
"/synthv1-" version ".tar.gz"))
(sha256
(base32
"1yqh7jx431q01f15b3h4dh038yvmc4jcsr3vn2175kqgwfj9jqcg"))))
"0awk2zx0xa6vl6ah24zz0k2mwsx50hh5g1rh32mp790fp4x7l5s8"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@ -1122,7 +1122,7 @@ oscillators and stereo effects.")
(define-public drumkv1
(package
(name "drumkv1")
(version "0.8.3")
(version "0.8.4")
(source (origin
(method url-fetch)
(uri
@ -1130,7 +1130,7 @@ oscillators and stereo effects.")
"/drumkv1-" version ".tar.gz"))
(sha256
(base32
"0rvdvc81j4b4n64i7jmk58khry28al8p73g71srdv1kw7j65f2zv"))))
"0qqpklzy4wgw9jy0v2810j06712q90bwc69fp7da82536ba058a9"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@ -1157,7 +1157,7 @@ effects.")
(define-public samplv1
(package
(name "samplv1")
(version "0.8.3")
(version "0.8.4")
(source (origin
(method url-fetch)
(uri
@ -1165,7 +1165,7 @@ effects.")
"/samplv1-" version ".tar.gz"))
(sha256
(base32
"1lbxrn24fg1z659zbaakzq6z8gbax6z16di9v9bhhslk8w2mndik"))))
"107p2xsj066q2bil0xcgqrrn7lawp02wzf7qmlajcbnd79jhsi6i"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.

View File

@ -483,7 +483,7 @@ which can be used to encrypt a password with @code{crypt(3)}.")
(define-public wireshark
(package
(name "wireshark")
(version "2.4.0")
(version "2.4.1")
(source
(origin
(method url-fetch)
@ -491,7 +491,7 @@ which can be used to encrypt a password with @code{crypt(3)}.")
version ".tar.xz"))
(sha256
(base32
"011vvrj76z1azkpvyy2j40b1x1z56ymld508zfc4xw3gh8dv82w9"))))
"1k8zj44pkb2ny2x46f100y7cxddm1kh0zh7f6qggm78gn7wvrp82"))))
(build-system gnu-build-system)
(inputs `(("c-ares" ,c-ares)
("glib" ,glib)

View File

@ -41,12 +41,14 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libevent)
#:use-module (gnu packages llvm)
#:use-module (gnu packages m4)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
@ -3197,6 +3199,355 @@ writing to these structures, and they are accessed via the Bigarray module.")
(description "Hex is a minimal library providing hexadecimal converters.")
(license license:isc)))
(define-public ocaml-ezjsonm
(package
(name "ocaml-ezjsonm")
(version "0.4.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mirage/ezjsonm/archive/"
version ".tar.gz"))
(sha256
(base32
"1kag0z2xlk4rw73a240dmkxh9rj6psxxcxkm7d7z0rrj6hzjajgq"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system ocaml-build-system)
(native-inputs
`(("alcotest" ,ocaml-alcotest)))
(propagated-inputs
`(("hex" ,ocaml-hex)
("jsonm" ,ocaml-jsonm)
("lwt" ,ocaml-lwt)
("sexplib" ,ocaml-sexplib)))
(arguments
`(#:configure-flags (list "--enable-lwt")))
(home-page "https://github.com/mirage/ezjsonm/")
(synopsis "Read and write JSON data")
(description "Ezjsonm provides more convenient (but far less flexible) input
and output functions that go to and from [string] values than jsonm. This avoids
the need to write signal code, which is useful for quick scripts that manipulate
JSON.")
(license license:isc)))
(define-public ocaml-uri
(package
(name "ocaml-uri")
(version "1.9.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mirage/ocaml-uri/archive/v"
version ".tar.gz"))
(sha256
(base32
"02bzrag79prx261rxf9mlak749pwf4flpfl8p012x1xznv9m0clc"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system ocaml-build-system)
(native-inputs
`(("ounit" ,ocaml-ounit)))
(propagated-inputs
`(("ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
("re" ,ocaml-re)
("ppx-deriving" ,ocaml-ppx-deriving)
("sexplib" ,ocaml-sexplib)
("stringext" ,ocaml-stringext)))
(home-page "https://github.com/mirage/ocaml-uri")
(synopsis "RFC3986 URI/URL parsing library")
(description "OCaml-uri is a library for parsing URI/URL in the RFC3986 format.")
(license license:isc)))
(define-public ocaml-easy-format
(package
(name "ocaml-easy-format")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mjambon/easy-format/"
"archive/v" version ".tar.gz"))
(sha256
(base32
"1zcz682y9figa84k7lgdjcab5qbzk3yy14ygfqp2dhhrvjygm252"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system ocaml-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://github.com/mjambon/easy-format")
(synopsis "Interface to the Format module")
(description "Easy-format is a high-level and functional interface to the
Format module of the OCaml standard library.")
(license license:bsd-3)))
(define-public optcomp
(package
(name "optcomp")
(version "1.6")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/diml/optcomp/archive/"
version ".tar.gz"))
(sha256
(base32
"0hhhb2gisah1h22zlg5iszbgqxdd7x85cwd57bd4mfkx9l7dh8jh"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system ocaml-build-system)
(arguments
`(#:use-make? #t
#:make-flags
(list (string-append "BUILDFLAGS=\"-cflags -I,"
(assoc-ref %build-inputs "camlp4")
"/lib/ocaml/site-lib/camlp4/Camlp4Parsers\""))))
(native-inputs `(("camlp4" ,camlp4)))
(propagated-inputs `(("camlp4" ,camlp4)))
(home-page "https://github.com/diml/optcomp")
(synopsis "Optional compilation for OCaml")
(description "Optcomp provides an optional compilation facility with
cpp-like directives.")
(license license:bsd-3)))
(define-public ocaml-piqilib
(package
(name "ocaml-piqilib")
(version "0.6.13")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/alavrik/piqi/archive/v"
version ".tar.gz"))
(sha256
(base32
"1whqr2bb3gds2zmrzqnv8vqka9928w4lx6mi6g244kmbwb2h8d8l"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system ocaml-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-ocamlpath
(lambda _
(substitute* '("Makefile" "make/Makefile.ocaml")
(("OCAMLPATH := ") "OCAMLPATH := $(OCAMLPATH):"))
#t))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "make/OCamlMakefile"
(("/bin/sh") (which "bash")))
(zero? (system* "./configure" "--prefix" out "--ocaml-libdir"
(string-append out "/lib/ocaml/site-lib"))))))
(add-after 'build 'build-ocaml
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "make" "ocaml"))))
(add-after 'install 'install-ocaml
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "make" "ocaml-install"))))
(add-after 'install-ocaml 'link-stubs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(stubs (string-append out "/lib/ocaml/site-lib/stubslibs"))
(lib (string-append out "/lib/ocaml/site-lib/piqilib")))
(mkdir-p stubs)
(symlink (string-append lib "/dllpiqilib_stubs.so")
(string-append stubs "/dllpiqilib_stubs.so"))
#t))))))
(native-inputs
`(("which" ,which)
("camlp4" ,camlp4)))
(propagated-inputs
`(("xmlm" ,ocaml-xmlm)
("ulex" ,ocaml-ulex)
("optcomp" ,optcomp)
("easy-format" ,ocaml-easy-format)
("base64" ,ocaml-base64)))
(home-page "http://piqi.org")
(synopsis "Data serialization and conversion library")
(description "Piqilib is the common library used by the piqi command-line
tool and piqi-ocaml.")
(license license:asl2.0)))
(define-public ocaml-uuidm
(package
(name "ocaml-uuidm")
(version "0.9.6")
(source (origin
(method url-fetch)
(uri (string-append "http://erratique.ch/software/uuidm/"
"releases/uuidm-" version ".tbz"))
(sha256
(base32
"0hz4fdx0x16k0pw9995vkz5d1hmzz6b16wck9li399rcbfnv5jlc"))))
(build-system ocaml-build-system)
(arguments
`(#:build-flags
(list "build" "--tests" "true" "--with-cmdliner" "true")
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
`(("opam" ,opam)))
(propagated-inputs
`(("cmdliner" ,ocaml-cmdliner)
("topkg" ,ocaml-topkg)))
(home-page "http://erratique.ch/software/uuidm")
(synopsis "Universally unique identifiers for OCaml")
(description "Uuidm is an OCaml module implementing 128 bits universally
unique identifiers (UUIDs) version 3, 5 (named based with MD5, SHA-1 hashing)
and 4 (random based) according to RFC 4122.")
(license license:isc)))
(define-public ocaml-graph
(package
(name "ocaml-graph")
(version "1.8.7")
(source (origin
(method url-fetch)
(uri (string-append "http://ocamlgraph.lri.fr/download/"
"ocamlgraph-" version ".tar.gz"))
(sha256
(base32
"1845r537swjil2fcj7lgbibc2zybfwqqasrd2s7bncajs83cl1nz"))
(patches (search-patches "ocaml-graph-honor-source-date-epoch.patch"))))
(build-system ocaml-build-system)
(arguments
`(#:install-target "install-findlib"
#:phases
(modify-phases %standard-phases
(add-before 'configure 'set-shell
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CONFIG_SHELL" (string-append (assoc-ref inputs "bash")
"/bin/sh")))))))
(inputs `(("lablgtk" ,lablgtk)))
(home-page "http://ocamlgraph.lri.fr/")
(synopsis "Graph library for OCaml")
(description "OCamlgraph is a generic graph library for OCaml.")
(license license:lgpl2.1)))
(define-public ocaml-piqi
(package
(name "ocaml-piqi")
(version "0.7.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/alavrik/piqi-ocaml/"
"archive/v" version ".tar.gz"))
(sha256
(base32
"0ngz6y8i98i5v2ma8nk6mc83pdsmf2z0ks7m3xi6clfg3zqbddrv"))))
(build-system ocaml-build-system)
(arguments
`(#:make-flags
(list (string-append "DESTDIR=" (assoc-ref %outputs "out"))
(string-append "SHELL=" (assoc-ref %build-inputs "bash")
"/bin/sh"))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
`(("which" ,which)
("protobuf" ,protobuf))) ; for tests
(propagated-inputs
`(("piqilib" ,ocaml-piqilib)))
(home-page "https://github.com/alavrik/piqi-ocaml")
(synopsis "Protocol serialization system for OCaml")
(description "Piqi is a multi-format data serialization system for OCaml.
It provides a uniform interface for serializing OCaml data structures to JSON,
XML and Protocol Buffers formats.")
(license license:asl2.0)))
(define-public bap
(package
(name "bap")
(version "1.1.0")
(home-page "https://github.com/BinaryAnalysisPlatform/bap")
(source (origin
(method url-fetch)
(uri (string-append home-page "/archive/v" version ".tar.gz"))
(sha256
(base32
"1ms95m4j1qrmy7zqmsn2izh7gq68lnmssl7chyhk977kd3sxj66m"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system ocaml-build-system)
(native-inputs
`(("oasis" ,ocaml-oasis)
("clang" ,clang)
("ounit" ,ocaml-ounit)))
(propagated-inputs
`(("core-kernel" ,ocaml-core-kernel)
("ppx-driver" ,ocaml-ppx-driver)
("uri" ,ocaml-uri)
("llvm" ,llvm)
("gmp" ,gmp)
("clang-runtime" ,clang-runtime)
("fileutils" ,ocaml-fileutils)
("cmdliner" ,ocaml-cmdliner)
("zarith" ,ocaml-zarith)
("uuidm" ,ocaml-uuidm)
("camlzip" ,camlzip)
("frontc" ,ocaml-frontc)
("ezjsonm" ,ocaml-ezjsonm)
("ocurl" ,ocaml-ocurl)
("piqi" ,ocaml-piqi)
("ocamlgraph" ,ocaml-graph)
("bitstring" ,ocaml-bitstring)
("ppx-jane" ,ocaml-ppx-jane)
("re" ,ocaml-re)))
(inputs `(("llvm" ,llvm)))
(arguments
`(#:use-make? #t
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "./configure" "--prefix"
(assoc-ref outputs "out")
"--libdir"
(string-append
(assoc-ref outputs "out")
"/lib/ocaml/site-lib")
"--with-llvm-version=3.8"
"--with-llvm-config=llvm-config"
"--enable-everything"))))
(add-after 'install 'link-stubs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(stubs (string-append out "/lib/ocaml/site-lib/stubslibs"))
(lib (string-append out "/lib/ocaml/site-lib/bap-plugin-llvm")))
(mkdir-p stubs)
(symlink (string-append lib "/dllllvm_plugin_stubs.so")
(string-append stubs "/dllllvm_plugin_stubs.so"))))))))
(synopsis "Binary Analysis Platform")
(description "Binary Analysis Platform is a framework for writing program
analysis tools, that target binary files. The framework consists of a plethora
of libraries, plugins, and frontends. The libraries provide code reusability,
the plugins facilitate extensibility, and the frontends serve as entry points.")
(license license:expat)))
(define-public ocaml-camomile
(package
(name "ocaml-camomile")
(version "0.8.5")
(home-page "https://github.com/yoriyuki/Camomile")
(source (origin
(method url-fetch)
(uri (string-append home-page "/releases/download/rel-" version
"/camomile-" version ".tar.bz2"))
(sha256
(base32
"003ikpvpaliy5hblhckfmln34zqz0mk3y2m1fqvbjngh3h2np045"))))
(build-system ocaml-build-system)
(native-inputs `(("camlp4" ,camlp4)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-bin/sh
(lambda _
(setenv "CONFIG_SHELL" (which "bash")))))))
(synopsis "Comprehensive Unicode library")
(description "Camomile is a Unicode library for OCaml. Camomile provides
Unicode character type, UTF-8, UTF-16, UTF-32 strings, conversion to/from about
200 encodings, collation and locale-sensitive case mappings, and more. The
library is currently designed for Unicode Standard 3.2.")
;; with an exception for linked libraries to use a different license
(license license:lgpl2.0+)))
(define-public coq-flocq
(package
(name "coq-flocq")

View File

@ -0,0 +1,43 @@
This test doesn't ever complete or timeout
---
tests/socket.tst | 24 ------------------------
1 file changed, 24 deletions(-)
diff --git a/tests/socket.tst b/tests/socket.tst
index 93c6310..1d976ff 100644
--- a/tests/socket.tst
+++ b/tests/socket.tst
@@ -551,30 +551,6 @@ T
interfaces))
("0.0.0.0" "127.0.0.1" "0.0.0.0" "127.0.0.1")
-(multiple-value-bind (run args) (cmd-args)
- (let ((se (socket:socket-server)))
- (ext:run-program run :arguments (append args (list "-q" "-q" "-x" (format nil "(close (socket:socket-connect ~D))" (socket:socket-server-port se))))
- :wait nil :input nil :output nil)
- (unwind-protect
- (with-open-stream (so (socket:socket-accept se))
- (list
- (socket:socket-status so)
- (write-line "foo" so)
- (socket:socket-status so)
- #+macos (handler-case (read-char so)
- (end-of-file (c)
- (princ 'read-char) (princ-error c) t))
- #-macos (check-os-error (read-char so) (:ECONNRESET 104))
- (null (member (socket:socket-status so) '(:EOF :APPEND)))
- #+macos (string= (write-line "bar" so) "bar")
- #-macos (check-os-error (write-line "bar" so) (:EPIPE 32))
- (null (member (socket:socket-status so) '(:EOF :APPEND)))
- (handler-case (read-char so)
- (end-of-file (c)
- (princ 'read-char) (princ-error c) 'end-of-file))))
- (socket:socket-server-close se))))
-(:OUTPUT "foo" :OUTPUT T NIL T NIL END-OF-FILE)
-
;; https://sourceforge.net/p/clisp/feature-requests/46/
(check-os-error (socket:socket-connect 0)
#-(or win32 macos) (:ECONNREFUSED 111)
--

View File

@ -0,0 +1,16 @@
Unconditionally disable network check for new versions (from Fedora).
diff -u /home/dlove/rpmbuild/BUILD/cube-4.3.4/src/GUI-qt/display/VersionCheckWidget.cpp\~ /home/dlove/rpmbuild/BUILD/cube-4.3.4/src/GUI-qt/display/VersionCheckWidget.cpp
--- cube-4.3.4/src/GUI-qt/display/VersionCheckWidget.cpp~ 2016-04-03 00:05:37.942066948 +0100
+++ cube-4.3.4/src/GUI-qt/display/VersionCheckWidget.cpp 2016-05-06 17:16:31.648143908 +0100
@@ -52,7 +52,8 @@
url = QUrl( UPDATE_CHECK_URL );
download = NULL;
update_Available = false;
- bool no_http = env_str2bool( getenv( "CUBE_DISABLE_HTTP_DOCS" ) );
+ // bool no_http = env_str2bool( getenv( "CUBE_DISABLE_HTTP_DOCS" ) );
+ bool no_http = true;
if ( !no_http )
{
updateDescription = tr( "Check for update is not performed yet." );

View File

@ -0,0 +1,210 @@
http://hg.code.sf.net/p/graphicsmagick/code/rev/358608a46f0a
http://www.openwall.com/lists/oss-security/2017/09/22/2
Some changes were made to make the patch apply.
Notably, the DestroyJNG() function in the upstream diff has been replaced by
its equivalent, a series of calls to MagickFreeMemory(), DestroyImageInfo(),
and DestroyImage(). See
http://hg.code.sf.net/p/graphicsmagick/code/rev/d445af60a8d5.
# HG changeset patch
# User Glenn Randers-Pehrson <glennrp+bmo@gmail.com>
# Date 1504014487 14400
# Node ID 358608a46f0a9c55e9bb8b37d09bf1ac9bc87f06
# Parent 38c362f0ae5e7a914c3fe822284c6953f8e6eee2
Fix Issue 439
diff -ru a/coders/png.c b/coders/png.c
--- a/coders/png.c 1969-12-31 19:00:00.000000000 -0500
+++ b/coders/png.c 2017-09-30 08:20:16.218944991 -0400
@@ -1176,15 +1176,15 @@
/* allocate space */
if (length == 0)
{
- (void) ThrowException2(&image->exception,CoderWarning,
- "invalid profile length",(char *) NULL);
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+ "invalid profile length");
return (MagickFail);
}
info=MagickAllocateMemory(unsigned char *,length);
if (info == (unsigned char *) NULL)
{
- (void) ThrowException2(&image->exception,CoderWarning,
- "unable to copy profile",(char *) NULL);
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+ "Unable to copy profile");
return (MagickFail);
}
/* copy profile, skipping white space and column 1 "=" signs */
@@ -1197,8 +1197,8 @@
if (*sp == '\0')
{
MagickFreeMemory(info);
- (void) ThrowException2(&image->exception,CoderWarning,
- "ran out of profile data",(char *) NULL);
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+ "ran out of profile data");
return (MagickFail);
}
sp++;
@@ -1234,8 +1234,9 @@
if(SetImageProfile(image,profile_name,info,length) == MagickFail)
{
MagickFreeMemory(info);
- (void) ThrowException(&image->exception,ResourceLimitError,
- MemoryAllocationFailed,"unable to copy profile");
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+ "unable to copy profile");
+ return MagickFail;
}
MagickFreeMemory(info);
return MagickTrue;
@@ -3285,7 +3286,6 @@
if (status == MagickFalse)
{
DestroyJNGInfo(color_image_info,alpha_image_info);
- DestroyImage(alpha_image);
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
" could not allocate alpha_image blob");
return ((Image *)NULL);
@@ -3534,7 +3534,7 @@
CloseBlob(color_image);
if (logging)
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
- " Reading jng_image from color_blob.");
+ " Reading jng_image from color_blob.");
FormatString(color_image_info->filename,"%.1024s",color_image->filename);
@@ -3558,13 +3558,18 @@
if (logging)
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
- " Copying jng_image pixels to main image.");
+ " Copying jng_image pixels to main image.");
image->rows=jng_height;
image->columns=jng_width;
length=image->columns*sizeof(PixelPacket);
+ if ((jng_height == 0 || jng_width == 0) && logging)
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+ " jng_width=%lu jng_height=%lu",
+ (unsigned long)jng_width,(unsigned long)jng_height);
for (y=0; y < (long) image->rows; y++)
{
- s=AcquireImagePixels(jng_image,0,y,image->columns,1,&image->exception);
+ s=AcquireImagePixels(jng_image,0,y,image->columns,1,
+ &image->exception);
q=SetImagePixels(image,0,y,image->columns,1);
(void) memcpy(q,s,length);
if (!SyncImagePixels(image))
@@ -3589,45 +3594,79 @@
CloseBlob(alpha_image);
if (logging)
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
- " Reading opacity from alpha_blob.");
+ " Reading opacity from alpha_blob.");
FormatString(alpha_image_info->filename,"%.1024s",
alpha_image->filename);
jng_image=ReadImage(alpha_image_info,exception);
- for (y=0; y < (long) image->rows; y++)
+ if (jng_image == (Image *)NULL)
{
- s=AcquireImagePixels(jng_image,0,y,image->columns,1,
- &image->exception);
- if (image->matte)
- {
- q=SetImagePixels(image,0,y,image->columns,1);
- for (x=(long) image->columns; x > 0; x--,q++,s++)
- q->opacity=(Quantum) MaxRGB-s->red;
- }
- else
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+ " jng_image is NULL.");
+ if (color_image_info)
+ DestroyImageInfo(color_image_info);
+ if (alpha_image_info)
+ DestroyImageInfo(alpha_image_info);
+ if (color_image)
+ DestroyImage(color_image);
+ if (alpha_image)
+ DestroyImage(alpha_image);
+ }
+ else
+ {
+
+ if (logging)
{
- q=SetImagePixels(image,0,y,image->columns,1);
- for (x=(long) image->columns; x > 0; x--,q++,s++)
- {
- q->opacity=(Quantum) MaxRGB-s->red;
- if (q->opacity != OpaqueOpacity)
- image->matte=MagickTrue;
- }
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+ " Read jng_image.");
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+ " jng_image->width=%lu, jng_image->height=%lu",
+ (unsigned long)jng_width,(unsigned long)jng_height);
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+ " image->rows=%lu, image->columns=%lu",
+ (unsigned long)image->rows,
+ (unsigned long)image->columns);
}
- if (!SyncImagePixels(image))
- break;
- }
- (void) LiberateUniqueFileResource(alpha_image->filename);
- DestroyImage(alpha_image);
- alpha_image = (Image *)NULL;
- DestroyImageInfo(alpha_image_info);
- alpha_image_info = (ImageInfo *)NULL;
- (void) LogMagickEvent(CoderEvent,GetMagickModule(),
- " Destroy the JNG image");
- DestroyImage(jng_image);
- jng_image = (Image *)NULL;
+
+ for (y=0; y < (long) image->rows; y++)
+ {
+ s=AcquireImagePixels(jng_image,0,y,image->columns,1,
+ &image->exception);
+ if (image->matte)
+ {
+ q=SetImagePixels(image,0,y,image->columns,1);
+ for (x=(long) image->columns; x > 0; x--,q++,s++)
+ q->opacity=(Quantum) MaxRGB-s->red;
+ }
+ else
+ {
+ q=SetImagePixels(image,0,y,image->columns,1);
+ for (x=(long) image->columns; x > 0; x--,q++,s++)
+ {
+ q->opacity=(Quantum) MaxRGB-s->red;
+ if (q->opacity != OpaqueOpacity)
+ image->matte=MagickTrue;
+ }
+ }
+ if (!SyncImagePixels(image))
+ break;
+ }
+ (void) LiberateUniqueFileResource(alpha_image->filename);
+ if (color_image_info)
+ DestroyImageInfo(color_image_info);
+ if (alpha_image_info)
+ DestroyImageInfo(alpha_image_info);
+ if (color_image)
+ DestroyImage(color_image);
+ if (alpha_image)
+ DestroyImage(alpha_image);
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+ " Destroy the JNG image");
+ DestroyImage(jng_image);
+ jng_image = (Image *)NULL;
+ }
}
}

View File

@ -0,0 +1,34 @@
From 354ef78aac0b887fae3c10b28eb2b0d83f66bdfe Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Mon, 2 Jan 2017 17:05:24 +0100
Subject: [PATCH] Honor SOURCE_DATE_EPOCH
---
Makefile.in | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index a32b4b8..ef4c174 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -113,11 +113,16 @@ graph.cmx: $(CMI) $(CMX)
$(OCAMLOPT) $(INCLUDES) -pack -o $@ $^
VERSION=1.8.7
+ifdef SOURCE_DATE_EPOCH
+BUILD_DATE=$(shell date -u -d "@$(SOURCE_DATE_EPOCH)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" 2>/dev/null || date)
+else
+BUILD_DATE=$(shell date)
+endif
src/version.ml: Makefile
rm -f $@
echo "let version = \""$(VERSION)"\"" > $@
- echo "let date = \""`date`"\"" >> $@
+ echo "let date = \""$(BUILD_DATE)"\"" >> $@
# gtk2 graph editor
###################
--
2.11.0

View File

@ -21,19 +21,19 @@ Signed-off-by: Michael Dietz <mjdietzx@gmail.com>
---
diff --git a/src/flash/nor/Makefile.am b/src/flash/nor/Makefile.am
index c167e8f..b6a2be3 100644
index 727e4f2..839667c 100644
--- a/src/flash/nor/Makefile.am
+++ b/src/flash/nor/Makefile.am
@@ -37,6 +37,7 @@ NOR_DRIVERS = \
niietcm4.c \
non_cfi.c \
nrf51.c \
+ nrf52.c \
numicro.c \
ocl.c \
pic32mx.c \
@@ -36,6 +36,7 @@ NOR_DRIVERS = \
%D%/niietcm4.c \
%D%/non_cfi.c \
%D%/nrf51.c \
+ %D%/nrf52.c \
%D%/numicro.c \
%D%/ocl.c \
%D%/pic32mx.c \
diff --git a/src/flash/nor/drivers.c b/src/flash/nor/drivers.c
index 56a5cb2..3e071bd 100644
index 56a5cb2..071273e 100644
--- a/src/flash/nor/drivers.c
+++ b/src/flash/nor/drivers.c
@@ -48,6 +48,7 @@ extern struct flash_driver mdr_flash;
@ -48,7 +48,7 @@ index 56a5cb2..3e071bd 100644
&mrvlqspi_flash,
&niietcm4_flash,
&nrf51_flash,
+ &nrf52_flash,
+ &nrf52_flash,
&numicro_flash,
&ocl_flash,
&pic32mx_flash,
@ -792,47 +792,31 @@ index 0000000..7f2bd35
+ .protect_check = nrf52_protect_check,
+};
diff --git a/tcl/target/nrf52.cfg b/tcl/target/nrf52.cfg
index c1cbf1a..a2567ff 100644
index c1cbf1a..41a22ff 100644
--- a/tcl/target/nrf52.cfg
+++ b/tcl/target/nrf52.cfg
@@ -5,15 +5,22 @@
source [find target/swj-dp.tcl]
@@ -10,6 +10,13 @@ if { [info exists CHIPNAME] } {
set _CHIPNAME nrf52
}
if { [info exists CHIPNAME] } {
- set _CHIPNAME $CHIPNAME
+ set _CHIPNAME $CHIPNAME
} else {
- set _CHIPNAME nrf52
+ set _CHIPNAME nrf52
+}
+
+# Work-area is a space in RAM used for flash programming, by default use 16kB.
+if { [info exists WORKAREASIZE] } {
+ set _WORKAREASIZE $WORKAREASIZE
+ set _WORKAREASIZE $WORKAREASIZE
+} else {
+ set _WORKAREASIZE 0x4000
}
+ set _WORKAREASIZE 0x4000
+}
+
if { [info exists CPUTAPID] } {
- set _CPUTAPID $CPUTAPID
+ set _CPUTAPID $CPUTAPID
set _CPUTAPID $CPUTAPID
} else {
- set _CPUTAPID 0x2ba01477
+ set _CPUTAPID 0x2ba01477
}
swj_newdap $_CHIPNAME cpu -expected-id $_CPUTAPID
@@ -21,8 +28,15 @@ swj_newdap $_CHIPNAME cpu -expected-id $_CPUTAPID
set _TARGETNAME $_CHIPNAME.cpu
@@ -22,7 +29,15 @@ set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME cortex_m -chain-position $_TARGETNAME
-adapter_khz 10000
adapter_khz 10000
+$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
-if { ![using_hla] } {
- cortex_m reset_config sysresetreq
+if {![using_hla]} {
+ cortex_m reset_config sysresetreq
if { ![using_hla] } {
cortex_m reset_config sysresetreq
}
+
+flash bank $_CHIPNAME.flash nrf52 0x00000000 0 1 1 $_TARGETNAME

View File

@ -0,0 +1,44 @@
From 700076019b5aff72aac7651cc830aaef21ee9a47 Mon Sep 17 00:00:00 2001
From: jakirkham <jakirkham@gmail.com>
Date: Fri, 7 Jul 2017 05:57:56 -0400
Subject: [PATCH] Drop ordereddict requirement (#84)
* Drop ordereddict requirement
As Python 2.7 is the minimum Python supported, every version of Python
should have `ordereddict` preincluded in the standard library one way or
another. So we can drop this dependency and just handle the differences
between Python 2 and Python 3.
---
nosetimer/plugin.py | 5 +----
setup.py | 1 -
2 files changed, 1 insertion(+), 5 deletions(-)
diff --git a/nosetimer/plugin.py b/nosetimer/plugin.py
index ef28e11..d093a51 100644
--- a/nosetimer/plugin.py
+++ b/nosetimer/plugin.py
@@ -12,10 +12,7 @@
except ImportError:
import queue as Queue
-try:
- from collections import OrderedDict
-except ImportError:
- from ordereddict import OrderedDict
+from collections import OrderedDict
# define constants
diff --git a/setup.py b/setup.py
index 6a55b82..d249325 100755
--- a/setup.py
+++ b/setup.py
@@ -27,7 +27,6 @@
install_requires=[
'nose',
'termcolor',
- 'ordereddict',
],
license='MIT',
entry_points={

View File

@ -1,89 +0,0 @@
Fix CVE-2017-13711:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13711
Patch copied from upstream source repository:
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=1201d308519f1e915866d7583d5136d03cc1d384
From 1201d308519f1e915866d7583d5136d03cc1d384 Mon Sep 17 00:00:00 2001
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Fri, 25 Aug 2017 01:35:53 +0200
Subject: [PATCH] slirp: fix clearing ifq_so from pending packets
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The if_fastq and if_batchq contain not only packets, but queues of packets
for the same socket. When sofree frees a socket, it thus has to clear ifq_so
from all the packets from the queues, not only the first.
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Cc: qemu-stable@nongnu.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
slirp/socket.c | 39 +++++++++++++++++++++++----------------
1 file changed, 23 insertions(+), 16 deletions(-)
diff --git a/slirp/socket.c b/slirp/socket.c
index ecec0295a9..cb7b5b608d 100644
--- a/slirp/socket.c
+++ b/slirp/socket.c
@@ -59,6 +59,27 @@ socreate(Slirp *slirp)
return(so);
}
+/*
+ * Remove references to so from the given message queue.
+ */
+static void
+soqfree(struct socket *so, struct quehead *qh)
+{
+ struct mbuf *ifq;
+
+ for (ifq = (struct mbuf *) qh->qh_link;
+ (struct quehead *) ifq != qh;
+ ifq = ifq->ifq_next) {
+ if (ifq->ifq_so == so) {
+ struct mbuf *ifm;
+ ifq->ifq_so = NULL;
+ for (ifm = ifq->ifs_next; ifm != ifq; ifm = ifm->ifs_next) {
+ ifm->ifq_so = NULL;
+ }
+ }
+ }
+}
+
/*
* remque and free a socket, clobber cache
*/
@@ -66,23 +87,9 @@ void
sofree(struct socket *so)
{
Slirp *slirp = so->slirp;
- struct mbuf *ifm;
- for (ifm = (struct mbuf *) slirp->if_fastq.qh_link;
- (struct quehead *) ifm != &slirp->if_fastq;
- ifm = ifm->ifq_next) {
- if (ifm->ifq_so == so) {
- ifm->ifq_so = NULL;
- }
- }
-
- for (ifm = (struct mbuf *) slirp->if_batchq.qh_link;
- (struct quehead *) ifm != &slirp->if_batchq;
- ifm = ifm->ifq_next) {
- if (ifm->ifq_so == so) {
- ifm->ifq_so = NULL;
- }
- }
+ soqfree(so, &slirp->if_fastq);
+ soqfree(so, &slirp->if_batchq);
if (so->so_emu==EMU_RSH && so->extra) {
sofree(so->extra);
--
2.14.1

View File

@ -1,69 +0,0 @@
Fix CVE-2017-14167:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14167
http://seclists.org/oss-sec/2017/q3/407
Patch copied from upstream development mailing list:
https://lists.nongnu.org/archive/html/qemu-devel/2017-09/msg01483.html
From: Prasad J Pandit <address@hidden>
While loading kernel via multiboot-v1 image, (flags & 0x00010000)
indicates that multiboot header contains valid addresses to load
the kernel image. These addresses are used to compute kernel
size and kernel text offset in the OS image. Validate these
address values to avoid an OOB access issue.
This is CVE-2017-14167.
Reported-by: Thomas Garnier <address@hidden>
Signed-off-by: Prasad J Pandit <address@hidden>
---
hw/i386/multiboot.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
Update: add CVE-ID to the commit message.
diff --git a/hw/i386/multiboot.c b/hw/i386/multiboot.c
index 6001f4caa2..c7b70c91d5 100644
--- a/hw/i386/multiboot.c
+++ b/hw/i386/multiboot.c
@@ -221,15 +221,34 @@ int load_multiboot(FWCfgState *fw_cfg,
uint32_t mh_header_addr = ldl_p(header+i+12);
uint32_t mh_load_end_addr = ldl_p(header+i+20);
uint32_t mh_bss_end_addr = ldl_p(header+i+24);
+
mh_load_addr = ldl_p(header+i+16);
+ if (mh_header_addr < mh_load_addr) {
+ fprintf(stderr, "invalid mh_load_addr address\n");
+ exit(1);
+ }
+
uint32_t mb_kernel_text_offset = i - (mh_header_addr - mh_load_addr);
uint32_t mb_load_size = 0;
mh_entry_addr = ldl_p(header+i+28);
if (mh_load_end_addr) {
+ if (mh_bss_end_addr < mh_load_addr) {
+ fprintf(stderr, "invalid mh_bss_end_addr address\n");
+ exit(1);
+ }
mb_kernel_size = mh_bss_end_addr - mh_load_addr;
+
+ if (mh_load_end_addr < mh_load_addr) {
+ fprintf(stderr, "invalid mh_load_end_addr address\n");
+ exit(1);
+ }
mb_load_size = mh_load_end_addr - mh_load_addr;
} else {
+ if (kernel_file_size < mb_kernel_text_offset) {
+ fprintf(stderr, "invalid kernel_file_size\n");
+ exit(1);
+ }
mb_kernel_size = kernel_file_size - mb_kernel_text_offset;
mb_load_size = mb_kernel_size;
}
--
2.13.5

View File

@ -1,153 +0,0 @@
From 215f894965df5fb0bb45b107d84524e700d2073c Mon Sep 17 00:00:00 2001
From: Michal Srb <msrb@suse.com>
Date: Wed, 24 May 2017 15:54:40 +0300
Subject: dix: Disallow GenericEvent in SendEvent request.
The SendEvent request holds xEvent which is exactly 32 bytes long, no more,
no less. Both ProcSendEvent and SProcSendEvent verify that the received data
exactly match the request size. However nothing stops the client from passing
in event with xEvent::type = GenericEvent and any value of
xGenericEvent::length.
In the case of ProcSendEvent, the event will be eventually passed to
WriteEventsToClient which will see that it is Generic event and copy the
arbitrary length from the receive buffer (and possibly past it) and send it to
the other client. This allows clients to copy unitialized heap memory out of X
server or to crash it.
In case of SProcSendEvent, it will attempt to swap the incoming event by
calling a swapping function from the EventSwapVector array. The swapped event
is written to target buffer, which in this case is local xEvent variable. The
xEvent variable is 32 bytes long, but the swapping functions for GenericEvents
expect that the target buffer has size matching the size of the source
GenericEvent. This allows clients to cause stack buffer overflows.
Signed-off-by: Michal Srb <msrb@suse.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/dix/events.c b/dix/events.c
index 3e3a01e..d3a33ea 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -5366,6 +5366,12 @@ ProcSendEvent(ClientPtr client)
client->errorValue = stuff->event.u.u.type;
return BadValue;
}
+ /* Generic events can have variable size, but SendEvent request holds
+ exactly 32B of event data. */
+ if (stuff->event.u.u.type == GenericEvent) {
+ client->errorValue = stuff->event.u.u.type;
+ return BadValue;
+ }
if (stuff->event.u.u.type == ClientMessage &&
stuff->event.u.u.detail != 8 &&
stuff->event.u.u.detail != 16 && stuff->event.u.u.detail != 32) {
diff --git a/dix/swapreq.c b/dix/swapreq.c
index 719e9b8..6785059 100644
--- a/dix/swapreq.c
+++ b/dix/swapreq.c
@@ -292,6 +292,13 @@ SProcSendEvent(ClientPtr client)
swapl(&stuff->destination);
swapl(&stuff->eventMask);
+ /* Generic events can have variable size, but SendEvent request holds
+ exactly 32B of event data. */
+ if (stuff->event.u.u.type == GenericEvent) {
+ client->errorValue = stuff->event.u.u.type;
+ return BadValue;
+ }
+
/* Swap event */
proc = EventSwapVector[stuff->event.u.u.type & 0177];
if (!proc || proc == NotImplemented) /* no swapping proc; invalid event type? */
--
cgit v0.10.2
From 8caed4df36b1f802b4992edcfd282cbeeec35d9d Mon Sep 17 00:00:00 2001
From: Michal Srb <msrb@suse.com>
Date: Wed, 24 May 2017 15:54:41 +0300
Subject: Xi: Verify all events in ProcXSendExtensionEvent.
The requirement is that events have type in range
EXTENSION_EVENT_BASE..lastEvent, but it was tested
only for first event of all.
Signed-off-by: Michal Srb <msrb@suse.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/Xi/sendexev.c b/Xi/sendexev.c
index 1cf118a..5e63bfc 100644
--- a/Xi/sendexev.c
+++ b/Xi/sendexev.c
@@ -117,7 +117,7 @@ SProcXSendExtensionEvent(ClientPtr client)
int
ProcXSendExtensionEvent(ClientPtr client)
{
- int ret;
+ int ret, i;
DeviceIntPtr dev;
xEvent *first;
XEventClass *list;
@@ -141,10 +141,12 @@ ProcXSendExtensionEvent(ClientPtr client)
/* The client's event type must be one defined by an extension. */
first = ((xEvent *) &stuff[1]);
- if (!((EXTENSION_EVENT_BASE <= first->u.u.type) &&
- (first->u.u.type < lastEvent))) {
- client->errorValue = first->u.u.type;
- return BadValue;
+ for (i = 0; i < stuff->num_events; i++) {
+ if (!((EXTENSION_EVENT_BASE <= first[i].u.u.type) &&
+ (first[i].u.u.type < lastEvent))) {
+ client->errorValue = first[i].u.u.type;
+ return BadValue;
+ }
}
list = (XEventClass *) (first + stuff->num_events);
--
cgit v0.10.2
From ba336b24052122b136486961c82deac76bbde455 Mon Sep 17 00:00:00 2001
From: Michal Srb <msrb@suse.com>
Date: Wed, 24 May 2017 15:54:42 +0300
Subject: Xi: Do not try to swap GenericEvent.
The SProcXSendExtensionEvent must not attempt to swap GenericEvent because
it is assuming that the event has fixed size and gives the swapping function
xEvent-sized buffer.
A GenericEvent would be later rejected by ProcXSendExtensionEvent anyway.
Signed-off-by: Michal Srb <msrb@suse.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/Xi/sendexev.c b/Xi/sendexev.c
index 5e63bfc..5c2e0fc 100644
--- a/Xi/sendexev.c
+++ b/Xi/sendexev.c
@@ -95,9 +95,17 @@ SProcXSendExtensionEvent(ClientPtr client)
eventP = (xEvent *) &stuff[1];
for (i = 0; i < stuff->num_events; i++, eventP++) {
+ if (eventP->u.u.type == GenericEvent) {
+ client->errorValue = eventP->u.u.type;
+ return BadValue;
+ }
+
proc = EventSwapVector[eventP->u.u.type & 0177];
- if (proc == NotImplemented) /* no swapping proc; invalid event type? */
+ /* no swapping proc; invalid event type? */
+ if (proc == NotImplemented) {
+ client->errorValue = eventP->u.u.type;
return BadValue;
+ }
(*proc) (eventP, &eventT);
*eventP = eventT;
}
--
cgit v0.10.2

View File

@ -1,35 +0,0 @@
From 05442de962d3dc624f79fc1a00eca3ffc5489ced Mon Sep 17 00:00:00 2001
From: Michal Srb <msrb@suse.com>
Date: Wed, 24 May 2017 15:54:39 +0300
Subject: Xi: Zero target buffer in SProcXSendExtensionEvent.
Make sure that the xEvent eventT is initialized with zeros, the same way as
in SProcSendEvent.
Some event swapping functions do not overwrite all 32 bytes of xEvent
structure, for example XSecurityAuthorizationRevoked. Two cooperating
clients, one swapped and the other not, can send
XSecurityAuthorizationRevoked event to each other to retrieve old stack data
from X server. This can be potentialy misused to go around ASLR or
stack-protector.
Signed-off-by: Michal Srb <msrb@suse.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/Xi/sendexev.c b/Xi/sendexev.c
index 11d8202..1cf118a 100644
--- a/Xi/sendexev.c
+++ b/Xi/sendexev.c
@@ -78,7 +78,7 @@ SProcXSendExtensionEvent(ClientPtr client)
{
CARD32 *p;
int i;
- xEvent eventT;
+ xEvent eventT = { .u.u.type = 0 };
xEvent *eventP;
EventSwapPtr proc;
--
cgit v0.10.2

View File

@ -52,7 +52,7 @@
(define-public php
(package
(name "php")
(version "7.1.9")
(version "7.1.10")
(home-page "https://secure.php.net/")
(source (origin
(method url-fetch)
@ -60,7 +60,7 @@
name "-" version ".tar.xz"))
(sha256
(base32
"130y50nawipd12nbs10661vzk8gvy7zsqcsxvj29mwaivm4a777c"))
"02y52ml1svksx6fclg47vim2hnsva3531db7msrhpb9f39vzm3ib"))
(modules '((guix build utils)))
(snippet
'(with-directory-excursion "ext"

399
gnu/packages/profiling.scm Normal file
View File

@ -0,0 +1,399 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Dave Love <fx@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages profiling)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:) ; avoid zlib, expat clashes
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base) ;for "which"
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fabric-management)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages linux)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages qt))
;; Fixme: Separate out lib and fix resulting cycle errors; separate libpfm
;; output(?); build libmsr and add that component.
(define-public papi
(package
(name "papi")
(version "5.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://icl.utk.edu/projects/papi/downloads/papi-"
version ".tar.gz"))
(sha256 (base32 "1m62s8fkjjgq04ayf18jcxc33rqfd7nrkdw1gr54q5pn4cijrp29"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)
("lm-sensors" ,lm-sensors "lib")
("rdma-core" ,rdma-core)
("infiniband-diags" ,infiniband-diags "lib")
("net-tools" ,net-tools)))
(native-inputs
`(("autoconf" ,autoconf)
("gfortran" ,gfortran)))
(arguments
'(#:tests? #f ; no check target
#:configure-flags
;; These are roughly per Fedora, but elide mx (assumed to be dead, even
;; Open-MX) and add and powercap -- I don't know the pros/cons of
;; infiniband and infiniband_mad, but you can't use them together, and
;; the umad version needs at least one patch.
;; Implicit enabled components: perf_event perf_event_uncore
`("--with-perf-events" "--with-shared-lib=yes" "--with-shlib"
"--with-static-lib=no"
"--with-components=appio coretemp example lustre micpower net rapl \
stealtime lmsensors infiniband powercap"
;; So utils get rpath set correctly:
,(string-append "LDFLAGS=-Xlinker -rpath -Xlinker "
(assoc-ref %outputs "out") "/lib"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'autoconf
(lambda _
(chdir "src")
(zero? (system* "autoconf"))))
;; Amalgamating with the following clause gives double substitution.
(add-before 'patch-source-shebangs 'patch-components
(lambda _
(with-directory-excursion "src/components"
(substitute* '("lmsensors/configure" "infiniband_umad/configure")
(("/bin/sh") (which "sh"))))
#t))
(add-after 'configure 'components
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "components"
(and
(with-directory-excursion "infiniband_umad"
(zero? (system* "./configure")))
(with-directory-excursion "lmsensors"
(let ((base (assoc-ref inputs "lm-sensors")))
(zero?
(system*
"./configure"
(string-append "--with-sensors_incdir=" base
"/include/sensors")
(string-append "--with-sensors_libdir=" base "/lib")))))))))
(add-after 'install 'extra-doc
(lambda* (#:key outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "out")
"/share/doc")))
(mkdir-p doc)
(chdir "..") ; we went into src above
(for-each (lambda (file)
(install-file file doc))
'("README" "RELEASENOTES.txt" "LICENSE.txt"))
#t))))))
(home-page "http://icl.cs.utk.edu/papi/")
(synopsis "Performance Application Programming Interface")
(description
"PAPI provides the tool designer and application engineer with a consistent
interface and methodology for use of the performance counter hardware found in
most major microprocessors. PAPI enables software engineers to see, in near
real time, the relation between software performance and processor events.
In addition, PAPI provides access to a collection of components that expose
performance measurement opportunites across the hardware and software stack.")
;; See Debian papi copyright file.
(license (list license:bsd-3
license:lgpl2.1+ ;src/components/infiniband/pscanf.h
;; not used in output
license:gpl2+ ;src/components/appio/tests/iozone/gengnuplot.sh
;src/libpfm-3.y/*/multiplex*
;; "BSD-like": src/libpfm-3.y/*, src/libpfm4/*
;; lgpl2.1+: src/perfctr-2.*/*
))))
;; NB. there's a potential name clash with libotf.
(define-public otf2
(package
(name "otf2")
(version "2.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.vi-hps.org/upload/packages/otf2/otf2-"
version ".tar.gz"))
(sha256 (base32 "1lyaqhdfaqm1kd23yk71g71vkscw83s7m57j017y768h8sh8xlwa"))))
(native-inputs `(("python" ,python)))
(outputs '("doc" ; 18MB
"lib"
"out"))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-shared" "--disable-static")
#:phases
(modify-phases %standard-phases
(add-after 'install 'licence
(lambda* (#:key outputs #:allow-other-keys)
(for-each (lambda (output)
(let ((doc (string-append (assoc-ref outputs output)
"/share/doc/otf2")))
(install-file "COPYING" doc)))
'("lib" "doc"))
#t)))))
(home-page "http://www.vi-hps.org/projects/score-p/")
(synopsis "Open Trace Format 2 library")
(description "The Open Trace Format 2 (OTF2) is a scalable, memory
efficient event trace data format plus support library.")
(license license:bsd-3)))
(define-public opari2
(package
(name "opari2")
(version "2.0.2")
(source
(origin
(method url-fetch)
(uri (let* ((parts (string-split version #\.) )
(major (car parts))
(minor (cadr parts)))
(string-append "http://www.vi-hps.org/upload/packages/opari2/opari2-"
version ".tar.gz")))
(sha256 (base32 "1ph8l5c646bm9l5vcn8rrbjvkyi7y8yvn2ny95r6kmlzs766g3q8"))))
(build-system gnu-build-system)
(inputs `(("gfortran" ,gfortran)))
(native-inputs `(("gawk" ,gawk) ;for tests
("which" ,which)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'licence
(lambda* (#:key outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "out")
"/share/doc/opari2")))
(install-file "COPYING" doc)
#t))))))
(home-page "http://www.vi-hps.org/projects/score-p")
(synopsis "OpenMP runtime performance measurement instrumenter")
(description "OPARI2 is a source-to-source instrumentation tool for OpenMP
and hybrid codes. It surrounds OpenMP directives and runtime library calls
with calls to the POMP2 measurement interface.")
(license license:bsd-3)))
(define-public cube
(package
(name "cube")
(version "4.3.5")
(source
(origin
(method url-fetch)
(uri (string-append
"http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-"
version ".tar.gz"))
(sha256 (base32 "04irflia4rfw02093w9nx7rr98r640y4q8hisjywvd4b7r3nzhhx"))
(patches (search-patches "cube-nocheck.patch"))))
(inputs `(("dbus" ,dbus)
("zlib" ,zlib)))
(native-inputs `(("perl" ,perl)
("qtbase" ,qtbase) ; native because of qmake
("which" ,which)))
;; FIXME: The doc is 14MB, but adding a doc output results in a cycle.
(outputs '("out" ;"doc"
"lib"))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
`("--enable-shared" "--disable-static" "--disable-silent-rules"
,(string-append "LDFLAGS=-L" (assoc-ref %outputs "lib") "/lib"))
#:parallel-tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'configure 'rpath
;; Account for moving GUI stuff
(lambda* (#:key outputs #:allow-other-keys)
(let ((wl (string-append "-Wl,-rpath=" (assoc-ref outputs "out")
"/lib")))
(substitute* "build-backend/Makefile"
(("^cube_LDFLAGS =") (string-append "cube_LDFLAGS = " wl))
(("^libheatmap_plugin_la_LDFLAGS =")
(string-append "libheatmap_plugin_la_LDFLAGS = " wl))
(("^libbarplot_plugin_la_LDFLAGS =")
(string-append "libbarplot_plugin_la_LDFLAGS = " wl)))
#t)))
(add-before 'install 'includes-cube
;; It tries to install here before include exists.
(lambda* (#:key outputs #:allow-other-keys)
(let ((inc (string-append (assoc-ref outputs "lib") "/include")))
(mkdir-p (string-append inc "/cube"))
(mkdir-p (string-append inc "/cubew"))
#t)))
(add-after 'install 'licence
(lambda* (#:key outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "lib")
"/share/doc/cube")))
(install-file "COPYING" doc)
#t)))
;; XXX: Commented due to cycle (see comment above.)
;; (add-after 'install 'doc
;; (lambda _
;; (let ((share (string-append (assoc-ref %outputs "doc")
;; "/share")))
;; (mkdir-p share)
;; (rename-file (string-append %output "/share/doc")
;; (string-append share "/doc")))))
(add-after 'install 'gui-stuff
;; Get the Qt horror dependencies out of the lib closure
(lambda _
(let ((outlib (string-append (assoc-ref %outputs "out") "/lib"))
(lib (string-append (assoc-ref %outputs "lib") "/lib")))
(mkdir-p outlib)
(rename-file (string-append lib "/cube-plugins")
(string-append outlib "/cube-plugins"))
(for-each (lambda (file)
(rename-file
file (string-append outlib "/" (basename file))))
(append (find-files lib "libgraphwidgetcommon-plugin\\..*")
(find-files lib "libcube4gui\\.so.*")))
#t)))
(add-after 'install 'move-include
;; Most of the headers end up under %output for some reason,
;; despite --includedir in configure.
(lambda* (#:key outputs #:allow-other-keys)
(let ((outinc (string-append (assoc-ref outputs "out")
"/include"))
(libinc (string-append (assoc-ref outputs "lib")
"/include")))
(for-each (lambda (file)
(let ((from (string-append outinc "/" file)))
(copy-recursively from libinc)
(delete-file-recursively from)))
'("cube" "cubew"))
#t)))
;; XXX: This doesn't work because cube-config, which is needed for
;; building stuff, sources cube-config-frontend. We don't want that
;; in the lib output because it pulls in >1GB via QT.
;;
;; (add-after 'install 'cube-config
;; (lambda _
;; (let* ((lib (assoc-ref %outputs "lib"))
;; (libbin (string-append lib "/bin")))
;; (mkdir-p libbin)
;; (system (string-append "mv " (assoc-ref %outputs "out")
;; "/bin/cube-config* " libbin))
;; (substitute* (list (string-append libbin "/cube-config"))
;; (("^prefix=.*") (string-append "prefix=" lib))
;; (("^exec_prefix=\"\\$\\{prefix\\}\"")
;; (string-append "exec_prefix=" lib))))))
(add-after 'install 'cube-config
(lambda* (#:key outputs #:allow-other-keys)
(let* ((lib (assoc-ref outputs "lib"))
(libbin (string-append lib "/bin")))
(mkdir-p libbin)
(install-file (string-append %output "/bin/cube-config") libbin)
(install-file (string-append %output "/bin/cube-config-backend")
libbin)
(substitute* (list (string-append libbin "/cube-config"))
(("^source .*frontend.*$") "")
(((assoc-ref outputs "out")) lib))
#t))))))
(home-page "http://www.scalasca.org/software/cube-4.x/download.html")
(synopsis "Performance report explorer for parallel programs")
(description
"CUBE (CUBE Uniform Behavioral Encoding) is a tool to display a variety
of performance metrics for parallel programs including MPI and OpenMP
applications. CUBE allows interactive exploration of a multidimensional
performance space in a scalable fashion. Scalability is achieved in two ways:
hierarchical decomposition of individual dimensions and aggregation across
different dimensions. All performance metrics are uniformly accommodated in
the same display and thus provide the ability to easily compare the effects of
different kinds of performance behavior.")
(license license:bsd-3)))
(define (make-scorep mpi)
(package
(name (string-append "scorep-" (package-name mpi)))
(version "3.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.vi-hps.org/upload/packages/scorep/scorep-"
version ".tar.gz"))
(sha256
(base32
"0h45357djna4dn9jyxx0n36fhhms3jrf22988m9agz1aw2jfivs9"))
(modules '((guix build utils)))
(snippet
;; Remove bundled software.
'(for-each delete-file-recursively
'("vendor/opari2" "vendor/cube")))))
(build-system gnu-build-system)
(inputs
`(("mpi" ,mpi)
("papi" ,papi)
("opari2" ,opari2)
("libunwind" ,libunwind)
("otf2" ,otf2)
("cubelib" ,cube "lib") ;for lib, include
("openmpi" ,openmpi)
("zlib" ,zlib)))
(native-inputs
`(("gfortran" ,gfortran)
("flex" ,flex)
("cube" ,cube) ;for cube-config
("bison" ,bison)
("python" ,python)
("doxygen" ,doxygen)
("which" ,which)))
(arguments
`(#:configure-flags
(list "--enable-shared" "--disable-static"
(string-append "--with-opari2="
(assoc-ref %build-inputs "opari2"))
(string-append "--with-cube="
(assoc-ref %build-inputs "cube")))
#:parallel-tests? #f
#:make-flags '("V=1")
#:phases
(modify-phases %standard-phases
(add-after 'install 'licence
(lambda* (#:key outputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "out")
"/share/doc/scorep")))
(install-file "COPYING" doc)
#t))))))
(home-page "http://www.vi-hps.org/projects/score-p/")
(synopsis "Performance measurement infrastructure for parallel code")
(description
"The Score-P (Scalable Performance Measurement Infrastructure for
Parallel Codes) measurement infrastructure is a scalable and easy-to-use tool
suite for profiling, event trace recording, and online analysis of
high-performance computing (HPC) applications.")
(license license:cpl1.0)))
(define-public scorep-openmpi (make-scorep openmpi))

View File

@ -27,6 +27,7 @@
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix l:)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
@ -259,3 +260,33 @@ easily control the volume of all clients, sinks, etc.")
command-line interface. In addition, it is possible to use named sources and
sinks.")
(license l:expat)))
(define-public pulsemixer
(package
(name "pulsemixer")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/GeorgeFilipkin/"
"pulsemixer/archive/" version ".tar.gz"))
(sha256
(base32
"03c94313fhxd5sbkl2ajzb2gmmm4hpv7m5rkbxmahwg9s8ih824r"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((pulse (assoc-ref inputs "pulseaudio")))
(substitute* "pulsemixer"
(("libpulse.so.0")
(string-append pulse "/lib/libpulse.so.0")))
#t))))))
(inputs
`(("pulseaudio" ,pulseaudio)))
(home-page "https://github.com/GeorgeFilipkin/pulsemixer/")
(synopsis "Command-line and curses mixer for PulseAudio")
(description "Pulsemixer is a PulseAudio mixer with command-line and
curses-style interfaces.")
(license l:expat)))

View File

@ -3717,22 +3717,21 @@ between language specification and implementation aspects.")
(define-public python-numpy
(package
(name "python-numpy")
(version "1.12.0")
(version "1.13.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/numpy/numpy/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(uri (pypi-uri "numpy" version ".zip"))
(sha256
(base32
"025d4j4aakcp8w5i5diqh812cbbjgac7jszx1j56ivrbi1i8vv7d"))))
"1fsgkhh1vdkhmlz8vmdgxnj9n9yaanckxxzz9s0b4p08fqvjic69"))))
(build-system python-build-system)
(inputs
`(("openblas" ,openblas)
("lapack" ,lapack)))
(native-inputs
`(("python-cython" ,python-cython)
`(("unzip" ,unzip)
("python-cython" ,python-cython)
("python-nose" ,python-nose)
("gfortran" ,gfortran)))
(arguments
@ -3758,6 +3757,11 @@ include_dirs = ~a/include
(assoc-ref inputs "openblas")
(assoc-ref inputs "lapack")
(assoc-ref inputs "lapack"))))
;; Make /gnu/store/...-bash-.../bin/sh the default shell, instead of
;; /bin/sh.
(substitute* "numpy/distutils/exec_command.py"
(("(os.environ.get\\('SHELL', ')(/bin/sh'\\))" match match-start match-end)
(string-append match-start (assoc-ref inputs "bash") match-end)))
;; Use "gcc" executable, not "cc".
(substitute* "numpy/distutils/system_info.py"
(("c = distutils\\.ccompiler\\.new_compiler\\(\\)")
@ -4135,14 +4139,14 @@ that client code uses to construct the grammar directly in Python code.")
(define-public python-numexpr
(package
(name "python-numexpr")
(version "2.6.1")
(version "2.6.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "numexpr" version))
(sha256
(base32
"01lsja72m32z0i5p8rwxbfyzk4mplh72k2a140nwh8vv4wpyfbnv"))))
"1kpnbb5d5n927113zccfibn16z7gidjipyac6kbbhzs0lnizkgph"))))
(build-system python-build-system)
(arguments `(#:tests? #f)) ; no tests included
(propagated-inputs
@ -4902,17 +4906,17 @@ SQLAlchemy Database Toolkit for Python.")
(define-public python-autopep8
(package
(name "python-autopep8")
(version "1.2.4")
(version "1.3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "autopep8" version))
(sha256
(base32
"18parm383lfn42a00wklv3qf20p4v277f1x3cn58x019dqk1xqrq"))))
"1p9pa1ffg4iy96l918808jggg9a69iaka5awmj8xid36yc5mk0ky"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pep8" ,python-pep8)))
`(("python-pycodestyle" ,python-pycodestyle)))
(home-page "https://github.com/hhatto/autopep8")
(synopsis "Format Python code according to the PEP 8 style guide")
(description
@ -5780,13 +5784,13 @@ tools for mocking system commands and recording calls to those.")
(define-public python-ipython
(package
(name "python-ipython")
(version "5.2.2")
(version "5.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ipython" version ".tar.gz"))
(sha256
(base32 "1qhjwa9cyz1np7rhv3p4ip13lkgbqsad62l24xkwiq1ic2gwiqbf"))))
(base32 "079wyjir4a9qx6kvx096b1asm63djbidk65z3ykcbnlngmg62pmz"))))
(build-system python-build-system)
(outputs '("out" "doc"))
(propagated-inputs
@ -9238,16 +9242,13 @@ for atomic file system operations.")
(define-public python-requests-toolbelt
(package
(name "python-requests-toolbelt")
(version "0.6.2")
(version "0.8.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/"
"e1/a4/a94c037bc72ad70441aff1403d3243510d2542ddca7759faaeffeb11aefe/"
"requests-toolbelt-" version ".tar.gz"))
(uri (pypi-uri "requests-toolbelt" version))
(sha256
(base32
"15q9nrgp85nqlr4kdz1zvj8z2npafi2sr12y7fqgxbkq28j1aci6"))))
"1dc7l42i4080r8i4m9fj51jx367lqkai170vrv7wd93gdj9k39gn"))))
(build-system python-build-system)
(native-inputs
`(("python-betamax" ,python-betamax)
@ -9261,6 +9262,9 @@ with python-requests.")
(home-page "https://github.com/sigmavirus24/requests-toolbelt")
(license license:asl2.0)))
(define-public python2-requests-toolbelt
(package-with-python2 python-requests-toolbelt))
(define-public python-click-threading
(package
(name "python-click-threading")
@ -9835,10 +9839,11 @@ concurrent.futures package from Python 3.2")
("python-mock" ,python-mock)
("python-tornado" ,python-tornado)))
(propagated-inputs
`(;; extra packages for https security
`(;; These 5 inputs are used to build urrlib3[secure]
("python-certifi" ,python-certifi)
("python-ndg-httpsclient" ,python-ndg-httpsclient)
("python-pyasn1" ,python-pyasn1)
("python-cryptography" ,python-cryptography) ;
("python-idna" ,python-idna)
("python-ipaddress" ,python-ipaddress)
("python-pyopenssl" ,python-pyopenssl)))
(home-page "https://urllib3.readthedocs.org/")
(synopsis "HTTP library with thread-safe connection pooling")
@ -9921,14 +9926,14 @@ Pytest but stripped of Pytest specific details.")
(define-public python-tox
(package
(name "python-tox")
(version "2.8.0")
(version "2.8.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tox" version))
(sha256
(base32
"00lrql2cfzhb712v70inac6mrgdv8s8fmvz7qpggkk623hkm2pgc"))))
"1drp6mwm8wdypjym15ia8lwjxbhcksb9vzxg4ay5dh4ji57by2ny"))))
(build-system python-build-system)
(arguments
;; FIXME: Tests require pytest-timeout, which itself requires
@ -10015,14 +10020,14 @@ interface to the Amazon Web Services (AWS) API.")
(define-public awscli
(package
(name "awscli")
(version "1.11.151")
(version "1.11.164")
(source
(origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
"0h6rirbfy0f9cxm7ikll0kr720dircfmxf2vslmhn4n325831wsp"))))
"05r8cw7i7ff6barpmyxxk3i52gzb1xyxwj8isynmiyqlmk3c9r8w"))))
(build-system python-build-system)
(propagated-inputs
`(("python-colorama" ,python-colorama)
@ -16297,3 +16302,140 @@ Templates.")
(define-public python2-uritemplate
(package-with-python2 python-uritemplate))
(define-public python-pydiff
(package
(name "python-pydiff")
(version "0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pydiff" version))
(sha256
(base32
"1als83h9w0gab24ipyna6khm390qmpnpkc5jksmdbs2xc8hp2z44"))))
(build-system python-build-system)
(home-page "https://github.com/myint/pydiff")
(synopsis "Library to diff two Python files at the bytecode level")
(description
"@code{pydiff} makes it easy to look for actual code changes while
ignoring formatting changes.")
(license license:expat)))
(define-public python2-pydiff
(package-with-python2 python-pydiff))
(define-public python-nose-timer
(package
(name "python-nose-timer")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "nose-timer" version))
(patches
(search-patches
;; This patch will not be needed in the next version.
;; It is taken from the master branch.
"python-nose-timer-drop-ordereddict.patch"))
(sha256
(base32
"1s32ymsnby8lz2qk55ifj9zi50dqcg6swnj5cz2rmwxg2jsslsxp"))))
(build-system python-build-system)
(propagated-inputs
`(("python-nose" ,python-nose)
("python-termcolor" ,python-termcolor)))
(home-page "https://github.com/mahmoudimus/nose-timer")
(synopsis "Timer plugin for nosetests")
(description "Shows how much time was needed to run individual tests.")
(license license:expat)))
(define-public python2-nose-timer
(package-with-python2 python-nose-timer))
(define-public python-tqdm
(package
(name "python-tqdm")
(version "4.15.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tqdm" version))
(sha256
(base32
"0lwrmby8qz23gvqwkpivfrv4q8nfh90cz9ml6slwvwmcxxsdrhbf"))))
(build-system python-build-system)
(native-inputs
`(("python-flake8" ,python-flake8)
("python-nose" ,python-nose)
("python-nose-timer" ,python-nose-timer)
("python-coverage" ,python-coverage)
("python-virtualenv" ,python-virtualenv)))
(home-page "https://github.com/tqdm/tqdm")
(synopsis "Fast, extensible progress meter")
(description
"Make loops show a progress bar on the console by just wrapping any
iterable with @code{|tqdm(iterable)|}. Offers many options to define
design and layout.")
(license (list license:mpl2.0 license:expat))))
(define-public python2-tqdm
(package-with-python2 python-tqdm))
(define-public python-pkginfo
(package
(name "python-pkginfo")
(version "1.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pkginfo" version))
(sha256
(base32
"17pqjfpq3c6xzdmk8pski6jcjgjv78q00zjf2bgzb668pzm6l6mv"))))
(build-system python-build-system)
(arguments
;; The tests are broken upstream.
'(#:tests? #f))
(home-page
"https://code.launchpad.net/~tseaver/pkginfo/trunk")
(synopsis
"Query metadatdata from sdists, bdists, and installed packages")
(description
"API to query the distutils metadata written in @file{PKG-INFO} inside a
source distriubtion (an sdist) or a binary distribution (e.g., created by
running bdist_egg). It can also query the EGG-INFO directory of an installed
distribution, and the *.egg-info stored in a \"development checkout\" (e.g,
created by running @code{python setup.py develop}).")
(license license:expat)))
(define-public python2-pkginfo
(package-with-python2 python-pkginfo))
(define-public python-twine
(package
(name "python-twine")
(version "1.9.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "twine" version))
(sha256
(base32
"1ay1b6kdq6k4bfbjsvf6ymj41wrgpvinhxndb09355pwhxwmp96a"))))
(build-system python-build-system)
(propagated-inputs
`(("python-tqdm" ,python-tqdm)
("python-pkginfo", python-pkginfo)
("python-requests" ,python-requests)
("python-requests-toolbelt" ,python-requests-toolbelt)))
(home-page "https://github.com/pypa/twine")
(synopsis "Collection of utilities for interacting with PyPI")
(description
"@code{twine} currently supports registering projects and uploading
distributions. It authenticates the user over HTTPS, allows them to pre-sign
their files and supports any packaging format (including wheels).")
(license license:asl2.0)))
(define-public python2-twine
(package-with-python2 python-twine))

View File

@ -46,6 +46,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
@ -776,7 +777,15 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(("spectrum") "#"))))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
((#:phases phases)
`(modify-phases ,phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(zero? (system* "qmake" "QT_BUILD_PARTS = libs tools tests"
(string-append "QMAKE_LFLAGS_RPATH=-Wl,-rpath," out "/lib -Wl,-rpath,")
(string-append "PREFIX=" out))))))))
((#:tests? _ #f) #f))) ; TODO: Enable the tests
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
@ -786,7 +795,10 @@ developers using C++ or QML, a CSS & JavaScript like language.")
`(("alsa-lib" ,alsa-lib)
("mesa" ,mesa)
("pulseaudio" ,pulseaudio)
("qtbase" ,qtbase)))))
("qtbase" ,qtbase)
;; Gstreamer is needed for the mediaplayer plugin
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)))))
(define-public qtwayland
(package (inherit qtsvg)

View File

@ -200,6 +200,32 @@ a focus on simplicity and productivity.")
(string-append "/lib/ruby/gems/" (version-major+minor ruby-version)
".0/gems"))
(define-public ruby-highline
(package
(name "ruby-highline")
(version "1.7.8")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "highline" version))
(sha256
(base32
"1nf5lgdn6ni2lpfdn4gk3gi47fmnca2bdirabbjbz1fk9w4p8lkr"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f)) ;; TODO: NameError: uninitialized constant SPEC
(native-inputs
`(("bundler" ,bundler)
("ruby-code-statistics" ,ruby-code-statistics)))
(synopsis
"HighLine helps you build command-line interfaces")
(description
"HighLine provides a high-level IO library that provides validation,
type conversion, and more for command-line interfaces. HighLine also includes
a menu system for providing multiple options to the user.")
(home-page "https://github.com/JEG2/highline")
(license (list license:gpl2 license:ruby))))
(define-public ruby-hoe
(package
(name "ruby-hoe")
@ -644,6 +670,34 @@ complexity.")
(home-page "https://github.com/ThoughtWorksStudios/saikuro_treemap")
(license license:expat)))
(define-public ruby-options
(package
(name "ruby-options")
(version "2.3.2")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "options" version))
(sha256
(base32
"1s650nwnabx66w584m1cyw82icyym6hv5kzfsbp38cinkr5klh9j"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f ;; TODO: NameError: uninitialized constant Config
#:phases
(modify-phases %standard-phases
(add-before 'check 'set-LIB
(lambda _
;; This is used in the Rakefile, and setting it avoids an issue
;; with running the tests.
(setenv "LIB" "options"))))))
(synopsis "Ruby library to parse options from *args cleanly")
(description
"The @code{options} library helps with parsing keyword options in Ruby
functions.")
(home-page "https://github.com/ahoward/options")
(license license:ruby)))
(define-public ruby-orderedhash
(package
(name "ruby-orderedhash")
@ -931,6 +985,41 @@ Ruby Gems.")
(home-page "https://github.com/postmodern/rubygems-tasks")
(license license:expat)))
(define-public ruby-rubyzip
(package
(name "ruby-rubyzip")
(version "1.2.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "rubyzip" version))
(sha256
(base32
"06js4gznzgh8ac2ldvmjcmg9v1vg9llm357yckkpylaj6z456zqz"))))
(build-system ruby-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'check 'patch-tests
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "test/gentestfiles.rb"
(("/usr/bin/zip")
(string-append
(assoc-ref inputs "zip") "/bin/zip")))
(substitute* "test/input_stream_test.rb"
(("/usr/bin/env ruby") (which "ruby")))
#t)))))
(native-inputs
`(("bundler" ,bundler)
("ruby-simplecov" ,ruby-simplecov)
("zip" ,zip)
("unzip" ,unzip)))
(synopsis "Ruby module is for reading and writing zip files")
(description
"The rubyzip module provides ways to read from and create zip files.")
(home-page "http://github.com/rubyzip/rubyzip")
(license license:bsd-2)))
(define-public ruby-ffi
(package
(name "ruby-ffi")
@ -1849,6 +1938,28 @@ net/http library.")
(home-page "https://github.com/nicksieger/multipart-post")
(license license:expat)))
(define-public ruby-multi-json
(package
(name "ruby-multi-json")
(version "1.12.2")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "multi_json" version))
(sha256
(base32
"1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ;; No testsuite included in the gem.
(synopsis "Common interface to multiple JSON libraries for Ruby")
(description
"This package provides a common interface to multiple JSON libraries,
including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem,
NSJSONSerialization, gson.rb, JrJackson, and OkJson.")
(home-page "http://github.com/intridea/multi_json")
(license license:expat)))
(define-public ruby-arel
(package
(name "ruby-arel")
@ -1980,17 +2091,19 @@ both CSS3 selector and XPath 1.0 support.")
(define-public ruby-method-source
(package
(name "ruby-method-source")
(version "0.8.2")
(version "0.9.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "method_source" version))
(sha256
(base32
"1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2"))))
"0xqj21j3vfq4ldia6i2akhn2qd84m0iqcnsl49kfpq3xk6x0dzgn"))))
(build-system ruby-build-system)
(arguments
`(#:test-target "spec"))
(native-inputs
`(("ruby-bacon" ,ruby-bacon)
`(("ruby-rspec" ,ruby-rspec)
("git" ,git)))
(synopsis "Retrieve the source code for Ruby methods")
(description "Method_source retrieves the source code for Ruby methods.
@ -2019,24 +2132,54 @@ for select languages.")
(home-page "http://coderay.rubychan.de")
(license license:expat)))
(define-public ruby-progress_bar
(package
(name "ruby-progress_bar")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "progress_bar" version))
(sha256
(base32
"1qc40mr6p1z9a3vlpnsg1zfgk1qswviql2a31y63wpv3vr6b5f48"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "spec"))
(propagated-inputs
`(("ruby-highline" ,ruby-highline)
("ruby-options" ,ruby-options)))
(native-inputs
`(("bundler" ,bundler)
("ruby-rspec" ,ruby-rspec)
("ruby-timecop" ,ruby-timecop)))
(synopsis
"Ruby library for displaying progress bars")
(description
"ProgressBar is a simple library for displaying progress bars. The
maximum value is configurable, and additional information can be displayed
like the percentage completion, estimated time remaining, elapsed time and
rate.")
(home-page "https://github.com/paul/progress_bar")
(license license:wtfpl2)))
(define-public ruby-pry
(package
(name "ruby-pry")
(version "0.10.4")
(version "0.11.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "pry" version))
(sha256
(base32
"05xbzyin63aj2prrv8fbq2d5df2mid93m81hz5bvf2v4hnzs42ar"))))
"0ci461a55sn50rlrmcl97ycf79681glp443a2gzp23rnm7y70fkj"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; no tests
(propagated-inputs
`(("ruby-coderay" ,ruby-coderay)
("ruby-method-source" ,ruby-method-source)
("ruby-slop" ,ruby-slop-3)))
("ruby-method-source" ,ruby-method-source)))
(synopsis "Ruby REPL")
(description "Pry is an IRB alternative and runtime developer console for
Ruby. It features syntax highlighting, a plugin architecture, runtime
@ -3563,6 +3706,57 @@ It has built-in support for the legacy @code{cookies.txt} and
(home-page "https://github.com/sparklemotion/http-cookie")
(license license:expat)))
(define-public ruby-httpclient
(package
(name "ruby-httpclient")
(version "2.8.3")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "httpclient" version))
(sha256
(base32
"19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"))))
(build-system ruby-build-system)
(arguments
'(;; TODO: Some tests currently fail
;; ------
;; 211 tests, 729 assertions, 13 failures, 4 errors, 0 pendings,
;; 2 omissions, 0 notifications
;; 91.866% passed
;; ------
;; 6.49 tests/s, 22.41 assertions/s
#:tests? #f
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(zero?
(system* "ruby"
"-Ilib"
"test/runner.rb"))
#t)))
(add-after 'install 'wrap-bin-httpclient
(lambda* (#:key outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
"/bin/httpclient")
`("GEM_HOME" ":" prefix (,(getenv "GEM_HOME"))))
#t)))))
(native-inputs
`(("ruby-rack" ,ruby-rack)))
(synopsis
"Make HTTP requests with support for HTTPS, Cookies, authentication and more")
(description
"The @code{httpclient} ruby library provides functionality related to
HTTP. Compared to the @code{net/http} library, @{httpclient} also provides
Cookie, multithreading and authentication (digest, NTLM) support.
Also provided is a @command{httpclient} command, which can perform HTTP
requests either using arguments or with an interactive prompt.")
(home-page "https://github.com/nahi/httpclient")
(license license:ruby)))
(define-public ruby-ansi
(package
(name "ruby-ansi")
@ -4257,3 +4451,24 @@ really opens up the email messages you are parsing, if you know what you
are doing, you can fiddle with every last bit of your email directly.")
(home-page "https://github.com/mikel/mail")
(license license:expat)))
(define-public ruby-code-statistics
(package
(name "ruby-code-statistics")
(version "0.2.13")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "code_statistics" version))
(sha256
(base32
"07rdpsbwbmh4vp8nxyh308cj7am2pbrfhv9v5xr2d5gq8hnnsm93"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f)) ; Not all test code is included in gem.
(synopsis "Port of the rails 'rake stats' method")
(description
"This gem is a port of the rails 'rake stats' method so it can be made
more robust and work for non rails projects.")
(home-page "http://github.com/danmayer/code_statistics")
(license license:expat)))

View File

@ -128,14 +128,14 @@ a server that supports the SSH-2 protocol.")
(define-public openssh
(package
(name "openssh")
(version "7.5p1")
(version "7.6p1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://openbsd/OpenSSH/portable/"
name "-" version ".tar.gz"))
(sha256
(base32
"1w7rb5gbrikxdkp8w7zxnci4549gk4bw1lml01s59w5rzb2y6ilq"))))
"08qpsb8mrzcx8wgvz9insiyvq7sbg26yj5nvl2m5n57yvppcl8x3"))))
(build-system gnu-build-system)
(native-inputs `(("groff" ,groff)))
(inputs `(("openssl" ,openssl)

View File

@ -106,7 +106,7 @@ be output in text, PostScript, PDF or HTML.")
(define-public r-minimal
(package
(name "r-minimal")
(version "3.4.1")
(version "3.4.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cran/src/base/R-"
@ -114,7 +114,7 @@ be output in text, PostScript, PDF or HTML.")
version ".tar.gz"))
(sha256
(base32
"0y7wlfk3cn1dxn2mpnxwvsk31s0599crbsyah8srm5pa2mfi7c82"))))
"0r0cv2kc3x5z9xycpnxx6fbvv22psw2m342jhpslbxkc8g1307lp"))))
(build-system gnu-build-system)
(arguments
`(#:disallowed-references (,tzdata-2017a)
@ -1993,14 +1993,14 @@ limited to R.")
(define-public r-backports
(package
(name "r-backports")
(version "1.1.0")
(version "1.1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "backports" version))
(sha256
(base32
"1kcz6j82by28cjk5wi2j6dfqdin1kib4y7d2r4h3zabcxmk6jly5"))))
"15w8psmv203wzijrk4hvwaw3i4byh2m5s09yrkqwhfckhaj82kj9"))))
(build-system r-build-system)
(home-page "http://cran.r-project.org/web/packages/backports")
(synopsis "Reimplementations of functions introduced since R 3.0.0")
@ -2016,14 +2016,14 @@ R version.")
(define-public r-checkmate
(package
(name "r-checkmate")
(version "1.8.3")
(version "1.8.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "checkmate" version))
(sha256
(base32
"04rxabzamhv6ybynx627sxk02qvq8znkv0y10vmq67xx6pxhqvla"))))
"1xpq73myr39i33mwihvy494sam77hb3z15yr172a31d8wn1qi53g"))))
(build-system r-build-system)
(propagated-inputs
`(("r-backports" ,r-backports)))
@ -2966,14 +2966,14 @@ parallel.")
(define-public r-doparallel
(package
(name "r-doparallel")
(version "1.0.10")
(version "1.0.11")
(source
(origin
(method url-fetch)
(uri (cran-uri "doParallel" version))
(sha256
(base32
"1mddx25l25pw9d0csnx2q203dbg5hbrhkr1f08kw0p02a1lln0kh"))))
"0sppgxk3d8mfsrb3cjdyn0mv0s4i7pcy8g8c3cjzbr6k8vmx5jsc"))))
(properties `((upstream-name . "doParallel")))
(build-system r-build-system)
(propagated-inputs
@ -5061,14 +5061,14 @@ algorithms.")
(define-public r-lme4
(package
(name "r-lme4")
(version "1.1-13")
(version "1.1-14")
(source
(origin
(method url-fetch)
(uri (cran-uri "lme4" version))
(sha256
(base32
"13j4a721rx0272pdxrz6nabjv56xb6srklq5w4z1abc82lyvda2z"))))
"1vars93604q7kyz6y1f8f886l05jkgj8bs78033l2czypvzki5la"))))
(build-system r-build-system)
(native-inputs
`(("r-rcpp" ,r-rcpp)

View File

@ -308,9 +308,10 @@ modules for Tk, all written in high-level Tcl. Examples of provided widgets:
(build-system gnu-build-system)
(native-inputs
`(("tcl" ,tcl)
("tcllib" ,tcllib)
("libxml2" ,libxml2)
("libxslt" ,libxslt)))
(propagated-inputs
`(("tcllib" ,tcllib))) ; uri
(native-search-paths
(list (search-path-specification
(variable "TCLLIBPATH")

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Mckinley Olsen <mck.olsen@gmail.com>
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 David Craven <david@craven.ch>
@ -28,6 +28,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module (guix git-download)
@ -63,7 +64,7 @@
(sha256
(base32
"1cc4qbg1m3i04lj5p6i6xbd0zvy1320pxdgmjhz5p3j95ibsbfki"))))
(build-system gnu-build-system)
(build-system glib-or-gtk-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-before 'patch-source-shebangs 'autogen
@ -77,9 +78,7 @@
("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib "bin")
("gtk+" ,gtk+)
("libconfuse" ,libconfuse)
`(("libconfuse" ,libconfuse)
("vte" ,vte)))
(synopsis "GTK+-based drop-down terminal")
(description "Tilda is a terminal emulator similar to normal terminals like

View File

@ -6,7 +6,7 @@
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
@ -37,6 +37,7 @@
#:use-module (guix build-system cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages)
#:use-module (gnu packages dns)
#:use-module (gnu packages guile)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages libffi)
@ -112,7 +113,7 @@ in intelligent transportation networks.")
(define-public p11-kit
(package
(name "p11-kit")
(version "0.23.8")
(version "0.23.9")
(source
(origin
(method url-fetch)
@ -120,7 +121,7 @@ in intelligent transportation networks.")
"download/" version "/p11-kit-" version ".tar.gz"))
(sha256
(base32
"0gqk1d09yyin75lvlywpbf3kxlnrcwbq8ridgapvqqjbzvjk98ab"))))
"0qyvnkb5hfi94wv3bn67y20hcbbvynvjwxpk7k9sh1si6ff69hg1"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -229,6 +230,17 @@ required structures.")
(inputs `(("guile" ,guile-2.0)
,@(alist-delete "guile" (package-inputs gnutls))))))
(define-public gnutls/dane
;; GnuTLS with build libgnutls-dane, implementing DNS-based
;; Authentication of Named Entities. This is required for GNS functionality
;; by GNUnet and gnURL. This is done in an extra package definition
;; to have the choice between GnuTLS with Dane and without Dane.
(package
(inherit gnutls)
(name "gnutls-dane")
(inputs `(("unbound" ,unbound)
,@(package-inputs gnutls)))))
(define-public openssl
(package
(name "openssl")

View File

@ -44,14 +44,14 @@
(define-public tor
(package
(name "tor")
(version "0.3.0.11")
(version "0.3.1.7")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.torproject.org/tor-"
version ".tar.gz"))
(sha256
(base32
"1hjhxkkrx04ydiddhwb3z2xb0vkcwmn1x8jsdcp6kd6i1qa0fp1a"))))
"13y0v4zfla0vziy9kkahmhrwylv32ianjikcr46mwbxvji4dvx8x"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--enable-gcc-hardening"

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
;;;
;;; This file is part of GNU Guix.
;;;

View File

@ -1115,7 +1115,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl
(package
(name "youtube-dl")
(version "2017.09.24")
(version "2017.10.01")
(source (origin
(method url-fetch)
(uri (string-append "https://yt-dl.org/downloads/"
@ -1123,7 +1123,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz"))
(sha256
(base32
"0j2m75j0d1n83i7jzpkcj7ir0bkskj024j9b0yi88zipcg740wbx"))))
"047zinsczn6c96fzkarlb29y7sjwyh84nxlpfpa6mi4rn090wkqb"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion

View File

@ -72,16 +72,14 @@
(define-public qemu
(package
(name "qemu")
(version "2.10.0")
(version "2.10.1")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qemu.org/qemu-"
version ".tar.xz"))
(patches (search-patches "qemu-CVE-2017-13711.patch"
"qemu-CVE-2017-14167.patch"))
(sha256
(base32
"0dgk7zcni41nf1jp84y0m6dk2nb4frnh571m8hkiv0m4hz4imn2m"))))
"1ahwl7r18iw2ds0q3c51nlivqsan9hcgnc8bbf9pv366iy81mm8x"))))
(build-system gnu-build-system)
(arguments
'(;; Running tests in parallel can occasionally lead to failures, like:

View File

@ -153,7 +153,7 @@ and probably others.")
(define-public openvpn
(package
(name "openvpn")
(version "2.4.3")
(version "2.4.4")
(source (origin
(method url-fetch)
(uri (string-append
@ -161,14 +161,15 @@ and probably others.")
version ".tar.xz"))
(sha256
(base32
"1yrnvvnap2ghqas10l8jfg3njx57b8swh3n9wyp556qqgz4mzq8m"))))
"102an395nv8l7qfx3syydzhmd9xfbycd6gvwy0h2kjz8w67ipkcn"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-iproute2=yes")))
(native-inputs
`(("iproute2" ,iproute)))
(inputs
`(("lzo" ,lzo)
`(("lz4" ,lz4)
("lzo" ,lzo)
("openssl" ,openssl)
("linux-pam" ,linux-pam)))
(home-page "https://openvpn.net/")

View File

@ -13,7 +13,7 @@
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>
;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
@ -5235,3 +5235,35 @@ file links.")
;; https://github.com/wummel/linkchecker/issues/729
l:isc ; third_party/dnspython
l:asl2.0)))) ; third_party/miniboa
(define-public cadaver
(package
(name "cadaver")
(version "0.23.3")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.webdav.org/cadaver/"
name "-" version ".tar.gz"))
(sha256
(base32
"1jizq69ifrjbjvz5y79wh1ny94gsdby4gdxwjad4bfih6a5fck7x"))))
(build-system gnu-build-system)
;; TODO: Unbundle libneon and make build succeed with new neon.
(arguments
`(#:configure-flags (list "--with-ssl=openssl")
#:tests? #f)) ;No tests included
(native-inputs
`(("gettext" ,gnu-gettext)
("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("expat" ,expat)
("openssl" ,openssl)))
(home-page "http://www.webdav.org/cadaver")
(synopsis "Command-line WebDAV client")
(description
"Cadaver is a command-line WebDAV client for Unix. It supports
file upload, download, on-screen display, namespace operations (move/copy),
collection creation and deletion, and locking operations.")
(license l:gpl2)))

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>

View File

@ -573,6 +573,41 @@ xedit, for example. The human factors crowd would agree it should make
things less distracting.")
(license license:public-domain)))
(define-public xautomation
(package
(name "xautomation")
(version "1.09")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.hoopajoo.net/static/projects/"
"xautomation-" version ".tar.gz"))
(sha256
(base32
"03azv5wpg65h40ip2kk1kdh58vix4vy1r9bihgsq59jx2rhjr3zf"))))
(build-system gnu-build-system)
(inputs
`(("libpng" ,libpng)
("libx11" ,libx11)
("libxi" ,libxi)
("libxtst" ,libxtst)))
(native-inputs
`(("inputproto" ,inputproto)
("xextproto" ,xextproto)
("xproto" ,xproto)))
(synopsis "Tools to automate tasks in X such as detecting on screen images")
(description
"Xautomation can control X from the command line for scripts, and
do visual scraping to find things on the screen. The control interface
allows mouse movement, clicking, button up/down, key up/down, etc, and
uses the XTest extension so you don't have the annoying problems that
xse has when apps ignore sent events. The visgrep program can find
images inside of images and reports the coordinates, allowing progams
to find buttons, etc, on the screen to click on.")
(home-page "https://www.hoopajoo.net/projects/xautomation.html")
(license license:gpl2+)))
(define-public xlockmore
(package
(name "xlockmore")

View File

@ -5066,7 +5066,7 @@ over Xlib, including:
(define-public xorg-server
(package
(name "xorg-server")
(version "1.19.3")
(version "1.19.4")
(source
(origin
(method url-fetch)
@ -5075,9 +5075,9 @@ over Xlib, including:
name "-" version ".tar.bz2"))
(sha256
(base32
"162s1v901djr57gxmmk4airk8hiwcz79dqyz72972x1lw1k82yk7"))
"1a690fzv5l5ks45g9zhlzdskdq8q73mcbpb9a3wz3shxm778lxda"))
(patches
(cons
(list
;; See:
;; https://lists.fedoraproject.org/archives/list/devel@lists.
;; fedoraproject.org/message/JU655YB7AM4OOEQ4MOMCRHJTYJ76VFOK/
@ -5089,9 +5089,7 @@ over Xlib, including:
(sha256
(base32
"0mm70y058r8s9y9jiv7q2myv0ycnaw3iqzm7d274410s0ik38w7q"))
(file-name "xorg-server-use-intel-only-on-pre-gen4.diff"))
(search-patches "xorg-server-CVE-2017-10971.patch"
"xorg-server-CVE-2017-10972.patch")))))
(file-name "xorg-server-use-intel-only-on-pre-gen4.diff"))))))
(build-system gnu-build-system)
(propagated-inputs
`(("dri2proto" ,dri2proto)

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -21,18 +22,40 @@
#:use-module (gnu services)
#:use-module (gnu services base)
#:use-module (gnu services shepherd)
#:use-module (gnu services web)
#:use-module (gnu system shadow)
#:use-module (gnu packages version-control)
#:use-module (gnu packages admin)
#:use-module (guix records)
#:use-module (guix gexp)
#:use-module (guix store)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:export (git-daemon-service
git-daemon-service-type
git-daemon-configuration
git-daemon-configuration?))
git-daemon-configuration?
<cgit-configuration-file>
cgit-configuration-file
cgit-configuration-file?
cgit-configuration-file-css
cgit-configuration-file-logo
cgit-configuration-file-robots
cgit-configuration-file-virtual-root
cgit-configuration-file-repository-directory
<cgit-configuration>
cgit-configuration
cgit-configuration?
cgit-configuration-config-file
cgit-configuration-package
%cgit-configuration-nginx
cgit-configuration-nginx-config
cgit-service-type))
;;; Commentary:
;;;
@ -139,3 +162,97 @@ The optional @var{config} argument should be a
@code{<git-daemon-configuration>} object, by default it allows read-only
access to exported repositories under @file{/srv/git}."
(service git-daemon-service-type config))
;;;
;;; Cgit
;;;
(define-record-type* <cgit-configuration-file>
cgit-configuration-file
make-cgit-configuration-file
cgit-configuration-file?
(css cgit-configuration-file-css ; string
(default "/share/cgit/cgit.css"))
(logo cgit-configuration-file-logo ; string
(default "/share/cgit/cgit.png"))
(robots cgit-configuration-file-robots ; list
(default '("noindex" "nofollow")))
(virtual-root cgit-configuration-file-virtual-root ; string
(default "/"))
(repository-directory cgit-configuration-file-repository-directory ; string
(default "/srv/git")))
(define (cgit-configuration-robots-string robots)
(string-join robots ", "))
(define-gexp-compiler (cgit-configuration-file-compiler
(file <cgit-configuration-file>) system target)
(match file
(($ <cgit-configuration-file> css logo
robots virtual-root repository-directory)
(apply text-file* "cgitrc"
(letrec-syntax ((option (syntax-rules ()
((_ key value)
(if value
`(,key "=" ,value "\n")
'()))))
(key/value (syntax-rules ()
((_ (key value) rest ...)
(append (option key value)
(key/value rest ...)))
((_)
'()))))
(key/value ("css" css)
("logo" logo)
("robots" (cgit-configuration-robots-string robots))
("virtual-root" virtual-root)
("scan-path" repository-directory)))))))
(define %cgit-configuration-nginx
(list
(nginx-server-configuration
(root cgit)
(locations
(list
(nginx-location-configuration
(uri "@cgit")
(body '("fastcgi_param SCRIPT_FILENAME $document_root/lib/cgit/cgit.cgi;"
"fastcgi_param PATH_INFO $uri;"
"fastcgi_param QUERY_STRING $args;"
"fastcgi_param HTTP_HOST $server_name;"
"fastcgi_pass 127.0.0.1:9000;")))))
(try-files (list "$uri" "@cgit"))
(https-port #f)
(ssl-certificate #f)
(ssl-certificate-key #f))))
(define-record-type* <cgit-configuration>
cgit-configuration make-cgit-configuration
cgit-configuration?
(config-file cgit-configuration-config-file
(default (cgit-configuration-file)))
(package cgit-configuration-package
(default cgit))
(nginx cgit-configuration-nginx
(default %cgit-configuration-nginx)))
(define (cgit-activation config)
;; Cgit compiled with default configuration path
#~(begin
(use-modules (guix build utils))
(mkdir-p "/var/cache/cgit")
(copy-file #$(cgit-configuration-config-file config) "/etc/cgitrc")))
(define (cgit-configuration-nginx-config config)
(cgit-configuration-nginx config))
(define cgit-service-type
(service-type
(name 'cgit)
(extensions
(list (service-extension activation-service-type
cgit-activation)
(service-extension nginx-service-type
cgit-configuration-nginx-config)))
(default-value (cgit-configuration))))

View File

@ -99,6 +99,8 @@
(default '()))
(index nginx-server-configuration-index
(default (list "index.html")))
(try-files nginx-server-configuration-try-files
(default '()))
(ssl-certificate nginx-server-configuration-ssl-certificate
(default "/etc/nginx/cert.pem"))
(ssl-certificate-key nginx-server-configuration-ssl-certificate-key
@ -179,6 +181,7 @@ of index files."
(nginx-server-configuration-ssl-certificate-key server))
(root (nginx-server-configuration-root server))
(index (nginx-server-configuration-index server))
(try-files (nginx-server-configuration-try-files server))
(server-tokens? (nginx-server-configuration-server-tokens? server))
(locations (nginx-server-configuration-locations server)))
(define-syntax-parameter <> (syntax-rules ()))
@ -207,6 +210,9 @@ of index files."
(and/l ssl-certificate-key " ssl_certificate_key " <> ";\n")
" root " root ";\n"
" index " (config-index-strings index) ";\n"
(if (not (nil? try-files))
(and/l (config-index-strings try-files) " try_files " <> ";\n")
"")
" server_tokens " (if server-tokens? "on" "off") ";\n"
"\n"
(map emit-nginx-location-config locations)

View File

@ -304,9 +304,12 @@ the image."
#:register-closures? #$register-closures?
#:system-directory #$os-drv))
(root-size #$(if (eq? 'guess disk-image-size)
#~(estimated-partition-size
(map (cut string-append "/xchg/" <>)
graphs))
#~(max
;; Minimum 20 MiB root size
(* 20 (expt 2 20))
(estimated-partition-size
(map (cut string-append "/xchg/" <>)
graphs)))
(- disk-image-size
(* 50 (expt 2 20)))))
(partitions (list (partition
@ -706,6 +709,8 @@ it is mostly useful when FULL-BOOT? is true."
(default #f))
(memory-size virtual-machine-memory-size ;integer (MiB)
(default 256))
(disk-image-size virtual-machine-disk-image-size ;integer (bytes)
(default 'guess))
(port-forwardings virtual-machine-port-forwardings ;list of integer pairs
(default '())))
@ -734,12 +739,15 @@ FORWARDINGS is a list of host-port/guest-port pairs."
system target)
;; XXX: SYSTEM and TARGET are ignored.
(match vm
(($ <virtual-machine> os qemu graphic? memory-size ())
(($ <virtual-machine> os qemu graphic? memory-size disk-image-size ())
(system-qemu-image/shared-store-script os
#:qemu qemu
#:graphic? graphic?
#:memory-size memory-size))
(($ <virtual-machine> os qemu graphic? memory-size forwardings)
#:memory-size memory-size
#:disk-image-size
disk-image-size))
(($ <virtual-machine> os qemu graphic? memory-size disk-image-size
forwardings)
(let ((options
`("-net" ,(string-append
"user,"
@ -748,6 +756,8 @@ FORWARDINGS is a list of host-port/guest-port pairs."
#:qemu qemu
#:graphic? graphic?
#:memory-size memory-size
#:disk-image-size
disk-image-size
#:options options)))))
;;; vm.scm ends here

View File

@ -0,0 +1,176 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu tests version-control)
#:use-module (gnu tests)
#:use-module (gnu system)
#:use-module (gnu system file-systems)
#:use-module (gnu system shadow)
#:use-module (gnu system vm)
#:use-module (gnu services)
#:use-module (gnu services version-control)
#:use-module (gnu services web)
#:use-module (gnu services networking)
#:use-module (gnu packages version-control)
#:use-module (guix gexp)
#:use-module (guix store)
#:export (%test-cgit))
(define %make-git-repository
;; Create Git repository in /srv/git/test.
#~(begin
(mkdir-p "/srv/git/test")
(system* (string-append #$git "/bin/git") "-C" "/srv/git/test"
"init" "--bare")))
(define %cgit-configuration-nginx
(list
(nginx-server-configuration
(root cgit)
(locations
(list
(nginx-location-configuration
(uri "@cgit")
(body '("fastcgi_param SCRIPT_FILENAME $document_root/lib/cgit/cgit.cgi;"
"fastcgi_param PATH_INFO $uri;"
"fastcgi_param QUERY_STRING $args;"
"fastcgi_param HTTP_HOST $server_name;"
"fastcgi_pass 127.0.0.1:9000;")))))
(try-files (list "$uri" "@cgit"))
(http-port 19418)
(https-port #f)
(ssl-certificate #f)
(ssl-certificate-key #f))))
(define %cgit-os
;; Operating system under test.
(let ((base-os
(simple-operating-system
(dhcp-client-service)
(service nginx-service-type)
(service fcgiwrap-service-type)
(service cgit-service-type
(cgit-configuration
(nginx %cgit-configuration-nginx)))
(simple-service 'make-git-repository activation-service-type
%make-git-repository))))
(operating-system
(inherit base-os)
(packages (cons* git
(operating-system-packages base-os))))))
(define* (run-cgit-test #:optional (http-port 19418))
"Run tests in %CGIT-OS, which has nginx running and listening on
HTTP-PORT."
(define os
(marionette-operating-system
%cgit-os
#:imported-modules '((gnu services herd)
(guix combinators))))
(define vm
(virtual-machine
(operating-system os)
(port-forwardings `((8080 . ,http-port)))))
(define test
(with-imported-modules '((gnu build marionette))
#~(begin
(use-modules (srfi srfi-11) (srfi srfi-64)
(gnu build marionette)
(web uri)
(web client)
(web response))
(define marionette
(make-marionette (list #$vm)))
(mkdir #$output)
(chdir #$output)
(test-begin "cgit")
;; Wait for nginx to be up and running.
(test-eq "service running"
'running!
(marionette-eval
'(begin
(use-modules (gnu services herd))
(start-service 'nginx)
'running!)
marionette))
;; Wait for fcgiwrap to be up and running.
(test-eq "service running"
'running!
(marionette-eval
'(begin
(use-modules (gnu services herd))
(start-service 'fcgiwrap)
'running!)
marionette))
;; Make sure the PID file is created.
(test-assert "PID file"
(marionette-eval
'(file-exists? "/var/run/nginx/pid")
marionette))
;; Make sure the configuration file is created.
(test-assert "configuration file"
(marionette-eval
'(file-exists? "/etc/cgitrc")
marionette))
;; Make sure Git test repository is created.
(test-assert "Git test repository"
(marionette-eval
'(file-exists? "/srv/git/test")
marionette))
;; Make sure we can access pages that correspond to our repository.
(letrec-syntax ((test-url
(syntax-rules ()
((_ path code)
(test-equal (string-append "GET " path)
code
(let-values (((response body)
(http-get (string-append
"http://localhost:8080"
path))))
(response-code response))))
((_ path)
(test-url path 200)))))
(test-url "/")
(test-url "/test")
(test-url "/test/log")
(test-url "/test/tree")
(test-url "/test/does-not-exist" 404)
(test-url "/does-not-exist" 404))
(test-end)
(exit (= (test-runner-fail-count (test-runner-current)) 0)))))
(gexp->derivation "cgit-test" test))
(define %test-cgit
(system-test
(name "cgit")
(description "Connect to a running Cgit server.")
(value (run-cgit-test))))

View File

@ -99,6 +99,9 @@
(make-flags ''())
(build-target "jar")
(jar-name #f)
(main-class #f)
(test-include (list "**/*Test.java"))
(test-exclude (list "**/Abstract*.java"))
(source-dir "src")
(test-dir "src/test")
(phases '(@ (guix build ant-build-system)
@ -130,6 +133,9 @@
#:test-target ,test-target
#:build-target ,build-target
#:jar-name ,jar-name
#:main-class ,main-class
#:test-include (list ,@test-include)
#:test-exclude (list ,@test-exclude)
#:source-dir ,source-dir
#:test-dir ,test-dir
#:phases ,phases

View File

@ -36,7 +36,9 @@
;; Code:
(define* (default-build.xml jar-name prefix #:optional
(source-dir ".") (test-dir "./test"))
(source-dir ".") (test-dir "./test") (main-class #f)
(test-include '("**/*Test.java"))
(test-exclude '("**/Abstract*Test.java")))
"Create a simple build.xml with standard targets for Ant."
(call-with-output-file "build.xml"
(lambda (port)
@ -44,6 +46,10 @@
`(project (@ (basedir "."))
(property (@ (name "classes.dir")
(value "${basedir}/build/classes")))
(property (@ (name "manifest.dir")
(value "${basedir}/build/manifest")))
(property (@ (name "manifest.file")
(value "${manifest.dir}/MANIFEST.MF")))
(property (@ (name "jar.dir")
(value "${basedir}/build/jar")))
(property (@ (name "dist.dir")
@ -60,6 +66,17 @@
(path (@ (id "classpath"))
(pathelement (@ (location "${env.CLASSPATH}"))))
(target (@ (name "manifest"))
(mkdir (@ (dir "${manifest.dir}")))
(echo (@ (file "${manifest.file}")
(message ,(string-append
(if main-class
(string-append
"Main-Class: " main-class
"${line.separator}")
"")
"")))))
(target (@ (name "compile"))
(mkdir (@ (dir "${classes.dir}")))
(javac (@ (includeantruntime "false")
@ -94,13 +111,19 @@
(batchtest (@ (fork "yes")
(todir "${test.home}/test-reports"))
(fileset (@ (dir "${test.home}/java"))
(include (@ (name "**/*Test.java" )))))))
,@(map (lambda (file)
`(include (@ (name ,file))))
test-include)
,@(map (lambda (file)
`(exclude (@ (name ,file))))
test-exclude)))))
(target (@ (name "jar")
(depends "compile"))
(depends "compile, manifest"))
(mkdir (@ (dir "${jar.dir}")))
(exec (@ (executable "jar"))
(arg (@ (line ,(string-append "-cf ${jar.dir}/" jar-name
(arg (@ (line ,(string-append "-cmf ${manifest.file} "
"${jar.dir}/" jar-name
" -C ${classes.dir} ."))))))
(target (@ (name "install"))
@ -133,12 +156,15 @@ to the default GNU unpack strategy."
(define* (configure #:key inputs outputs (jar-name #f)
(source-dir "src")
(test-dir "src/test") #:allow-other-keys)
(test-dir "src/test")
(main-class #f)
(test-include '("**/*Test.java"))
(test-exclude '("**/Abstract*.java")) #:allow-other-keys)
(when jar-name
(default-build.xml jar-name
(string-append (assoc-ref outputs "out")
"/share/java")
source-dir test-dir))
source-dir test-dir main-class test-include test-exclude))
(setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
(setenv "CLASSPATH" (generate-classpath inputs)))

164
guix/import/print.scm Normal file
View File

@ -0,0 +1,164 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix import print)
#:use-module (guix base32)
#:use-module (guix utils)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix search-paths)
#:use-module (guix build-system)
#:use-module (gnu packages)
#:use-module (srfi srfi-1)
#:use-module (guix import utils)
#:use-module (ice-9 control)
#:use-module (ice-9 match)
#:export (package->code))
;; FIXME: the quasiquoted arguments field may contain embedded package
;; objects, e.g. in #:disallowed-references; they will just be printed with
;; their usual #<package ...> representation, not as variable names.
(define (package->code package)
"Return an S-expression representing the source code that produces PACKAGE
when evaluated."
;; The module in which the package PKG is defined
(define (package-module-name pkg)
(map string->symbol
(string-split (string-drop-right
(location-file (package-location pkg)) 4)
#\/)))
;; Return the first candidate variable name that is bound to VAL.
(define (variable-name val mod)
(match (let/ec return
(module-for-each (lambda (sym var)
(if (eq? val (variable-ref var))
(return sym)
#f))
(resolve-interface mod)))
((? symbol? sym) sym)
(_ #f)))
;; Print either license variable name or the code for a license object
(define (license->code lic)
(let ((var (variable-name lic '(guix licenses))))
(or var
`(license
(name ,(license-name lic))
(uri ,(license-uri lic))
(comment ,(license-comment lic))))))
(define (search-path-specification->code spec)
`(search-path-specification
(variable ,(search-path-specification-variable spec))
(files (list ,@(search-path-specification-files spec)))
(separator ,(search-path-specification-separator spec))
(file-type (quote ,(search-path-specification-file-type spec)))
(file-pattern ,(search-path-specification-file-pattern spec))))
(define (source->code source version)
(let ((uri (origin-uri source))
(method (origin-method source))
(sha256 (origin-sha256 source))
(file-name (origin-file-name source))
(patches (origin-patches source)))
`(origin
(method ,(procedure-name method))
(uri (string-append ,@(factorize-uri uri version)))
(sha256
(base32
,(format #f "~a" (bytevector->nix-base32-string sha256))))
;; FIXME: in order to be able to throw away the directory prefix,
;; we just assume that the patch files can be found with
;; "search-patches".
,@(if (null? patches) '()
`((patches (search-patches ,@(map basename patches))))))))
(define (package-lists->code lsts)
(list 'quasiquote
(map (match-lambda
((label pkg . out)
(let ((mod (package-module-name pkg)))
(list label
;; FIXME: using '@ certainly isn't pretty, but it
;; avoids having to import the individual package
;; modules.
(list 'unquote
(list '@ mod (variable-name pkg mod)))))))
lsts)))
(let ((name (package-name package))
(version (package-version package))
(source (package-source package))
(build-system (package-build-system package))
(arguments (package-arguments package))
(inputs (package-inputs package))
(propagated-inputs (package-propagated-inputs package))
(native-inputs (package-native-inputs package))
(outputs (package-outputs package))
(native-search-paths (package-native-search-paths package))
(search-paths (package-search-paths package))
(replacement (package-replacement package))
(synopsis (package-synopsis package))
(description (package-description package))
(license (package-license package))
(home-page (package-home-page package))
(supported-systems (package-supported-systems package))
(properties (package-properties package)))
`(package
(name ,name)
(version ,version)
(source ,(source->code source version))
,@(match properties
(() '())
(_ `((properties ,properties))))
,@(if replacement
`((replacement ,replacement))
'())
(build-system ,(symbol-append (build-system-name build-system)
'-build-system))
,@(match arguments
(() '())
(args `((arguments ,(list 'quasiquote args)))))
,@(match outputs
(("out") '())
(outs `((outputs (list ,@outs)))))
,@(match native-inputs
(() '())
(pkgs `((native-inputs ,(package-lists->code pkgs)))))
,@(match inputs
(() '())
(pkgs `((inputs ,(package-lists->code pkgs)))))
,@(match propagated-inputs
(() '())
(pkgs `((propagated-inputs ,(package-lists->code pkgs)))))
,@(if (lset= string=? supported-systems %supported-systems)
'()
`((supported-systems (list ,@supported-systems))))
,@(match (map search-path-specification->code native-search-paths)
(() '())
(paths `((native-search-paths (list ,@paths)))))
,@(match (map search-path-specification->code search-paths)
(() '())
(paths `((search-paths (list ,@paths)))))
(home-page ,home-page)
(synopsis ,synopsis)
(description ,description)
(license ,(if (list? license)
`(list ,@(map license->code license))
(license->code license))))))

View File

@ -2,6 +2,7 @@
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -25,9 +26,17 @@
#:use-module (guix http-client)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix discovery)
#:use-module (guix build-system)
#:use-module (guix gexp)
#:use-module (guix store)
#:use-module (guix download)
#:use-module (gnu packages)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:export (factorize-uri
hash-table->alist
@ -45,7 +54,9 @@
license->symbol
snake-case
beautify-description))
beautify-description
alist->package))
(define (factorize-uri uri version)
"Factorize URI, a package tarball URI as a string, such that any occurrences
@ -241,3 +252,80 @@ package definition."
(('package ('name (? string? name)) _ ...)
`(define-public ,(string->symbol name)
,guix-package))))
(define (build-system-modules)
(all-modules (map (lambda (entry)
`(,entry . "guix/build-system"))
%load-path)))
(define (lookup-build-system-by-name name)
"Return a <build-system> value for the symbol NAME, representing the name of
the build system."
(fold-module-public-variables (lambda (obj result)
(if (and (build-system? obj)
(eq? name (build-system-name obj)))
obj result))
#f
(build-system-modules)))
(define (specs->package-lists specs)
"Convert each string in the SPECS list to a list of a package label and a
package value."
(map (lambda (spec)
(let-values (((pkg out) (specification->package+output spec)))
(match out
(("out") (list (package-name pkg) pkg))
(_ (list (package-name pkg) pkg out)))))
specs))
(define (source-spec->object source)
"Generate an <origin> object from a SOURCE specification. The SOURCE can
either be a simple URL string, #F, or an alist containing entries for each of
the expected fields of an <origin> object."
(match source
((? string? source-url)
(let ((tarball (with-store store (download-to-store store source-url))))
(origin
(method url-fetch)
(uri source-url)
(sha256 (base32 (guix-hash-url tarball))))))
(#f #f)
(orig (let ((sha (match (assoc-ref orig "sha256")
((("base32" . value))
(base32 value))
(_ #f))))
(origin
(method (match (assoc-ref orig "method")
("url-fetch" (@ (guix download) url-fetch))
("git-fetch" (@ (guix git-download) git-fetch))
("svn-fetch" (@ (guix svn-download) svn-fetch))
("hg-fetch" (@ (guix hg-download) hg-fetch))
(_ #f)))
(uri (assoc-ref orig "uri"))
(sha256 sha))))))
(define (alist->package meta)
(package
(name (assoc-ref meta "name"))
(version (assoc-ref meta "version"))
(source (source-spec->object (assoc-ref meta "source")))
(build-system
(lookup-build-system-by-name
(string->symbol (assoc-ref meta "build-system"))))
(native-inputs
(specs->package-lists (or (assoc-ref meta "native-inputs") '())))
(inputs
(specs->package-lists (or (assoc-ref meta "inputs") '())))
(propagated-inputs
(specs->package-lists (or (assoc-ref meta "propagated-inputs") '())))
(home-page
(assoc-ref meta "home-page"))
(synopsis
(assoc-ref meta "synopsis"))
(description
(assoc-ref meta "description"))
(license
(let ((l (assoc-ref meta "license")))
(or (module-ref (resolve-interface '(guix licenses) #:prefix 'license:)
(spdx-string->license l))
(license:fsdg-compatible l))))))

View File

@ -74,7 +74,7 @@ rather than \\n."
;;;
(define importers '("gnu" "nix" "pypi" "cpan" "hackage" "stackage" "elpa" "gem"
"cran" "crate" "texlive"))
"cran" "crate" "texlive" "json"))
(define (resolve-importer name)
(let ((module (resolve-interface

View File

@ -0,0 +1,102 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix scripts import json)
#:use-module (json)
#:use-module (guix ui)
#:use-module (guix utils)
#:use-module (guix scripts)
#:use-module (guix import utils)
#:use-module (guix import print)
#:use-module (guix scripts import)
#:use-module (guix packages)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9 gnu)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-37)
#:use-module (srfi srfi-41)
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:use-module (ice-9 format)
#:export (guix-import-json))
;;;
;;; Command-line options.
;;;
(define %default-options
'())
(define (show-help)
(display (G_ "Usage: guix import json PACKAGE-FILE
Import and convert the JSON package definition in PACKAGE-FILE.\n"))
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
-V, --version display version information and exit"))
(newline)
(show-bug-report-information))
(define %options
;; Specification of the command-line options.
(cons* (option '(#\h "help") #f #f
(lambda args
(show-help)
(exit 0)))
(option '(#\V "version") #f #f
(lambda args
(show-version-and-exit "guix import json")))
%standard-import-options))
;;;
;;; Entry point.
;;;
(define (guix-import-json . args)
(define (parse-options)
;; Return the alist of option values.
(args-fold* args %options
(lambda (opt name arg result)
(leave (G_ "~A: unrecognized option~%") name))
(lambda (arg result)
(alist-cons 'argument arg result))
%default-options))
(let* ((opts (parse-options))
(args (filter-map (match-lambda
(('argument . value)
value)
(_ #f))
(reverse opts))))
(match args
((file-name)
(catch 'json-invalid
(lambda ()
(let ((json (json-string->scm
(with-input-from-file file-name read-string))))
;; TODO: also print define-module boilerplate
(package->code (alist->package (hash-table->alist json)))))
(lambda _
(leave (G_ "invalid JSON in file '~a'~%") file-name))))
(()
(leave (G_ "too few arguments~%")))
((many ...)
(leave (G_ "too many arguments~%"))))))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -21,6 +21,8 @@
#:use-module (guix tests)
#:use-module (guix import utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix build-system)
#:use-module (srfi srfi-64))
(test-begin "import-utils")
@ -38,4 +40,40 @@
'license:lgpl2.0
(license->symbol license:lgpl2.0))
(test-assert "alist->package with simple source"
(let* ((meta '(("name" . "hello")
("version" . "2.10")
("source" . "mirror://gnu/hello/hello-2.10.tar.gz")
("build-system" . "gnu")
("home-page" . "https://gnu.org")
("synopsis" . "Say hi")
("description" . "This package says hi.")
("license" . "GPL-3.0+")))
(pkg (alist->package meta)))
(and (package? pkg)
(license:license? (package-license pkg))
(build-system? (package-build-system pkg))
(origin? (package-source pkg)))))
(test-assert "alist->package with explicit source"
(let* ((meta '(("name" . "hello")
("version" . "2.10")
("source" . (("method" . "url-fetch")
("uri" . "mirror://gnu/hello/hello-2.10.tar.gz")
("sha256" .
(("base32" .
"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i")))))
("build-system" . "gnu")
("home-page" . "https://gnu.org")
("synopsis" . "Say hi")
("description" . "This package says hi.")
("license" . "GPL-3.0+")))
(pkg (alist->package meta)))
(and (package? pkg)
(license:license? (package-license pkg))
(build-system? (package-build-system pkg))
(origin? (package-source pkg))
(equal? (origin-sha256 (package-source pkg))
(base32 "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i")))))
(test-end "import-utils")

64
tests/print.scm Normal file
View File

@ -0,0 +1,64 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (test-print)
#:use-module (guix import print)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (srfi srfi-64))
(test-begin "print")
(define pkg
(package
(name "test")
(version "1.2.3")
(source (origin
(method url-fetch)
(uri (string-append "file:///tmp/test-"
version ".tar.gz"))
(sha256
(base32
"070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah"))))
(build-system gnu-build-system)
(home-page "http://gnu.org")
(synopsis "Dummy")
(description "This is a dummy package.")
(license gpl3+)))
(test-equal "simple package"
(package->code pkg)
'(package
(name "test")
(version "1.2.3")
(source (origin
(method url-fetch)
(uri (string-append "file:///tmp/test-"
version ".tar.gz"))
(sha256
(base32
"070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah"))))
(build-system gnu-build-system)
(home-page "http://gnu.org")
(synopsis "Dummy")
(description "This is a dummy package.")
(license gpl3+)))
(test-end "print")