Merge branch 'master' into core-updates
commit
072e10615f
|
@ -107,6 +107,7 @@ MODULES = \
|
||||||
guix/build/emacs-utils.scm \
|
guix/build/emacs-utils.scm \
|
||||||
guix/build/graft.scm \
|
guix/build/graft.scm \
|
||||||
guix/build/bournish.scm \
|
guix/build/bournish.scm \
|
||||||
|
guix/build/qt-utils.scm \
|
||||||
guix/search-paths.scm \
|
guix/search-paths.scm \
|
||||||
guix/packages.scm \
|
guix/packages.scm \
|
||||||
guix/import/utils.scm \
|
guix/import/utils.scm \
|
||||||
|
|
12
TODO
12
TODO
|
@ -9,13 +9,6 @@ Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||||
are permitted in any medium without royalty provided the copyright
|
are permitted in any medium without royalty provided the copyright
|
||||||
notice and this notice are preserved.
|
notice and this notice are preserved.
|
||||||
|
|
||||||
* Add `guix publish' to publish the store using Guile's web server
|
|
||||||
|
|
||||||
Generate narinfos and nars on the fly, upon HTTP GET requests.
|
|
||||||
Ideally, extend .nix-cache-info to include the server's public key, and also
|
|
||||||
reply to requests for .narinfo.sig.
|
|
||||||
Optionally, use Guile-Avahi to publish the service.
|
|
||||||
|
|
||||||
* MAYBE Add a substituter that uses the GNUnet DHT or [[http://libswift.org][libswift]]
|
* MAYBE Add a substituter that uses the GNUnet DHT or [[http://libswift.org][libswift]]
|
||||||
|
|
||||||
Would be neat if binaries could be pushed to and pulled from the GNUnet DHT or
|
Would be neat if binaries could be pushed to and pulled from the GNUnet DHT or
|
||||||
|
@ -74,11 +67,6 @@ per-package priorities, etc.
|
||||||
Tests that need to download stuff or otherwise take a long time would only be
|
Tests that need to download stuff or otherwise take a long time would only be
|
||||||
run when that is defined.
|
run when that is defined.
|
||||||
|
|
||||||
* add "guix challenge"
|
|
||||||
|
|
||||||
Would download a substitute, and compare its contents against a (hopefully
|
|
||||||
locally-built) copy.
|
|
||||||
|
|
||||||
* guix build utils
|
* guix build utils
|
||||||
** MAYBE Change ‘ld-wrapper’ to add RPATH for libs passed by file name
|
** MAYBE Change ‘ld-wrapper’ to add RPATH for libs passed by file name
|
||||||
|
|
||||||
|
|
|
@ -1718,9 +1718,9 @@ version: 3.3.5
|
||||||
You may also specify the full name of a package to only get details about a
|
You may also specify the full name of a package to only get details about a
|
||||||
specific version of it:
|
specific version of it:
|
||||||
@example
|
@example
|
||||||
$ guix package --show=python-3.3.5 | recsel -p name,version
|
$ guix package --show=python@@3.4 | recsel -p name,version
|
||||||
name: python
|
name: python
|
||||||
version: 3.3.5
|
version: 3.4.3
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
|
||||||
|
@ -2574,6 +2574,45 @@ and operating system, such as @code{"mips64el-linux-gnu"}
|
||||||
Configure and Build System}).
|
Configure and Build System}).
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@cindex package transformations
|
||||||
|
@cindex input rewriting
|
||||||
|
@cindex dependency tree rewriting
|
||||||
|
Packages can be manipulated in arbitrary ways. An example of a useful
|
||||||
|
transformation is @dfn{input rewriting}, whereby the dependency tree of
|
||||||
|
a package is rewritten by replacing specific inputs by others:
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} package-input-rewriting @var{replacements} @
|
||||||
|
[@var{rewrite-name}]
|
||||||
|
Return a procedure that, when passed a package, replaces its direct and
|
||||||
|
indirect dependencies (but not its implicit inputs) according to
|
||||||
|
@var{replacements}. @var{replacements} is a list of package pairs; the
|
||||||
|
first element of each pair is the package to replace, and the second one
|
||||||
|
is the replacement.
|
||||||
|
|
||||||
|
Optionally, @var{rewrite-name} is a one-argument procedure that takes
|
||||||
|
the name of a package and returns its new name after rewrite.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
Consider this example:
|
||||||
|
|
||||||
|
@example
|
||||||
|
(define libressl-instead-of-openssl
|
||||||
|
;; This is a procedure to replace OPENSSL by LIBRESSL,
|
||||||
|
;; recursively.
|
||||||
|
(package-input-rewriting `((,openssl . ,libressl))))
|
||||||
|
|
||||||
|
(define git-with-libressl
|
||||||
|
(libressl-instead-of-openssl git))
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
Here we first define a rewriting procedure that replaces @var{openssl}
|
||||||
|
with @var{libressl}. Then we use it to define a @dfn{variant} of the
|
||||||
|
@var{git} package that uses @var{libressl} instead of @var{openssl}.
|
||||||
|
This is exactly what the @option{--with-input} command-line option does
|
||||||
|
(@pxref{Package Transformation Options, @option{--with-input}}).
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* package Reference :: The package data type.
|
* package Reference :: The package data type.
|
||||||
* origin Reference:: The origin data type.
|
* origin Reference:: The origin data type.
|
||||||
|
@ -4362,7 +4401,8 @@ This is a recursive, deep replacement. So in this example, both
|
||||||
@code{guix} and its dependency @code{guile-json} (which also depends on
|
@code{guix} and its dependency @code{guile-json} (which also depends on
|
||||||
@code{guile}) get rebuilt against @code{guile-next}.
|
@code{guile}) get rebuilt against @code{guile-next}.
|
||||||
|
|
||||||
However, implicit inputs are left unchanged.
|
This is implemented using the @code{package-input-rewriting} Scheme
|
||||||
|
procedure (@pxref{Defining Packages, @code{package-input-rewriting}}).
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node Additional Build Options
|
@node Additional Build Options
|
||||||
|
@ -7952,7 +7992,7 @@ configure networking."
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn {Scheme Procedure} ntp-service [#:ntp @var{ntp}] @
|
@deffn {Scheme Procedure} ntp-service [#:ntp @var{ntp}] @
|
||||||
[#:name-service @var{%ntp-servers}]
|
[#:servers @var{%ntp-servers}]
|
||||||
Return a service that runs the daemon from @var{ntp}, the
|
Return a service that runs the daemon from @var{ntp}, the
|
||||||
@uref{http://www.ntp.org, Network Time Protocol package}. The daemon will
|
@uref{http://www.ntp.org, Network Time Protocol package}. The daemon will
|
||||||
keep the system clock synchronized with that of @var{servers}.
|
keep the system clock synchronized with that of @var{servers}.
|
||||||
|
|
|
@ -42,6 +42,7 @@ GNU_SYSTEM_MODULES = \
|
||||||
%D%/packages/apr.scm \
|
%D%/packages/apr.scm \
|
||||||
%D%/packages/aspell.scm \
|
%D%/packages/aspell.scm \
|
||||||
%D%/packages/assembly.scm \
|
%D%/packages/assembly.scm \
|
||||||
|
%D%/packages/astronomy.scm \
|
||||||
%D%/packages/attr.scm \
|
%D%/packages/attr.scm \
|
||||||
%D%/packages/audacity.scm \
|
%D%/packages/audacity.scm \
|
||||||
%D%/packages/audio.scm \
|
%D%/packages/audio.scm \
|
||||||
|
@ -95,6 +96,7 @@ GNU_SYSTEM_MODULES = \
|
||||||
%D%/packages/dictionaries.scm \
|
%D%/packages/dictionaries.scm \
|
||||||
%D%/packages/dillo.scm \
|
%D%/packages/dillo.scm \
|
||||||
%D%/packages/disk.scm \
|
%D%/packages/disk.scm \
|
||||||
|
%D%/packages/display-managers.scm \
|
||||||
%D%/packages/djvu.scm \
|
%D%/packages/djvu.scm \
|
||||||
%D%/packages/dns.scm \
|
%D%/packages/dns.scm \
|
||||||
%D%/packages/docbook.scm \
|
%D%/packages/docbook.scm \
|
||||||
|
@ -319,7 +321,6 @@ GNU_SYSTEM_MODULES = \
|
||||||
%D%/packages/skarnet.scm \
|
%D%/packages/skarnet.scm \
|
||||||
%D%/packages/skribilo.scm \
|
%D%/packages/skribilo.scm \
|
||||||
%D%/packages/slang.scm \
|
%D%/packages/slang.scm \
|
||||||
%D%/packages/slim.scm \
|
|
||||||
%D%/packages/smalltalk.scm \
|
%D%/packages/smalltalk.scm \
|
||||||
%D%/packages/speech.scm \
|
%D%/packages/speech.scm \
|
||||||
%D%/packages/spice.scm \
|
%D%/packages/spice.scm \
|
||||||
|
@ -347,6 +348,7 @@ GNU_SYSTEM_MODULES = \
|
||||||
%D%/packages/unrtf.scm \
|
%D%/packages/unrtf.scm \
|
||||||
%D%/packages/upnp.scm \
|
%D%/packages/upnp.scm \
|
||||||
%D%/packages/uucp.scm \
|
%D%/packages/uucp.scm \
|
||||||
|
%D%/packages/u-boot.scm \
|
||||||
%D%/packages/valgrind.scm \
|
%D%/packages/valgrind.scm \
|
||||||
%D%/packages/version-control.scm \
|
%D%/packages/version-control.scm \
|
||||||
%D%/packages/video.scm \
|
%D%/packages/video.scm \
|
||||||
|
@ -481,6 +483,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/doc++-include-directives.patch \
|
%D%/packages/patches/doc++-include-directives.patch \
|
||||||
%D%/packages/patches/doc++-segfault-fix.patch \
|
%D%/packages/patches/doc++-segfault-fix.patch \
|
||||||
%D%/packages/patches/doxygen-test.patch \
|
%D%/packages/patches/doxygen-test.patch \
|
||||||
|
%D%/packages/patches/dtc-add-missing-symbols-to-lds.patch \
|
||||||
%D%/packages/patches/duplicity-piped-password.patch \
|
%D%/packages/patches/duplicity-piped-password.patch \
|
||||||
%D%/packages/patches/duplicity-test_selection-tmp.patch \
|
%D%/packages/patches/duplicity-test_selection-tmp.patch \
|
||||||
%D%/packages/patches/elfutils-tests-ptrace.patch \
|
%D%/packages/patches/elfutils-tests-ptrace.patch \
|
||||||
|
@ -510,7 +513,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/fltk-shared-lib-defines.patch \
|
%D%/packages/patches/fltk-shared-lib-defines.patch \
|
||||||
%D%/packages/patches/fltk-xfont-on-demand.patch \
|
%D%/packages/patches/fltk-xfont-on-demand.patch \
|
||||||
%D%/packages/patches/fontforge-svg-modtime.patch \
|
%D%/packages/patches/fontforge-svg-modtime.patch \
|
||||||
%D%/packages/patches/fossil-test-fixes.patch \
|
|
||||||
%D%/packages/patches/freeimage-CVE-2015-0852.patch \
|
%D%/packages/patches/freeimage-CVE-2015-0852.patch \
|
||||||
%D%/packages/patches/gawk-shell.patch \
|
%D%/packages/patches/gawk-shell.patch \
|
||||||
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
|
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
|
||||||
|
@ -575,7 +577,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/icecat-CVE-2016-2824.patch \
|
%D%/packages/patches/icecat-CVE-2016-2824.patch \
|
||||||
%D%/packages/patches/icecat-CVE-2016-2828.patch \
|
%D%/packages/patches/icecat-CVE-2016-2828.patch \
|
||||||
%D%/packages/patches/icecat-CVE-2016-2831.patch \
|
%D%/packages/patches/icecat-CVE-2016-2831.patch \
|
||||||
%D%/packages/patches/icedtea-remove-overrides.patch \
|
|
||||||
%D%/packages/patches/icu4c-CVE-2014-6585.patch \
|
%D%/packages/patches/icu4c-CVE-2014-6585.patch \
|
||||||
%D%/packages/patches/icu4c-CVE-2015-1270.patch \
|
%D%/packages/patches/icu4c-CVE-2015-1270.patch \
|
||||||
%D%/packages/patches/icu4c-CVE-2015-4760.patch \
|
%D%/packages/patches/icu4c-CVE-2015-4760.patch \
|
||||||
|
|
|
@ -1415,7 +1415,7 @@ limits.")
|
||||||
(replace 'check
|
(replace 'check
|
||||||
(lambda _
|
(lambda _
|
||||||
(zero?
|
(zero?
|
||||||
(system* "python" "tests/autojump_utils_test.py"))))
|
(system* "python" "tests/unit/autojump_utils_test.py"))))
|
||||||
(replace 'install
|
(replace 'install
|
||||||
;; The install.py script doesn't allow system installation
|
;; The install.py script doesn't allow system installation
|
||||||
;; into an arbitrary prefix, so do our own install.
|
;; into an arbitrary prefix, so do our own install.
|
||||||
|
|
|
@ -30,14 +30,14 @@
|
||||||
(define-public apl
|
(define-public apl
|
||||||
(package
|
(package
|
||||||
(name "apl")
|
(name "apl")
|
||||||
(version "1.5")
|
(version "1.6")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/apl/apl-" version ".tar.gz"))
|
(uri (string-append "mirror://gnu/apl/apl-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0h4diq3wfbdwxp5nm0z4b0p1zq13lwip0y7v28r9v0mbbk8xsfh1"))))
|
"057zwzvvgcrrwsl52a27w86hgy31jqq6avqq629xj7yq90qah3ay"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(home-page "http://www.gnu.org/software/apl/")
|
(home-page "http://www.gnu.org/software/apl/")
|
||||||
(inputs
|
(inputs
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
|
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
|
||||||
|
;;; Copyright ©2016 John Darrington <jmd@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -97,6 +98,13 @@ dictionaries, including personal ones.")
|
||||||
(home-page "http://aspell.net/")))
|
(home-page "http://aspell.net/")))
|
||||||
|
|
||||||
|
|
||||||
|
(define-public aspell-dict-de
|
||||||
|
(aspell-dictionary "de" "German"
|
||||||
|
#:version "20030222-1"
|
||||||
|
#:sha256
|
||||||
|
(base32
|
||||||
|
"01p92qj66cqb346gk7hjfynaap5sbcn85xz07kjfdq623ghr8v5s")))
|
||||||
|
|
||||||
(define-public aspell-dict-en
|
(define-public aspell-dict-en
|
||||||
(aspell-dictionary "en" "English"
|
(aspell-dictionary "en" "English"
|
||||||
#:version "2016.01.19-0"
|
#:version "2016.01.19-0"
|
||||||
|
|
|
@ -0,0 +1,106 @@
|
||||||
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
|
;;; Copyright © 2016 John Darrington <jmd@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 astronomy)
|
||||||
|
#:use-module (guix packages)
|
||||||
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
|
#:use-module (guix download)
|
||||||
|
#:use-module (gnu packages image)
|
||||||
|
#:use-module (gnu packages maths)
|
||||||
|
#:use-module (guix build-system gnu))
|
||||||
|
|
||||||
|
(define-public cfitsio
|
||||||
|
(package
|
||||||
|
(name "cfitsio")
|
||||||
|
(version "3390")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/" name version
|
||||||
|
".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32 "02gllydm63irwbqqisa3mrskw1fphm5rlplglz3mq9whi3rxilv2"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:tests? #f ; no tests
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'patch-paths
|
||||||
|
(lambda _
|
||||||
|
(substitute* "Makefile.in" (("/bin/") "")))))))
|
||||||
|
(home-page "http://heasarc.gsfc.nasa.gov/fitsio/fitsio.html")
|
||||||
|
(synopsis "Library for reading and writing FITS files")
|
||||||
|
(description "CFITSIO provides simple high-level routines for reading and
|
||||||
|
writing FITS (Flexible Image Transport System) files that insulate the
|
||||||
|
programmer from the internal complexities of the FITS format. CFITSIO also
|
||||||
|
provides many advanced features for manipulating and filtering the information
|
||||||
|
in FITS files.")
|
||||||
|
(license (license:non-copyleft "file://License.txt"
|
||||||
|
"See License.txt in the distribution."))))
|
||||||
|
|
||||||
|
(define-public wcslib
|
||||||
|
(package
|
||||||
|
(name "wcslib")
|
||||||
|
(version "5.15")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"ftp://ftp.atnf.csiro.au/pub/software/wcslib/" name "-" version ".tar.bz2"))
|
||||||
|
(sha256
|
||||||
|
(base32 "1s2nig327g4bimd9xshlk11ww09a7mrjmsbpdcd8smsmn2kl1glb"))))
|
||||||
|
(inputs
|
||||||
|
`(("cfitsio" ,cfitsio)))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:phases (modify-phases %standard-phases
|
||||||
|
(add-before 'configure 'patch-/bin/sh
|
||||||
|
(lambda _
|
||||||
|
(substitute* "makedefs.in"
|
||||||
|
(("/bin/sh") "sh")))))))
|
||||||
|
(home-page "http://www.atnf.csiro.au/people/mcalabre/WCS")
|
||||||
|
(synopsis "Library which implements the FITS WCS standard")
|
||||||
|
(description "The FITS \"World Coordinate System\" (WCS) standard defines
|
||||||
|
keywords and usage that provide for the description of astronomical coordinate
|
||||||
|
systems in a FITS image header.")
|
||||||
|
(license license:lgpl3+)))
|
||||||
|
|
||||||
|
(define-public gnuastro
|
||||||
|
(package
|
||||||
|
(name "gnuastro")
|
||||||
|
(version "0.1")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "mirror://gnu/gnuastro/gnuastro-"
|
||||||
|
version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"105s007kw8l3jwwhvh8k9lgbpfbf7sqh2wpxmvpv3qdr6nh9lnjg"))))
|
||||||
|
(inputs
|
||||||
|
`(("cfitsio" ,cfitsio)
|
||||||
|
("gsl" ,gsl)
|
||||||
|
("libjpeg" ,libjpeg-8)
|
||||||
|
("wcslib" ,wcslib)))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(home-page "http://www.gnu.org/software/gnuastro")
|
||||||
|
(synopsis "Astronomical data manipulation programs")
|
||||||
|
(description "The GNU Astronomy Utilities (Gnuastro) is a suite of
|
||||||
|
programs for the manipulation and analysis of astronomical data.")
|
||||||
|
(license license:gpl3+)))
|
|
@ -93,7 +93,7 @@
|
||||||
(define-public aragorn
|
(define-public aragorn
|
||||||
(package
|
(package
|
||||||
(name "aragorn")
|
(name "aragorn")
|
||||||
(version "1.2.36")
|
(version "1.2.37")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
|
@ -101,7 +101,7 @@
|
||||||
version ".tgz"))
|
version ".tgz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1dg7jlz1qpqy88igjxd6ncs11ccsirb36qv1z01a0np4i4jh61mb"))))
|
"1c7zxk0h8wsjbix82fmmfyywcq6zn3q9h5y67kcl5y3qal2bv2xr"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f ; there are no tests
|
`(#:tests? #f ; there are no tests
|
||||||
|
@ -4692,14 +4692,14 @@ sequences.")
|
||||||
(define-public subread
|
(define-public subread
|
||||||
(package
|
(package
|
||||||
(name "subread")
|
(name "subread")
|
||||||
(version "1.4.6-p2")
|
(version "1.5.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://sourceforge/subread/subread-"
|
(uri (string-append "mirror://sourceforge/subread/subread-"
|
||||||
version "/subread-" version "-source.tar.gz"))
|
version "/subread-" version "-source.tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"06sv9mpcsdj6p68y15d6gi70lca3lxmzk0dn61hg0kfsa7rxmsr3"))))
|
"0gn5zhbvllks0mmdg3qlmsbg91p2mpdc2wixwfqpi85yzfrh8hcy"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f ;no "check" target
|
`(#:tests? #f ;no "check" target
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
;;; You should have received a copy of the GNU General Public License
|
;;; You should have received a copy of the GNU General Public License
|
||||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
(define-module (gnu packages slim)
|
(define-module (gnu packages display-managers)
|
||||||
#:use-module ((guix licenses) #:prefix l:)
|
#:use-module ((guix licenses) #:prefix l:)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
|
@ -2977,7 +2977,7 @@ passive voice.")
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0cr37pdkwjgfijfws5bjskfh1rq9rfngxblcj6v5383vpmn83q7s"))
|
"0cr37pdkwjgfijfws5bjskfh1rq9rfngxblcj6v5383vpmn83q7s"))
|
||||||
(file-name (string-append name "-" version))))
|
(file-name (string-append name "-" version ".tar.gz"))))
|
||||||
(build-system emacs-build-system)
|
(build-system emacs-build-system)
|
||||||
(synopsis "Folder tree view for Emacs")
|
(synopsis "Folder tree view for Emacs")
|
||||||
(description "This Emacs package provides a folder tree view.")
|
(description "This Emacs package provides a folder tree view.")
|
||||||
|
@ -3002,3 +3002,74 @@ lists, and project planning with a fast and effective plain-text system. It
|
||||||
also is an authoring system with unique support for literate programming and
|
also is an authoring system with unique support for literate programming and
|
||||||
reproducible research.")
|
reproducible research.")
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public emacs-flx
|
||||||
|
(package
|
||||||
|
(name "emacs-flx")
|
||||||
|
(version "0.6.1")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "https://github.com/lewang/"
|
||||||
|
"flx/archive/v" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
|
||||||
|
(file-name (string-append name "-" version ".tar.gz"))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(home-page "https://github.com/lewang/flx")
|
||||||
|
(synopsis "Fuzzy matching for Emacs")
|
||||||
|
(description
|
||||||
|
"Flx provides fuzzy matching for emacs a la sublime text.
|
||||||
|
The sorting algorithm is a balance between word beginnings (abbreviation)
|
||||||
|
and contiguous matches (substring). The longer the substring match,
|
||||||
|
the higher it scores. This maps well to how we think about matching.
|
||||||
|
Flx has support for ido (interactively do things) through flx-ido.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public emacs-cyberpunk-theme
|
||||||
|
(package
|
||||||
|
(name "emacs-cyberpunk-theme")
|
||||||
|
(version "1.17")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
|
||||||
|
"archive/" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"068jcn4g1bvwgpcvyfqygzw6ahill51c1sqzyyvj2paxckbd7h51"))
|
||||||
|
(file-name (string-append name "-" version ".tar.gz"))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(home-page "https://github.com/n3mo/cyberpunk-theme.el")
|
||||||
|
(synopsis "Cyberpunk theme for emacs built-in color theme support")
|
||||||
|
(description
|
||||||
|
"Cyberpunk color theme for the emacs 24+ built-in color theme support
|
||||||
|
known loosely as deftheme. Many mode-specific customizations are included.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public emacs-auto-complete
|
||||||
|
(package
|
||||||
|
(name "emacs-auto-complete")
|
||||||
|
(version "1.5.1")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "https://github.com/auto-complete/"
|
||||||
|
"auto-complete/archive/v" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
|
||||||
|
(file-name (string-append name "-" version ".tar.gz"))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(propagated-inputs
|
||||||
|
`(("emacs-popup" ,emacs-popup)))
|
||||||
|
(home-page "https://github.com/auto-complete/auto-complete")
|
||||||
|
(synopsis "Intelligent auto-completion extension for Emacs")
|
||||||
|
(description
|
||||||
|
"Auto-Complete is an intelligent auto-completion extension for Emacs.
|
||||||
|
It extends the standard Emacs completion interface and provides an environment
|
||||||
|
that allows users to concentrate more on their own work. Its features are:
|
||||||
|
a visual interface, reduce overhead of completion by using statistic method,
|
||||||
|
extensibility.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
|
@ -26,14 +26,14 @@
|
||||||
(define-public entr
|
(define-public entr
|
||||||
(package
|
(package
|
||||||
(name "entr")
|
(name "entr")
|
||||||
(version "3.5")
|
(version "3.6")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "http://entrproject.org/code/entr-"
|
(uri (string-append "http://entrproject.org/code/entr-"
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"05k4jyjna0pr2dalwc1l1dhrcyk6pw7hbss7jl4ykwfadcs5br73"))))
|
"1sy81np6kgmq04kfn2ckf4fp7jcf5d1963shgmapx3al3kc4c9x4"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:test-target "test"
|
`(#:test-target "test"
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
|
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
|
||||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||||
|
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -618,6 +619,65 @@ received by the Telepathy framework. It features pluggable backends to log
|
||||||
different sorts of messages in different formats.")
|
different sorts of messages in different formats.")
|
||||||
(license license:lgpl2.1+)))
|
(license license:lgpl2.1+)))
|
||||||
|
|
||||||
|
(define-public telepathy-idle
|
||||||
|
(package
|
||||||
|
(name "telepathy-idle")
|
||||||
|
(version "0.2.0")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "https://telepathy.freedesktop.org/releases/"
|
||||||
|
name "/" name "-" version ".tar.bz2"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1argdzbif1vdmwp5vqbgkadq9ancjmgdm2ncp0qfckni715ss4rh"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(native-inputs
|
||||||
|
`(("pkg-config" ,pkg-config)))
|
||||||
|
(inputs
|
||||||
|
`(("xsltproc" ,libxslt)
|
||||||
|
("python" ,python-2)
|
||||||
|
("python-dbus" ,python2-dbus)))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("telepathy-glib" ,telepathy-glib)))
|
||||||
|
(home-page "http://telepathy.freedesktop.org/")
|
||||||
|
(synopsis "Telepathy IRC connection manager")
|
||||||
|
(description
|
||||||
|
"Idle is an IRC connection manager for the Telepathy framework. This
|
||||||
|
package enables usage of IRC channels and private messages in Telepathy instant
|
||||||
|
messaging clients such as Empathy, GNOME Shell or KDE Telepathy.")
|
||||||
|
(license (list license:lgpl2.1 license:lgpl2.1+))))
|
||||||
|
|
||||||
|
(define-public telepathy-mission-control
|
||||||
|
(package
|
||||||
|
(name "telepathy-mission-control")
|
||||||
|
(version "5.16.3")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "https://telepathy.freedesktop.org/releases/"
|
||||||
|
name "/" name "-" version ".tar.bz2"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0zcbx69k0d3p2pjh3g7sa3q2zkd5xchxkqsmlfn3fwxaz0pmsmvi"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(native-inputs
|
||||||
|
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
|
||||||
|
("pkg-config" ,pkg-config)))
|
||||||
|
(inputs
|
||||||
|
`(("dconf" ,dconf)
|
||||||
|
("gtk-doc" ,gtk-doc)
|
||||||
|
("libgnome-keyring" ,libgnome-keyring)
|
||||||
|
("python" ,python-2)
|
||||||
|
("xsltproc" ,libxslt)))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("telepathy-glib" ,telepathy-glib)))
|
||||||
|
(home-page "https://telepathy.freedesktop.org/wiki/Components/Mission_Control/")
|
||||||
|
(synopsis "Telepathy real-time communication framework management daemon")
|
||||||
|
(description
|
||||||
|
"Telepathy Mission Control 5 is an account manager and channel dispatcher
|
||||||
|
for the Telepathy framework, allowing user interfaces and other clients to
|
||||||
|
share connections to real-time communication services without conflicting.")
|
||||||
|
(license license:lgpl2.1)))
|
||||||
|
|
||||||
(define-public colord-gtk
|
(define-public colord-gtk
|
||||||
(package
|
(package
|
||||||
(name "colord-gtk")
|
(name "colord-gtk")
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
|
;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
|
||||||
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
|
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
|
||||||
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
|
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
|
||||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il"
|
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -103,6 +103,7 @@
|
||||||
#:use-module (gnu packages xdisorg)
|
#:use-module (gnu packages xdisorg)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system haskell)
|
#:use-module (guix build-system haskell)
|
||||||
|
#:use-module (guix build-system python)
|
||||||
#:use-module (guix build-system cmake)
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix build-system trivial))
|
#:use-module (guix build-system trivial))
|
||||||
|
|
||||||
|
@ -2773,3 +2774,47 @@ Your robot ant can be programmed in many languages: OCaml, Python, C, C++,
|
||||||
Java, Ruby, Lua, JavaScript, Pascal, Perl, Scheme, Vala, Prolog. Experienced
|
Java, Ruby, Lua, JavaScript, Pascal, Perl, Scheme, Vala, Prolog. Experienced
|
||||||
programmers may also add their own favorite language.")
|
programmers may also add their own favorite language.")
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public bambam
|
||||||
|
(package
|
||||||
|
(name "bambam")
|
||||||
|
(version "0.5")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "https://github.com/porridge/bambam/archive/"
|
||||||
|
version ".tar.gz"))
|
||||||
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"10w110mjdwbvddzihh9rganvvjr5jfiz8cs9n7w12zndwwcc3ria"))))
|
||||||
|
(build-system python-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:python ,python-2
|
||||||
|
#:tests? #f ; no tests
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(delete 'build)
|
||||||
|
(add-before 'install 'patch-data-dir-location
|
||||||
|
(lambda _
|
||||||
|
(substitute* "bambam.py"
|
||||||
|
(("'data'") "'../share/bambam/data'"))
|
||||||
|
#t))
|
||||||
|
(replace 'install
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(bin (string-append out "/bin"))
|
||||||
|
(share (string-append out "/share")))
|
||||||
|
(mkdir-p bin)
|
||||||
|
(copy-file "bambam.py" (string-append bin "/bambam"))
|
||||||
|
(install-file "bambam.6" (string-append share "/man/man6"))
|
||||||
|
(copy-recursively "data" (string-append share "/bambam/data")))
|
||||||
|
#t)))))
|
||||||
|
(inputs
|
||||||
|
`(("python-pygame" ,python-pygame)))
|
||||||
|
(home-page "https://github.com/porridge/bambam")
|
||||||
|
(synopsis "Keyboard mashing and doodling game for babies")
|
||||||
|
(description "Bambam is a simple baby keyboard (and gamepad) masher
|
||||||
|
application that locks the keyboard and mouse and instead displays bright
|
||||||
|
colors, pictures, and sounds.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
;;; Copyright © 2013 Joshua Grant <tadni@riseup.net>
|
;;; Copyright © 2013 Joshua Grant <tadni@riseup.net>
|
||||||
;;; Copyright © 2014, 2016 David Thompson <davet@gnu.org>
|
;;; Copyright © 2014, 2016 David Thompson <davet@gnu.org>
|
||||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||||
|
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -443,7 +444,7 @@ extension functionality is exposed in a single header file.")
|
||||||
(dynamic-link-substitute "glu/runtime.scm" "GLU" "glu")
|
(dynamic-link-substitute "glu/runtime.scm" "GLU" "glu")
|
||||||
(dynamic-link-substitute "glut/runtime.scm" "glut"
|
(dynamic-link-substitute "glut/runtime.scm" "glut"
|
||||||
"freeglut"))))))
|
"freeglut"))))))
|
||||||
(home-page "http://gnu.org/s/guile-opengl")
|
(home-page "https://gnu.org/s/guile-opengl")
|
||||||
(synopsis "Guile binding for the OpenGL graphics API")
|
(synopsis "Guile binding for the OpenGL graphics API")
|
||||||
(description
|
(description
|
||||||
"Guile-OpenGL is a library for Guile that provides bindings to the
|
"Guile-OpenGL is a library for Guile that provides bindings to the
|
||||||
|
|
|
@ -3732,7 +3732,7 @@ to format Docbook and Mallard documents.")
|
||||||
(define-public yelp
|
(define-public yelp
|
||||||
(package
|
(package
|
||||||
(name "yelp")
|
(name "yelp")
|
||||||
(version "3.20.1")
|
(version "3.21.3")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||||
|
@ -3740,7 +3740,7 @@ to format Docbook and Mallard documents.")
|
||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1hh8yqbv0scn9nksk9mq94cb4sdczlzxplclv2wqr41jmm8v186x"))))
|
"1x8la7qn0l796p4nhprvkwb6sk6yc39xhq3gabvzrhdlb6mjgmrs"))))
|
||||||
(build-system glib-or-gtk-build-system)
|
(build-system glib-or-gtk-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
|
`(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
|
||||||
|
|
|
@ -306,7 +306,7 @@ kinds of basic applications for the foundation of a GNU internet.")
|
||||||
"This package provides Guile bindings to the client libraries of various
|
"This package provides Guile bindings to the client libraries of various
|
||||||
GNUnet services, including the @dfn{identity} and @dfn{file sharing}
|
GNUnet services, including the @dfn{identity} and @dfn{file sharing}
|
||||||
services.")
|
services.")
|
||||||
(home-page "http://gnu.org/software/guix")
|
(home-page "https://gnu.org/software/guix")
|
||||||
(license license:gpl3+))))
|
(license license:gpl3+))))
|
||||||
|
|
||||||
;; FIXME: "gnunet-setup" segfaults under certain conditions and "gnunet-gtk"
|
;; FIXME: "gnunet-setup" segfaults under certain conditions and "gnunet-gtk"
|
||||||
|
|
|
@ -129,7 +129,7 @@
|
||||||
("parted" ,parted)
|
("parted" ,parted)
|
||||||
("qemu" ,qemu-for-tests)
|
("qemu" ,qemu-for-tests)
|
||||||
("xorriso" ,xorriso)))
|
("xorriso" ,xorriso)))
|
||||||
(home-page "http://www.gnu.org/software/grub/")
|
(home-page "https://www.gnu.org/software/grub/")
|
||||||
(synopsis "GRand Unified Boot loader")
|
(synopsis "GRand Unified Boot loader")
|
||||||
(description
|
(description
|
||||||
"GRUB is a multiboot bootloader. It is used for initially loading the
|
"GRUB is a multiboot bootloader. It is used for initially loading the
|
||||||
|
|
|
@ -337,16 +337,15 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
||||||
(define-public icedtea-6
|
(define-public icedtea-6
|
||||||
(package
|
(package
|
||||||
(name "icedtea")
|
(name "icedtea")
|
||||||
(version "1.13.11")
|
(version "1.13.12")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"http://icedtea.wildebeest.org/download/source/icedtea6-"
|
"http://icedtea.wildebeest.org/download/source/icedtea6-"
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(patches (search-patches "icedtea-remove-overrides.patch"))
|
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1grki39a4rf8n74zc0iglcggxxbpniyfh1gk1lb10p63zvvcsvjj"))
|
"1q5iqm3dzqj8w3dwj6qqhczkkrslrfhmn3110klfwq9kyi2nimj8"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(substitute* "Makefile.in"
|
'(substitute* "Makefile.in"
|
||||||
|
@ -441,13 +440,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
||||||
(substitute* '("patches/jtreg-jrunscript.patch"
|
(substitute* '("patches/jtreg-jrunscript.patch"
|
||||||
"patches/hotspot/hs23/drop_unlicensed_test.patch")
|
"patches/hotspot/hs23/drop_unlicensed_test.patch")
|
||||||
(("#!/bin/sh") (string-append "#!" (which "sh"))))
|
(("#!/bin/sh") (string-append "#!" (which "sh"))))
|
||||||
|
#t))
|
||||||
;; fix path to alsa header in patch
|
|
||||||
(substitute* "patches/openjdk/6799141-split_out_versions.patch"
|
|
||||||
(("ALSA_INCLUDE=/usr/include/alsa/version.h")
|
|
||||||
(string-append "ALSA_INCLUDE="
|
|
||||||
(assoc-ref %build-inputs "alsa-lib")
|
|
||||||
"/include/alsa/version.h")))))
|
|
||||||
(add-after 'unpack 'patch-paths
|
(add-after 'unpack 'patch-paths
|
||||||
(lambda _
|
(lambda _
|
||||||
;; buildtree.make generates shell scripts, so we need to replace
|
;; buildtree.make generates shell scripts, so we need to replace
|
||||||
|
@ -475,6 +468,13 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
||||||
(("DEF_OBJCOPY *=.*objcopy")
|
(("DEF_OBJCOPY *=.*objcopy")
|
||||||
(string-append "DEF_OBJCOPY = " (which "objcopy"))))
|
(string-append "DEF_OBJCOPY = " (which "objcopy"))))
|
||||||
|
|
||||||
|
;; fix path to alsa header
|
||||||
|
(substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk"
|
||||||
|
(("ALSA_INCLUDE=/usr/include/alsa/version.h")
|
||||||
|
(string-append "ALSA_INCLUDE="
|
||||||
|
(assoc-ref %build-inputs "alsa-lib")
|
||||||
|
"/include/alsa/version.h")))
|
||||||
|
|
||||||
;; fix hard-coded utility paths
|
;; fix hard-coded utility paths
|
||||||
(substitute* '("openjdk.src/jdk/make/common/shared/Defs-utils.gmk"
|
(substitute* '("openjdk.src/jdk/make/common/shared/Defs-utils.gmk"
|
||||||
"openjdk.src/corba/make/common/shared/Defs-utils.gmk")
|
"openjdk.src/corba/make/common/shared/Defs-utils.gmk")
|
||||||
|
@ -764,10 +764,10 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
||||||
("openjdk6-src"
|
("openjdk6-src"
|
||||||
,(origin
|
,(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri "https://java.net/downloads/openjdk6/openjdk-6-src-b39-03_may_2016.tar.gz")
|
(uri "https://java.net/downloads/openjdk6/openjdk-6-src-b40-22_aug_2016.tar.gz")
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1brxbsgwcj4js26y5lk6capc3pvghgjidvv9cavw6z8n7c7aw8af"))))
|
"01v4q7g9pa6w7m6yxply5yrin08jgv12fck665xnmp09bpxy8sa5"))))
|
||||||
("lcms" ,lcms)
|
("lcms" ,lcms)
|
||||||
("zlib" ,zlib)
|
("zlib" ,zlib)
|
||||||
("gtk" ,gtk+-2)
|
("gtk" ,gtk+-2)
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -14,6 +14,7 @@
|
||||||
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||||
|
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -198,6 +199,30 @@
|
||||||
`insmod', `lsmod', and more.")
|
`insmod', `lsmod', and more.")
|
||||||
(license license:gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
(define-public libnfsidmap
|
||||||
|
(package
|
||||||
|
(name "libnfsidmap")
|
||||||
|
(version "0.25")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"http://www.citi.umich.edu/projects/nfsv4/linux/"
|
||||||
|
name "/" name "-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1kzgwxzh83qi97rblcm9qj80cdvnv8kml2plz0q103j0hifj8vb5"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(home-page
|
||||||
|
"http://www.citi.umich.edu/projects/nfsv4/crossrealm/libnfsidmap_config.html")
|
||||||
|
(synopsis
|
||||||
|
"NFSv4 support library for name/ID mapping")
|
||||||
|
(description "Libnfsidmap is a library holding mulitiple methods of
|
||||||
|
mapping names to ids and visa versa, mainly for NFSv4. It provides an
|
||||||
|
extensible array of mapping functions, currently consisting of two choices:
|
||||||
|
the default @code{nsswitch} and the experimental @code{umich_ldap}.")
|
||||||
|
(license (license:non-copyleft "file://COPYING"
|
||||||
|
"See COPYING in the distribution."))))
|
||||||
|
|
||||||
(define %boot-logo-patch
|
(define %boot-logo-patch
|
||||||
;; Linux-Libre boot logo featuring Freedo and a gnu.
|
;; Linux-Libre boot logo featuring Freedo and a gnu.
|
||||||
(origin
|
(origin
|
||||||
|
@ -855,14 +880,14 @@ MIDI functionality to the Linux-based operating system.")
|
||||||
(define-public alsa-utils
|
(define-public alsa-utils
|
||||||
(package
|
(package
|
||||||
(name "alsa-utils")
|
(name "alsa-utils")
|
||||||
(version "1.1.0")
|
(version "1.1.2")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "ftp://ftp.alsa-project.org/pub/utils/"
|
(uri (string-append "ftp://ftp.alsa-project.org/pub/utils/"
|
||||||
name "-" version ".tar.bz2"))
|
name "-" version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1wa88wvqcfhak9x3y65wzzwxmmyxb5bv2gyj7lnm653fnwsk271v"))))
|
"0wcha78c2sm8qqk5r3w83cvm8fp6fb1zpd35kmcm24kxhz007xks"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
;; XXX: Disable man page creation until we have DocBook.
|
;; XXX: Disable man page creation until we have DocBook.
|
||||||
|
@ -873,14 +898,15 @@ MIDI functionality to the Linux-based operating system.")
|
||||||
(string-append "--with-udev-rules-dir="
|
(string-append "--with-udev-rules-dir="
|
||||||
(assoc-ref %outputs "out")
|
(assoc-ref %outputs "out")
|
||||||
"/lib/udev/rules.d"))
|
"/lib/udev/rules.d"))
|
||||||
#:phases (alist-cons-before
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-before
|
||||||
'install 'pre-install
|
'install 'pre-install
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Don't try to mkdir /var/lib/alsa.
|
;; Don't try to mkdir /var/lib/alsa.
|
||||||
(substitute* "Makefile"
|
(substitute* "Makefile"
|
||||||
(("\\$\\(MKDIR_P\\) .*ASOUND_STATE_DIR.*")
|
(("\\$\\(MKDIR_P\\) .*ASOUND_STATE_DIR.*")
|
||||||
"true\n")))
|
"true\n")))))))
|
||||||
%standard-phases)))
|
|
||||||
(inputs
|
(inputs
|
||||||
`(("libsamplerate" ,libsamplerate)
|
`(("libsamplerate" ,libsamplerate)
|
||||||
("ncurses" ,ncurses)
|
("ncurses" ,ncurses)
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||||
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
||||||
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
|
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
|
||||||
;;; Coypright © 2016 Arun Isaac <arunisaac@systemreboot.net>
|
;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||||
|
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -20,6 +21,8 @@
|
||||||
#:use-module (guix licenses)
|
#:use-module (guix licenses)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
#:use-module (gnu packages mit-krb5)
|
||||||
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (guix build-system gnu))
|
#:use-module (guix build-system gnu))
|
||||||
|
|
||||||
(define-public libtirpc
|
(define-public libtirpc
|
||||||
|
@ -36,16 +39,14 @@
|
||||||
"18a337wa4amf0k21wnimp3yzs5l3cxqndz4x3x8bm993zhfy5hs5"))))
|
"18a337wa4amf0k21wnimp3yzs5l3cxqndz4x3x8bm993zhfy5hs5"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(;; Doesn't work with GNU GSS.
|
`(#:phases
|
||||||
#:configure-flags '("--disable-gssapi")
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'remote-dangling-symlink
|
||||||
#:phases (alist-cons-after
|
|
||||||
'unpack 'remote-dangling-symlink
|
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Remote the dangling symlinks since it breaks the
|
;; Remove the dangling symlinks since it breaks the
|
||||||
;; 'patch-source-shebangs' file tree traversal.
|
;; 'patch-source-shebangs' file tree traversal.
|
||||||
(delete-file "INSTALL"))
|
(delete-file "INSTALL"))))))
|
||||||
%standard-phases)))
|
(inputs `(("mit-krb5" ,mit-krb5)))
|
||||||
(home-page "http://sourceforge.net/projects/libtirpc/")
|
(home-page "http://sourceforge.net/projects/libtirpc/")
|
||||||
(synopsis "Transport-independent Sun/ONC RPC implementation")
|
(synopsis "Transport-independent Sun/ONC RPC implementation")
|
||||||
(description
|
(description
|
||||||
|
@ -53,3 +54,32 @@
|
||||||
procedure calls) protocol in a transport-independent manner. It supports both
|
procedure calls) protocol in a transport-independent manner. It supports both
|
||||||
IPv4 and IPv6. ONC RPC is notably used by the network file system (NFS).")
|
IPv4 and IPv6. ONC RPC is notably used by the network file system (NFS).")
|
||||||
(license bsd-3)))
|
(license bsd-3)))
|
||||||
|
|
||||||
|
(define-public rpcbind
|
||||||
|
(package
|
||||||
|
(name "rpcbind")
|
||||||
|
(version "0.2.3")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "mirror://sourceforge/" name "/" name "/"
|
||||||
|
version "/"
|
||||||
|
name "-" version ".tar.bz2"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0yyjzv4161rqxrgjcijkrawnk55rb96ha0pav48s03l2klx855wq"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:configure-flags
|
||||||
|
`("--with-systemdsystemunitdir=no")))
|
||||||
|
(inputs
|
||||||
|
`(("libtirpc" ,libtirpc)))
|
||||||
|
(native-inputs
|
||||||
|
`(("pkg-config" ,pkg-config)))
|
||||||
|
(home-page "http://rpcbind.sourceforge.net/")
|
||||||
|
(synopsis "Server to convert RPC program numbers into universal addresses")
|
||||||
|
(description
|
||||||
|
"@command{Rpcbind} is a server that converts RPC program numbers into
|
||||||
|
universal addresses.")
|
||||||
|
(license bsd-3)))
|
||||||
|
|
||||||
|
|
|
@ -237,31 +237,42 @@ tested on Python version 3.2, 2.7 and 2.6.")
|
||||||
(define-public python-requests-mock
|
(define-public python-requests-mock
|
||||||
(package
|
(package
|
||||||
(name "python-requests-mock")
|
(name "python-requests-mock")
|
||||||
(version "0.7.0")
|
(version "1.0.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "requests-mock" version))
|
(uri (pypi-uri "requests-mock" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0s6mrpiv2w0km39qvl1pq2d56xblnm57p369qdp5j1a55ncica7f"))))
|
"0gcjjwsckhqixyffflc54i59x41jnbb37bli077vabii1bjmkin6"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-requests" ,python-requests)
|
`(("python-requests" ,python-requests)
|
||||||
("python-six" ,python-six)))
|
("python-six" ,python-six)))
|
||||||
(inputs
|
(inputs
|
||||||
`(("python-mock" ,python-mock)
|
`(("python-pbr" ,python-pbr)))
|
||||||
("python-pbr" ,python-pbr)
|
(native-inputs
|
||||||
("python-setuptools" ,python-setuptools)))
|
`(("python-discover" ,python-discover)
|
||||||
|
("python-fixtures" ,python-fixtures)
|
||||||
|
("python-mock" ,python-mock)
|
||||||
|
("python-sphinx" ,python-sphinx)
|
||||||
|
("python-testrepository" ,python-testrepository)
|
||||||
|
("python-testtools" ,python-testtools)))
|
||||||
(home-page "https://requests-mock.readthedocs.org/")
|
(home-page "https://requests-mock.readthedocs.org/")
|
||||||
(synopsis "Mock out responses from the requests package")
|
(synopsis "Mock out responses from the requests package")
|
||||||
(description
|
(description
|
||||||
"This module provides a building block to stub out the HTTP requests
|
"This module provides a building block to stub out the HTTP requests
|
||||||
portions of your testing code.")
|
portions of your testing code.")
|
||||||
(license asl2.0)))
|
(license asl2.0)
|
||||||
|
(properties `((python2-variant . ,(delay python2-requests-mock))))))
|
||||||
|
|
||||||
(define-public python2-requests-mock
|
(define-public python2-requests-mock
|
||||||
(package-with-python2 python-requests-mock))
|
(let ((base (package-with-python2
|
||||||
|
(strip-python2-variant python-requests-mock))))
|
||||||
|
(package (inherit base)
|
||||||
|
(native-inputs
|
||||||
|
`(("python2-setuptools" ,python2-setuptools)
|
||||||
|
,@(package-native-inputs base))))))
|
||||||
|
|
||||||
(define-public python-stevedore
|
(define-public python-stevedore
|
||||||
(package
|
(package
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
From a4b093f7366fdb429ca1781144d3985fa50d0fbb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Julien Grall <julien.grall@linaro.org>
|
||||||
|
Date: Tue, 17 Mar 2015 16:00:34 +0000
|
||||||
|
Subject: [PATCH] libfdt: Add missing functions to shared library
|
||||||
|
|
||||||
|
The commit 4e76ec7 "libfdt: Add fdt_next_subnode() to permit easy
|
||||||
|
subnode iteration" adds new functions (fdt_{first,next}_subnode) but
|
||||||
|
forgot to mark them as 'global' in the shared library.
|
||||||
|
|
||||||
|
Signed-off-by: Julien Grall <julien.grall@linaro.org>
|
||||||
|
---
|
||||||
|
libfdt/version.lds | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/libfdt/version.lds b/libfdt/version.lds
|
||||||
|
index 80b322b..941208e 100644
|
||||||
|
--- a/libfdt/version.lds
|
||||||
|
+++ b/libfdt/version.lds
|
||||||
|
@@ -54,6 +54,8 @@ LIBFDT_1.2 {
|
||||||
|
fdt_get_property_by_offset;
|
||||||
|
fdt_getprop_by_offset;
|
||||||
|
fdt_next_property_offset;
|
||||||
|
+ fdt_first_subnode;
|
||||||
|
+ fdt_next_subnode;
|
||||||
|
|
||||||
|
local:
|
||||||
|
*;
|
||||||
|
From f58799be130e27cc729cb2d45566daa0bb3b8605 Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Gibson <david@gibson.dropbear.id.au>
|
||||||
|
Date: Tue, 1 Dec 2015 12:55:21 +1100
|
||||||
|
Subject: [PATCH] libfdt: Add some missing symbols to version.lds
|
||||||
|
|
||||||
|
Several functions in the header file were missing from the version.lds
|
||||||
|
script, meaning that they couldn't be used from a libfdt shared library.
|
||||||
|
|
||||||
|
Reported by Ken Aaker, via github issue tracker.
|
||||||
|
|
||||||
|
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
|
||||||
|
---
|
||||||
|
libfdt/version.lds | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/libfdt/version.lds b/libfdt/version.lds
|
||||||
|
index f19f157..1f4e1ea 100644
|
||||||
|
--- a/libfdt/version.lds
|
||||||
|
+++ b/libfdt/version.lds
|
||||||
|
@@ -57,6 +57,10 @@ LIBFDT_1.2 {
|
||||||
|
fdt_next_property_offset;
|
||||||
|
fdt_first_subnode;
|
||||||
|
fdt_next_subnode;
|
||||||
|
+ fdt_address_cells;
|
||||||
|
+ fdt_size_cells;
|
||||||
|
+ fdt_stringlist_contains;
|
||||||
|
+ fdt_resize;
|
||||||
|
|
||||||
|
local:
|
||||||
|
*;
|
||||||
|
--
|
||||||
|
2.8.1
|
|
@ -1,189 +0,0 @@
|
||||||
From upstream commit https://www.fossil-scm.org/fossil/info/19c216391a0ad79e
|
|
||||||
|
|
||||||
--- fossil-src-1.34/test/file1.test
|
|
||||||
+++ fossil-src-1.34/test/file1.test
|
|
||||||
@@ -15,10 +15,12 @@
|
|
||||||
#
|
|
||||||
############################################################################
|
|
||||||
#
|
|
||||||
# File utilities
|
|
||||||
#
|
|
||||||
+
|
|
||||||
+repo_init
|
|
||||||
|
|
||||||
proc simplify-name {testname args} {
|
|
||||||
set i 1
|
|
||||||
foreach {path result} $args {
|
|
||||||
fossil test-simplify-name $path
|
|
||||||
@@ -65,10 +67,13 @@
|
|
||||||
|
|
||||||
if {$::tcl_platform(os)=="Windows NT"} {
|
|
||||||
simplify-name 108 //?/a:/a/b a:/a/b //?/UNC/a/b //a/b //?/ {}
|
|
||||||
simplify-name 109 \\\\?\\a:\\a\\b a:/a/b \\\\?\\UNC\\a\\b //a/b \\\\?\\ {}
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+# This is needed because we are now running outside of the Fossil checkout.
|
|
||||||
+file mkdir file1; cd file1
|
|
||||||
|
|
||||||
# Those directories are only needed for the testcase being able to "--chdir" to it.
|
|
||||||
file mkdir test1
|
|
||||||
file mkdir test1/test2
|
|
||||||
|
|
||||||
From upstream commit https://www.fossil-scm.org/fossil/info/ad6de6383391bd4d
|
|
||||||
|
|
||||||
--- fossil-src-1.34/test/utf.test
|
|
||||||
+++ fossil-src-1.34/test/utf.test
|
|
||||||
@@ -39,26 +39,29 @@
|
|
||||||
test utf-check-$testname.$i {$::RESULT eq $result}
|
|
||||||
incr i
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+unset -nocomplain enc
|
|
||||||
array set enc [list \
|
|
||||||
0 binary \
|
|
||||||
1 binary \
|
|
||||||
2 unicode \
|
|
||||||
3 unicode-reverse \
|
|
||||||
]
|
|
||||||
|
|
||||||
+unset -nocomplain bom
|
|
||||||
array set bom [list \
|
|
||||||
0 "" \
|
|
||||||
1 \xEF\xBB\xBF \
|
|
||||||
2 [expr {$tcl_platform(byteOrder) eq "littleEndian" ? \
|
|
||||||
"\xFF\xFE" : "\xFE\xFF"}] \
|
|
||||||
3 [expr {$tcl_platform(byteOrder) eq "littleEndian" ? \
|
|
||||||
"\xFE\xFF" : "\xFF\xFE"}] \
|
|
||||||
]
|
|
||||||
|
|
||||||
+unset -nocomplain data
|
|
||||||
array set data [list \
|
|
||||||
0 "" \
|
|
||||||
1 \r \
|
|
||||||
2 \n \
|
|
||||||
3 \r\n \
|
|
||||||
@@ -239,10 +242,11 @@
|
|
||||||
178 \xF4\x90\x80\x80\r \
|
|
||||||
179 \xF4\x90\x80\x80\n \
|
|
||||||
180 \xF4\x90\x80\x80\r\n \
|
|
||||||
]
|
|
||||||
|
|
||||||
+unset -nocomplain extraData
|
|
||||||
array set extraData [list \
|
|
||||||
0 "" \
|
|
||||||
1 Z \
|
|
||||||
]
|
|
||||||
|
|
||||||
Backport from upstream https://www.fossil-scm.org/fossil/info/60285f5876512817
|
|
||||||
with additional non-zero exit in case of failures.
|
|
||||||
|
|
||||||
--- fossil-src-1.34/test/merge6.test
|
|
||||||
+++ fossil-src-1.34/test/merge6.test
|
|
||||||
@@ -62,6 +62,6 @@
|
|
||||||
fossil ls
|
|
||||||
|
|
||||||
test merge_multi-4 {[normalize_result] eq {f1
|
|
||||||
f2
|
|
||||||
f3
|
|
||||||
-f4}}
|
|
||||||
+f4}} knownBug
|
|
||||||
|
|
||||||
--- fossil-src-1.34/test/merge_renames.test
|
|
||||||
+++ fossil-src-1.34/test/merge_renames.test
|
|
||||||
@@ -156,13 +156,13 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
if {$deletes!=0} {
|
|
||||||
# failed
|
|
||||||
protOut "Error, the merge should not delete any file"
|
|
||||||
- test merge_renames-2 0
|
|
||||||
+ test merge_renames-3 0
|
|
||||||
} else {
|
|
||||||
- test merge_renames-2 1
|
|
||||||
+ test merge_renames-3 1
|
|
||||||
}
|
|
||||||
|
|
||||||
######################################
|
|
||||||
# Test 4 #
|
|
||||||
# Reported: Ticket [67176c3aa4] #
|
|
||||||
@@ -198,14 +198,14 @@
|
|
||||||
|
|
||||||
fossil ls
|
|
||||||
|
|
||||||
test merge_renames-5 {[normalize_result] eq {f1
|
|
||||||
f2
|
|
||||||
-f3}}
|
|
||||||
+f3}} knownBug
|
|
||||||
|
|
||||||
######################################
|
|
||||||
#
|
|
||||||
# Tests for troubles not specifically linked with renames but that I'd like to
|
|
||||||
# write:
|
|
||||||
# [c26c63eb1b] - 'merge --backout' does not handle conflicts properly
|
|
||||||
# [953031915f] - Lack of warning when overwriting extra files
|
|
||||||
# [4df5f38f1e] - Troubles merging a file delete with a file change
|
|
||||||
|
|
||||||
--- fossil-src-1.34/test/tester.tcl
|
|
||||||
+++ fossil-src-1.34/test/tester.tcl
|
|
||||||
@@ -58,10 +58,18 @@
|
|
||||||
set VERBOSE 1
|
|
||||||
set argv [lreplace $argv $i $i]
|
|
||||||
} else {
|
|
||||||
set VERBOSE 0
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+set i [lsearch $argv -strict]
|
|
||||||
+if {$i>=0} {
|
|
||||||
+ set STRICT 1
|
|
||||||
+ set argv [lreplace $argv $i $i]
|
|
||||||
+} else {
|
|
||||||
+ set STRICT 0
|
|
||||||
+}
|
|
||||||
|
|
||||||
if {[llength $argv]==0} {
|
|
||||||
foreach f [lsort [glob $testdir/*.test]] {
|
|
||||||
set base [file root [file tail $f]]
|
|
||||||
lappend argv $base
|
|
||||||
@@ -327,20 +335,30 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
# Perform a test
|
|
||||||
#
|
|
||||||
set test_count 0
|
|
||||||
-proc test {name expr} {
|
|
||||||
+proc test {name expr {constraints ""}} {
|
|
||||||
global bad_test test_count
|
|
||||||
incr test_count
|
|
||||||
+ set knownBug [expr {"knownBug" in $constraints}]
|
|
||||||
set r [uplevel 1 [list expr $expr]]
|
|
||||||
if {$r} {
|
|
||||||
- protOut "test $name OK"
|
|
||||||
+ if {$knownBug && !$::STRICT} {
|
|
||||||
+ protOut "test $name OK (knownBug)?"
|
|
||||||
+ } else {
|
|
||||||
+ protOut "test $name OK"
|
|
||||||
+ }
|
|
||||||
} else {
|
|
||||||
- protOut "test $name FAILED!"
|
|
||||||
- lappend bad_test $name
|
|
||||||
- if {$::HALT} exit
|
|
||||||
+ if {$knownBug && !$::STRICT} {
|
|
||||||
+ protOut "test $name FAILED (knownBug)!"
|
|
||||||
+ } else {
|
|
||||||
+ protOut "test $name FAILED!"
|
|
||||||
+ if {$::VERBOSE} {protOut "RESULT: $RESULT"}
|
|
||||||
+ lappend bad_test $name
|
|
||||||
+ if {$::HALT} exit
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
set bad_test {}
|
|
||||||
|
|
||||||
# Return a random string N characters long.
|
|
||||||
@@ -445,4 +455,5 @@
|
|
||||||
protOut "***** Final result: $nErr errors out of $test_count tests"
|
|
||||||
if {$nErr>0} {
|
|
||||||
protOut "***** Failures: $bad_test"
|
|
||||||
+ exit 1
|
|
||||||
}
|
|
|
@ -1,291 +0,0 @@
|
||||||
Upstream patch:
|
|
||||||
http://icedtea.classpath.org/hg/icedtea6/rev/60be25a84f2d
|
|
||||||
|
|
||||||
Fixes build failure:
|
|
||||||
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2954
|
|
||||||
|
|
||||||
Changes to the files 'NEWS' and 'ChangeLog' are omitted here.
|
|
||||||
|
|
||||||
# HG changeset patch
|
|
||||||
# User Andrew John Hughes <gnu.andrew@redhat.com>
|
|
||||||
# Date 1463144538 -3600
|
|
||||||
# Node ID 60be25a84f2dd2bce8ff277cc3854cca1b3f7931
|
|
||||||
# Parent c23ceebb80a19a33316f1e743eb93bdf79aac220
|
|
||||||
PR2954: ecj/override.patch is missing new @Overrides in RMIJRMPServerImpl.java
|
|
||||||
|
|
||||||
2016-05-13 Andrew John Hughes <gnu.andrew@redhat.com>
|
|
||||||
|
|
||||||
PR2954: ecj/override.patch is missing new
|
|
||||||
@Overrides in RMIJRMPServerImpl.java
|
|
||||||
* patches/ecj/override.patch:
|
|
||||||
Add cases in RMIJRMPServerImpl and others
|
|
||||||
which show up when source/target 5 is
|
|
||||||
used in the rt-class-files pre-build.
|
|
||||||
* patches/openjdk/8014205-blank_swing_dialogs_windows.patch:
|
|
||||||
Remove addition of @Override.
|
|
||||||
|
|
||||||
diff -r c23ceebb80a1 -r 60be25a84f2d patches/ecj/override.patch
|
|
||||||
--- a/patches/ecj/override.patch Sun May 08 21:28:21 2016 +0100
|
|
||||||
+++ b/patches/ecj/override.patch Fri May 13 14:02:18 2016 +0100
|
|
||||||
@@ -362,3 +362,240 @@
|
|
||||||
public Class<?> run() {
|
|
||||||
try {
|
|
||||||
ReflectUtil.checkPackageAccess(className);
|
|
||||||
+diff -r 545db1dd8c2a src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java
|
|
||||||
+--- openjdk-ecj/jdk/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java Wed May 04 23:23:55 2016 +0100
|
|
||||||
++++ openjdk-ecj/jdk/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java Thu May 12 01:30:54 2016 +0100
|
|
||||||
+@@ -1870,7 +1870,6 @@
|
|
||||||
+
|
|
||||||
+ private ModifiableClassLoaderRepository getInstantiatorCLR() {
|
|
||||||
+ return AccessController.doPrivileged(new PrivilegedAction<ModifiableClassLoaderRepository>() {
|
|
||||||
+- @Override
|
|
||||||
+ public ModifiableClassLoaderRepository run() {
|
|
||||||
+ return instantiator != null ? instantiator.getClassLoaderRepository() : null;
|
|
||||||
+ }
|
|
||||||
+diff -r 545db1dd8c2a src/share/classes/com/sun/media/sound/Platform.java
|
|
||||||
+--- openjdk-ecj/jdk/src/share/classes/com/sun/media/sound/Platform.java Wed May 04 23:23:55 2016 +0100
|
|
||||||
++++ openjdk-ecj/jdk/src/share/classes/com/sun/media/sound/Platform.java Thu May 12 01:30:54 2016 +0100
|
|
||||||
+@@ -160,7 +160,6 @@
|
|
||||||
+ try {
|
|
||||||
+ // load the main library
|
|
||||||
+ AccessController.doPrivileged(new PrivilegedAction<Void>() {
|
|
||||||
+- @Override
|
|
||||||
+ public Void run() {
|
|
||||||
+ System.loadLibrary(libNameMain);
|
|
||||||
+ return null;
|
|
||||||
+@@ -182,7 +181,6 @@
|
|
||||||
+ final String lib = st.nextToken();
|
|
||||||
+ try {
|
|
||||||
+ AccessController.doPrivileged(new PrivilegedAction<Void>() {
|
|
||||||
+- @Override
|
|
||||||
+ public Void run() {
|
|
||||||
+ System.loadLibrary(lib);
|
|
||||||
+ return null;
|
|
||||||
+diff -r 545db1dd8c2a src/share/classes/java/awt/EventQueue.java
|
|
||||||
+--- openjdk-ecj/jdk/src/share/classes/java/awt/EventQueue.java Wed May 04 23:23:55 2016 +0100
|
|
||||||
++++ openjdk-ecj/jdk/src/share/classes/java/awt/EventQueue.java Thu May 12 01:30:54 2016 +0100
|
|
||||||
+@@ -190,7 +190,6 @@
|
|
||||||
+ EventQueue.invokeAndWait(source, r);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+- @Override
|
|
||||||
+ public long getMostRecentEventTime(EventQueue eventQueue) {
|
|
||||||
+ return eventQueue.getMostRecentEventTimeImpl();
|
|
||||||
+ }
|
|
||||||
+diff -r 545db1dd8c2a src/share/classes/java/io/ObjectInputStream.java
|
|
||||||
+--- openjdk-ecj/jdk/src/share/classes/java/io/ObjectInputStream.java Wed May 04 23:23:55 2016 +0100
|
|
||||||
++++ openjdk-ecj/jdk/src/share/classes/java/io/ObjectInputStream.java Thu May 12 01:30:54 2016 +0100
|
|
||||||
+@@ -3571,7 +3571,6 @@
|
|
||||||
+ }
|
|
||||||
+ static {
|
|
||||||
+ SharedSecrets.setJavaObjectInputStreamAccess(new JavaObjectInputStreamAccess() {
|
|
||||||
+- @Override
|
|
||||||
+ public void setValidator(ObjectInputStream ois, ObjectStreamClassValidator validator) {
|
|
||||||
+ ObjectInputStream.setValidator(ois, validator);
|
|
||||||
+ }
|
|
||||||
+diff -r 545db1dd8c2a src/share/classes/java/rmi/server/RemoteObjectInvocationHandler.java
|
|
||||||
+--- openjdk-ecj/jdk/src/share/classes/java/rmi/server/RemoteObjectInvocationHandler.java Wed May 04 23:23:55 2016 +0100
|
|
||||||
++++ openjdk-ecj/jdk/src/share/classes/java/rmi/server/RemoteObjectInvocationHandler.java Thu May 12 01:30:54 2016 +0100
|
|
||||||
+@@ -64,7 +64,6 @@
|
|
||||||
+ final String propName = "sun.rmi.server.invocationhandler.allowFinalizeInvocation";
|
|
||||||
+ String allowProp = java.security.AccessController.doPrivileged(
|
|
||||||
+ new PrivilegedAction<String>() {
|
|
||||||
+- @Override
|
|
||||||
+ public String run() {
|
|
||||||
+ return System.getProperty(propName);
|
|
||||||
+ }
|
|
||||||
+diff -r 545db1dd8c2a src/share/classes/sun/awt/image/SunVolatileImage.java
|
|
||||||
+--- openjdk-ecj/jdk/src/share/classes/sun/awt/image/SunVolatileImage.java Wed May 04 23:23:55 2016 +0100
|
|
||||||
++++ openjdk-ecj/jdk/src/share/classes/sun/awt/image/SunVolatileImage.java Thu May 12 01:30:54 2016 +0100
|
|
||||||
+@@ -262,7 +262,6 @@
|
|
||||||
+ *
|
|
||||||
+ * @see sun.java2d.DestSurfaceProvider#getDestSurface
|
|
||||||
+ */
|
|
||||||
+- @Override
|
|
||||||
+ public Surface getDestSurface() {
|
|
||||||
+ return volSurfaceManager.getPrimarySurfaceData();
|
|
||||||
+ }
|
|
||||||
+diff -r 545db1dd8c2a src/share/classes/sun/java2d/SunGraphics2D.java
|
|
||||||
+--- openjdk-ecj/jdk/src/share/classes/sun/java2d/SunGraphics2D.java Wed May 04 23:23:55 2016 +0100
|
|
||||||
++++ openjdk-ecj/jdk/src/share/classes/sun/java2d/SunGraphics2D.java Thu May 12 01:30:54 2016 +0100
|
|
||||||
+@@ -3294,7 +3294,6 @@
|
|
||||||
+ *
|
|
||||||
+ * @see sun.java2d.DestSurfaceProvider#getDestSurface
|
|
||||||
+ */
|
|
||||||
+- @Override
|
|
||||||
+ public Surface getDestSurface() {
|
|
||||||
+ return surfaceData;
|
|
||||||
+ }
|
|
||||||
+diff -r 545db1dd8c2a src/share/classes/sun/rmi/server/UnicastServerRef.java
|
|
||||||
+--- openjdk-ecj/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java Wed May 04 23:23:55 2016 +0100
|
|
||||||
++++ openjdk-ecj/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java Thu May 12 01:30:54 2016 +0100
|
|
||||||
+@@ -630,12 +630,10 @@
|
|
||||||
+ this.callID = callID;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+- @Override
|
|
||||||
+ public void validateDescriptor(ObjectStreamClass descriptor) {
|
|
||||||
+ descriptorCheck.check(method, descriptor, parameterIndex, callID);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+- @Override
|
|
||||||
+ public void checkProxyInterfaceNames(String[] ifaces) {
|
|
||||||
+ descriptorCheck.checkProxyClass(method, ifaces, parameterIndex, callID);
|
|
||||||
+ }
|
|
||||||
+diff -r 545db1dd8c2a src/share/classes/sun/rmi/transport/Transport.java
|
|
||||||
+--- openjdk-ecj/jdk/src/share/classes/sun/rmi/transport/Transport.java Wed May 04 23:23:55 2016 +0100
|
|
||||||
++++ openjdk-ecj/jdk/src/share/classes/sun/rmi/transport/Transport.java Thu May 12 01:30:54 2016 +0100
|
|
||||||
+@@ -133,7 +133,6 @@
|
|
||||||
+ */
|
|
||||||
+ private static void setContextClassLoader(final ClassLoader ccl) {
|
|
||||||
+ AccessController.doPrivileged(new PrivilegedAction<Void> () {
|
|
||||||
+- @Override
|
|
||||||
+ public Void run() {
|
|
||||||
+ Thread.currentThread().setContextClassLoader(ccl);
|
|
||||||
+ return null;
|
|
||||||
+diff -r 545db1dd8c2a src/share/classes/sun/rmi/transport/tcp/TCPTransport.java
|
|
||||||
+--- openjdk-ecj/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java Wed May 04 23:23:55 2016 +0100
|
|
||||||
++++ openjdk-ecj/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java Thu May 12 01:30:54 2016 +0100
|
|
||||||
+@@ -676,7 +676,6 @@
|
|
||||||
+ connectionCount.incrementAndGet() +
|
|
||||||
+ ")-" + remoteHost);
|
|
||||||
+ AccessController.doPrivileged(new PrivilegedAction<Void>() {
|
|
||||||
+- @Override
|
|
||||||
+ public Void run() {
|
|
||||||
+ run0();
|
|
||||||
+ return null;
|
|
||||||
+diff -r 545db1dd8c2a src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java
|
|
||||||
+--- openjdk-ecj/jdk/src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java Wed May 04 23:23:55 2016 +0100
|
|
||||||
++++ openjdk-ecj/jdk/src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java Thu May 12 01:30:54 2016 +0100
|
|
||||||
+@@ -92,7 +92,6 @@
|
|
||||||
+ return this;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+- @Override
|
|
||||||
+ public SurfaceData createManagedSurface(int w, int h, int transparency) {
|
|
||||||
+ return GLXSurfaceData.createData(this, w, h,
|
|
||||||
+ getColorModel(transparency),
|
|
||||||
+@@ -165,12 +164,10 @@
|
|
||||||
+ * Returns true if the provided capability bit is present for this config.
|
|
||||||
+ * See OGLContext.java for a list of supported capabilities.
|
|
||||||
+ */
|
|
||||||
+- @Override
|
|
||||||
+ public final boolean isCapPresent(int cap) {
|
|
||||||
+ return ((oglCaps.getCaps() & cap) != 0);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+- @Override
|
|
||||||
+ public final long getNativeConfigInfo() {
|
|
||||||
+ return pConfigInfo;
|
|
||||||
+ }
|
|
||||||
+@@ -180,7 +177,6 @@
|
|
||||||
+ *
|
|
||||||
+ * @see sun.java2d.pipe.hw.BufferedContextProvider#getContext
|
|
||||||
+ */
|
|
||||||
+- @Override
|
|
||||||
+ public final OGLContext getContext() {
|
|
||||||
+ return context;
|
|
||||||
+ }
|
|
||||||
+@@ -394,7 +390,6 @@
|
|
||||||
+ *
|
|
||||||
+ * @see sun.java2d.pipe.hw.AccelGraphicsConfig#createCompatibleVolatileImage
|
|
||||||
+ */
|
|
||||||
+- @Override
|
|
||||||
+ public VolatileImage
|
|
||||||
+ createCompatibleVolatileImage(int width, int height,
|
|
||||||
+ int transparency, int type)
|
|
||||||
+@@ -434,17 +429,14 @@
|
|
||||||
+ *
|
|
||||||
+ * @see sun.java2d.pipe.hw.AccelGraphicsConfig#getContextCapabilities
|
|
||||||
+ */
|
|
||||||
+- @Override
|
|
||||||
+ public ContextCapabilities getContextCapabilities() {
|
|
||||||
+ return oglCaps;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+- @Override
|
|
||||||
+ public void addDeviceEventListener(AccelDeviceEventListener l) {
|
|
||||||
+ AccelDeviceEventNotifier.addListener(l, screen.getScreen());
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+- @Override
|
|
||||||
+ public void removeDeviceEventListener(AccelDeviceEventListener l) {
|
|
||||||
+ AccelDeviceEventNotifier.removeListener(l);
|
|
||||||
+ }
|
|
||||||
+diff -r 545db1dd8c2a src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java
|
|
||||||
+--- openjdk-ecj/jdk/src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java Wed May 04 23:23:55 2016 +0100
|
|
||||||
++++ openjdk-ecj/jdk/src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java Thu May 12 01:51:42 2016 +0100
|
|
||||||
+@@ -236,7 +236,6 @@
|
|
||||||
+ final MBeanInstantiator fInstantiator = instantiator;
|
|
||||||
+ this.secureClr = new
|
|
||||||
+ SecureClassLoaderRepository(AccessController.doPrivileged(new PrivilegedAction<ClassLoaderRepository>() {
|
|
||||||
+- @Override
|
|
||||||
+ public ClassLoaderRepository run() {
|
|
||||||
+ return fInstantiator.getClassLoaderRepository();
|
|
||||||
+ }
|
|
||||||
+@@ -1257,7 +1256,6 @@
|
|
||||||
+ ClassLoader myLoader = outerShell.getClass().getClassLoader();
|
|
||||||
+ final ModifiableClassLoaderRepository loaders = AccessController.doPrivileged(new PrivilegedAction<ModifiableClassLoaderRepository>() {
|
|
||||||
+
|
|
||||||
+- @Override
|
|
||||||
+ public ModifiableClassLoaderRepository run() {
|
|
||||||
+ return instantiator.getClassLoaderRepository();
|
|
||||||
+ }
|
|
||||||
+diff -r b72e7b89dda9 src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java
|
|
||||||
+--- openjdk-ecj/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java Thu Sep 08 11:00:33 2011 -0700
|
|
||||||
++++ openjdk-ecj/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java Thu May 12 16:39:37 2016 +0100
|
|
||||||
+@@ -227,17 +227,14 @@
|
|
||||||
+ allowedTypes = credentialsTypes;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+- @Override
|
|
||||||
+ public String getVersion() throws RemoteException {
|
|
||||||
+ return impl.getVersion();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+- @Override
|
|
||||||
+ public RMIConnection newClient(Object credentials) throws IOException {
|
|
||||||
+ return impl.newClient(credentials);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+- @Override
|
|
||||||
+ public void check(Method method, ObjectStreamClass descriptor,
|
|
||||||
+ int paramIndex, int callID) {
|
|
||||||
+
|
|
||||||
+@@ -247,7 +244,6 @@
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+- @Override
|
|
||||||
+ public void checkProxyClass(Method method, String[] ifaces,
|
|
||||||
+ int paramIndex, int callID) {
|
|
||||||
+ if (ifaces != null && ifaces.length > 0) {
|
|
||||||
+@@ -259,7 +255,6 @@
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+- @Override
|
|
||||||
+ public void end(int callID) {
|
|
||||||
+ /* Do nothing */
|
|
||||||
+ }
|
|
||||||
diff -r c23ceebb80a1 -r 60be25a84f2d patches/openjdk/8014205-blank_swing_dialogs_windows.patch
|
|
||||||
--- a/patches/openjdk/8014205-blank_swing_dialogs_windows.patch Sun May 08 21:28:21 2016 +0100
|
|
||||||
+++ b/patches/openjdk/8014205-blank_swing_dialogs_windows.patch Fri May 13 14:02:18 2016 +0100
|
|
||||||
@@ -116,7 +116,7 @@
|
|
||||||
{
|
|
||||||
if (numBands == 3 && !ccm.hasAlpha()) {
|
|
||||||
imageType = TYPE_3BYTE_BGR;
|
|
||||||
-@@ -804,6 +801,27 @@
|
|
||||||
+@@ -804,6 +801,26 @@
|
|
||||||
} // else if ((raster instanceof ByteComponentRaster) &&
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -129,7 +129,6 @@
|
|
||||||
+ new PrivilegedAction<Boolean>()
|
|
||||||
+ {
|
|
||||||
+
|
|
||||||
-+ @Override
|
|
||||||
+ public Boolean run() {
|
|
||||||
+ final ClassLoader std = System.class.getClassLoader();
|
|
||||||
+
|
|
||||||
|
|
|
@ -2861,6 +2861,7 @@ and is very extensible.")
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"https://github.com/scikit-learn/scikit-learn/archive/"
|
"https://github.com/scikit-learn/scikit-learn/archive/"
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"140skabifgc7lvvj873pnzlwx0ni6q8qkrsyad2ccjb3h8rxzkih"))))
|
"140skabifgc7lvvj873pnzlwx0ni6q8qkrsyad2ccjb3h8rxzkih"))))
|
||||||
|
@ -2893,18 +2894,11 @@ and is very extensible.")
|
||||||
(description
|
(description
|
||||||
"Scikit-learn provides simple and efficient tools for data
|
"Scikit-learn provides simple and efficient tools for data
|
||||||
mining and data analysis.")
|
mining and data analysis.")
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)
|
||||||
|
(properties `((python2-variant . ,(delay python2-scikit-learn))))))
|
||||||
|
|
||||||
(define-public python2-scikit-learn
|
(define-public python2-scikit-learn
|
||||||
(let ((scikit (package-with-python2 python-scikit-learn)))
|
(package-with-python2 (strip-python2-variant python-scikit-learn)))
|
||||||
(package (inherit scikit)
|
|
||||||
(propagated-inputs
|
|
||||||
`(("python2-numpy" ,python2-numpy)
|
|
||||||
("python2-scipy" ,python2-scipy)
|
|
||||||
,@(alist-delete
|
|
||||||
"python-numpy"
|
|
||||||
(alist-delete
|
|
||||||
"python-scipy" (package-propagated-inputs scikit))))))))
|
|
||||||
|
|
||||||
(define-public python-scikit-image
|
(define-public python-scikit-image
|
||||||
(package
|
(package
|
||||||
|
@ -2933,21 +2927,19 @@ mining and data analysis.")
|
||||||
(synopsis "Image processing in Python")
|
(synopsis "Image processing in Python")
|
||||||
(description
|
(description
|
||||||
"Scikit-image is a collection of algorithms for image processing.")
|
"Scikit-image is a collection of algorithms for image processing.")
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)
|
||||||
|
(properties `((python2-variant . ,(delay python2-scikit-image))))))
|
||||||
|
|
||||||
(define-public python2-scikit-image
|
(define-public python2-scikit-image
|
||||||
(let ((scikit-image (package-with-python2 python-scikit-image)))
|
(let ((scikit-image (package-with-python2
|
||||||
|
(strip-python2-variant python-scikit-image))))
|
||||||
(package (inherit scikit-image)
|
(package (inherit scikit-image)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python2-mock" ,python2-mock)
|
`(("python2-mock" ,python2-mock)
|
||||||
,@(package-native-inputs scikit-image)))
|
,@(package-native-inputs scikit-image)))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python2-pytz" ,python2-pytz)
|
`(("python2-pytz" ,python2-pytz)
|
||||||
("python2-matplotlib" ,python2-matplotlib)
|
,@(package-propagated-inputs scikit-image))))))
|
||||||
("python2-numpy" ,python2-numpy)
|
|
||||||
("python2-scipy" ,python2-scipy)
|
|
||||||
,@(fold alist-delete (package-propagated-inputs scikit-image)
|
|
||||||
'("python-matplotlib" "python-numpy" "python-scipy")))))))
|
|
||||||
|
|
||||||
(define-public python-redis
|
(define-public python-redis
|
||||||
(package
|
(package
|
||||||
|
@ -3319,17 +3311,11 @@ doing the same calculation in Python. In addition, its multi-threaded
|
||||||
capabilities can make use of all your cores, which may accelerate
|
capabilities can make use of all your cores, which may accelerate
|
||||||
computations, most specially if they are not memory-bounded (e.g. those using
|
computations, most specially if they are not memory-bounded (e.g. those using
|
||||||
transcendental functions).")
|
transcendental functions).")
|
||||||
(license license:expat)))
|
(license license:expat)
|
||||||
|
(properties `((python2-variant . ,(delay python2-numexpr))))))
|
||||||
|
|
||||||
(define-public python2-numexpr
|
(define-public python2-numexpr
|
||||||
(let ((numexpr (package-with-python2 python-numexpr)))
|
(package-with-python2 (strip-python2-variant python-numexpr)))
|
||||||
(package (inherit numexpr)
|
|
||||||
;; Make sure to use special packages for Python 2 instead
|
|
||||||
;; of those automatically rewritten by package-with-python2.
|
|
||||||
(propagated-inputs
|
|
||||||
`(("python2-numpy" ,python2-numpy)
|
|
||||||
,@(alist-delete "python-numpy"
|
|
||||||
(package-propagated-inputs numexpr)))))))
|
|
||||||
|
|
||||||
(define-public python-matplotlib
|
(define-public python-matplotlib
|
||||||
(package
|
(package
|
||||||
|
@ -4409,29 +4395,20 @@ without using the configuration machinery.")
|
||||||
Powerful interactive shells, a browser-based notebook, support for interactive
|
Powerful interactive shells, a browser-based notebook, support for interactive
|
||||||
data visualization, embeddable interpreters and tools for parallel
|
data visualization, embeddable interpreters and tools for parallel
|
||||||
computing.")
|
computing.")
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)
|
||||||
|
(properties `((python2-variant . ,(delay python2-ipython))))))
|
||||||
|
|
||||||
(define-public python2-ipython
|
(define-public python2-ipython
|
||||||
(let ((ipython (package-with-python2 python-ipython)))
|
(let ((ipython (package-with-python2 (strip-python2-variant python-ipython))))
|
||||||
(package
|
(package
|
||||||
(inherit ipython)
|
(inherit ipython)
|
||||||
;; FIXME: some tests are failing
|
;; FIXME: some tests are failing
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f ,@(package-arguments ipython)))
|
`(#:tests? #f ,@(package-arguments ipython)))
|
||||||
;; Make sure we use custom python2-NAME packages.
|
|
||||||
;; FIXME: add pyreadline once available.
|
;; FIXME: add pyreadline once available.
|
||||||
(propagated-inputs
|
|
||||||
`(("python2-terminado" ,python2-terminado)
|
|
||||||
,@(alist-delete "python-terminado"
|
|
||||||
(package-propagated-inputs ipython))))
|
|
||||||
(inputs
|
(inputs
|
||||||
`(("python2-jsonschema" ,python2-jsonschema)
|
`(("python2-mock" ,python2-mock)
|
||||||
("python2-mock" ,python2-mock)
|
,@(package-inputs ipython))))))
|
||||||
("python2-matplotlib" ,python2-matplotlib)
|
|
||||||
("python2-numpy" ,python2-numpy)
|
|
||||||
("python2-requests" ,python2-requests)
|
|
||||||
,@(fold alist-delete (package-inputs ipython)
|
|
||||||
'("python-jsonschema" "python-matplotlib" "python-numpy" "python-requests")))))))
|
|
||||||
|
|
||||||
(define-public python-isodate
|
(define-public python-isodate
|
||||||
(package
|
(package
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
(define-module (gnu packages qt)
|
(define-module (gnu packages qt)
|
||||||
#:use-module ((guix licenses) #:select (bsd-3 gpl2 gpl3 lgpl2.1 lgpl2.1+ lgpl3 x11-style))
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module (guix build utils)
|
#:use-module (guix build utils)
|
||||||
|
@ -206,7 +206,7 @@
|
||||||
(synopsis "Cross-platform GUI library")
|
(synopsis "Cross-platform GUI library")
|
||||||
(description "Qt is a cross-platform application and UI framework for
|
(description "Qt is a cross-platform application and UI framework for
|
||||||
developers using C++ or QML, a CSS & JavaScript like language.")
|
developers using C++ or QML, a CSS & JavaScript like language.")
|
||||||
(license lgpl2.1)
|
(license license:lgpl2.1)
|
||||||
|
|
||||||
;; Qt 4: 'QBasicAtomicPointer' leads to build failures on MIPS;
|
;; Qt 4: 'QBasicAtomicPointer' leads to build failures on MIPS;
|
||||||
;; see <http://hydra.gnu.org/build/112828>.
|
;; see <http://hydra.gnu.org/build/112828>.
|
||||||
|
@ -474,12 +474,24 @@ developers using C++ or QML, a CSS & JavaScript like language.")
|
||||||
(native-search-paths
|
(native-search-paths
|
||||||
(list (search-path-specification
|
(list (search-path-specification
|
||||||
(variable "QMAKEPATH")
|
(variable "QMAKEPATH")
|
||||||
(files '("")))))
|
(files '("")))
|
||||||
|
(search-path-specification
|
||||||
|
(variable "QML2_IMPORT_PATH")
|
||||||
|
(files '("qml")))
|
||||||
|
(search-path-specification
|
||||||
|
(variable "QT_PLUGIN_PATH")
|
||||||
|
(files '("plugins")))
|
||||||
|
(search-path-specification
|
||||||
|
(variable "XDG_DATA_DIRS")
|
||||||
|
(files '("share")))
|
||||||
|
(search-path-specification
|
||||||
|
(variable "XDG_CONFIG_DIRS")
|
||||||
|
(files '("etc/xdg")))))
|
||||||
(home-page "https://www.qt.io/")
|
(home-page "https://www.qt.io/")
|
||||||
(synopsis "Cross-platform GUI library")
|
(synopsis "Cross-platform GUI library")
|
||||||
(description "Qt is a cross-platform application and UI framework for
|
(description "Qt is a cross-platform application and UI framework for
|
||||||
developers using C++ or QML, a CSS & JavaScript like language.")
|
developers using C++ or QML, a CSS & JavaScript like language.")
|
||||||
(license (list lgpl2.1 lgpl3))))
|
(license (list license:lgpl2.1 license:lgpl3))))
|
||||||
|
|
||||||
(define-public qtsvg
|
(define-public qtsvg
|
||||||
(package (inherit qtbase)
|
(package (inherit qtbase)
|
||||||
|
@ -908,7 +920,7 @@ is then compiled to create the bindings extension module. The SIP Python
|
||||||
module provides support functions to the automatically generated code.")
|
module provides support functions to the automatically generated code.")
|
||||||
;; There is a choice between a python like license, gpl2 and gpl3.
|
;; There is a choice between a python like license, gpl2 and gpl3.
|
||||||
;; For compatibility with pyqt, we need gpl3.
|
;; For compatibility with pyqt, we need gpl3.
|
||||||
(license gpl3)))
|
(license license:gpl3)))
|
||||||
|
|
||||||
(define-public python2-sip
|
(define-public python2-sip
|
||||||
(package (inherit python-sip)
|
(package (inherit python-sip)
|
||||||
|
@ -973,7 +985,7 @@ module provides support functions to the automatically generated code.")
|
||||||
"PyQt is a set of Python v2 and v3 bindings for the Qt application
|
"PyQt is a set of Python v2 and v3 bindings for the Qt application
|
||||||
framework. The bindings are implemented as a set of Python modules and
|
framework. The bindings are implemented as a set of Python modules and
|
||||||
contain over 620 classes.")
|
contain over 620 classes.")
|
||||||
(license gpl3)))
|
(license license:gpl3)))
|
||||||
|
|
||||||
(define-public python2-pyqt
|
(define-public python2-pyqt
|
||||||
(package (inherit python-pyqt)
|
(package (inherit python-pyqt)
|
||||||
|
@ -1055,7 +1067,7 @@ contain over 620 classes.")
|
||||||
"--destdir" lib
|
"--destdir" lib
|
||||||
"--sipdir" sip))))
|
"--sipdir" sip))))
|
||||||
%standard-phases)))
|
%standard-phases)))
|
||||||
(license (list gpl2 gpl3)))) ; choice of either license
|
(license (list license:gpl2 license:gpl3)))) ; choice of either license
|
||||||
|
|
||||||
(define-public qtkeychain
|
(define-public qtkeychain
|
||||||
(package
|
(package
|
||||||
|
@ -1089,4 +1101,4 @@ contain over 620 classes.")
|
||||||
(description
|
(description
|
||||||
"QtKeychain is a Qt library to store passwords and other secret data
|
"QtKeychain is a Qt library to store passwords and other secret data
|
||||||
securely. It will not store any data unencrypted unless explicitly requested.")
|
securely. It will not store any data unencrypted unless explicitly requested.")
|
||||||
(license bsd-3)))
|
(license license:bsd-3)))
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||||
|
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||||
|
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -18,14 +20,23 @@
|
||||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
(define-module (gnu packages smalltalk)
|
(define-module (gnu packages smalltalk)
|
||||||
#:use-module (guix licenses)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
|
#:use-module (gnu packages audio)
|
||||||
#:use-module (gnu packages autotools)
|
#:use-module (gnu packages autotools)
|
||||||
|
#:use-module (gnu packages base)
|
||||||
|
#:use-module (gnu packages fontutils)
|
||||||
|
#:use-module (gnu packages gl)
|
||||||
|
#:use-module (gnu packages glib)
|
||||||
#:use-module (gnu packages libffi)
|
#:use-module (gnu packages libffi)
|
||||||
#:use-module (gnu packages libsigsegv)
|
#:use-module (gnu packages libsigsegv)
|
||||||
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
|
#:use-module (gnu packages pulseaudio)
|
||||||
|
#:use-module (gnu packages xorg)
|
||||||
#:use-module (gnu packages zip))
|
#:use-module (gnu packages zip))
|
||||||
|
|
||||||
(define-public smalltalk
|
(define-public smalltalk
|
||||||
|
@ -63,4 +74,76 @@
|
||||||
"GNU Smalltalk is a free implementation of the Smalltalk language. It
|
"GNU Smalltalk is a free implementation of the Smalltalk language. It
|
||||||
implements the ANSI standard for the language and also includes extra classes
|
implements the ANSI standard for the language and also includes extra classes
|
||||||
such as ones for networking and GUI programming.")
|
such as ones for networking and GUI programming.")
|
||||||
(license gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
(define-public squeak-vm
|
||||||
|
(package
|
||||||
|
(name "squeak-vm")
|
||||||
|
(version "4.10.2.2614")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "http://www.squeakvm.org/unix/release/"
|
||||||
|
"Squeak-" version "-src.tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0bpwbnpy2sb4gylchfx50sha70z36bwgdxraym4vrr93l8pd3dix"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(snippet
|
||||||
|
;; Make builds bit-reproducible.
|
||||||
|
'(begin
|
||||||
|
(substitute* "unix/cmake/verstamp"
|
||||||
|
(("vm_date=.*")
|
||||||
|
"vm_date = \"1970-01-01\";\n")
|
||||||
|
(("ux_version=.*")
|
||||||
|
"ux_version = \"GNU\";\n"))
|
||||||
|
(substitute* "unix/vm/config.cmake"
|
||||||
|
(("\\(VM_BUILD_STRING.*")
|
||||||
|
"(VM_BUILD_STRING \\\"Built with GNU Guix\\\")"))))))
|
||||||
|
(inputs
|
||||||
|
`(("alsa-lib" ,alsa-lib)
|
||||||
|
("dbus" ,dbus)
|
||||||
|
("freetype" ,freetype)
|
||||||
|
("libffi" ,libffi)
|
||||||
|
("libxrender" ,libxrender)
|
||||||
|
("mesa" ,mesa)
|
||||||
|
("pulseaudio" ,pulseaudio)))
|
||||||
|
(native-inputs
|
||||||
|
`(("pkg-config" ,pkg-config)))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:tests? #f ;no check target
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'remove-hardcoded-PATH
|
||||||
|
(lambda _
|
||||||
|
;; Remove hard-coded FHS PATH entries.
|
||||||
|
(substitute* '("unix/cmake/squeak.in"
|
||||||
|
"unix/cmake/squeak.sh.in")
|
||||||
|
(("^PATH=.*") ""))
|
||||||
|
#t))
|
||||||
|
(add-after 'unpack 'create-build-dir
|
||||||
|
(lambda _
|
||||||
|
(mkdir "bld")
|
||||||
|
#t))
|
||||||
|
(replace 'configure
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let ((out (assoc-ref outputs "out")))
|
||||||
|
(with-directory-excursion "bld"
|
||||||
|
(zero?
|
||||||
|
(system* "../unix/cmake/configure"
|
||||||
|
(string-append "--prefix=" out)
|
||||||
|
"--without-quartz"))))))
|
||||||
|
(replace 'build
|
||||||
|
(lambda _
|
||||||
|
(with-directory-excursion "bld"
|
||||||
|
(zero? (system* "make"))))))))
|
||||||
|
(synopsis "Smalltalk programming language and environment")
|
||||||
|
(description "Squeak is a full-featured implementation of the Smalltalk
|
||||||
|
programming language and environment based on (and largely compatible with)
|
||||||
|
the original Smalltalk-80 system. Squeak has very powerful 2- and 3-D
|
||||||
|
graphics, sound, video, MIDI, animation and other multimedia capabilities. It
|
||||||
|
also includes a customisable framework for creating dynamic HTTP servers and
|
||||||
|
interactively extensible Web sites.")
|
||||||
|
(home-page "http://www.squeakvm.org")
|
||||||
|
(license license:x11)))
|
||||||
|
|
|
@ -0,0 +1,139 @@
|
||||||
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
|
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
|
||||||
|
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||||
|
;;;
|
||||||
|
;;; 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 u-boot)
|
||||||
|
#:use-module (guix build-system gnu)
|
||||||
|
#:use-module (guix download)
|
||||||
|
#:use-module (guix packages)
|
||||||
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
|
#:use-module (gnu packages)
|
||||||
|
#:use-module ((gnu packages algebra) #:select (bc))
|
||||||
|
#:use-module (gnu packages bison)
|
||||||
|
#:use-module (gnu packages cross-base)
|
||||||
|
#:use-module (gnu packages flex)
|
||||||
|
#:use-module (gnu packages python))
|
||||||
|
|
||||||
|
(define-public dtc
|
||||||
|
(package
|
||||||
|
(name "dtc")
|
||||||
|
(version "1.4.1")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://www.kernel.org/pub/software/utils/dtc/"
|
||||||
|
"dtc-" version ".tar.xz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"155v52palf5fwfcnq696s41whjk0a5dqx98b7maqzdn7xbc2m6bp"))
|
||||||
|
(patches
|
||||||
|
(search-patches "dtc-add-missing-symbols-to-lds.patch"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(native-inputs
|
||||||
|
`(("bison" ,bison)
|
||||||
|
("flex" ,flex)))
|
||||||
|
(arguments
|
||||||
|
`(#:make-flags
|
||||||
|
(list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'patch-paths
|
||||||
|
(lambda _
|
||||||
|
(substitute* "Makefile"
|
||||||
|
(("/usr/bin/install") "install"))
|
||||||
|
(substitute* "Makefile"
|
||||||
|
(("PREFIX = \\$\\(HOME\\)") ""))))
|
||||||
|
(delete 'configure))))
|
||||||
|
(home-page "https://www.devicetree.org")
|
||||||
|
(synopsis "Compiles device tree source files")
|
||||||
|
(description "@command{dtc} compiles device tree source files to device
|
||||||
|
tree binary files. These are board description files used by Linux and BSD.")
|
||||||
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
(define u-boot
|
||||||
|
(package
|
||||||
|
(name "u-boot")
|
||||||
|
(version "2016.07")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"ftp://ftp.denx.de/pub/u-boot/"
|
||||||
|
"u-boot-" version ".tar.bz2"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0lqj4ckmfqiap8mc6z2d5albs3g2h5mzccbn60hsgxhabhibfkwp"))))
|
||||||
|
(native-inputs
|
||||||
|
`(("bc" ,bc)
|
||||||
|
("dtc" ,dtc)
|
||||||
|
("python-2" ,python-2)))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(home-page "http://www.denx.de/wiki/U-Boot/")
|
||||||
|
(synopsis "ARM bootloader")
|
||||||
|
(description "U-Boot is a bootloader used mostly for ARM boards. It
|
||||||
|
also initializes the boards (RAM etc).")
|
||||||
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
(define (make-u-boot-package board triplet)
|
||||||
|
"Returns a u-boot package for BOARD cross-compiled for TRIPLET."
|
||||||
|
(package
|
||||||
|
(inherit u-boot)
|
||||||
|
(name (string-append "u-boot-" (string-downcase board)))
|
||||||
|
(native-inputs
|
||||||
|
`(("cross-gcc" ,(cross-gcc triplet))
|
||||||
|
("cross-binutils" ,(cross-binutils triplet))
|
||||||
|
,@(package-native-inputs u-boot)))
|
||||||
|
(arguments
|
||||||
|
`(#:test-target "test"
|
||||||
|
#:make-flags
|
||||||
|
(list "HOSTCC=gcc" (string-append "CROSS_COMPILE=" ,triplet "-"))
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(replace 'configure
|
||||||
|
(lambda* (#:key outputs make-flags #:allow-other-keys)
|
||||||
|
(let ((config-name (string-append ,board "_defconfig")))
|
||||||
|
(if (file-exists? (string-append "configs/" config-name))
|
||||||
|
(zero? (apply system* "make" `(,@make-flags ,config-name)))
|
||||||
|
(begin
|
||||||
|
(display "Invalid board name. Valid board names are:")
|
||||||
|
(let ((dir (opendir "configs"))
|
||||||
|
(suffix-length (string-length "_defconfig")))
|
||||||
|
(do ((file-name (readdir dir) (readdir dir)))
|
||||||
|
((eof-object? file-name))
|
||||||
|
(when (string-suffix? "_defconfig" file-name)
|
||||||
|
(format #t "- ~A\n"
|
||||||
|
(string-drop-right file-name suffix-length))))
|
||||||
|
(closedir dir))
|
||||||
|
#f)))))
|
||||||
|
(replace 'install
|
||||||
|
(lambda* (#:key outputs make-flags #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(libexec (string-append out "/libexec"))
|
||||||
|
(uboot-files (find-files "." ".*\\.(bin|efi|spl)$")))
|
||||||
|
(mkdir-p libexec)
|
||||||
|
(for-each
|
||||||
|
(lambda (file)
|
||||||
|
(let ((target-file (string-append libexec "/" file)))
|
||||||
|
(mkdir-p (dirname target-file))
|
||||||
|
(copy-file file target-file)))
|
||||||
|
uboot-files)))))))))
|
||||||
|
|
||||||
|
(define-public u-boot-vexpress_ca9x4
|
||||||
|
(make-u-boot-package "vexpress_ca9x4" "arm-linux-gnueabihf"))
|
||||||
|
|
||||||
|
(define-public u-boot-malta
|
||||||
|
(make-u-boot-package "malta" "mips64el-linux-gnuabi64"))
|
|
@ -10,6 +10,7 @@
|
||||||
;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
|
;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
|
||||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||||
|
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -27,10 +28,7 @@
|
||||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
(define-module (gnu packages version-control)
|
(define-module (gnu packages version-control)
|
||||||
#:use-module ((guix licenses)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:select (asl2.0 bsd-2 bsd-3
|
|
||||||
gpl1+ gpl2 gpl2+ gpl3+ lgpl2.1
|
|
||||||
public-domain x11-style))
|
|
||||||
#:use-module (guix utils)
|
#:use-module (guix utils)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
@ -108,7 +106,7 @@
|
||||||
"GNU Bazaar is a version control system that allows you to record
|
"GNU Bazaar is a version control system that allows you to record
|
||||||
changes to project files over time. It supports both a distributed workflow
|
changes to project files over time. It supports both a distributed workflow
|
||||||
as well as the classic centralized workflow.")
|
as well as the classic centralized workflow.")
|
||||||
(license gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
(define-public git
|
(define-public git
|
||||||
(package
|
(package
|
||||||
|
@ -292,7 +290,7 @@ as well as the classic centralized workflow.")
|
||||||
(description
|
(description
|
||||||
"Git is a free distributed version control system designed to handle
|
"Git is a free distributed version control system designed to handle
|
||||||
everything from small to very large projects with speed and efficiency.")
|
everything from small to very large projects with speed and efficiency.")
|
||||||
(license gpl2)
|
(license license:gpl2)
|
||||||
(home-page "http://git-scm.com/")))
|
(home-page "http://git-scm.com/")))
|
||||||
|
|
||||||
(define-public libgit2
|
(define-public libgit2
|
||||||
|
@ -336,7 +334,7 @@ everything from small to very large projects with speed and efficiency.")
|
||||||
provided as a re-entrant linkable library with a solid API, allowing you to
|
provided as a re-entrant linkable library with a solid API, allowing you to
|
||||||
write native speed custom Git applications in any language with bindings.")
|
write native speed custom Git applications in any language with bindings.")
|
||||||
;; GPLv2 with linking exception
|
;; GPLv2 with linking exception
|
||||||
(license gpl2)))
|
(license license:gpl2)))
|
||||||
|
|
||||||
(define-public cgit
|
(define-public cgit
|
||||||
(package
|
(package
|
||||||
|
@ -397,7 +395,7 @@ write native speed custom Git applications in any language with bindings.")
|
||||||
(description
|
(description
|
||||||
"CGit is an attempt to create a fast web interface for the Git SCM, using
|
"CGit is an attempt to create a fast web interface for the Git SCM, using
|
||||||
a built-in cache to decrease server I/O pressure.")
|
a built-in cache to decrease server I/O pressure.")
|
||||||
(license gpl2)))
|
(license license:gpl2)))
|
||||||
|
|
||||||
(define-public shflags
|
(define-public shflags
|
||||||
(package
|
(package
|
||||||
|
@ -441,7 +439,7 @@ different versions of getopt on various OSes make writing portable shell
|
||||||
scripts difficult. shFlags instead provides an API that doesn't change across
|
scripts difficult. shFlags instead provides an API that doesn't change across
|
||||||
shell and OS versions so the script writer can be confident that the script
|
shell and OS versions so the script writer can be confident that the script
|
||||||
will work.")
|
will work.")
|
||||||
(license lgpl2.1)))
|
(license license:lgpl2.1)))
|
||||||
|
|
||||||
(define-public git-flow
|
(define-public git-flow
|
||||||
(package
|
(package
|
||||||
|
@ -484,7 +482,7 @@ management strategy that helps developers keep track of features, hotfixes,
|
||||||
and releases in bigger software projects. The git-flow library of git
|
and releases in bigger software projects. The git-flow library of git
|
||||||
subcommands helps automate some parts of the flow to make working with it a
|
subcommands helps automate some parts of the flow to make working with it a
|
||||||
lot easier.")
|
lot easier.")
|
||||||
(license bsd-2)))
|
(license license:bsd-2)))
|
||||||
|
|
||||||
(define-public git-test-sequence
|
(define-public git-test-sequence
|
||||||
(let ((commit "48e5a2f5a13a5f30452647237e23362b459b9c76"))
|
(let ((commit "48e5a2f5a13a5f30452647237e23362b459b9c76"))
|
||||||
|
@ -519,7 +517,7 @@ lot easier.")
|
||||||
"git-test-sequence is similar to an automated git bisect except it’s
|
"git-test-sequence is similar to an automated git bisect except it’s
|
||||||
linear. It will test every change between two points in the DAG. It will
|
linear. It will test every change between two points in the DAG. It will
|
||||||
also walk each side of a merge and test those changes individually.")
|
also walk each side of a merge and test those changes individually.")
|
||||||
(license (x11-style "file://LICENSE")))))
|
(license (license:x11-style "file://LICENSE")))))
|
||||||
|
|
||||||
(define-public gitolite
|
(define-public gitolite
|
||||||
(package
|
(package
|
||||||
|
@ -575,7 +573,7 @@ also walk each side of a merge and test those changes individually.")
|
||||||
(description
|
(description
|
||||||
"Gitolite is an access control layer on top of Git, providing fine access
|
"Gitolite is an access control layer on top of Git, providing fine access
|
||||||
control to Git repositories.")
|
control to Git repositories.")
|
||||||
(license gpl2)))
|
(license license:gpl2)))
|
||||||
|
|
||||||
(define-public mercurial
|
(define-public mercurial
|
||||||
(package
|
(package
|
||||||
|
@ -602,7 +600,7 @@ control to Git repositories.")
|
||||||
"Mercurial is a free, distributed source control management tool.
|
"Mercurial is a free, distributed source control management tool.
|
||||||
It efficiently handles projects of any size
|
It efficiently handles projects of any size
|
||||||
and offers an easy and intuitive interface.")
|
and offers an easy and intuitive interface.")
|
||||||
(license gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
(define-public neon
|
(define-public neon
|
||||||
(package
|
(package
|
||||||
|
@ -650,7 +648,7 @@ abstract interface to parsing XML using libxml2 or expat, and wrappers for
|
||||||
simplifying handling XML HTTP response bodies;
|
simplifying handling XML HTTP response bodies;
|
||||||
WebDAV metadata support, wrappers for PROPFIND and PROPPATCH to simplify
|
WebDAV metadata support, wrappers for PROPFIND and PROPPATCH to simplify
|
||||||
property manipulation.")
|
property manipulation.")
|
||||||
(license gpl2+))) ; for documentation and tests; source under lgpl2.0+
|
(license license:gpl2+))) ; for documentation and tests; source under lgpl2.0+
|
||||||
|
|
||||||
(define-public subversion
|
(define-public subversion
|
||||||
(package
|
(package
|
||||||
|
@ -717,7 +715,7 @@ centralized version control system characterized by its
|
||||||
reliability as a safe haven for valuable data; the simplicity of its model and
|
reliability as a safe haven for valuable data; the simplicity of its model and
|
||||||
usage; and its ability to support the needs of a wide variety of users and
|
usage; and its ability to support the needs of a wide variety of users and
|
||||||
projects, from individuals to large-scale enterprise operations.")
|
projects, from individuals to large-scale enterprise operations.")
|
||||||
(license asl2.0)))
|
(license license:asl2.0)))
|
||||||
|
|
||||||
(define-public rcs
|
(define-public rcs
|
||||||
(package
|
(package
|
||||||
|
@ -740,7 +738,7 @@ file-by-file basis, in contrast to subsequent version control systems such as
|
||||||
CVS, Subversion, and Git. This can make it suitable for system
|
CVS, Subversion, and Git. This can make it suitable for system
|
||||||
administration files, for example, which are often inherently local to one
|
administration files, for example, which are often inherently local to one
|
||||||
machine.")
|
machine.")
|
||||||
(license gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public cvs
|
(define-public cvs
|
||||||
(package
|
(package
|
||||||
|
@ -768,7 +766,7 @@ machine.")
|
||||||
Configuration Management (SCM). Using it, you can record the history of
|
Configuration Management (SCM). Using it, you can record the history of
|
||||||
sources files, and documents. It fills a similar role to the free software
|
sources files, and documents. It fills a similar role to the free software
|
||||||
RCS, PRCS, and Aegis packages.")
|
RCS, PRCS, and Aegis packages.")
|
||||||
(license gpl1+)))
|
(license license:gpl1+)))
|
||||||
|
|
||||||
(define-public cvs-fast-export
|
(define-public cvs-fast-export
|
||||||
(package
|
(package
|
||||||
|
@ -807,7 +805,7 @@ The program can also produce a visualization of the resulting commit directed
|
||||||
acyclic graph (DAG) in the input format of @uref{http://www.graphviz.org,
|
acyclic graph (DAG) in the input format of @uref{http://www.graphviz.org,
|
||||||
Graphviz}. The package also includes @command{cvssync}, a tool for mirroring
|
Graphviz}. The package also includes @command{cvssync}, a tool for mirroring
|
||||||
masters from remote CVS hosts.")
|
masters from remote CVS hosts.")
|
||||||
(license gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
(define-public vc-dwim
|
(define-public vc-dwim
|
||||||
(package
|
(package
|
||||||
|
@ -833,7 +831,7 @@ using version control at the same time, for example by printing a reminder
|
||||||
when a file change has been described in the ChangeLog but the file has not
|
when a file change has been described in the ChangeLog but the file has not
|
||||||
been added to the VC. vc-chlog scans changed files and generates
|
been added to the VC. vc-chlog scans changed files and generates
|
||||||
standards-compliant ChangeLog entries based on the changes that it detects.")
|
standards-compliant ChangeLog entries based on the changes that it detects.")
|
||||||
(license gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public diffstat
|
(define-public diffstat
|
||||||
(package
|
(package
|
||||||
|
@ -854,7 +852,7 @@ standards-compliant ChangeLog entries based on the changes that it detects.")
|
||||||
"Diffstat reads the output of 'diff' and displays a histogram of the
|
"Diffstat reads the output of 'diff' and displays a histogram of the
|
||||||
insertions, deletions, and modifications per-file. It is useful for reviewing
|
insertions, deletions, and modifications per-file. It is useful for reviewing
|
||||||
large, complex patch files.")
|
large, complex patch files.")
|
||||||
(license (x11-style "file://COPYING"))))
|
(license (license:x11-style "file://COPYING"))))
|
||||||
|
|
||||||
(define-public cssc
|
(define-public cssc
|
||||||
(package
|
(package
|
||||||
|
@ -896,7 +894,7 @@ large, complex patch files.")
|
||||||
(description "GNU CSSC provides a replacement for the legacy Unix source
|
(description "GNU CSSC provides a replacement for the legacy Unix source
|
||||||
code control system SCCS. This allows old code still under that system to be
|
code control system SCCS. This allows old code still under that system to be
|
||||||
accessed and migrated on modern systems.")
|
accessed and migrated on modern systems.")
|
||||||
(license gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
;; This package can unfortunately work only in -TEST mode, since Aegis
|
;; This package can unfortunately work only in -TEST mode, since Aegis
|
||||||
;; requires that it is installed setuid root.
|
;; requires that it is installed setuid root.
|
||||||
|
@ -980,7 +978,7 @@ changes to a program independently, and Aegis coordinates integrating these
|
||||||
changes back into the master source of the program, with as little disruption
|
changes back into the master source of the program, with as little disruption
|
||||||
as possible. Resolution of contention for source files, a major headache for
|
as possible. Resolution of contention for source files, a major headache for
|
||||||
any project with more than one developer, is one of Aegis's major functions.")
|
any project with more than one developer, is one of Aegis's major functions.")
|
||||||
(license gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public reposurgeon
|
(define-public reposurgeon
|
||||||
(package
|
(package
|
||||||
|
@ -1032,7 +1030,7 @@ and can thus be used to script production of very high-quality conversions
|
||||||
from Subversion to any supported Distributed Version Control System (DVCS).")
|
from Subversion to any supported Distributed Version Control System (DVCS).")
|
||||||
;; Most files are distributed under bsd-2, except 'repocutter' which is
|
;; Most files are distributed under bsd-2, except 'repocutter' which is
|
||||||
;; under bsd-3.
|
;; under bsd-3.
|
||||||
(license (list bsd-2 bsd-3))))
|
(license (list license:bsd-2 license:bsd-3))))
|
||||||
|
|
||||||
(define-public tig
|
(define-public tig
|
||||||
(package
|
(package
|
||||||
|
@ -1058,7 +1056,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).")
|
||||||
"Tig is an ncurses text user interface for Git, primarily intended as
|
"Tig is an ncurses text user interface for Git, primarily intended as
|
||||||
a history browser. It can also stage hunks for commit, or colorize the
|
a history browser. It can also stage hunks for commit, or colorize the
|
||||||
output of the 'git' command.")
|
output of the 'git' command.")
|
||||||
(license gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
(define-public findnewest
|
(define-public findnewest
|
||||||
(package
|
(package
|
||||||
|
@ -1085,7 +1083,7 @@ output of the 'git' command.")
|
||||||
(description
|
(description
|
||||||
"Recursively find the newest file in a file tree and print its
|
"Recursively find the newest file in a file tree and print its
|
||||||
modification time.")
|
modification time.")
|
||||||
(license bsd-2)))
|
(license license:bsd-2)))
|
||||||
|
|
||||||
(define-public myrepos
|
(define-public myrepos
|
||||||
(package
|
(package
|
||||||
|
@ -1114,7 +1112,7 @@ modification time.")
|
||||||
fetching updates) over a collection of version control repositories. It
|
fetching updates) over a collection of version control repositories. It
|
||||||
supports a large number of version control systems: Git, Subversion,
|
supports a large number of version control systems: Git, Subversion,
|
||||||
Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.")
|
Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.")
|
||||||
(license gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
(define-public git-annex-remote-hubic
|
(define-public git-annex-remote-hubic
|
||||||
(package
|
(package
|
||||||
|
@ -1145,42 +1143,21 @@ Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.")
|
||||||
(description
|
(description
|
||||||
"This package allows you to use your hubic account as a \"special
|
"This package allows you to use your hubic account as a \"special
|
||||||
repository\" with git-annex.")
|
repository\" with git-annex.")
|
||||||
(license gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public fossil
|
(define-public fossil
|
||||||
(package
|
(package
|
||||||
(name "fossil")
|
(name "fossil")
|
||||||
(version "1.34")
|
(version "1.35")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
;; Upstream source affected by
|
|
||||||
;; http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20962
|
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"https://web.archive.org/web/20160402202958/"
|
"https://www.fossil-scm.org/index.html/uv/download/"
|
||||||
"https://www.fossil-scm.org/download/fossil-src-"
|
"fossil-src-" version ".tar.gz"))
|
||||||
version ".tar.gz"))
|
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"17x4vgjcfihwmq195qg32irp50panvjqfpvhqydfvv4ghwzbi9jk"))
|
"07ds6rhq69bhydpm9a01mgdhxf88p9b6y5hdnhn8gjc7ba92zyf1"))))
|
||||||
(modules '((guix build utils)))
|
|
||||||
(snippet
|
|
||||||
'(begin
|
|
||||||
;; Commit 0a2ebe57 on 2015-08-03 18:35:53 changed output formatting
|
|
||||||
;; for some commands, but affected tests were not updated. Use
|
|
||||||
;; substitute here, which is more concise than patching.
|
|
||||||
(substitute* "test/clean.test"
|
|
||||||
(("NEW ") "NEW "))
|
|
||||||
(substitute* '("test/revert.test" "test/mv-rm.test")
|
|
||||||
(("REVERTED:") "REVERT ")
|
|
||||||
(("DELETE:") "DELETE ")
|
|
||||||
(("UNMANAGE:") "UNMANAGE "))
|
|
||||||
;; Fix use of __DATE__ and __TIME__
|
|
||||||
(substitute* "src/main.c"
|
|
||||||
(("Compiled on %s %s") "Compiled")
|
|
||||||
(("__DATE__, __TIME__, ") ""))
|
|
||||||
#t))
|
|
||||||
(patches (list (search-patch "fossil-test-fixes.patch")))))
|
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("tcl" ,tcl) ;for configuration only
|
`(("tcl" ,tcl) ;for configuration only
|
||||||
|
@ -1219,5 +1196,32 @@ repository\" with git-annex.")
|
||||||
"Fossil is a distributed source control management system which supports
|
"Fossil is a distributed source control management system which supports
|
||||||
access and administration over HTTP CGI or via a built-in HTTP server. It has
|
access and administration over HTTP CGI or via a built-in HTTP server. It has
|
||||||
a built-in wiki, built-in file browsing, built-in tickets system, etc.")
|
a built-in wiki, built-in file browsing, built-in tickets system, etc.")
|
||||||
(license (list public-domain ;src/miniz.c, src/shell.c
|
(license (list license:public-domain ;src/miniz.c, src/shell.c
|
||||||
bsd-2))))
|
license:bsd-2))))
|
||||||
|
|
||||||
|
(define-public stagit
|
||||||
|
(package
|
||||||
|
(name "stagit")
|
||||||
|
(version "0.4")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "http://dl.2f30.org/releases/"
|
||||||
|
name "-" version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0z5r06wqrfnsz24ci4hjqbd62svclvhkgzaq9npsyjcp6jnf7izc"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:tests? #f ; No tests
|
||||||
|
#:make-flags (list "CC=gcc"
|
||||||
|
(string-append "PREFIX=" %output))
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(delete 'configure)))) ; No configure script
|
||||||
|
(inputs
|
||||||
|
`(("libgit2" ,libgit2)))
|
||||||
|
(home-page "http://2f30.org")
|
||||||
|
(synopsis "Static git page generator")
|
||||||
|
(description "Stagit creates static pages for git repositories, the results can
|
||||||
|
be served with a HTTP file server of your choice.")
|
||||||
|
(license license:expat)))
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||||
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
|
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
|
||||||
|
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -49,6 +50,7 @@
|
||||||
#:use-module (gnu packages gl)
|
#:use-module (gnu packages gl)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
#:use-module (gnu packages gnome)
|
#:use-module (gnu packages gnome)
|
||||||
|
#:use-module (gnu packages m4)
|
||||||
#:use-module (gnu packages ncurses)
|
#:use-module (gnu packages ncurses)
|
||||||
#:use-module (gnu packages perl)
|
#:use-module (gnu packages perl)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
|
@ -938,7 +940,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
|
||||||
(define-public rofi
|
(define-public rofi
|
||||||
(package
|
(package
|
||||||
(name "rofi")
|
(name "rofi")
|
||||||
(version "1.1.0")
|
(version "1.2.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://github.com/DaveDavenport/rofi/"
|
(uri (string-append "https://github.com/DaveDavenport/rofi/"
|
||||||
|
@ -946,17 +948,17 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
|
||||||
version "/rofi-" version ".tar.xz"))
|
version "/rofi-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1l8vl0mh7i0b1ycifqpg6392f5i4qxlv003m126skfk6fnlfq8hn"))))
|
"0xxx0xpxhrhlhi2axq9867zqrhwqavc1qrr833k1xr0pvm5m0aqc"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
`(("libx11" ,libx11)
|
`(("pango" ,pango)
|
||||||
("pango" ,pango)
|
|
||||||
("cairo" ,cairo)
|
("cairo" ,cairo)
|
||||||
("glib" ,glib)
|
("glib" ,glib)
|
||||||
("startup-notification" ,startup-notification)
|
("startup-notification" ,startup-notification)
|
||||||
("libxkbcommon" ,libxkbcommon)
|
("libxkbcommon" ,libxkbcommon)
|
||||||
("libxcb" ,libxcb)
|
("libxcb" ,libxcb)
|
||||||
("xcb-util" ,xcb-util)
|
("xcb-util" ,xcb-util)
|
||||||
|
("xcb-util-xrm" ,xcb-util-xrm)
|
||||||
("xcb-util-wm" ,xcb-util-wm)))
|
("xcb-util-wm" ,xcb-util-wm)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("pkg-config" ,pkg-config)))
|
`(("pkg-config" ,pkg-config)))
|
||||||
|
@ -1021,3 +1023,42 @@ The taskbar includes transparency and color settings for the font, icons,
|
||||||
border, and background. It also supports multihead setups, customized mouse
|
border, and background. It also supports multihead setups, customized mouse
|
||||||
actions, a built-in clock, a battery monitor and a system tray.")
|
actions, a built-in clock, a battery monitor and a system tray.")
|
||||||
(license license:gpl2)))
|
(license license:gpl2)))
|
||||||
|
|
||||||
|
(define-public xcb-util-xrm
|
||||||
|
(package
|
||||||
|
(name "xcb-util-xrm")
|
||||||
|
(version "1.0")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://github.com/Airblader/xcb-util-xrm/releases"
|
||||||
|
"/download/v" version "/xcb-util-xrm-" version ".tar.bz2"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1h5vxwpd37dqfw9yj1l4zd9c5dj30r3g0szgysr6kd7xrqgaq04l"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(snippet
|
||||||
|
;; Drop bundled m4.
|
||||||
|
'(delete-file-recursively "m4"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(native-inputs
|
||||||
|
`(("pkg-config" ,pkg-config)
|
||||||
|
("m4" ,m4)
|
||||||
|
("libx11" ,libx11))) ; for tests
|
||||||
|
(inputs
|
||||||
|
`(("libxcb" ,libxcb)
|
||||||
|
("xcb-util" ,xcb-util)))
|
||||||
|
(home-page "https://github.com/Airblader/xcb-util-xrm")
|
||||||
|
(synopsis "XCB utility functions for the X resource manager")
|
||||||
|
(description
|
||||||
|
"The XCB util module provides a number of libraries which sit on
|
||||||
|
top of libxcb, the core X protocol library, and some of the extension
|
||||||
|
libraries. These experimental libraries provide convenience functions
|
||||||
|
and interfaces which make the raw X protocol more usable. Some of the
|
||||||
|
libraries also provide client-side code which is not strictly part of
|
||||||
|
the X protocol but which has traditionally been provided by Xlib.
|
||||||
|
|
||||||
|
XCB util-xrm module provides the following libraries:
|
||||||
|
|
||||||
|
- xrm: utility functions for the X resource manager.")
|
||||||
|
(license license:x11)))
|
||||||
|
|
|
@ -27,6 +27,8 @@
|
||||||
#:use-module (gnu services avahi)
|
#:use-module (gnu services avahi)
|
||||||
#:use-module (gnu services xorg)
|
#:use-module (gnu services xorg)
|
||||||
#:use-module (gnu services networking)
|
#:use-module (gnu services networking)
|
||||||
|
#:use-module ((gnu system file-systems)
|
||||||
|
#:select (%elogind-file-systems))
|
||||||
#:use-module (gnu system shadow)
|
#:use-module (gnu system shadow)
|
||||||
#:use-module (gnu system pam)
|
#:use-module (gnu system pam)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
|
@ -760,7 +762,11 @@ seats.)"
|
||||||
|
|
||||||
;; Extend PAM with pam_elogind.so.
|
;; Extend PAM with pam_elogind.so.
|
||||||
(service-extension pam-root-service-type
|
(service-extension pam-root-service-type
|
||||||
pam-extension-procedure)))))
|
pam-extension-procedure)
|
||||||
|
|
||||||
|
;; We need /run/user, /run/systemd, etc.
|
||||||
|
(service-extension file-system-service-type
|
||||||
|
(const %elogind-file-systems))))))
|
||||||
|
|
||||||
(define* (elogind-service #:key (config (elogind-configuration)))
|
(define* (elogind-service #:key (config (elogind-configuration)))
|
||||||
"Return a service that runs the @command{elogind} login and seat management
|
"Return a service that runs the @command{elogind} login and seat management
|
||||||
|
@ -823,7 +829,7 @@ and extends polkit with the actions from @code{gnome-settings-daemon}."
|
||||||
|
|
||||||
(define* (xfce-desktop-service #:key (config (xfce-desktop-configuration)))
|
(define* (xfce-desktop-service #:key (config (xfce-desktop-configuration)))
|
||||||
"Return a service that adds the @code{xfce} package to the system profile,
|
"Return a service that adds the @code{xfce} package to the system profile,
|
||||||
and extends polkit with the abilit for @code{thunar} to manipulate the file
|
and extends polkit with the ability for @code{thunar} to manipulate the file
|
||||||
system as root from within a user session, after the user has authenticated
|
system as root from within a user session, after the user has authenticated
|
||||||
with the administrator's password."
|
with the administrator's password."
|
||||||
(service xfce-desktop-service-type config))
|
(service xfce-desktop-service-type config))
|
||||||
|
|
|
@ -17,8 +17,8 @@
|
||||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
(define-module (gnu services herd)
|
(define-module (gnu services herd)
|
||||||
#:use-module (guix combinators)
|
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
|
#:use-module (srfi srfi-9)
|
||||||
#:use-module (srfi srfi-11)
|
#:use-module (srfi srfi-11)
|
||||||
#:use-module (srfi srfi-34)
|
#:use-module (srfi srfi-34)
|
||||||
#:use-module (srfi srfi-35)
|
#:use-module (srfi srfi-35)
|
||||||
|
@ -37,6 +37,11 @@
|
||||||
unknown-shepherd-error?
|
unknown-shepherd-error?
|
||||||
unknown-shepherd-error-sexp
|
unknown-shepherd-error-sexp
|
||||||
|
|
||||||
|
live-service?
|
||||||
|
live-service-provision
|
||||||
|
live-service-requirement
|
||||||
|
live-service-running
|
||||||
|
|
||||||
current-services
|
current-services
|
||||||
unload-services
|
unload-services
|
||||||
unload-service
|
unload-service
|
||||||
|
@ -165,25 +170,27 @@ of pairs."
|
||||||
(let ((key (and=> (assoc-ref alist 'key) car)) ...)
|
(let ((key (and=> (assoc-ref alist 'key) car)) ...)
|
||||||
exp ...))))
|
exp ...))))
|
||||||
|
|
||||||
|
;; Information about live Shepherd services.
|
||||||
|
(define-record-type <live-service>
|
||||||
|
(live-service provision requirement running)
|
||||||
|
live-service?
|
||||||
|
(provision live-service-provision) ;list of symbols
|
||||||
|
(requirement live-service-requirement) ;list of symbols
|
||||||
|
(running live-service-running)) ;#f | object
|
||||||
|
|
||||||
(define (current-services)
|
(define (current-services)
|
||||||
"Return two lists: the list of currently running services, and the list of
|
"Return the list of currently defined Shepherd services, represented as
|
||||||
currently stopped services. Return #f and #f if the list of services could
|
<live-service> objects. Return #f if the list of services could not be
|
||||||
not be obtained."
|
obtained."
|
||||||
(with-shepherd-action 'root ('status) services
|
(with-shepherd-action 'root ('status) services
|
||||||
(match services
|
(match services
|
||||||
((('service ('version 0 _ ...) _ ...) ...)
|
((('service ('version 0 _ ...) _ ...) ...)
|
||||||
(fold2 (lambda (service running-services stopped-services)
|
(map (lambda (service)
|
||||||
(alist-let* service (provides running)
|
(alist-let* service (provides requires running)
|
||||||
(if running
|
(live-service provides requires running)))
|
||||||
(values (cons (first provides) running-services)
|
|
||||||
stopped-services)
|
|
||||||
(values running-services
|
|
||||||
(cons (first provides) stopped-services)))))
|
|
||||||
'()
|
|
||||||
'()
|
|
||||||
services))
|
services))
|
||||||
(x
|
(x
|
||||||
(values #f #f)))))
|
#f))))
|
||||||
|
|
||||||
(define (unload-service service)
|
(define (unload-service service)
|
||||||
"Unload SERVICE, a symbol name; return #t on success."
|
"Unload SERVICE, a symbol name; return #t on success."
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#:use-module (guix records)
|
#:use-module (guix records)
|
||||||
#:use-module (guix derivations) ;imported-modules, etc.
|
#:use-module (guix derivations) ;imported-modules, etc.
|
||||||
#:use-module (gnu services)
|
#:use-module (gnu services)
|
||||||
|
#:use-module (gnu services herd)
|
||||||
#:use-module (gnu packages admin)
|
#:use-module (gnu packages admin)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (ice-9 vlist)
|
#:use-module (ice-9 vlist)
|
||||||
|
@ -52,7 +53,9 @@
|
||||||
|
|
||||||
shepherd-service-file
|
shepherd-service-file
|
||||||
|
|
||||||
shepherd-service-back-edges))
|
shepherd-service-lookup-procedure
|
||||||
|
shepherd-service-back-edges
|
||||||
|
shepherd-service-upgrade))
|
||||||
|
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;;
|
;;;
|
||||||
|
@ -249,14 +252,17 @@ stored."
|
||||||
|
|
||||||
(gexp->file "shepherd.conf" config)))
|
(gexp->file "shepherd.conf" config)))
|
||||||
|
|
||||||
(define (shepherd-service-back-edges services)
|
(define* (shepherd-service-lookup-procedure services
|
||||||
"Return a procedure that, when given a <shepherd-service> from SERVICES,
|
#:optional
|
||||||
returns the list of <shepherd-service> that depend on it."
|
(provision
|
||||||
(define provision->service
|
shepherd-service-provision))
|
||||||
|
"Return a procedure that, when passed a symbol, return the item among
|
||||||
|
SERVICES that provides this symbol. PROVISION must be a one-argument
|
||||||
|
procedure that takes a service and returns the list of symbols it provides."
|
||||||
(let ((services (fold (lambda (service result)
|
(let ((services (fold (lambda (service result)
|
||||||
(fold (cut vhash-consq <> service <>)
|
(fold (cut vhash-consq <> service <>)
|
||||||
result
|
result
|
||||||
(shepherd-service-provision service)))
|
(provision service)))
|
||||||
vlist-null
|
vlist-null
|
||||||
services)))
|
services)))
|
||||||
(lambda (name)
|
(lambda (name)
|
||||||
|
@ -264,17 +270,77 @@ returns the list of <shepherd-service> that depend on it."
|
||||||
((_ . service) service)
|
((_ . service) service)
|
||||||
(#f #f)))))
|
(#f #f)))))
|
||||||
|
|
||||||
|
(define* (shepherd-service-back-edges services
|
||||||
|
#:key
|
||||||
|
(provision shepherd-service-provision)
|
||||||
|
(requirement shepherd-service-requirement))
|
||||||
|
"Return a procedure that, when given a <shepherd-service> from SERVICES,
|
||||||
|
returns the list of <shepherd-service> that depend on it.
|
||||||
|
|
||||||
|
Use PROVISION and REQUIREMENT as one-argument procedures that return the
|
||||||
|
symbols provided/required by a service."
|
||||||
|
(define provision->service
|
||||||
|
(shepherd-service-lookup-procedure services provision))
|
||||||
|
|
||||||
(define edges
|
(define edges
|
||||||
(fold (lambda (service edges)
|
(fold (lambda (service edges)
|
||||||
(fold (lambda (requirement edges)
|
(fold (lambda (requirement edges)
|
||||||
(vhash-consq (provision->service requirement) service
|
(vhash-consq (provision->service requirement) service
|
||||||
edges))
|
edges))
|
||||||
edges
|
edges
|
||||||
(shepherd-service-requirement service)))
|
(requirement service)))
|
||||||
vlist-null
|
vlist-null
|
||||||
services))
|
services))
|
||||||
|
|
||||||
(lambda (service)
|
(lambda (service)
|
||||||
(vhash-foldq* cons '() service edges)))
|
(vhash-foldq* cons '() service edges)))
|
||||||
|
|
||||||
|
(define (shepherd-service-upgrade live target)
|
||||||
|
"Return two values: the subset of LIVE (a list of <live-service>) that needs
|
||||||
|
to be unloaded, and the subset of TARGET (a list of <shepherd-service>) that
|
||||||
|
needs to be loaded."
|
||||||
|
(define (essential? service)
|
||||||
|
(memq (first (live-service-provision service))
|
||||||
|
'(root shepherd)))
|
||||||
|
|
||||||
|
(define lookup-target
|
||||||
|
(shepherd-service-lookup-procedure target
|
||||||
|
shepherd-service-provision))
|
||||||
|
|
||||||
|
(define lookup-live
|
||||||
|
(shepherd-service-lookup-procedure live
|
||||||
|
live-service-provision))
|
||||||
|
|
||||||
|
(define (running? service)
|
||||||
|
(and=> (lookup-live (shepherd-service-canonical-name service))
|
||||||
|
live-service-running))
|
||||||
|
|
||||||
|
(define (stopped service)
|
||||||
|
(match (lookup-live (shepherd-service-canonical-name service))
|
||||||
|
(#f #f)
|
||||||
|
(service (and (not (live-service-running service))
|
||||||
|
service))))
|
||||||
|
|
||||||
|
(define live-service-dependents
|
||||||
|
(shepherd-service-back-edges live
|
||||||
|
#:provision live-service-provision
|
||||||
|
#:requirement live-service-requirement))
|
||||||
|
|
||||||
|
(define (obsolete? service)
|
||||||
|
(match (lookup-target (first (live-service-provision service)))
|
||||||
|
(#f (every obsolete? (live-service-dependents service)))
|
||||||
|
(_ #f)))
|
||||||
|
|
||||||
|
(define to-load
|
||||||
|
;; Only load services that are either new or currently stopped.
|
||||||
|
(remove running? target))
|
||||||
|
|
||||||
|
(define to-unload
|
||||||
|
;; Unload services that are (1) no longer required, or (2) are in TO-LOAD.
|
||||||
|
(remove essential?
|
||||||
|
(append (filter obsolete? live)
|
||||||
|
(filter-map stopped to-load))))
|
||||||
|
|
||||||
|
(values to-unload to-load))
|
||||||
|
|
||||||
;;; shepherd.scm ends here
|
;;; shepherd.scm ends here
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
#:use-module (gnu packages guile)
|
#:use-module (gnu packages guile)
|
||||||
#:use-module (gnu packages xorg)
|
#:use-module (gnu packages xorg)
|
||||||
#:use-module (gnu packages gl)
|
#:use-module (gnu packages gl)
|
||||||
#:use-module (gnu packages slim)
|
#:use-module (gnu packages display-managers)
|
||||||
#:use-module (gnu packages gnustep)
|
#:use-module (gnu packages gnustep)
|
||||||
#:use-module (gnu packages admin)
|
#:use-module (gnu packages admin)
|
||||||
#:use-module (gnu packages bash)
|
#:use-module (gnu packages bash)
|
||||||
|
|
|
@ -257,7 +257,6 @@ TARGET in the other system."
|
||||||
(append (list %pseudo-terminal-file-system
|
(append (list %pseudo-terminal-file-system
|
||||||
%shared-memory-file-system
|
%shared-memory-file-system
|
||||||
%immutable-store)
|
%immutable-store)
|
||||||
%elogind-file-systems
|
|
||||||
%control-groups))
|
%control-groups))
|
||||||
|
|
||||||
;; File systems for Linux containers differ from %base-file-systems in that
|
;; File systems for Linux containers differ from %base-file-systems in that
|
||||||
|
|
|
@ -122,10 +122,12 @@ info --version")
|
||||||
(operating-system-user-accounts os))))))
|
(operating-system-user-accounts os))))))
|
||||||
|
|
||||||
(test-assert "shepherd services"
|
(test-assert "shepherd services"
|
||||||
(let ((services (marionette-eval '(begin
|
(let ((services (marionette-eval
|
||||||
|
'(begin
|
||||||
(use-modules (gnu services herd))
|
(use-modules (gnu services herd))
|
||||||
(call-with-values current-services
|
|
||||||
append))
|
(map (compose car live-service-provision)
|
||||||
|
(current-services)))
|
||||||
marionette)))
|
marionette)))
|
||||||
(lset= eq?
|
(lset= eq?
|
||||||
(pk 'services services)
|
(pk 'services services)
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
|
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||||
|
;;;
|
||||||
|
;;; 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 build qt-utils)
|
||||||
|
#:use-module (guix build utils)
|
||||||
|
#:export (wrap-qt-program))
|
||||||
|
|
||||||
|
(define (wrap-qt-program out program)
|
||||||
|
(define (suffix env-var path)
|
||||||
|
(let ((env-val (getenv env-var)))
|
||||||
|
(if env-val (string-append env-val ":" path) path)))
|
||||||
|
|
||||||
|
(let ((qml-path (suffix "QML2_IMPORT_PATH"
|
||||||
|
(string-append out "/qml")))
|
||||||
|
(plugin-path (suffix "QT_PLUGIN_PATH"
|
||||||
|
(string-append out "/plugins")))
|
||||||
|
(xdg-data-path (suffix "XDG_DATA_DIRS"
|
||||||
|
(string-append out "/share")))
|
||||||
|
(xdg-config-path (suffix "XDG_CONFIG_DIRS"
|
||||||
|
(string-append out "/etc/xdg"))))
|
||||||
|
(wrap-program (string-append out "/bin/" program)
|
||||||
|
`("QML2_IMPORT_PATH" = (,qml-path))
|
||||||
|
`("QT_PLUGIN_PATH" = (,plugin-path))
|
||||||
|
`("XDG_DATA_DIRS" = (,xdg-data-path))
|
||||||
|
`("XDG_CONFIG_DIRS" = (,xdg-config-path)))))
|
|
@ -83,7 +83,7 @@
|
||||||
"Return the base distribution module for a given module. E.g. the 'ok'
|
"Return the base distribution module for a given module. E.g. the 'ok'
|
||||||
module is distributed with 'Test::Simple', so (module->dist-name \"ok\") would
|
module is distributed with 'Test::Simple', so (module->dist-name \"ok\") would
|
||||||
return \"Test-Simple\""
|
return \"Test-Simple\""
|
||||||
(assoc-ref (json-fetch (string-append "http://api.metacpan.org/module/"
|
(assoc-ref (json-fetch (string-append "https://api.metacpan.org/module/"
|
||||||
module))
|
module))
|
||||||
"distribution"))
|
"distribution"))
|
||||||
|
|
||||||
|
@ -91,7 +91,7 @@ return \"Test-Simple\""
|
||||||
"Return an alist representation of the CPAN metadata for the perl module MODULE,
|
"Return an alist representation of the CPAN metadata for the perl module MODULE,
|
||||||
or #f on failure. MODULE should be e.g. \"Test::Script\""
|
or #f on failure. MODULE should be e.g. \"Test::Script\""
|
||||||
;; This API always returns the latest release of the module.
|
;; This API always returns the latest release of the module.
|
||||||
(json-fetch (string-append "http://api.metacpan.org/release/"
|
(json-fetch (string-append "https://api.metacpan.org/release/"
|
||||||
;; XXX: The 'release' api requires the "release"
|
;; XXX: The 'release' api requires the "release"
|
||||||
;; name of the package. This substitution seems
|
;; name of the package. This substitution seems
|
||||||
;; reasonably consistent across packages.
|
;; reasonably consistent across packages.
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
|
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
|
||||||
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
||||||
|
;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -74,7 +75,7 @@
|
||||||
(define (hackage-source-url name version)
|
(define (hackage-source-url name version)
|
||||||
"Given a Hackage package NAME and VERSION, return a url to the source
|
"Given a Hackage package NAME and VERSION, return a url to the source
|
||||||
tarball."
|
tarball."
|
||||||
(string-append "http://hackage.haskell.org/package/" name
|
(string-append "https://hackage.haskell.org/package/" name
|
||||||
"/" name "-" version ".tar.gz"))
|
"/" name "-" version ".tar.gz"))
|
||||||
|
|
||||||
(define* (hackage-cabal-url name #:optional version)
|
(define* (hackage-cabal-url name #:optional version)
|
||||||
|
@ -82,9 +83,9 @@ tarball."
|
||||||
.cabal file on Hackage. If VERSION is #f or missing, the url for the latest
|
.cabal file on Hackage. If VERSION is #f or missing, the url for the latest
|
||||||
version is returned."
|
version is returned."
|
||||||
(if version
|
(if version
|
||||||
(string-append "http://hackage.haskell.org/package/"
|
(string-append "https://hackage.haskell.org/package/"
|
||||||
name "-" version "/" name ".cabal")
|
name "-" version "/" name ".cabal")
|
||||||
(string-append "http://hackage.haskell.org/package/"
|
(string-append "https://hackage.haskell.org/package/"
|
||||||
name "/" name ".cabal")))
|
name "/" name ".cabal")))
|
||||||
|
|
||||||
(define (hackage-name->package-name name)
|
(define (hackage-name->package-name name)
|
||||||
|
|
|
@ -95,6 +95,7 @@
|
||||||
package-transitive-propagated-inputs
|
package-transitive-propagated-inputs
|
||||||
package-transitive-native-search-paths
|
package-transitive-native-search-paths
|
||||||
package-transitive-supported-systems
|
package-transitive-supported-systems
|
||||||
|
package-input-rewriting
|
||||||
package-source-derivation
|
package-source-derivation
|
||||||
package-derivation
|
package-derivation
|
||||||
package-cross-derivation
|
package-cross-derivation
|
||||||
|
@ -735,6 +736,35 @@ dependencies are known to build on SYSTEM."
|
||||||
"Return the \"target inputs\" of BAG, recursively."
|
"Return the \"target inputs\" of BAG, recursively."
|
||||||
(transitive-inputs (bag-target-inputs bag)))
|
(transitive-inputs (bag-target-inputs bag)))
|
||||||
|
|
||||||
|
(define* (package-input-rewriting replacements
|
||||||
|
#:optional (rewrite-name identity))
|
||||||
|
"Return a procedure that, when passed a package, replaces its direct and
|
||||||
|
indirect dependencies (but not its implicit inputs) according to REPLACEMENTS.
|
||||||
|
REPLACEMENTS is a list of package pairs; the first element of each pair is the
|
||||||
|
package to replace, and the second one is the replacement.
|
||||||
|
|
||||||
|
Optionally, REWRITE-NAME is a one-argument procedure that takes the name of a
|
||||||
|
package and returns its new name after rewrite."
|
||||||
|
(define (rewrite input)
|
||||||
|
(match input
|
||||||
|
((label (? package? package) outputs ...)
|
||||||
|
(match (assq-ref replacements package)
|
||||||
|
(#f (cons* label (replace package) outputs))
|
||||||
|
(new (cons* label new outputs))))
|
||||||
|
(_
|
||||||
|
input)))
|
||||||
|
|
||||||
|
(define-memoized/v (replace p)
|
||||||
|
"Return a variant of P with its inputs rewritten."
|
||||||
|
(package
|
||||||
|
(inherit p)
|
||||||
|
(name (rewrite-name (package-name p)))
|
||||||
|
(inputs (map rewrite (package-inputs p)))
|
||||||
|
(native-inputs (map rewrite (package-native-inputs p)))
|
||||||
|
(propagated-inputs (map rewrite (package-propagated-inputs p)))))
|
||||||
|
|
||||||
|
replace)
|
||||||
|
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
;;; Package derivations.
|
;;; Package derivations.
|
||||||
|
|
|
@ -193,33 +193,17 @@ of \"guile\"."
|
||||||
(map (lambda (spec)
|
(map (lambda (spec)
|
||||||
(match (string-tokenize spec not-equal)
|
(match (string-tokenize spec not-equal)
|
||||||
((old new)
|
((old new)
|
||||||
(cons old (specification->package new)))
|
(cons (specification->package old)
|
||||||
|
(specification->package new)))
|
||||||
(_
|
(_
|
||||||
(leave (_ "invalid replacement specification: ~s~%") spec))))
|
(leave (_ "invalid replacement specification: ~s~%") spec))))
|
||||||
replacement-specs))
|
replacement-specs))
|
||||||
|
|
||||||
(define (rewrite input)
|
(let ((rewrite (package-input-rewriting replacements)))
|
||||||
(match input
|
|
||||||
((label (? package? package) outputs ...)
|
|
||||||
(match (assoc-ref replacements (package-name package))
|
|
||||||
(#f (cons* label (replace package) outputs))
|
|
||||||
(new (cons* label new outputs))))
|
|
||||||
(_
|
|
||||||
input)))
|
|
||||||
|
|
||||||
(define replace
|
|
||||||
(memoize ;XXX: use eq?
|
|
||||||
(lambda (p)
|
|
||||||
(package
|
|
||||||
(inherit p)
|
|
||||||
(inputs (map rewrite (package-inputs p)))
|
|
||||||
(native-inputs (map rewrite (package-native-inputs p)))
|
|
||||||
(propagated-inputs (map rewrite (package-propagated-inputs p)))))))
|
|
||||||
|
|
||||||
(lambda (store obj)
|
(lambda (store obj)
|
||||||
(if (package? obj)
|
(if (package? obj)
|
||||||
(replace obj)
|
(rewrite obj)
|
||||||
obj)))
|
obj))))
|
||||||
|
|
||||||
(define %transformations
|
(define %transformations
|
||||||
;; Transformations that can be applied to things to build. The car is the
|
;; Transformations that can be applied to things to build. The car is the
|
||||||
|
|
|
@ -276,33 +276,14 @@ on service '~a':~%")
|
||||||
"Call MPROC, a monadic procedure in %STORE-MONAD, passing it the list of
|
"Call MPROC, a monadic procedure in %STORE-MONAD, passing it the list of
|
||||||
names of services to load (upgrade), and the list of names of services to
|
names of services to load (upgrade), and the list of names of services to
|
||||||
unload."
|
unload."
|
||||||
(define (essential? service)
|
(match (current-services)
|
||||||
(memq service '(root shepherd)))
|
((services ...)
|
||||||
|
(let-values (((to-unload to-load)
|
||||||
(define new-service-names
|
(shepherd-service-upgrade services new-services)))
|
||||||
(map (compose first shepherd-service-provision)
|
(mproc to-load
|
||||||
new-services))
|
(map (compose first live-service-provision)
|
||||||
|
to-unload))))
|
||||||
(let-values (((running stopped) (current-services)))
|
(#f
|
||||||
(if (and running stopped)
|
|
||||||
(let* ((to-load
|
|
||||||
;; Only load services that are either new or currently stopped.
|
|
||||||
(remove (lambda (service)
|
|
||||||
(memq (first (shepherd-service-provision service))
|
|
||||||
running))
|
|
||||||
new-services))
|
|
||||||
(to-unload
|
|
||||||
;; Unload services that are (1) no longer required, or (2) are
|
|
||||||
;; in TO-LOAD.
|
|
||||||
(remove essential?
|
|
||||||
(append (remove (lambda (service)
|
|
||||||
(memq service new-service-names))
|
|
||||||
(append running stopped))
|
|
||||||
(filter (lambda (service)
|
|
||||||
(memq service stopped))
|
|
||||||
(map shepherd-service-canonical-name
|
|
||||||
to-load))))))
|
|
||||||
(mproc to-load to-unload))
|
|
||||||
(with-monad %store-monad
|
(with-monad %store-monad
|
||||||
(warning (_ "failed to obtain list of shepherd services~%"))
|
(warning (_ "failed to obtain list of shepherd services~%"))
|
||||||
(return #f)))))
|
(return #f)))))
|
||||||
|
|
|
@ -66,9 +66,9 @@
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(display
|
(display
|
||||||
(match url
|
(match url
|
||||||
("http://api.metacpan.org/release/Foo-Bar"
|
("https://api.metacpan.org/release/Foo-Bar"
|
||||||
test-json)
|
test-json)
|
||||||
("http://api.metacpan.org/module/Test::Script"
|
("https://api.metacpan.org/module/Test::Script"
|
||||||
"{ \"distribution\" : \"Test-Script\" }")
|
"{ \"distribution\" : \"Test-Script\" }")
|
||||||
("http://example.com/Foo-Bar-0.1.tar.gz"
|
("http://example.com/Foo-Bar-0.1.tar.gz"
|
||||||
test-source)
|
test-source)
|
||||||
|
|
|
@ -110,7 +110,7 @@ library
|
||||||
('origin
|
('origin
|
||||||
('method 'url-fetch)
|
('method 'url-fetch)
|
||||||
('uri ('string-append
|
('uri ('string-append
|
||||||
"http://hackage.haskell.org/package/foo/foo-"
|
"https://hackage.haskell.org/package/foo/foo-"
|
||||||
'version
|
'version
|
||||||
".tar.gz"))
|
".tar.gz"))
|
||||||
('sha256
|
('sha256
|
||||||
|
|
|
@ -742,6 +742,31 @@
|
||||||
(and (build-derivations %store (list drv))
|
(and (build-derivations %store (list drv))
|
||||||
(file-exists? (string-append out "/bin/make")))))))
|
(file-exists? (string-append out "/bin/make")))))))
|
||||||
|
|
||||||
|
(test-assert "package-input-rewriting"
|
||||||
|
(let* ((dep (dummy-package "chbouib"
|
||||||
|
(native-inputs `(("x" ,grep)))))
|
||||||
|
(p0 (dummy-package "example"
|
||||||
|
(inputs `(("foo" ,coreutils)
|
||||||
|
("bar" ,grep)
|
||||||
|
("baz" ,dep)))))
|
||||||
|
(rewrite (package-input-rewriting `((,coreutils . ,sed)
|
||||||
|
(,grep . ,findutils))
|
||||||
|
(cut string-append "r-" <>)))
|
||||||
|
(p1 (rewrite p0))
|
||||||
|
(p2 (rewrite p0)))
|
||||||
|
(and (not (eq? p1 p0))
|
||||||
|
(eq? p1 p2) ;memoization
|
||||||
|
(string=? "r-example" (package-name p1))
|
||||||
|
(match (package-inputs p1)
|
||||||
|
((("foo" dep1) ("bar" dep2) ("baz" dep3))
|
||||||
|
(and (eq? dep1 sed)
|
||||||
|
(eq? dep2 findutils)
|
||||||
|
(string=? (package-name dep3) "r-chbouib")
|
||||||
|
(eq? dep3 (rewrite dep)) ;memoization
|
||||||
|
(match (package-native-inputs dep3)
|
||||||
|
((("x" dep))
|
||||||
|
(eq? dep findutils)))))))))
|
||||||
|
|
||||||
(test-eq "fold-packages" hello
|
(test-eq "fold-packages" hello
|
||||||
(fold-packages (lambda (p r)
|
(fold-packages (lambda (p r)
|
||||||
(if (string=? (package-name p) "hello")
|
(if (string=? (package-name p) "hello")
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -18,12 +18,17 @@
|
||||||
|
|
||||||
(define-module (test-services)
|
(define-module (test-services)
|
||||||
#:use-module (gnu services)
|
#:use-module (gnu services)
|
||||||
|
#:use-module (gnu services herd)
|
||||||
#:use-module (gnu services shepherd)
|
#:use-module (gnu services shepherd)
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
#:use-module (srfi srfi-26)
|
#:use-module (srfi srfi-26)
|
||||||
#:use-module (srfi srfi-34)
|
#:use-module (srfi srfi-34)
|
||||||
#:use-module (srfi srfi-64))
|
#:use-module (srfi srfi-64))
|
||||||
|
|
||||||
|
(define live-service
|
||||||
|
(@@ (gnu services herd) live-service))
|
||||||
|
|
||||||
|
|
||||||
(test-begin "services")
|
(test-begin "services")
|
||||||
|
|
||||||
(test-assert "service-back-edges"
|
(test-assert "service-back-edges"
|
||||||
|
@ -105,6 +110,15 @@
|
||||||
(fold-services (list s) #:target-type t1)
|
(fold-services (list s) #:target-type t1)
|
||||||
#f)))
|
#f)))
|
||||||
|
|
||||||
|
(test-assert "shepherd-service-lookup-procedure"
|
||||||
|
(let* ((s1 (shepherd-service (provision '(s1 s1b)) (start #f)))
|
||||||
|
(s2 (shepherd-service (provision '(s2 s2b)) (start #f)))
|
||||||
|
(s3 (shepherd-service (provision '(s3 s3b s3c)) (start #f)))
|
||||||
|
(lookup (shepherd-service-lookup-procedure (list s1 s2 s3))))
|
||||||
|
(and (eq? (lookup 's1) (lookup 's1b) s1)
|
||||||
|
(eq? (lookup 's2) (lookup 's2b) s2)
|
||||||
|
(eq? (lookup 's3) (lookup 's3b) s3))))
|
||||||
|
|
||||||
(test-assert "shepherd-service-back-edges"
|
(test-assert "shepherd-service-back-edges"
|
||||||
(let* ((s1 (shepherd-service (provision '(s1)) (start #f)))
|
(let* ((s1 (shepherd-service (provision '(s1)) (start #f)))
|
||||||
(s2 (shepherd-service (provision '(s2))
|
(s2 (shepherd-service (provision '(s2))
|
||||||
|
@ -118,4 +132,67 @@
|
||||||
(lset= eq? (e s2) (list s3))
|
(lset= eq? (e s2) (list s3))
|
||||||
(null? (e s3)))))
|
(null? (e s3)))))
|
||||||
|
|
||||||
|
(test-equal "shepherd-service-upgrade: nothing to do"
|
||||||
|
'(() ())
|
||||||
|
(call-with-values
|
||||||
|
(lambda ()
|
||||||
|
(shepherd-service-upgrade '() '()))
|
||||||
|
list))
|
||||||
|
|
||||||
|
(test-equal "shepherd-service-upgrade: one unchanged, one upgraded, one new"
|
||||||
|
'(((bar)) ;unload
|
||||||
|
((bar) (baz))) ;load
|
||||||
|
(call-with-values
|
||||||
|
(lambda ()
|
||||||
|
;; Here 'foo' is not upgraded because it is still running, whereas
|
||||||
|
;; 'bar' is upgraded because it is not currently running. 'baz' is
|
||||||
|
;; loaded because it's a new service.
|
||||||
|
(shepherd-service-upgrade
|
||||||
|
(list (live-service '(foo) '() #t)
|
||||||
|
(live-service '(bar) '() #f)
|
||||||
|
(live-service '(root) '() #t)) ;essential!
|
||||||
|
(list (shepherd-service (provision '(foo))
|
||||||
|
(start #t))
|
||||||
|
(shepherd-service (provision '(bar))
|
||||||
|
(start #t))
|
||||||
|
(shepherd-service (provision '(baz))
|
||||||
|
(start #t)))))
|
||||||
|
(lambda (unload load)
|
||||||
|
(list (map live-service-provision unload)
|
||||||
|
(map shepherd-service-provision load)))))
|
||||||
|
|
||||||
|
(test-equal "shepherd-service-upgrade: service depended on is not unloaded"
|
||||||
|
'(((baz)) ;unload
|
||||||
|
()) ;load
|
||||||
|
(call-with-values
|
||||||
|
(lambda ()
|
||||||
|
;; Service 'bar' is not among the target services; yet, it must not be
|
||||||
|
;; unloaded because 'foo' depends on it.
|
||||||
|
(shepherd-service-upgrade
|
||||||
|
(list (live-service '(foo) '(bar) #t)
|
||||||
|
(live-service '(bar) '() #t) ;still used!
|
||||||
|
(live-service '(baz) '() #t))
|
||||||
|
(list (shepherd-service (provision '(foo))
|
||||||
|
(start #t)))))
|
||||||
|
(lambda (unload load)
|
||||||
|
(list (map live-service-provision unload)
|
||||||
|
(map shepherd-service-provision load)))))
|
||||||
|
|
||||||
|
(test-equal "shepherd-service-upgrade: obsolete services that depend on each other"
|
||||||
|
'(((foo) (bar) (baz)) ;unload
|
||||||
|
((qux))) ;load
|
||||||
|
(call-with-values
|
||||||
|
(lambda ()
|
||||||
|
;; 'foo', 'bar', and 'baz' depend on each other, but all of them are
|
||||||
|
;; obsolete, and thus should be unloaded.
|
||||||
|
(shepherd-service-upgrade
|
||||||
|
(list (live-service '(foo) '(bar) #t) ;obsolete
|
||||||
|
(live-service '(bar) '(baz) #t) ;obsolete
|
||||||
|
(live-service '(baz) '() #t)) ;obsolete
|
||||||
|
(list (shepherd-service (provision '(qux))
|
||||||
|
(start #t)))))
|
||||||
|
(lambda (unload load)
|
||||||
|
(list (map live-service-provision unload)
|
||||||
|
(map shepherd-service-provision load)))))
|
||||||
|
|
||||||
(test-end)
|
(test-end)
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
%base-file-systems))
|
%base-file-systems))
|
||||||
(users %base-user-accounts)))
|
(users %base-user-accounts)))
|
||||||
|
|
||||||
|
|
||||||
(test-begin "system")
|
(test-begin "system")
|
||||||
|
|
||||||
(test-assert "operating-system-store-file-system"
|
(test-assert "operating-system-store-file-system"
|
||||||
|
|
Reference in New Issue