Merge branch 'master' into staging
This commit is contained in:
commit
7716ccd59c
1
.mailmap
1
.mailmap
@ -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>
|
||||
|
13
Makefile.am
13
Makefile.am
@ -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
|
||||
|
47
build-aux/cuirass/gnu-system.scm
Normal file
47
build-aux/cuirass/gnu-system.scm
Normal 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)))
|
@ -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)))
|
||||
|
||||
|
@ -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)))
|
||||
|
155
doc/guix.texi
155
doc/guix.texi
@ -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
|
||||
|
11
gnu/local.mk
11
gnu/local.mk
@ -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 \
|
||||
|
@ -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))))
|
||||
|
@ -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")
|
||||
|
@ -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.
|
||||
|
@ -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"))))
|
||||
|
@ -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")
|
||||
|
@ -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")
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
;;;
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)))
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
;;;
|
||||
|
@ -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")
|
||||
|
@ -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
|
||||
|
@ -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)))))
|
||||
|
@ -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
|
||||
|
@ -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)))
|
||||
|
@ -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")
|
||||
|
@ -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.
|
||||
;;;
|
||||
|
@ -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)
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
;;;
|
||||
|
@ -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.
|
||||
;;;
|
||||
|
@ -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
|
||||
|
@ -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)))
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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))
|
||||
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
@ -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)))
|
||||
|
@ -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.
|
||||
;;;
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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")
|
||||
|
43
gnu/packages/patches/clisp-remove-failing-test.patch
Normal file
43
gnu/packages/patches/clisp-remove-failing-test.patch
Normal 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)
|
||||
--
|
||||
|
16
gnu/packages/patches/cube-nocheck.patch
Normal file
16
gnu/packages/patches/cube-nocheck.patch
Normal 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." );
|
||||
|
210
gnu/packages/patches/graphicsmagick-CVE-2017-14649.patch
Normal file
210
gnu/packages/patches/graphicsmagick-CVE-2017-14649.patch
Normal 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;
|
||||
+ }
|
||||
}
|
||||
}
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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={
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
399
gnu/packages/profiling.scm
Normal 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))
|
@ -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)))
|
||||
|
@ -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))
|
||||
|
@ -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)
|
||||
|
@ -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)))
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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")
|
||||
|
@ -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
|
||||
|
@ -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")
|
||||
|
@ -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"
|
||||
|
@ -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.
|
||||
;;;
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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/")
|
||||
|
@ -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)))
|
||||
|
@ -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>
|
||||
|
@ -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")
|
||||
|
@ -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)
|
||||
|
@ -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))))
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
176
gnu/tests/version-control.scm
Normal file
176
gnu/tests/version-control.scm
Normal 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))))
|
@ -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
|
||||
|
@ -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
164
guix/import/print.scm
Normal 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))))))
|
@ -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))))))
|
||||
|
@ -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
|
||||
|
102
guix/scripts/import/json.scm
Normal file
102
guix/scripts/import/json.scm
Normal 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~%"))))))
|
@ -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
64
tests/print.scm
Normal 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")
|
Loading…
Reference in New Issue
Block a user