Merge branch 'master' into core-updates

This commit is contained in:
Mark H Weaver 2016-10-17 16:47:12 -04:00
commit dcaf70897a
No known key found for this signature in database
GPG Key ID: 7CEF29847562C516
48 changed files with 2324 additions and 247 deletions

View File

@ -5546,6 +5546,20 @@ example, the command below produces the reference graph of your profile
@example @example
guix graph -t references `readlink -f ~/.guix-profile` guix graph -t references `readlink -f ~/.guix-profile`
@end example @end example
@item referrers
This is the graph of the @dfn{referrers} of a store item, as returned by
@command{guix gc --referrers} (@pxref{Invoking guix gc}).
This relies exclusively on local information from your store. For
instance, let us suppose that the current Inkscape is available in 10
profiles on your machine; @command{guix graph -t referrers inkscape}
will show a graph rooted at Inkscape and with those 10 profiles linked
to it.
It can help determine what is preventing a store item from being garbage
collected.
@end table @end table
The available options are the following: The available options are the following:

View File

@ -6,6 +6,7 @@
# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> # Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
# Copyright © 2016 Kei Kebreau <kei@openmailbox.org> # Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
# Copyright © 2016 Rene Saavedra <rennes@openmailbox.org> # Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
# #
# This file is part of GNU Guix. # This file is part of GNU Guix.
# #
@ -456,6 +457,7 @@ dist_patch_DATA = \
%D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \
%D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \
%D%/packages/patches/arb-ldconfig.patch \ %D%/packages/patches/arb-ldconfig.patch \
%D%/packages/patches/artanis-fix-Makefile.in.patch \
%D%/packages/patches/ath9k-htc-firmware-binutils.patch \ %D%/packages/patches/ath9k-htc-firmware-binutils.patch \
%D%/packages/patches/ath9k-htc-firmware-gcc.patch \ %D%/packages/patches/ath9k-htc-firmware-gcc.patch \
%D%/packages/patches/ath9k-htc-firmware-objcopy.patch \ %D%/packages/patches/ath9k-htc-firmware-objcopy.patch \
@ -527,13 +529,17 @@ dist_patch_DATA = \
%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/freeimage-CVE-2015-0852.patch \ %D%/packages/patches/freeimage-CVE-2015-0852.patch \
%D%/packages/patches/freeimage-CVE-2016-5684.patch \
%D%/packages/patches/gawk-shell.patch \ %D%/packages/patches/gawk-shell.patch \
%D%/packages/patches/gcc-arm-bug-71399.patch \ %D%/packages/patches/gcc-arm-bug-71399.patch \
%D%/packages/patches/gcc-arm-link-spec-fix.patch \ %D%/packages/patches/gcc-arm-link-spec-fix.patch \
%D%/packages/patches/gcc-cross-environment-variables.patch \ %D%/packages/patches/gcc-cross-environment-variables.patch \
%D%/packages/patches/gcc-libvtv-runpath.patch \ %D%/packages/patches/gcc-libvtv-runpath.patch \
%D%/packages/patches/gcc-5.0-libvtv-runpath.patch \ %D%/packages/patches/gcc-5.0-libvtv-runpath.patch \
%D%/packages/patches/gcc-6-arm-none-eabi-multilib.patch \
%D%/packages/patches/gcc-6-cross-environment-variables.patch \
%D%/packages/patches/gd-CVE-2016-7568.patch \ %D%/packages/patches/gd-CVE-2016-7568.patch \
%D%/packages/patches/gd-CVE-2016-8670.patch \
%D%/packages/patches/gd-fix-gd2-read-test.patch \ %D%/packages/patches/gd-fix-gd2-read-test.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gegl-CVE-2012-4433.patch \ %D%/packages/patches/gegl-CVE-2012-4433.patch \
@ -597,7 +603,6 @@ dist_patch_DATA = \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \
%D%/packages/patches/inkscape-drop-wait-for-targets.patch \ %D%/packages/patches/inkscape-drop-wait-for-targets.patch \
%D%/packages/patches/irrlicht-mesa-10.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/jansson-CVE-2016-4425.patch \ %D%/packages/patches/jansson-CVE-2016-4425.patch \
%D%/packages/patches/jasper-CVE-2007-2721.patch \ %D%/packages/patches/jasper-CVE-2007-2721.patch \
@ -712,6 +717,7 @@ dist_patch_DATA = \
%D%/packages/patches/ngircd-no-dns-in-tests.patch \ %D%/packages/patches/ngircd-no-dns-in-tests.patch \
%D%/packages/patches/ninja-tests.patch \ %D%/packages/patches/ninja-tests.patch \
%D%/packages/patches/ninja-zero-mtime.patch \ %D%/packages/patches/ninja-zero-mtime.patch \
%D%/packages/patches/node-9077.patch \
%D%/packages/patches/nss-pkgconfig.patch \ %D%/packages/patches/nss-pkgconfig.patch \
%D%/packages/patches/nvi-assume-preserve-path.patch \ %D%/packages/patches/nvi-assume-preserve-path.patch \
%D%/packages/patches/nvi-dbpagesize-binpower.patch \ %D%/packages/patches/nvi-dbpagesize-binpower.patch \

View File

@ -910,7 +910,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
(define-public guitarix (define-public guitarix
(package (package
(name "guitarix") (name "guitarix")
(version "0.35.1") (version "0.35.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -918,7 +918,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"066qva1zk63qw60s0vbi9g9jh22ljw67p91pk82kv11gw24h3vg6")))) "1qj3adjhg511jygbjkl9k5v0gcjmg6ifc479rspfyf45m383pp3p"))))
(build-system waf-build-system) (build-system waf-build-system)
(arguments (arguments
`(#:tests? #f ; no "check" target `(#:tests? #f ; no "check" target

View File

@ -56,6 +56,8 @@
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages groff) #:use-module (gnu packages groff)
#:use-module (gnu packages guile)
#:use-module (gnu packages haskell)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages imagemagick)
#:use-module (gnu packages java) #:use-module (gnu packages java)
@ -7137,6 +7139,96 @@ ranges and it computes reads profiles and coverage profiles. It also handles
paired-end data.") paired-end data.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public r-rcas
(package
(name "r-rcas")
(version "0.99.6")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/RCAS/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1ljgl2b4r6w2n0i9i04d9xaphajsvhfkjdj2i2z830nha4m3w8f0"))))
(build-system r-build-system)
(native-inputs
`(("r-knitr" ,r-knitr)
("r-testthat" ,r-testthat)
;; During vignette building knitr checks that "pandoc-citeproc"
;; is in the PATH.
("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)))
(propagated-inputs
`(("r-data-table" ,r-data-table)
("r-biomart" ,r-biomart)
("r-org-hs-eg-db" ,r-org-hs-eg-db)
("r-org-ce-eg-db" ,r-org-ce-eg-db)
("r-org-dm-eg-db" ,r-org-dm-eg-db)
("r-org-mm-eg-db" ,r-org-mm-eg-db)
("r-bsgenome-hsapiens-ucsc-hg19" ,r-bsgenome-hsapiens-ucsc-hg19)
("r-bsgenome-mmusculus-ucsc-mm9" ,r-bsgenome-mmusculus-ucsc-mm9)
("r-bsgenome-celegans-ucsc-ce10" ,r-bsgenome-celegans-ucsc-ce10)
("r-bsgenome-dmelanogaster-ucsc-dm3" ,r-bsgenome-dmelanogaster-ucsc-dm3)
("r-topgo" ,r-topgo)
("r-dt" ,r-dt)
("r-plotly" ,r-plotly)
("r-motifrg" ,r-motifrg)
("r-genomation" ,r-genomation)
("r-genomicfeatures" ,r-genomicfeatures)
("r-rtracklayer" ,r-rtracklayer)
("r-rmarkdown" ,r-rmarkdown)))
(synopsis "RNA-centric annotation system")
(description
"RCAS aims to be a standalone RNA-centric annotation system that provides
intuitive reports and publication-ready graphics. This package provides the R
library implementing most of the pipeline's features.")
(home-page "https://github.com/BIMSBbioinfo/RCAS")
(license license:expat)))
(define-public rcas-web
(package
(name "rcas-web")
(version "0.0.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/rcas-web/"
"releases/download/v" version
"/rcas-web-" version ".tar.gz"))
(sha256
(base32
"0d3my0g8i7js59n184zzzjdki7hgmhpi4rhfvk7i6jsw01ba04qq"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(json (assoc-ref inputs "guile-json"))
(redis (assoc-ref inputs "guile-redis"))
(path (string-append
json "/share/guile/site/2.2:"
redis "/share/guile/site/2.2")))
(wrap-program (string-append out "/bin/rcas-web")
`("GUILE_LOAD_PATH" ":" = (,path))
`("GUILE_LOAD_COMPILED_PATH" ":" = (,path))
`("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))))
#t)))))
(inputs
`(("r" ,r)
("r-rcas" ,r-rcas)
("guile-next" ,guile-next)
("guile-json" ,guile2.2-json)
("guile-redis" ,guile2.2-redis)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://github.com/BIMSBbioinfo/rcas-web")
(synopsis "Web interface for RNA-centric annotation system (RCAS)")
(description "This package provides a simple web interface for the
@dfn{RNA-centric annotation system} (RCAS).")
(license license:agpl3+)))
(define-public emboss (define-public emboss
(package (package
(name "emboss") (name "emboss")

View File

@ -288,7 +288,7 @@ from an audio CD.")
(define-public abcde (define-public abcde
(package (package
(name "abcde") (name "abcde")
(version "2.7.1") (version "2.7.2")
(home-page "https://abcde.einval.com/") (home-page "https://abcde.einval.com/")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -296,7 +296,7 @@ from an audio CD.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0l7j0nk8p30s97285i418rv9ym9bgns7bn6l8gldw3mjhnby609l")) "1pakpi41k8yd780mfp0snhia6mmwjwxk9lcrq6gynimch8b8hfda"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(substitute* "Makefile" '(substitute* "Makefile"
@ -314,7 +314,12 @@ from an audio CD.")
(("^prefix = .*$") (("^prefix = .*$")
(string-append "prefix = " (string-append "prefix = "
(assoc-ref outputs "out") (assoc-ref outputs "out")
"\n"))))) "\n"))
(("^sysconfdir = .*$")
(string-append "sysconfdir = "
(assoc-ref outputs "out")
"/etc/\n")))
#t))
(add-after 'install 'wrap (add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let ((wget (assoc-ref inputs "wget")) (let ((wget (assoc-ref inputs "wget"))
@ -336,7 +341,7 @@ from an audio CD.")
(for-each wrap (for-each wrap
(find-files (string-append out "/bin") (find-files (string-append out "/bin")
".*")))))) ".*"))))))
#:tests? #f)) #:tests? #f)) ; no test target
(inputs `(("wget" ,wget) (inputs `(("wget" ,wget)
("which" ,which) ("which" ,which)

View File

@ -12,7 +12,7 @@
;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com> ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 ng0 <ngillmann@runbox.com> ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2016 Alex Vong <alexvong1995@gmail.com>
@ -2981,6 +2981,54 @@ Lua programing language}.")
news items, openrc and runscripts.") news items, openrc and runscripts.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public emacs-evil
(package
(name "emacs-evil")
(version "1.2.12")
(source
(origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/lyro/evil/get/"
version ".tar.bz2"))
(file-name (string-append name "-" version ".tar.bz2"))
(sha256
(base32
"17cda9fnbq3gmjcxs3lyq64gxswrf37y864bm53rldwsk3khq2yi"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-undo-tree" ,emacs-undo-tree)
("emacs-goto-chg" ,emacs-goto-chg)))
(home-page "https://bitbucket.com/lyro/evil")
(synopsis "Extensible Vi layer for Emacs")
(description
"Evil is an extensible vi layer for Emacs. It emulates the
main features of Vim, and provides facilities for writing custom
extensions.")
(license license:gpl3+)))
(define-public emacs-goto-chg
(package
(name "emacs-goto-chg")
(version "1.6")
(source
(origin
(method url-fetch)
;; There is no versioned source.
(uri "https://www.emacswiki.org/emacs/download/goto-chg.el")
(sha256
(base32
"078d6p4br5vips7b9x4v6cy0wxf6m5ij9gpqd4g33bryn22gnpij"))))
(build-system emacs-build-system)
;; There is no other home page.
(home-page "https://www.emacswiki.org/emacs/goto-chg.el")
(synopsis "Go to the last change in the Emacs buffer")
(description
"This package provides @code{M-x goto-last-change} command that goes to
the point of the most recent edit in the current Emacs buffer. When repeated,
go to the second most recent edit, etc. Negative argument, @kbd{C-u -}, is
used for reverse direction.")
(license license:gpl2+)))
(define-public emacs-writegood-mode (define-public emacs-writegood-mode
(package (package
(name "emacs-writegood-mode") (name "emacs-writegood-mode")
@ -3183,3 +3231,24 @@ display and edit the text.
This package contains the library runtime.") This package contains the library runtime.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public emacs-nginx-mode
(package
(name "emacs-nginx-mode")
(version "1.1.4")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/ajc/nginx-mode/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1lvkj07kq0jkskr2f61vqb5rlrbnaz9a76ikq40w6925i2r970rr"))))
(build-system emacs-build-system)
(home-page "https://github.com/ajc/nginx-mode")
(synopsis "Emacs major mode for editing nginx config files")
(description "This package provides an Emacs major mode for
editing nginx config files.")
(license license:gpl2+)))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -24,9 +25,12 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix build utils)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages cross-base) #:use-module (gnu packages cross-base)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages gcc)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages texinfo)) #:use-module (gnu packages texinfo))
@ -97,6 +101,17 @@
(variable "CROSS_LIBRARY_PATH") (variable "CROSS_LIBRARY_PATH")
(files '("arm-none-eabi/lib")))))))) (files '("arm-none-eabi/lib"))))))))
(define-public gcc-arm-none-eabi-6
(package
(inherit gcc-arm-none-eabi-4.9)
(version (package-version gcc-6))
(source (origin (inherit (package-source gcc-6))
(patches
(append
(origin-patches (package-source gcc-6))
(search-patches "gcc-6-cross-environment-variables.patch"
"gcc-6-arm-none-eabi-multilib.patch")))))))
(define-public newlib-arm-none-eabi (define-public newlib-arm-none-eabi
(package (package
(name "newlib") (name "newlib")
@ -163,3 +178,48 @@ usable on embedded products.")
"--enable-newlib-nano-formatted-io" "--enable-newlib-nano-formatted-io"
"--disable-nls")))) "--disable-nls"))))
(synopsis "Newlib variant for small systems with limited memory"))) (synopsis "Newlib variant for small systems with limited memory")))
(define (arm-none-eabi-toolchain xgcc newlib)
"Produce a cross-compiler toolchain package with the compiler XGCC and the C
library variant NEWLIB."
(let ((newlib-with-xgcc (package (inherit newlib)
(native-inputs
(alist-replace "xgcc" (list xgcc)
(package-native-inputs newlib))))))
(package
(name (string-append "arm-none-eabi"
(if (string=? (package-name newlib-with-xgcc)
"newlib-nano")
"-nano" "")
"-toolchain"))
(version (package-version xgcc))
(source #f)
(build-system trivial-build-system)
(arguments '(#:builder (mkdir %output)))
(propagated-inputs
`(("binutils" ,(cross-binutils "arm-none-eabi"))
("gcc" ,xgcc)
("newlib" ,newlib-with-xgcc)))
(synopsis "Complete GCC tool chain for ARM bare metal development")
(description "This package provides a complete GCC tool chain for ARM
bare metal development. This includes the GCC arm-none-eabi cross compiler
and newlib (or newlib-nano) as the C library. The supported programming
languages are C and C++.")
(home-page (package-home-page xgcc))
(license (package-license xgcc)))))
(define-public arm-none-eabi-toolchain-4.9
(arm-none-eabi-toolchain gcc-arm-none-eabi-4.9
newlib-arm-none-eabi))
(define-public arm-none-eabi-nano-toolchain-4.9
(arm-none-eabi-toolchain gcc-arm-none-eabi-4.9
newlib-nano-arm-none-eabi))
(define-public arm-none-eabi-toolchain-6
(arm-none-eabi-toolchain gcc-arm-none-eabi-6
newlib-arm-none-eabi))
(define-public arm-none-eabi-nano-toolchain-6
(arm-none-eabi-toolchain gcc-arm-none-eabi-6
newlib-nano-arm-none-eabi))

View File

@ -2,6 +2,7 @@
;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -41,7 +42,8 @@
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils) #:use-module (gnu packages textutils)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages upnp)) #:use-module (gnu packages upnp)
#:use-module (gnu packages gnuzilla))
(define-public bitcoin-core (define-public bitcoin-core
(package (package
@ -188,3 +190,53 @@ in ability, and easy to use.")
"file://src/wcwidth.cc" "file://src/wcwidth.cc"
"See src/wcwidth.cc in the distribution.") "See src/wcwidth.cc in the distribution.")
license:gpl2+)))) ; lisp/* license:gpl2+)))) ; lisp/*
(define-public geierlein
(package
(name "geierlein")
(version "0.9.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/stesie/geierlein"
"/archive/V" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0b11fq8v5w8nxjb20jl4dsfhv76xky6n3sq3k3fbb0m2sq9ikikw"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; would require npm, python and a lot more
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'override-target-directory-and-tool-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "Makefile"
(("prefix := .*")
(string-append "prefix := " (assoc-ref outputs "out") "\n"))
;; Required for tests, unused for now:
;;(("PYTHON := .*")
;; (string-append (which "python") "\n")))
(("INSTALL := .*")
(string-append "INSTALL := " (which "install") "\n")))
(substitute* "bin/xgeierlein.in"
;; Use icecat as XULRUNNER
(("^for search ")
(string-append "XULRUNNER=" (which "icecat") "\n"
"for search ")))
#t)))))
(inputs
`(("icecat" ,icecat)))
(home-page "http://stesie.github.io/geierlein/")
(synopsis "Free Elster client, for sending Germany VAT declarations")
(description
"Geierlein is a free Elster client, i.e. an application that
allows to send VAT declarations to Germany's fiscal authorities.
Currently it is *not* possible to send returns that are due annually
(especially the income tax return) since the fiscal authority doesn't
allow to do that off the ERiC library (which is proprietary however).
It's not clear at the moment whether one day it will be possible to
do so.")
(license license:agpl3+)))

View File

@ -183,7 +183,9 @@ clone.")
"0k2fl5xk3ni2q8bsxl0551inx26ww3w6cp6hssvww0wfjdjcirsm")))) "0k2fl5xk3ni2q8bsxl0551inx26ww3w6cp6hssvww0wfjdjcirsm"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f)) ; no tests '(#:configure-flags
(list "-DSFML_INSTALL_PKGCONFIG_FILES=TRUE")
#:tests? #f)) ; no tests
(inputs (inputs
`(("mesa" ,mesa) `(("mesa" ,mesa)
("glew" ,glew) ("glew" ,glew)

View File

@ -545,7 +545,7 @@ are primarily in English, however some in other languages are provided.")
(define-public irrlicht (define-public irrlicht
(package (package
(name "irrlicht") (name "irrlicht")
(version "1.8.1") (version "1.8.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -554,10 +554,10 @@ are primarily in English, however some in other languages are provided.")
"/" version "/irrlicht-" version ".zip")) "/" version "/irrlicht-" version ".zip"))
(sha256 (sha256
(base32 (base32
"0yz9lvsc8aqk8wj4rnpanxrw90gqpwn9w5hxp94r8hnm2q0vjjw1")))) "0cz4z4dwrv5ypl19ll67wl6jjpy5k6ly4vr042w4br88qq5jhazl"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (alist-cons-after `(#:phases (alist-cons-after
'unpack 'fix-build-env 'unpack 'fix-build-env
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
@ -572,19 +572,13 @@ are primarily in English, however some in other languages are provided.")
(lambda* (#:key source #:allow-other-keys) (lambda* (#:key source #:allow-other-keys)
(and (zero? (system* "unzip" source)) (and (zero? (system* "unzip" source))
;; The actual source is buried a few directories deep. ;; The actual source is buried a few directories deep.
(chdir "irrlicht-1.8.1/source/Irrlicht/"))) (chdir (string-append "irrlicht-" ,version "/source/Irrlicht/"))))
(alist-cons-after ;; No configure script
'unpack 'apply-patch/mesa-10-fix (alist-delete 'configure %standard-phases)))
(lambda* (#:key inputs #:allow-other-keys)
(zero? (system* "patch" "--force" "-p3" "-i"
(assoc-ref inputs "patch/mesa-10-fix"))))
;; No configure script
(alist-delete 'configure %standard-phases))))
#:tests? #f ; no check target #:tests? #f ; no check target
#:make-flags '("CC=gcc" "sharedlib"))) #:make-flags '("CC=gcc" "sharedlib")))
(native-inputs (native-inputs
`(("patch/mesa-10-fix" ,(search-patch "irrlicht-mesa-10.patch")) `(("unzip" ,unzip)))
("unzip" ,unzip)))
(inputs (inputs
`(("mesa" ,mesa) `(("mesa" ,mesa)
("glu" ,glu))) ("glu" ,glu)))
@ -946,7 +940,7 @@ Protocol).")
(define-public extremetuxracer (define-public extremetuxracer
(package (package
(name "extremetuxracer") (name "extremetuxracer")
(version "0.6.0") (version "0.7.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -954,35 +948,13 @@ Protocol).")
version "/etr-" version ".tar.xz")) version "/etr-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0fl9pwkywqnsmgr6plfj9zb05xrdnl5xb2hcmbjk7ap9l4cjfca4")))) "1lg3z7jhzmsjym53qss8mbydny8hafwjnfsc7x91hrr9zrkwblly"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs
`(("freetype" ,freetype) `(("glu" ,glu)
("mesa" ,mesa) ("sfml" ,sfml)))
("glu" ,glu)
("libice" ,libice)
("libpng" ,libpng)
("sdl" ,sdl)
("sdl-mixer" ,sdl-mixer)
("sdl-image" ,sdl-image)
("libsm" ,libsm)
("libunwind" ,libunwind)
("libx11" ,libx11)
("libxext" ,libxext)
("libxi" ,libxi)
("libxmu" ,libxmu)
("libxt" ,libxt)
("tcl" ,tcl)
("zlib" ,zlib)))
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'configure 'patch-makefile
(lambda _
(substitute* "Makefile"
(("CXXFLAGS =") "CXXFLAGS = ${CFLAGS}")))))))
(synopsis "High speed arctic racing game based on Tux Racer") (synopsis "High speed arctic racing game based on Tux Racer")
;; Snarfed straight from Debian ;; Snarfed straight from Debian
(description "Extreme Tux Racer, or etracer as it is called for short, is (description "Extreme Tux Racer, or etracer as it is called for short, is

View File

@ -51,6 +51,7 @@
(base32 (base32
"0g3xz8jpz1pl2zzmssglrpa9nxiaa7rmcmvgpbrjz8k9cyynqsvl")) "0g3xz8jpz1pl2zzmssglrpa9nxiaa7rmcmvgpbrjz8k9cyynqsvl"))
(patches (search-patches "gd-CVE-2016-7568.patch" (patches (search-patches "gd-CVE-2016-7568.patch"
"gd-CVE-2016-8670.patch"
"gd-fix-gd2-read-test.patch" "gd-fix-gd2-read-test.patch"
"gd-fix-tests-on-i686.patch")))) "gd-fix-tests-on-i686.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)

View File

@ -140,6 +140,7 @@ shared NFS home directories.")
(let ((version "1.10.12")) (let ((version "1.10.12"))
(origin (origin
(method url-fetch) (method url-fetch)
(inherit (package-source dbus))
(uri (string-append (uri (string-append
"https://dbus.freedesktop.org/releases/dbus/dbus-" "https://dbus.freedesktop.org/releases/dbus/dbus-"
version ".tar.gz")) version ".tar.gz"))

View File

@ -5583,3 +5583,31 @@ handling the startup notification side.")
"Calculator is an application that solves mathematical equations and "Calculator is an application that solves mathematical equations and
is suitable as a default application in a Desktop environment.") is suitable as a default application in a Desktop environment.")
(license license:gpl3))) (license license:gpl3)))
(define-public xpad
(package
(name "xpad")
(version "4.8.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://launchpad.net/xpad/trunk/4.8.0/+download/"
name "-" version ".tar.bz2"))
(sha256
(base32
"17f915yyvfa2fsavq6wh0q0dfhib28b4k1gc0292b9xdlrvy7f22"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(inputs
`(("gtk+" ,gtk+)
("gtksourceview" ,gtksourceview)
("libsm" ,libsm)))
(home-page "https://wiki.gnome.org/Apps/Xpad")
(synopsis "Virtual sticky note")
(description
"Xpad is a sticky note that strives to be simple, fault tolerant,
and customizable. Xpad consists of independent pad windows, each is
basically a text box in which notes can be written.")
(license license:gpl3+)))

View File

@ -142,20 +142,18 @@ application can be customized via its API for Python scripting.")
(define-public assimp (define-public assimp
(package (package
(name "assimp") (name "assimp")
(version "3.2") (version "3.3.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/assimp/assimp/archive/v" (uri (string-append "https://github.com/assimp/assimp/archive/v"
version ".zip")) version ".tar.gz"))
(file-name (string-append name "-" version ".zip")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"11sfahmbwnjjpd8vpzdsng1bx5mb0cmaqb20dz6sdwapqanqwmar")))) "1gy7zlgkf4nmyv8n674p3f30asis0gjz8icyy11i693n13ww71fk"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (inputs
`(("zlib" ,zlib))) `(("zlib" ,zlib)))
(native-inputs
`(("unzip" ,unzip)))
(home-page "http://assimp.org/") (home-page "http://assimp.org/")
(synopsis "Asset import library") (synopsis "Asset import library")
(description (description

View File

@ -7,6 +7,7 @@
;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com> ;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com>
;;; Copyright © 2016 Eraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Eraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -321,7 +322,8 @@ applicable."
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"19m3ak12cqk8js9d2mdg11kh4fjsq8frfpd10qw75h0zpr5cywpp")))) "19m3ak12cqk8js9d2mdg11kh4fjsq8frfpd10qw75h0zpr5cywpp"))
(patches (search-patches "artanis-fix-Makefile.in.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; TODO: Add guile-dbi and guile-dbd optional dependencies. ;; TODO: Add guile-dbi and guile-dbd optional dependencies.
(inputs `(("guile" ,guile-2.0))) (inputs `(("guile" ,guile-2.0)))
@ -335,8 +337,7 @@ applicable."
(dir (string-append out "/share/guile/site/2.0"))) (dir (string-append out "/share/guile/site/2.0")))
;; Don't use (%site-dir) for site paths. ;; Don't use (%site-dir) for site paths.
(list (string-append "MOD_PATH=" dir) (list (string-append "MOD_PATH=" dir)
(string-append "MOD_COMPILED_PATH=" dir) (string-append "MOD_COMPILED_PATH=" dir)))
(string-append "DESTDIR=" out)))
#:test-target "test" #:test-target "test"
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases

View File

@ -570,18 +570,19 @@ supplies a generic doubly-linked list and some string functions.")
(sha256 (sha256
(base32 (base32
"12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v")) "12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v"))
(patches (search-patches "freeimage-CVE-2015-0852.patch")))) (patches (search-patches "freeimage-CVE-2015-0852.patch"
"freeimage-CVE-2016-5684.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (alist-delete '(#:phases
'configure (modify-phases %standard-phases
(alist-cons-before (delete 'configure)
'build 'patch-makefile (add-before 'build 'patch-makefile
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile.gnu" (substitute* "Makefile.gnu"
(("/usr") (assoc-ref outputs "out")) (("/usr") (assoc-ref outputs "out"))
(("-o root -g root") ""))) (("-o root -g root") ""))
%standard-phases)) #t)))
#:make-flags '("CC=gcc") #:make-flags '("CC=gcc")
#:tests? #f)) ; no check target #:tests? #f)) ; no check target
(native-inputs (native-inputs

View File

@ -322,26 +322,26 @@ It has been modified to remove all non-free binary blobs.")
(define %intel-compatible-systems '("x86_64-linux" "i686-linux")) (define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
(define-public linux-libre (define-public linux-libre
(make-linux-libre "4.8.1" (make-linux-libre "4.8.2"
"0l57ab8v52nvx4d898qfvkl7c6zlrm7qd080z6jg0bg0adn4w5lf" "111v014j9b2zgyhv8f0aka5lmyc3imdc5yag7azw6hv3vjqqkn67"
%intel-compatible-systems %intel-compatible-systems
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.4 (define-public linux-libre-4.4
(make-linux-libre "4.4.24" (make-linux-libre "4.4.25"
"1wg1d9rq29612psr5v4krabx7nv1y1gzfshq7wpx6i1lpqf3lill" "1a677h8vvjkbzqwnklqnjvhq33lwig5z453dwi125zzzvawgr463"
%intel-compatible-systems %intel-compatible-systems
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.1 (define-public linux-libre-4.1
(make-linux-libre "4.1.33" (make-linux-libre "4.1.34"
"1s45vymx7zp7qwj4rx63dpj9xwm8hv5fd9nm27wqvmgnmd3q548h" "0dajsb363p9lgga22ml8gp9k9lxd8mvrzxk9y3h9c6hpzfcmqdqr"
%intel-compatible-systems %intel-compatible-systems
#:configuration-file kernel-config)) #:configuration-file kernel-config))
;; Avoid rebuilding kernel variants when there is a minor version bump. ;; Avoid rebuilding kernel variants when there is a minor version bump.
(define %linux-libre-version "4.8.1") (define %linux-libre-version "4.8.2")
(define %linux-libre-hash "0l57ab8v52nvx4d898qfvkl7c6zlrm7qd080z6jg0bg0adn4w5lf") (define %linux-libre-hash "111v014j9b2zgyhv8f0aka5lmyc3imdc5yag7azw6hv3vjqqkn67")
(define-public linux-libre-arm-generic (define-public linux-libre-arm-generic
(make-linux-libre %linux-libre-version (make-linux-libre %linux-libre-version

View File

@ -443,6 +443,54 @@ attachments, create new maildirs, and so on.")
@code{notmuch} mail. It is written in Python using the @code{urwid} toolkit.") @code{notmuch} mail. It is written in Python using the @code{urwid} toolkit.")
(license gpl3+))) (license gpl3+)))
(define-public notifymuch
(let
((commit "9d4aaf54599282ce80643b38195ff501120807f0")
(revision "1"))
(package
(name "notifymuch")
(version (string-append "0.1-" revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kspi/notifymuch.git")
(commit commit)))
(sha256
(base32
"1lssr7iv43mp5v6nzrfbqlfzx8jcc7m636wlfyhhnd8ydd39n6k4"))
(file-name (string-append name "-" version "-checkout"))))
(build-system python-build-system)
(inputs
`(("python-notmuch" ,python-notmuch)
("python-pygobject" ,python-pygobject)
("gobject-introspection" ,gobject-introspection)
("libnotify" ,libnotify)
("gtk+" ,gtk+)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-binary
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/notifymuch")))
(wrap-program bin
`("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")
,(string-append out "/lib/girepository-1.0")))))
#t)))))
(home-page "https://github.com/kspi/notifymuch")
(synopsis "Displays notifications for changes in the notmuch email database")
(description "notifymuch displays desktop notifications for messages in
the notmuch database. The notifications are sent using libnotify to a
notification daemon. The query to find messages to send a notification about
is configurable, and a notification for the same message will not be send
within a configurable period (defaults to 48 hours). To use notifymuch, run
@command{notifymuch} after new mail is indexed, this can be automated by
invoking @command{notifymuch} from the post-new hook.")
(license gpl3))))
(define-public notmuch (define-public notmuch
(package (package
(name "notmuch") (name "notmuch")

View File

@ -1521,6 +1521,31 @@ synths, microtonal capabilities, custom envelopes, effects, etc. Yoshimi
improves on support for JACK features, such as JACK MIDI.") improves on support for JACK features, such as JACK MIDI.")
(license license:gpl2))) (license license:gpl2)))
(define-public jack-keyboard
(package
(name "jack-keyboard")
(version "2.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/jack-keyboard/jack-keyboard/"
version "/jack-keyboard-" version ".tar.gz"))
(sha256
(base32
"0mzmg8aavybcfdlq2yd9d0vscqd6is5p6jzrgfpfm5j3xdcvh2s3"))))
(build-system gnu-build-system)
(inputs
`(("jack" ,jack-1)
("lash" ,lash)
("gtk+" ,gtk+-2)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://jack-keyboard.sourceforge.net/")
(synopsis "Virtual MIDI keyboard")
(description "Jack-keyboard is a virtual MIDI keyboard, a program that
allows you to send JACK MIDI events (i.e. play) using your PC keyboard.")
(license license:bsd-2)))
(define-public cursynth (define-public cursynth
(package (package
(name "cursynth") (name "cursynth")
@ -1965,3 +1990,366 @@ CSV file in the format created by midicsv may be converted back into a
standard MIDI file with the csvmidi program.") standard MIDI file with the csvmidi program.")
(home-page "http://www.fourmilab.ch/webtools/midicsv/") (home-page "http://www.fourmilab.ch/webtools/midicsv/")
(license license:public-domain))) (license license:public-domain)))
(define-public gx-guvnor-lv2
(let ((commit "9f528a7623a201383e119bb6a2df32b18396a9d5")
(revision "1"))
(package
(name "gx-guvnor-lv2")
(version (string-append "0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/brummer10/GxGuvnor.lv2")
(commit commit)))
(sha256
(base32
"10zx84p2vd7i1yqc5ma9p17927265j4g0zfwv9rxladw0nm8y45k"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
`(;; The check target is used only to output a warning.
#:tests? #f
#:make-flags
(list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* "Makefile"
(("INSTALL_DIR = .*") "INSTALL_DIR=/lib/lv2\n")
;; Avoid rebuilding everything
(("install : all") "install:"))
#t)))))
(inputs
`(("lv2" ,lv2)))
(home-page "https://github.com/brummer10/GxGuvnor.lv2")
(synopsis "Overdrive/distortion pedal simulation")
(description "This package provides the LV2 plugin \"GxGuvnor\", a
simulation of an overdrive or distortion pedal for guitars.")
;; The LICENSE file says GPLv3 but the license headers in the files say
;; GPLv2 or later.
(license license:gpl2+))))
(define-public gx-vbass-preamp-lv2
(let ((commit "0e599abab10c7669dd444e5d06f671c2fc1b9c6c")
(revision "1"))
(package (inherit gx-guvnor-lv2)
(name "gx-vbass-preamp-lv2")
(version (string-append "0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/brummer10/GxVBassPreAmp.lv2")
(commit commit)))
(sha256
(base32
"1dzksdfrva666gpi62fd2ni9rhf18sl917f1894qr0b17pbdh9k1"))
(file-name (string-append name "-" version "-checkout"))))
(home-page "https://github.com/brummer10/GxVBassPreAmp.lv2")
(synopsis "Simulation of the Vox Venue Bass 100 Pre Amp Section")
(description "This package provides the LV2 plugin \"GxVBassPreAmp\", a
pre-amplifier simulation modelled after the 1984 Vox Venue Bass 100 Pre Amp
Section."))))
(define-public gx-overdriver-lv2
(let ((commit "ed71801987449414bf3adaa0dbfac68e8775f1ce")
(revision "1"))
(package (inherit gx-guvnor-lv2)
(name "gx-overdriver-lv2")
(version (string-append "0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/brummer10/GxOverDriver.lv2")
(commit commit)))
(sha256
(base32
"13j614jh525fbkby79nnzwj0z1ac0c9wclyn5pfqvkmx6a7j24r8"))
(file-name (string-append name "-" version "-checkout"))))
(home-page "https://github.com/brummer10/GxOverDriver.lv2")
(synopsis "Overdrive effect with level and tone control")
(description "This package provides the LV2 plugin \"GxOverDriver\", an
overdrive effect."))))
(define-public gx-tone-mender-lv2
(let ((commit "b6780b4a3e4782b3ed0e5882d6788f178aed138f")
(revision "1"))
(package (inherit gx-guvnor-lv2)
(name "gx-tone-mender-lv2")
(version (string-append "0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/brummer10/GxToneMender.lv2")
(commit commit)))
(sha256
(base32
"07qdcfsvv2vdnfnjh91pfgvjdcs5y91nvwfm8c0z8fp6b4bk7a9q"))
(file-name (string-append name "-" version "-checkout"))))
(home-page "https://github.com/brummer10/GxToneMender.lv2")
(synopsis "Clean boost with a 3-knob tonestack")
(description "This package provides the LV2 plugin \"GxToneMender\", a
clean boost effect with a 3-knob tonestack."))))
(define-public gx-push-pull-lv2
(let ((commit "7f76ae2068498643ac8671ee0930b13ee3fd8eb5")
(revision "1"))
(package (inherit gx-guvnor-lv2)
(name "gx-push-pull-lv2")
(version (string-append "0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/brummer10/GxPushPull.lv2")
(commit commit)))
(sha256
(base32
"12f5hwck2irph0gjbj8xy8jqcqdwb8l1hlwf29k0clz52h1jhb5q"))
(file-name (string-append name "-" version "-checkout"))))
(home-page "https://github.com/brummer10/GxPushPull.lv2")
(synopsis "Octave up push pull transistor fuzz simulation")
(description "This package provides the LV2 plugin \"GxPushPull\", a
simulation of a push pull transistor fuzz effect with added high octave."))))
(define-public gx-suppa-tone-bender-lv2
(let ((commit "4e6dc713ec24e7fcf5ea23b7e685af627c01b9c9")
(revision "1"))
(package (inherit gx-guvnor-lv2)
(name "gx-suppa-tone-bender-lv2")
(version (string-append "0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/brummer10/GxSuppaToneBender.lv2")
(commit commit)))
(sha256
(base32
"1i22xr252nkbazkwidll2zb3i96610gx65qn5djdkijlz7j77138"))
(file-name (string-append name "-" version "-checkout"))))
(home-page "https://github.com/brummer10/GxSuppaToneBender.lv2")
(synopsis "Simulation of the Vox Suppa Tone Bender pedal")
(description "This package provides the LV2 plugin
\"GxSuppaToneBender\", a simulation modelled after the Vox Suppa Tone Bender
pedal."))))
(define-public gx-saturator-lv2
(let ((commit "361399245d234b4d02f11f066d25ac15d90c6bf8")
(revision "1"))
(package (inherit gx-guvnor-lv2)
(name "gx-saturator-lv2")
(version (string-append "0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/brummer10/GxSaturator.lv2")
(commit commit)))
(sha256
(base32
"13cf5gxr2wzp5954hdhbl79v98a665ll5434mb3668p4j33sv217"))
(file-name (string-append name "-" version "-checkout"))))
(arguments
(substitute-keyword-arguments (package-arguments gx-guvnor-lv2)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'escape-shell-commands
(lambda _
(substitute* "Makefile"
(("cat ") "$(shell cat ")
(("/dev/null") "/dev/null)")
(("SSE_CFLAGS = \"\"") "SSE_CFLAGS ="))
#t))))))
(home-page "https://github.com/brummer10/GxSaturator.lv2")
(synopsis "Saturation effect")
(description "This package provides the LV2 plugin \"GxSaturator\", a
saturation effect."))))
(define-public gx-hyperion-lv2
(let ((commit "7d993bc77f9946b3df0e481632c61b2dcbb6549f")
(revision "1"))
(package (inherit gx-guvnor-lv2)
(name "gx-hyperion-lv2")
(version (string-append "0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/brummer10/GxHyperion.lv2")
(commit commit)))
(sha256
(base32
"12klcyc6l9v93ii3478mqz44jzvh5np1sk8zzdmz42jp0w8qd429"))
(file-name (string-append name "-" version "-checkout"))))
(arguments
(substitute-keyword-arguments (package-arguments gx-guvnor-lv2)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'escape-shell-commands
(lambda _
(substitute* "Makefile"
(("cat ") "$(shell cat ")
(("/dev/null") "/dev/null)")
(("SSE_CFLAGS = \"\"") "SSE_CFLAGS ="))
#t))))))
(home-page "https://github.com/brummer10/GxHyperion.lv2")
(synopsis "Simulation of the Hyperion Fuzz pedal")
(description "This package provides the LV2 plugin \"GxHyperion\", a
simulation of the Hyperion Fuzz pedal."))))
(define-public gx-voodoo-fuzz-lv2
(let ((commit "d2d6b27bc279f98c2fd11bbd58ffe2fb2c321ec4")
(revision "1"))
(package (inherit gx-guvnor-lv2)
(name "gx-voodoo-fuzz-lv2")
(version (string-append "0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/brummer10/GxVoodoFuzz.lv2")
(commit commit)))
(sha256
(base32
"1ji915bly588a8xwvwspvsqv0nh8ljgi6rky2mk1d9d6nz96jrbk"))
(file-name (string-append name "-" version "-checkout"))))
(arguments
(substitute-keyword-arguments (package-arguments gx-guvnor-lv2)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'escape-shell-commands
(lambda _
(substitute* "Makefile"
(("cat ") "$(shell cat ")
(("/dev/null") "/dev/null)")
(("SSE_CFLAGS = \"\"") "SSE_CFLAGS ="))
#t))))))
(home-page "https://github.com/brummer10/GxVoodoFuzz.lv2")
(synopsis "Fuzz effect modelled after the Voodoo Lab SuperFuzz")
(description "This package provides the LV2 plugin \"GxVoodooFuzz\", a
simulation modelled after the Voodoo Lab SuperFuzz pedal. It's basically a
Bosstone circuit, followed by the tone control of the FoxToneMachine in
parallel with a DarkBooster, followed by a volume control."))))
(define-public gx-super-fuzz-lv2
(let ((commit "9800354caeb4082a64ca55b2daa9a9a1f79b8c21")
(revision "1"))
(package (inherit gx-guvnor-lv2)
(name "gx-super-fuzz-lv2")
(version (string-append "0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/brummer10/GxSuperFuzz.lv2")
(commit commit)))
(sha256
(base32
"1jclp53p01h94cpx17wm4765r7klbr41g7bvq87l53qwlrgkc7a9"))
(file-name (string-append name "-" version "-checkout"))))
(arguments
(substitute-keyword-arguments (package-arguments gx-guvnor-lv2)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'escape-shell-commands
(lambda _
(substitute* "Makefile"
(("cat ") "$(shell cat ")
(("/dev/null") "/dev/null)")
(("SSE_CFLAGS = \"\"") "SSE_CFLAGS ="))
#t))))))
(home-page "https://github.com/brummer10/GxSuperFuzz.lv2")
(synopsis "Fuzz effect modelled after the UniVox SuperFuzz")
(description "This package provides the LV2 plugin \"GxVoodooFuzz\", an
analog simulation of the UniVox SuperFuzz pedal. In this simulation the trim
pot, which is usualy in the housing, is exposed as a control parameter. It
adjusts the amount of harmonics."))))
(define-public gx-vintage-fuzz-master-lv2
(let ((commit "c3ab9a3019a8381a398718b98615940b4a225b9e")
(revision "1"))
(package (inherit gx-guvnor-lv2)
(name "gx-vintage-fuzz-master-lv2")
(version (string-append "0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/brummer10/GxVintageFuzzMaster.lv2")
(commit commit)))
(sha256
(base32
"0s1ghysggx6psalyhcpgjnmf38vama6jcqgbldqmxii5c2w2ybsc"))
(file-name (string-append name "-" version "-checkout"))))
(arguments
(substitute-keyword-arguments (package-arguments gx-guvnor-lv2)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'escape-shell-commands
(lambda _
(substitute* "Makefile"
(("cat ") "$(shell cat ")
(("/dev/null") "/dev/null)")
(("SSE_CFLAGS = \"\"") "SSE_CFLAGS ="))
#t))))))
(home-page "https://github.com/brummer10/GxVintageFuzzMaster.lv2")
(synopsis "Fuzz effect simulation of the vintage Fuzz Master")
(description "This package provides the LV2 plugin
\"GxVintageFuzzMaster\", a simulation of the vintage Fuzz Master pedal."))))
(define-public gx-slow-gear-lv2
(let ((commit "1071c2b2936ebad859242cb578af2f3415f8900f")
(revision "1"))
(package (inherit gx-guvnor-lv2)
(name "gx-slow-gear-lv2")
(version (string-append "0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/brummer10/GxSlowGear.lv2")
(commit commit)))
(sha256
(base32
"0c6099h5qkv7ilsvxxcrzwy1h6lkld1srh3fvbjxyw9q34kbqsyl"))
(file-name (string-append name "-" version "-checkout"))))
(arguments
(substitute-keyword-arguments (package-arguments gx-guvnor-lv2)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'escape-shell-commands
(lambda _
(substitute* "Makefile"
(("cat ") "$(shell cat ")
(("/dev/null") "/dev/null)")
(("SSE_CFLAGS = \"\"") "SSE_CFLAGS ="))
#t))))))
(home-page "https://github.com/brummer10/GxSlowGear.lv2")
(synopsis "Slow gear audio effect")
(description "This package provides the LV2 plugin \"GxSlowGear\", a
slow gear audio effect to produce volume swells."))))
(define-public gx-switchless-wah-lv2
(let ((commit "1d466240c482b7ce9136aee39044068ab96f1c92")
(revision "1"))
(package (inherit gx-guvnor-lv2)
(name "gx-switchless-wah-lv2")
(version (string-append "0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/brummer10/GxSwitchlessWah.lv2")
(commit commit)))
(sha256
(base32
"0g6njgsm8s76n6yys09a8w77z93pjjgqq9hzhhsrl73hhvyr9qmy"))
(file-name (string-append name "-" version "-checkout"))))
(arguments
(substitute-keyword-arguments (package-arguments gx-guvnor-lv2)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'escape-shell-commands
(lambda _
(substitute* "Makefile"
(("cat ") "$(shell cat ")
(("/dev/null") "/dev/null)")
(("SSE_CFLAGS = \"\"") "SSE_CFLAGS ="))
#t))))))
(home-page "https://github.com/brummer10/GxSwitchlessWah.lv2")
(synopsis "Wah emulation with switchless activation")
(description "This package provides the LV2 plugin \"GxSwitchlessWah\",
a simulation of an analog Wah pedal with switchless activation."))))

View File

@ -40,6 +40,7 @@
#:use-module (gnu packages audio) #:use-module (gnu packages audio)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages code)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
@ -54,7 +55,9 @@
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages tls)) #:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind))
(define-public macchanger (define-public macchanger
(package (package
@ -474,7 +477,7 @@ network frames.")
(define-public httping (define-public httping
(package (package
(name "httping") (name "httping")
(version "2.4") (version "2.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -482,7 +485,7 @@ network frames.")
version ".tgz")) version ".tgz"))
(sha256 (sha256
(base32 (base32
"1110r3gpsj9xmybdw7w4zkhj3zmn5mnv2nq0ijbvrywbn019zdfs")))) "1y7sbgkhgadmd93x1zafqc4yp26ssiv16ni5bbi9vmvvdl55m29y"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("gettext" ,gettext-minimal))) `(("gettext" ,gettext-minimal)))
@ -857,3 +860,70 @@ other similar tasks that are particularly application specific so that the
library remains flexible, portable, and easily embeddable.") library remains flexible, portable, and easily embeddable.")
(home-page "http://enet.bespin.org") (home-page "http://enet.bespin.org")
(license license:expat))) (license license:expat)))
(define-public sslh
(package
(name "sslh")
(version "1.18")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/yrutschle/sslh/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1vzw7a7s9lhspbn5zn3hw8hir4pkjgbd68yys4hfsnjp1h7bzjpn"))))
(build-system gnu-build-system)
(native-inputs
`(;; Tests dependencies.
("lcov" ,lcov)
("perl" ,perl)
("perl-io-socket-inet6" ,perl-io-socket-inet6)
("perl-socket6" ,perl-socket6)
("psmisc" ,psmisc)
("valgrind" ,valgrind)))
(inputs
`(("libcap" ,libcap)
("libconfig" ,libconfig)
("tcp-wrappers" ,tcp-wrappers)))
(arguments
'(#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
(add-before 'check 'fix-tests
(lambda _
(substitute* "./t"
(("\"/tmp") "$ENV{\"TMPDIR\"} . \"")
;; The Guix build environment lacks ip6-localhost.
(("ip6-localhost") "localhost"))
#t))
;; Many of these files are mentioned in the man page. Install them.
(add-after 'install 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/sslh")))
(install-file "README.md" doc)
(for-each
(lambda (file)
(install-file file (string-append doc "/examples")))
(append (find-files "." "\\.cfg")
(find-files "scripts"))))
#t)))
#:make-flags (list "CC=gcc"
"USELIBCAP=1"
"USELIBWRAP=1"
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:test-target "test"))
(home-page "http://www.rutschle.net/tech/sslh.shtml")
(synopsis "Applicative network protocol demultiplexer")
(description
"sslh is a network protocol demultiplexer. It acts like a switchboard,
accepting connections from clients on one port and forwarding them to different
servers based on the contents of the first received data packet. Detection of
common protocols like HTTP(S), SSL, SSH, OpenVPN, tinc, and XMPP is already
implemented, but any other protocol that matches a regular expression can be
added. sslh's name comes from its original application of serving both SSH and
HTTPS on port 443, allowing SSH connections from inside corporate firewalls
that block port 22.")
(license (list license:bsd-2 ; tls.[ch]
license:gpl2+)))) ; everything else

View File

@ -25,6 +25,7 @@
#:use-module (guix derivations) #:use-module (guix derivations)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
@ -37,14 +38,16 @@
(define-public node (define-public node
(package (package
(name "node") (name "node")
(version "6.0.0") (version "6.8.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://nodejs.org/dist/v" version (uri (string-append "http://nodejs.org/dist/v" version
"/node-v" version ".tar.gz")) "/node-v" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0cpw7ng193jgfbw2g1fd0kcglmjjkbj4xb89g00z8zz0lj0nvdbd")))) "0lj3250hglz4w5ic4svd7wlg2r3qc49hnasvbva1v69l8yvx98m8"))
;; https://github.com/nodejs/node/pull/9077
(patches (search-patches "node-9077.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; TODO: Package http_parser and add --shared-http-parser. ;; TODO: Package http_parser and add --shared-http-parser.
@ -78,10 +81,10 @@
;; FIXME: These tests fail in the build container, but they don't ;; FIXME: These tests fail in the build container, but they don't
;; seem to be indicative of real problems in practice. ;; seem to be indicative of real problems in practice.
(for-each delete-file (for-each delete-file
'("test/parallel/test-cluster-master-error.js" '("test/parallel/test-dgram-membership.js"
"test/parallel/test-cluster-master-error.js"
"test/parallel/test-cluster-master-kill.js" "test/parallel/test-cluster-master-kill.js"
"test/parallel/test-npm-install.js" "test/parallel/test-npm-install.js"
"test/parallel/test-stdout-close-unref.js"
"test/sequential/test-child-process-emfile.js")) "test/sequential/test-child-process-emfile.js"))
#t)) #t))
(replace 'configure (replace 'configure
@ -101,22 +104,15 @@
(string-append (assoc-ref inputs "python") (string-append (assoc-ref inputs "python")
"/bin/python") "/bin/python")
"configure" flags))))) "configure" flags)))))
(replace 'patch-shebangs (add-after 'patch-shebangs 'patch-npm-shebang
(lambda* (#:key outputs #:allow-other-keys #:rest all) (lambda* (#:key outputs #:allow-other-keys)
;; Work around <http://bugs.gnu.org/23723>. (let* ((bindir (string-append (assoc-ref outputs "out")
(let* ((patch (assoc-ref %standard-phases 'patch-shebangs)) "/bin"))
(npm (string-append (assoc-ref outputs "out") (npm (string-append bindir "/npm"))
"/bin/npm"))
(target (readlink npm))) (target (readlink npm)))
(and (apply patch all) (with-directory-excursion bindir
(with-directory-excursion (dirname npm) (patch-shebang target (list bindir))
;; Turn NPM into a symlink to TARGET again, which 'npm' #t)))))))
;; relies on for the resolution of relative file names
;; in JS files.
(delete-file target)
(rename-file npm target)
(symlink target npm)
#t))))))))
(native-inputs (native-inputs
`(("python" ,python-2) `(("python" ,python-2)
("perl" ,perl) ("perl" ,perl)

View File

@ -0,0 +1,70 @@
Applies until an Artanis release comes with the following patches
applied:
* <https://savannah.gnu.org/patch/?func=detailitem&item_id=9130>
* <https://savannah.gnu.org/patch/?func=detailitem&item_id=9131>
diff -ru artanis-0.1.2/Makefile.in artanis-0.1.2.1/Makefile.in
--- artanis-0.1.2/Makefile.in 2016-02-10 12:35:18.800490571 -0200
+++ artanis-0.1.2.1/Makefile.in 2016-10-15 19:44:35.140907367 -0300
@@ -19,9 +19,18 @@
MOD_OBJ := $(OBJ)/artanis
BIN := bin
TEMP_LIB_PATH := $(OBJ)
-MOD_PATH := $(shell guile -c "(display (%site-dir))")
MOD_COMPILED_PATH := $(shell guile -c "(display (%site-ccache-dir))")
+
+ifdef DESTDIR
+INFO_DIR := $(DESTDIR)/share/info/
+MOD_PATH := $(DESTDIR)/$(shell guile -c "(display (%site-dir))")
MOD_TARGET_PATH := $(DESTDIR)/$(MOD_COMPILED_PATH)
+else
+INFO_DIR := $(PREFIX)/share/info/
+MOD_PATH := $(shell guile -c "(display (%site-dir))")
+MOD_TARGET_PATH := $(MOD_COMPILED_PATH)
+endif
+
GUILE_CFLAGS := -Wunsupported-warning -Wunbound-variable -Warity-mismatch -Wduplicate-case-datum -Wbad-case-datum -Wformat
GUILEC := GUILE_LOAD_COMPILED_PATH=$(TEMP_LIB_PATH) guild compile $(GUILE_CFLAGS)
ARTANIS_ETC := $(SRC)/etc/artanis
@@ -36,7 +45,6 @@
GENDOCS :=$(BUILD_AUX)/gendocs.sh
CHK_TEXINFO := $(BUILD_AUX)/check_texinfo.scm
CP := cp -frd -P
-INFO_DIR := $(PREFIX)/share/info/
TARBALL_NAME := artanis-$(VERSION)
TMP_DIR := $(shell mktemp -d)
ANN_GEN := $(BUILD_AUX)/announce-gen
@@ -124,18 +132,29 @@
-rm -f config.{h,log}
install: $(ALL_TARGETS)
- mkdir -p $(DESTDIR)/$(MOD_PATH)
- $(CP) $(MOD) $(DESTDIR)/$(MOD_PATH)/
+ mkdir -p $(MOD_PATH)
+ $(CP) $(MOD) $(MOD_PATH)/
mkdir -p $(MOD_TARGET_PATH)/
$(CP) $(MOD_OBJ) $(MOD_TARGET_PATH)/
+
+ifdef DESTDIR
$(CP) $(ARTANIS_ETC) $(DESTDIR)/etc/
$(CP) $(ARTANIS_PAGES) $(DESTDIR)/etc/artanis/
- mkdir -p $(DESTDIR)/$(PREFIX)/bin/
- $(CP) $(BIN)/art $(DESTDIR)/$(PREFIX)/bin/
+ mkdir -p $(DESTDIR)/bin/
+ $(CP) $(BIN)/art $(DESTDIR)/bin/
mkdir -p $(DESTDIR)/etc/bash_completion.d/
$(CP) $(CMDCOMP) $(DESTDIR)/etc/bash_completion.d/
+else
+ $(CP) $(ARTANIS_ETC) $(PREFIX)/etc/
+ $(CP) $(ARTANIS_PAGES) $(PREFIX)/etc/artanis/
+ mkdir -p $(PREFIX)/bin/
+ $(CP) $(BIN)/art $(PREFIX)/bin/
+ mkdir -p $(PREFIX)/etc/bash_completion.d/
+ $(CP) $(CMDCOMP) $(PREFIX)/etc/bash_completion.d/
+endif
+
if [ -e /etc/bash.bashrc ]; then source /etc/bash.bashrc; fi
- if [ -e artanis.info ]; then mkdir -p $(DESTDIR)/$(INFO_DIR); $(CP) artanis.info $(DESTDIR)/$(INFO_DIR)/; fi
+ if [ -e artanis.info ]; then mkdir -p $(INFO_DIR); $(CP) artanis.info $(INFO_DIR)/; fi
distclean: distclean-mk clean clean-config clean-tarball
-rm -f $(BIN)/art

View File

@ -0,0 +1,34 @@
From: Debian Science Maintainers
<debian-science-maintainers@lists.alioth.debian.org>
Date: Mon, 10 Oct 2016 08:22:44 +0100
Subject: CVE-2016-5684
---
Source/FreeImage/PluginXPM.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/Source/FreeImage/PluginXPM.cpp b/Source/FreeImage/PluginXPM.cpp
index a698321..cc7bd07 100644
--- a/Source/FreeImage/PluginXPM.cpp
+++ b/Source/FreeImage/PluginXPM.cpp
@@ -181,6 +181,11 @@ Load(FreeImageIO *io, fi_handle handle, int page, int flags, void *data) {
}
free(str);
+ // check info string
+ if((width <= 0) || (height <= 0) || (colors <= 0) || (cpp <= 0)) {
+ throw "Improperly formed info string";
+ }
+
if (colors > 256) {
dib = FreeImage_AllocateHeader(header_only, width, height, 24, FI_RGBA_RED_MASK, FI_RGBA_GREEN_MASK, FI_RGBA_BLUE_MASK);
} else {
@@ -193,7 +198,7 @@ Load(FreeImageIO *io, fi_handle handle, int page, int flags, void *data) {
FILE_RGBA rgba;
str = ReadString(io, handle);
- if(!str)
+ if(!str || (strlen(str) < (size_t)cpp))
throw "Error reading color strings";
std::string chrs(str,cpp); //create a string for the color chars using the first cpp chars

View File

@ -0,0 +1,206 @@
From Anatol Pomozov <anatol.pomozov@gmail.com>
Taken from Arch Linux arm-none-eabi-gcc package.
Modified version of ARM patch https://gcc.gnu.org/ml/gcc-patches/2012-05/msg00083/enable-with-multilib-list-for-arm.patch
This patch enables the use of the "--with-multilib-list" flag, when
configuring GCC 6.2. It makes GCC 6 compatible with the configure flags used
in the "gcc-arm-none-eabi-4.9" package.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 4ab7405..6e1ea2c 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -535,6 +535,7 @@ lang_opt_files=@lang_opt_files@ $(srcdir)/c-family/c.opt $(srcdir)/common.opt
lang_specs_files=@lang_specs_files@
lang_tree_files=@lang_tree_files@
target_cpu_default=@target_cpu_default@
+with_multilib_list=@with_multilib_list@
OBJC_BOEHM_GC=@objc_boehm_gc@
extra_modes_file=@extra_modes_file@
extra_opt_files=@extra_opt_files@
diff --git a/gcc/config.gcc b/gcc/config.gcc
index cb08a5c..7bded02 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1072,7 +1072,7 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
case ${target} in
arm*-*-eabi*)
tm_file="$tm_file newlib-stdint.h"
- tmake_file="${tmake_file} arm/t-bpabi"
+ tmake_file="${tmake_file} arm/t-bpabi arm/t-mlibs"
use_gcc_stdint=wrap
;;
arm*-*-rtems*)
@@ -3684,42 +3684,6 @@ case "${target}" in
exit 1
fi
- # Add extra multilibs
- if test "x$with_multilib_list" != x; then
- arm_multilibs=`echo $with_multilib_list | sed -e 's/,/ /g'`
- for arm_multilib in ${arm_multilibs}; do
- case ${arm_multilib} in
- aprofile)
- # Note that arm/t-aprofile is a
- # stand-alone make file fragment to be
- # used only with itself. We do not
- # specifically use the
- # TM_MULTILIB_OPTION framework because
- # this shorthand is more
- # pragmatic. Additionally it is only
- # designed to work without any
- # with-cpu, with-arch with-mode
- # with-fpu or with-float options.
- if test "x$with_arch" != x \
- || test "x$with_cpu" != x \
- || test "x$with_float" != x \
- || test "x$with_fpu" != x \
- || test "x$with_mode" != x ; then
- echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=aprofile" 1>&2
- exit 1
- fi
- tmake_file="${tmake_file} arm/t-aprofile"
- break
- ;;
- default)
- ;;
- *)
- echo "Error: --with-multilib-list=${with_multilib_list} not supported." 1>&2
- exit 1
- ;;
- esac
- done
- fi
;;
fr*-*-*linux*)
diff --git a/gcc/config/arm/t-mlibs b/gcc/config/arm/t-mlibs
new file mode 100644
index 0000000..5720cf7
--- /dev/null
+++ b/gcc/config/arm/t-mlibs
@@ -0,0 +1,89 @@
+# A set of predefined MULTILIB which can be used for different ARM targets.
+# Via the configure option --with-multilib-list, user can customize the
+# final MULTILIB implementation.
+
+comma := ,
+space :=
+space +=
+
+MULTILIB_OPTIONS = mthumb/marm
+MULTILIB_DIRNAMES = thumb arm
+MULTILIB_OPTIONS += march=armv6s-m/march=armv7-m/march=armv7e-m/march=armv7
+MULTILIB_DIRNAMES += armv6-m armv7-m armv7e-m armv7-ar
+MULTILIB_OPTIONS += mfloat-abi=softfp/mfloat-abi=hard
+MULTILIB_DIRNAMES += softfp fpu
+MULTILIB_OPTIONS += mfpu=fpv4-sp-d16/mfpu=vfpv3-d16
+MULTILIB_DIRNAMES += fpv4-sp-d16 vfpv3-d16
+
+MULTILIB_MATCHES = march?armv6s-m=mcpu?cortex-m0
+MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m0plus
+MULTILIB_MATCHES += march?armv6s-m=mcpu?cortex-m1
+MULTILIB_MATCHES += march?armv6s-m=march?armv6-m
+MULTILIB_MATCHES += march?armv7-m=mcpu?cortex-m3
+MULTILIB_MATCHES += march?armv7e-m=mcpu?cortex-m4
+MULTILIB_MATCHES += march?armv7e-m=mcpu?cortex-m7
+MULTILIB_MATCHES += march?armv7=march?armv7-r
+MULTILIB_MATCHES += march?armv7=march?armv7-a
+MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4
+MULTILIB_MATCHES += march?armv7=mcpu?cortex-r4f
+MULTILIB_MATCHES += march?armv7=mcpu?cortex-r5
+MULTILIB_MATCHES += march?armv7=mcpu?cortex-r7
+MULTILIB_MATCHES += march?armv7=mcpu?cortex-a5
+MULTILIB_MATCHES += march?armv7=mcpu?cortex-a7
+MULTILIB_MATCHES += march?armv7=mcpu?cortex-a8
+MULTILIB_MATCHES += march?armv7=mcpu?cortex-a9
+MULTILIB_MATCHES += march?armv7=mcpu?cortex-a15
+MULTILIB_MATCHES += mfpu?fpv4-sp-d16=mfpu?fpv5-sp-d16
+MULTILIB_MATCHES += mfpu?fpv4-sp-d16=mfpu?fpv5-d16
+MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv3
+MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv3-fp16
+MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv3-d16-fp16
+MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv3xd
+MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv3xd-fp16
+MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv4
+MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?vfpv4-d16
+MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?neon
+MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?neon-fp16
+MULTILIB_MATCHES += mfpu?vfpv3-d16=mfpu?neon-vfpv4
+
+MULTILIB_EXCEPTIONS =
+MULTILIB_REUSE =
+
+MULTILIB_REQUIRED = mthumb
+MULTILIB_REQUIRED += marm
+MULTILIB_REQUIRED += mfloat-abi=hard
+
+MULTILIB_OSDIRNAMES = mthumb=!thumb
+MULTILIB_OSDIRNAMES += marm=!arm
+MULTILIB_OSDIRNAMES += mfloat-abi.hard=!fpu
+
+ifneq (,$(findstring armv6-m,$(subst $(comma),$(space),$(with_multilib_list))))
+MULTILIB_REQUIRED += mthumb/march=armv6s-m
+MULTILIB_OSDIRNAMES += mthumb/march.armv6s-m=!armv6-m
+endif
+
+ifneq (,$(findstring armv7-m,$(subst $(comma),$(space),$(with_multilib_list))))
+MULTILIB_REQUIRED += mthumb/march=armv7-m
+MULTILIB_OSDIRNAMES += mthumb/march.armv7-m=!armv7-m
+endif
+
+ifneq (,$(findstring armv7e-m,$(subst $(comma),$(space),$(with_multilib_list))))
+MULTILIB_REQUIRED += mthumb/march=armv7e-m
+MULTILIB_REQUIRED += mthumb/march=armv7e-m/mfloat-abi=softfp/mfpu=fpv4-sp-d16
+MULTILIB_REQUIRED += mthumb/march=armv7e-m/mfloat-abi=hard/mfpu=fpv4-sp-d16
+MULTILIB_OSDIRNAMES += mthumb/march.armv7e-m=!armv7e-m
+MULTILIB_OSDIRNAMES += mthumb/march.armv7e-m/mfloat-abi.hard/mfpu.fpv4-sp-d16=!armv7e-m/fpu
+MULTILIB_OSDIRNAMES += mthumb/march.armv7e-m/mfloat-abi.softfp/mfpu.fpv4-sp-d16=!armv7e-m/softfp
+endif
+
+ifneq (,$(filter armv7 armv7-r armv7-a,$(subst $(comma),$(space),$(with_multilib_list))))
+MULTILIB_REQUIRED += mthumb/march=armv7
+MULTILIB_REQUIRED += mthumb/march=armv7/mfloat-abi=softfp/mfpu=vfpv3-d16
+MULTILIB_REQUIRED += mthumb/march=armv7/mfloat-abi=hard/mfpu=vfpv3-d16
+MULTILIB_OSDIRNAMES += mthumb/march.armv7=!armv7-ar/thumb
+MULTILIB_OSDIRNAMES += mthumb/march.armv7/mfloat-abi.hard/mfpu.vfpv3-d16=!armv7-ar/thumb/fpu
+MULTILIB_OSDIRNAMES += mthumb/march.armv7/mfloat-abi.softfp/mfpu.vfpv3-d16=!armv7-ar/thumb/softfp
+MULTILIB_REUSE += mthumb/march.armv7=marm/march.armv7
+MULTILIB_REUSE += mthumb/march.armv7/mfloat-abi.softfp/mfpu.vfpv3-d16=marm/march.armv7/mfloat-abi.softfp/mfpu.vfpv3-d16
+MULTILIB_REUSE += mthumb/march.armv7/mfloat-abi.hard/mfpu.vfpv3-d16=marm/march.armv7/mfloat-abi.hard/mfpu.vfpv3-d16
+endif
diff --git a/gcc/configure b/gcc/configure
index 9523773..24952e3 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -763,6 +763,7 @@ SET_MAKE
accel_dir_suffix
real_target_noncanonical
enable_as_accelerator
+with_multilib_list
REPORT_BUGS_TEXI
REPORT_BUGS_TO
PKGVERSION
@@ -7462,6 +7463,7 @@ else
fi
+
# -------------------------
# Checks for other programs
# -------------------------
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 68b0ee8..f8a1097 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -925,6 +925,7 @@ AC_ARG_WITH(multilib-list,
[AS_HELP_STRING([--with-multilib-list], [select multilibs (AArch64, SH and x86-64 only)])],
:,
with_multilib_list=default)
+AC_SUBST(with_multilib_list)
# -------------------------
# Checks for other programs

View File

@ -0,0 +1,65 @@
Search path environment variables for cross-compilers. See the discussion
at <http://gcc.gnu.org/ml/gcc/2013-02/msg00124.html>.
Note: Touch 'C_INCLUDE_PATH' et al. rather than 'CPATH', as discussed
at <http://bugs.gnu.org/22186>.
--- a/gcc/incpath.c
+++ b/gcc/incpath.c
@@ -461,8 +461,8 @@ register_include_chains (cpp_reader *pfile, const char *sysroot,
int stdinc, int cxx_stdinc, int verbose)
{
static const char *const lang_env_vars[] =
- { "C_INCLUDE_PATH", "CPLUS_INCLUDE_PATH",
- "OBJC_INCLUDE_PATH", "OBJCPLUS_INCLUDE_PATH" };
+ { "CROSS_C_INCLUDE_PATH", "CROSS_CPLUS_INCLUDE_PATH",
+ "CROSS_OBJC_INCLUDE_PATH", "CROSS_OBJCPLUS_INCLUDE_PATH" };
cpp_options *cpp_opts = cpp_get_options (pfile);
size_t idx = (cpp_opts->objc ? 2: 0);
@@ -473,7 +473,7 @@ register_include_chains (cpp_reader *pfile, const char *sysroot,
/* CPATH and language-dependent environment variables may add to the
include chain. */
- add_env_var_paths ("CPATH", BRACKET);
+ add_env_var_paths ("CROSS_CPATH", BRACKET);
add_env_var_paths (lang_env_vars[idx], SYSTEM);
target_c_incpath.extra_pre_includes (sysroot, iprefix, stdinc);
diff --git a/gcc/system.h b/gcc/system.h
index 42bc509..af3b9ad 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -1063,4 +1063,6 @@ helper_const_non_const_cast (const char *p)
/* Get definitions of HOST_WIDE_INT and HOST_WIDEST_INT. */
#include "hwint.h"
+#define LIBRARY_PATH_ENV "CROSS_LIBRARY_PATH"
+
#endif /* ! GCC_SYSTEM_H */
diff --git a/gcc/tlink.c b/gcc/tlink.c
index bc358b8..ad6242f 100644
--- a/gcc/tlink.c
+++ b/gcc/tlink.c
@@ -458,7 +458,7 @@ recompile_files (void)
file *f;
putenv (xstrdup ("COMPILER_PATH="));
- putenv (xstrdup ("LIBRARY_PATH="));
+ putenv (xstrdup (LIBRARY_PATH_ENV "="));
while ((f = file_pop ()) != NULL)
{
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 0f042b0..c23fb0b 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -4264,7 +4264,7 @@ process_command (unsigned int decoded_options_count,
}
temp = env.get (LIBRARY_PATH_ENV);
- if (temp && *cross_compile == '0')
+ if (temp)
{
const char *startp, *endp;
char *nstore = (char *) alloca (strlen (temp) + 3);

View File

@ -0,0 +1,38 @@
Fix CVE-2016-8670 (buffer overflow in dynamicGetbuf()):
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8670
http://seclists.org/oss-sec/2016/q4/138
Patch copied from upstream source repository:
https://github.com/libgd/libgd/commit/53110871935244816bbb9d131da0bccff734bfe9
From 53110871935244816bbb9d131da0bccff734bfe9 Mon Sep 17 00:00:00 2001
From: "Christoph M. Becker" <cmbecker69@gmx.de>
Date: Wed, 12 Oct 2016 11:15:32 +0200
Subject: [PATCH] Avoid potentially dangerous signed to unsigned conversion
We make sure to never pass a negative `rlen` as size to memcpy(). See
also <https://bugs.php.net/bug.php?id=73280>.
Patch provided by Emmanuel Law.
---
src/gd_io_dp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gd_io_dp.c b/src/gd_io_dp.c
index 135eda3..228bfa5 100644
--- a/src/gd_io_dp.c
+++ b/src/gd_io_dp.c
@@ -276,7 +276,7 @@ static int dynamicGetbuf(gdIOCtxPtr ctx, void *buf, int len)
if(remain >= len) {
rlen = len;
} else {
- if(remain == 0) {
+ if(remain <= 0) {
/* 2.0.34: EOF is incorrect. We use 0 for
* errors and EOF, just like fileGetbuf,
* which is a simple fread() wrapper.
--
2.10.1

View File

@ -0,0 +1,579 @@
Copied from Debian.
Description: Support additional architectures.
Author: Francesco Paolo Lovergine <frankie@debian.org>
--- a/hdf/src/hdfi.h
+++ b/hdf/src/hdfi.h
@@ -48,6 +48,7 @@
/* 8 - Cray IEEE */
/* (i.e. Big-Endian, all 64-bit architecture w/IEEE Floats) */
/*--------------------------------------------------------------------------*/
+#define DFMT_S390 0x1111
#define DFMT_SUN 0x1111
#define DFMT_SUN_INTEL 0x4441
#define DFMT_ALLIANT 0x1111
@@ -62,6 +63,7 @@
#define DFMT_CTSS 0x3331
#define DFMT_VAX 0x2221
#define DFMT_MIPSEL 0x4441
+#define DFMT_MIPSEB 0x1111
#define DFMT_PC 0x4441
#define DFMT_APPLE 0x1111
#define DFMT_APPLE_INTEL 0x4441
@@ -75,6 +77,12 @@
#define DFMT_IA64 0x4441
#define DFMT_LINUX64 0x4441
#define DFMT_POWERPC64 0x1111
+#define DFMT_POWERPC64LE 0x4441
+#define DFMT_ARMV4L 0x4441
+#define DFMT_AARCH64 0x4441
+#define DFMT_X86_64 0x4441
+#define DFMT_SH 0x4441
+#define DFMT_SHEB 0x1111
/* I/O library constants */
#define UNIXUNBUFIO 1
@@ -288,7 +296,7 @@ typedef int hdf_pint_t;
#endif /* IBM6000 */
-#if defined(HP9000) || (!defined(__convexc__) && (defined(hpux) || defined(__hpux)))
+#if defined(HP9000) || (!defined(__convexc__) && (defined(hpux) || defined(__hpux) || defined(__hppa__)))
#ifndef HP9000
#define HP9000
@@ -347,6 +355,10 @@ typedef int hdf_pint_t;
/* what each does */
#define JMEMSYS MEM_ANSI
+#ifdef __linux__
+#define FNAME_POST_UNDERSCORE
+#endif
+
#endif /* HP9000 */
@@ -666,6 +678,410 @@ typedef int hdf_pint_t;
#endif /* !(defined(__APPLE__)) */
/*-----------------------------------------------------*/
+#if defined (__linux__) && defined (__mc68000__)
+
+#ifdef GOT_MACHINE
+If you get an error on this line more than one machine type has been defined.
+Please check your Makefile.
+#endif
+#define GOT_MACHINE 1
+
+#include <fcntl.h>
+#include <sys/types.h> /* for unbuffered file I/O */
+#include <sys/stat.h>
+#include <unistd.h>
+#include <ctype.h> /* for character macros */
+
+#define DF_MT DFMT_MOTOROLA
+
+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
+typedef void VOID;
+#endif /* end VOID */
+typedef void * VOIDP;
+typedef char * _fcd;
+typedef char char8;
+typedef unsigned char uchar8;
+typedef char int8;
+typedef unsigned char uint8;
+typedef short int int16;
+typedef unsigned short int uint16;
+typedef long int int32;
+typedef unsigned long int uint32;
+typedef int intn;
+typedef unsigned int uintn;
+typedef float float32;
+typedef double float64;
+typedef long intf; /* size of INTEGERs in Fortran compiler */
+typedef int hdf_pint_t; /* an integer the same size as a pointer */
+#define FNAME_POST_UNDERSCORE
+#define _fcdtocp(desc) (desc)
+
+#ifdef HAVE_FMPOOL
+#define FILELIB PAGEBUFIO /* enable page buffering */
+#else
+#define FILELIB UNIXBUFIO
+#endif
+
+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
+
+/* Determine the memory manager we are going to use. Valid values are: */
+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
+/* what each does */
+#define JMEMSYS MEM_ANSI
+#define HAVE_STDC
+#define INCLUDES_ARE_ANSI
+
+#endif /* Linux/m68k */
+
+#if defined (__linux__) && defined (__sparc__)
+
+#ifdef GOT_MACHINE
+If you get an error on this line more than one machine type has been defined.
+Please check your Makefile.
+#endif
+#define GOT_MACHINE 1
+
+#include <fcntl.h>
+#include <sys/types.h> /* for unbuffered file I/O */
+#include <sys/stat.h>
+#include <unistd.h>
+#include <ctype.h> /* for character macros */
+
+#define DF_MT DFMT_SUN
+
+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
+typedef void VOID;
+#endif /* end VOID */
+typedef void * VOIDP;
+typedef char * _fcd;
+typedef char char8;
+typedef unsigned char uchar8;
+typedef char int8;
+typedef unsigned char uint8;
+typedef short int int16;
+typedef unsigned short int uint16;
+#ifdef _LP64 /* 64-bit environment */
+typedef int int32;
+typedef unsigned int uint32;
+#else /* 32-bit environment */
+typedef long int int32;
+typedef unsigned long int uint32;
+#endif
+typedef int intn;
+typedef unsigned int uintn;
+typedef float float32;
+typedef double float64;
+typedef long intf; /* size of INTEGERs in Fortran compiler */
+#ifdef _LP64 /* 64-bit environment */
+typedef long hdf_pint_t; /* an integer the same size as a pointer */
+#else /* 32-bit environment */
+typedef int hdf_pint_t; /* an integer the same size as a pointer */
+#endif
+#define FNAME_POST_UNDERSCORE
+#define _fcdtocp(desc) (desc)
+
+#ifdef HAVE_FMPOOL
+#define FILELIB PAGEBUFIO /* enable page buffering */
+#else
+#define FILELIB UNIXBUFIO
+#endif
+
+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
+
+/* Determine the memory manager we are going to use. Valid values are: */
+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
+/* what each does */
+#define JMEMSYS MEM_ANSI
+#define HAVE_STDC
+#define INCLUDES_ARE_ANSI
+
+#endif /* Linux/Sparc */
+
+#if defined (__linux__) && defined (__powerpc__) && !defined(__powerpc64__)
+
+#ifdef GOT_MACHINE
+If you get an error on this line more than one machine type has been defined.
+Please check your Makefile.
+#endif
+#define GOT_MACHINE 1
+
+#include <fcntl.h>
+#include <sys/types.h> /* for unbuffered file I/O */
+#include <sys/stat.h>
+#include <unistd.h>
+#include <ctype.h> /* for character macros */
+
+#define DF_MT DFMT_MOTOROLA
+
+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
+typedef void VOID;
+#endif /* end VOID */
+typedef void * VOIDP;
+typedef char * _fcd;
+typedef char char8;
+typedef unsigned char uchar8;
+typedef signed char int8;
+typedef unsigned char uint8;
+typedef short int int16;
+typedef unsigned short int uint16;
+typedef long int int32;
+typedef unsigned long int uint32;
+typedef int intn;
+typedef unsigned int uintn;
+typedef float float32;
+typedef double float64;
+typedef long intf; /* size of INTEGERs in Fortran compiler */
+typedef int hdf_pint_t; /* an integer the same size as a pointer */
+#define FNAME_POST_UNDERSCORE
+#define _fcdtocp(desc) (desc)
+
+#ifdef HAVE_FMPOOL
+#define FILELIB PAGEBUFIO /* enable page buffering */
+#else
+#define FILELIB UNIXBUFIO
+#endif
+
+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
+
+/* Determine the memory manager we are going to use. Valid values are: */
+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
+/* what each does */
+#define JMEMSYS MEM_ANSI
+#define HAVE_STDC
+#define INCLUDES_ARE_ANSI
+
+#endif /* Linux/powerpc */
+
+#if defined (__linux__) && defined (__s390__)
+
+#ifdef GOT_MACHINE
+If you get an error on this line more than one machine type has been defined.
+Please check your Makefile.
+#endif
+#define GOT_MACHINE 1
+
+#include <fcntl.h>
+#include <sys/types.h> /* for unbuffered file I/O */
+#include <sys/stat.h>
+#include <unistd.h>
+#include <ctype.h> /* for character macros */
+
+#define DF_MT DFMT_S390
+
+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
+typedef void VOID;
+#endif /* end VOID */
+typedef void * VOIDP;
+typedef char * _fcd;
+typedef char char8;
+typedef unsigned char uchar8;
+typedef signed char int8;
+typedef unsigned char uint8;
+typedef short int int16;
+typedef unsigned short int uint16;
+#ifdef _LP64 /* 64-bit environment */
+typedef int int32;
+typedef unsigned int uint32;
+#else /* 32-bit environment */
+typedef long int int32;
+typedef unsigned long int uint32;
+#endif
+typedef int intn;
+typedef unsigned int uintn;
+typedef float float32;
+typedef double float64;
+typedef long intf; /* size of INTEGERs in Fortran compiler */
+#ifdef _LP64 /* 64-bit environment */
+typedef long hdf_pint_t; /* an integer the same size as a pointer */
+#else /* 32-bit environment */
+typedef int hdf_pint_t; /* an integer the same size as a pointer */
+#endif
+#define FNAME_POST_UNDERSCORE
+#define _fcdtocp(desc) (desc)
+
+#ifdef HAVE_FMPOOL
+#define FILELIB PAGEBUFIO /* enable page buffering */
+#else
+#define FILELIB UNIXBUFIO
+#endif
+
+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
+
+/* Determine the memory manager we are going to use. Valid values are: */
+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
+/* what each does */
+#define JMEMSYS MEM_ANSI
+#define HAVE_STDC
+#define INCLUDES_ARE_ANSI
+
+#endif /* Linux/s390 */
+
+#if defined (__linux__) && (defined (__MIPSEB__) || defined(__MIPSEL__))
+
+#ifdef GOT_MACHINE
+If you get an error on this line more than one machine type has been defined.
+Please check your Makefile.
+#endif
+#define GOT_MACHINE 1
+
+#include <fcntl.h>
+#include <sys/types.h> /* for unbuffered file I/O */
+#include <sys/stat.h>
+#include <unistd.h>
+#include <ctype.h> /* for character macros */
+
+#if defined (__MIPSEB__)
+#define DF_MT DFMT_MIPSEB
+#elif defined(__MIPSEL__)
+#define DF_MT DFMT_MIPSEL
+#endif
+
+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
+typedef void VOID;
+#endif /* end VOID */
+typedef void * VOIDP;
+typedef char * _fcd;
+typedef char char8;
+typedef unsigned char uchar8;
+typedef signed char int8;
+typedef unsigned char uint8;
+typedef short int int16;
+typedef unsigned short int uint16;
+typedef int int32;
+typedef unsigned int uint32;
+typedef int intn;
+typedef unsigned int uintn;
+typedef float float32;
+typedef double float64;
+typedef long intf; /* size of INTEGERs in Fortran compiler */
+typedef long int hdf_pint_t; /* an integer the same size as a pointer */
+#define FNAME_POST_UNDERSCORE
+#define _fcdtocp(desc) (desc)
+
+#ifdef HAVE_FMPOOL
+#define FILELIB PAGEBUFIO /* enable page buffering */
+#else
+#define FILELIB UNIXBUFIO
+#endif
+
+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
+
+/* Determine the memory manager we are going to use. Valid values are: */
+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
+/* what each does */
+#define JMEMSYS MEM_ANSI
+#define HAVE_STDC
+#define INCLUDES_ARE_ANSI
+
+#endif /* Linux/mips */
+
+#if defined (__linux__) && defined (__arm__)
+
+#ifdef GOT_MACHINE
+If you get an error on this line more than one machine type has been defined.
+Please check your Makefile.
+#endif
+#define GOT_MACHINE 1
+
+#include <fcntl.h>
+#include <sys/types.h> /* for unbuffered file I/O */
+#include <sys/stat.h>
+#include <unistd.h>
+#include <ctype.h> /* for character macros */
+
+#define DF_MT DFMT_ARMV4L
+
+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
+typedef void VOID;
+#endif /* end VOID */
+typedef void * VOIDP;
+typedef char * _fcd;
+typedef char char8;
+typedef unsigned char uchar8;
+typedef signed char int8;
+typedef unsigned char uint8;
+typedef short int int16;
+typedef unsigned short int uint16;
+typedef int int32;
+typedef unsigned int uint32;
+typedef int intn;
+typedef unsigned int uintn;
+typedef float float32;
+typedef double float64;
+typedef long intf; /* size of INTEGERs in Fortran compiler */
+typedef long hdf_pint_t; /* an integer the same size as a pointer */
+#define FNAME_POST_UNDERSCORE
+#define _fcdtocp(desc) (desc)
+
+#ifdef HAVE_FMPOOL
+#define FILELIB PAGEBUFIO /* enable page buffering */
+#else
+#define FILELIB UNIXBUFIO
+#endif
+
+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
+
+/* Determine the memory manager we are going to use. Valid values are: */
+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
+/* what each does */
+#define JMEMSYS MEM_ANSI
+#define HAVE_STDC
+#define INCLUDES_ARE_ANSI
+
+#endif /* Linux/arm */
+
+#if defined (__linux__) && defined (__aarch64__)
+
+#ifdef GOT_MACHINE
+If you get an error on this line more than one machine type has been defined.
+Please check your Makefile.
+#endif
+#define GOT_MACHINE 1
+
+#include <fcntl.h>
+#include <sys/types.h> /* for unbuffered file I/O */
+#include <sys/stat.h>
+#include <unistd.h>
+#include <ctype.h> /* for character macros */
+
+#define DF_MT DFMT_AARCH64
+
+typedef void VOID;
+typedef void * VOIDP;
+typedef char * _fcd;
+typedef char char8;
+typedef unsigned char uchar8;
+typedef signed char int8;
+typedef unsigned char uint8;
+typedef short int int16;
+typedef unsigned short int uint16;
+typedef int int32;
+typedef unsigned int uint32;
+typedef int intn;
+typedef unsigned int uintn;
+typedef float float32;
+typedef double float64;
+typedef int intf; /* size of INTEGERs in Fortran compiler */
+typedef long hdf_pint_t; /* an integer the same size as a pointer */
+#define FNAME_POST_UNDERSCORE
+#define _fcdtocp(desc) (desc)
+#define FILELIB UNIXBUFIO
+
+#ifndef BIG_LONGS
+#define BIG_LONGS
+#endif
+
+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
+
+/* Determine the memory manager we are going to use. Valid values are: */
+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
+/* what each does */
+#define JMEMSYS MEM_ANSI
+#define HAVE_STDC
+#define INCLUDES_ARE_ANSI
+
+#endif /* Linux/aarch64 */
+
#if defined(NEXT) || defined(NeXT)
#ifndef NEXT
@@ -928,7 +1344,11 @@ Please check your Makefile.
#include <sys/file.h> /* for unbuffered i/o stuff */
#include <sys/stat.h>
-#define DF_MT DFMT_POWERPC64
+#ifdef __LITTLE_ENDIAN__
+#define DF_MT DFMT_POWERPC64LE
+#else
+#define DF_MT DFMT_POWERPC64
+#endif
typedef void VOID;
typedef void *VOIDP;
typedef char *_fcd;
@@ -952,6 +1372,11 @@ typedef long hdf_pint_t;
#define _fcdtocp(desc) (desc)
#define FILELIB UNIXBUFIO
+#ifndef BIG_LONGS
+#define BIG_LONGS
+#endif
+
+
/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
/* Determine the memory manager we are going to use. Valid values are: */
@@ -1097,6 +1522,8 @@ typedef long hdf_pint_t;
#define _fcdtocp(desc) (desc)
#define FILELIB UNIXBUFIO
+#define BIG_LONGS
+
/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
/* Determine the memory manager we are going to use. Valid values are: */
@@ -1111,6 +1538,66 @@ typedef long hdf_pint_t;
#endif /* IA64 */
+/* Renesas SuperH SH3(little/big)/SH4(little/big) */
+#if defined (__linux__) && defined(__sh__)
+
+#ifdef GOT_MACHINE
+If you get an error on this line more than one machine type has been defined.
+Please check your Makefile.
+#endif
+#define GOT_MACHINE 1
+
+#include <fcntl.h>
+#include <sys/types.h> /* for unbuffered file I/O */
+#include <sys/stat.h>
+#include <unistd.h>
+#include <ctype.h> /* for character macros */
+
+#if defined (__LITTLE_ENDIAN__)
+#define DF_MT DFMT_SH
+#elif defined(__BIG_ENDIAN__)
+#define DF_MT DFMT_SHEB
+#endif
+
+#ifndef VOID /* The stupid windows.h header file uses a #define instead of a typedef */
+typedef void VOID;
+#endif /* end VOID */
+
+typedef void * VOIDP;
+typedef char * _fcd;
+typedef char char8;
+typedef unsigned char uchar8;
+typedef signed char int8;
+typedef unsigned char uint8;
+typedef short int int16;
+typedef unsigned short int uint16;
+typedef long int int32;
+typedef unsigned long int uint32;
+typedef int intn;
+typedef unsigned int uintn;
+typedef float float32;
+typedef double float64;
+typedef long intf;
+typedef int hdf_pint_t;
+#define FNAME_POST_UNDERSCORE
+#define _fcdtocp(desc) (desc)
+
+#ifdef HAVE_FMPOOL
+#define FILELIB PAGEBUFIO /* enable page buffering */
+#else
+#define FILELIB UNIXBUFIO
+#endif
+
+/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
+/* Determine the memory manager we are going to use. Valid values are: */
+/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
+/* what each does */
+#define JMEMSYS MEM_ANSI
+#define HAVE_STDC
+#define INCLUDES_ARE_ANSI
+
+#endif /* Linux/sh */
+
#ifndef GOT_MACHINE
No machine type has been defined. Your Makefile needs to have someing like
-DSUN or -DUNICOS in order for the HDF internal structures to be defined
--- a/hdf/src/hconv.h
+++ b/hdf/src/hconv.h
@@ -59,7 +59,7 @@
/* CONSTANT DEFINITIONS */
/*****************************************************************************/
/* Generally Big-Endian machines */
-#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__)
+#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !(defined(__powerpc__) && defined(__LITTLE_ENDIAN__)) && !defined(__aarch64__) && !defined(__ARM_EABI__)
# define UI8_IN DFKnb1b /* Unsigned Integer, 8 bits */
# define UI8_OUT DFKnb1b
# define SI16_IN DFKnb2b /* S = Signed */

View File

@ -1,46 +0,0 @@
Patch to work around incompatibility between irrlicht-1.8.1 and mesa-10.x.
Upstream bug (fixed in trunk): http://sourceforge.net/p/irrlicht/bugs/429/
Upstream fix: http://sourceforge.net/p/irrlicht/code/4810
This patch copied from:
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-games/irrlicht/files/irrlicht-1.8.1-mesa-10.x.patch?view=markup
From 244d00280c1b082ca164f92337773e9e4e1a3898 Mon Sep 17 00:00:00 2001
From: hiker <henrichsjoerg@mgail.com>
Date: Wed, 26 Feb 2014 11:13:03 +1100
Subject: [PATCH] Applied patch from jpirie for fixing mesa 10 compilation
problems.
--- irrlicht-1.8.1/source/Irrlicht/COpenGLExtensionHandler.h
+++ irrlicht-1.8.1/source/Irrlicht/COpenGLExtensionHandler.h
@@ -21,6 +21,7 @@
#endif
#include <GL/gl.h>
#if defined(_IRR_OPENGL_USE_EXTPOINTER_)
+ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
#include "glext.h"
#endif
#include "wglext.h"
@@ -35,6 +36,7 @@
#endif
#include <OpenGL/gl.h>
#if defined(_IRR_OPENGL_USE_EXTPOINTER_)
+ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
#include "glext.h"
#endif
#elif defined(_IRR_COMPILE_WITH_SDL_DEVICE_) && !defined(_IRR_COMPILE_WITH_X11_DEVICE_)
@@ -48,6 +50,7 @@
#define NO_SDL_GLEXT
#include <SDL/SDL_video.h>
#include <SDL/SDL_opengl.h>
+ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
#include "glext.h"
#else
#if defined(_IRR_OPENGL_USE_EXTPOINTER_)
@@ -60,6 +63,7 @@
#include <GL/gl.h>
#include <GL/glx.h>
#if defined(_IRR_OPENGL_USE_EXTPOINTER_)
+ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
#include "glext.h"
#undef GLX_ARB_get_proc_address // avoid problems with local glxext.h
#include "glxext.h"

View File

@ -0,0 +1,30 @@
From fc164acbbb700fd50ab9c04b47fc1b2687e9c0f4 Mon Sep 17 00:00:00 2001
From: "Bradley T. Hughes" <bradleythughes@fastmail.fm>
Date: Thu, 13 Oct 2016 07:38:38 +0000
Subject: [PATCH] build: add -DZLIB_CONST when building with --shared-zlib
Commit 782620f added the define only when building with the bundled
zlib. Using a shared zlib results in build breakage:
../src/inspector_agent.cc:179:16: error: assigning to 'Bytef *' (aka 'unsigned char *') from incompatible type
'const uint8_t *' (aka 'const unsigned char *')
strm.next_in = PROTOCOL_JSON + 3;
^ ~~~~~~~~~~~~~~~~~
1 error generated.
---
node.gyp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/node.gyp b/node.gyp
index fa98547..d799ba1 100644
--- a/node.gyp
+++ b/node.gyp
@@ -480,6 +480,8 @@
}],
[ 'node_shared_zlib=="false"', {
'dependencies': [ 'deps/zlib/zlib.gyp:zlib' ],
+ }, {
+ 'defines': [ 'ZLIB_CONST' ],
}],
[ 'node_shared_http_parser=="false"', {

View File

@ -8,6 +8,7 @@
;;; Coypright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Coypright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Coypright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Coypright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Coypright © 2016 Ludovic Courtès <ludo@gnu.org> ;;; Coypright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Coypright © 2016 Julien Lepiller <julien@lepiller.eu>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -46,6 +47,11 @@
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages backup) #:use-module (gnu packages backup)
#:use-module (gnu packages lesstif) #:use-module (gnu packages lesstif)
#:use-module (gnu packages linux)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages gl)
#:use-module (gnu packages photo)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
@ -697,3 +703,51 @@ such as smooth alpha-blended slide transitions. It provides additional tools
such as zooming, highlighting an area of the screen, and a tool to navigate such as zooming, highlighting an area of the screen, and a tool to navigate
the PDF pages.") the PDF pages.")
(license license:gpl2))) (license license:gpl2)))
(define-public fbida
(package
(name "fbida")
(version "2.12")
(home-page "https://www.kraxel.org/blog/linux/fbida/")
(source (origin
(method url-fetch)
(uri (string-append "https://www.kraxel.org/releases/fbida/"
name "-" version ".tar.gz"))
(sha256
(base32
"0bw224vb7jh0lrqaf4jgxk48xglvxs674qcpj5y0axyfbh896cfk"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-after
'unpack 'patch-ldconfig
(lambda _
(substitute* "mk/Autoconf.mk"
(("/sbin/ldconfig -p") "echo lib")) #t)
(alist-delete 'configure %standard-phases))
#:tests? #f
#:make-flags (list "CC=gcc"
(string-append "prefix=" (assoc-ref %outputs "out")))))
(inputs `(("libjpeg" ,libjpeg)
("curl" ,curl)
("libtiff" ,libtiff)
("libudev" ,eudev)
("libwebp" ,libwebp)
("libdrm" ,libdrm)
("imagemagick" ,imagemagick)
("giflib" ,giflib)
("glib" ,glib)
("cairo-xcb" ,cairo-xcb)
("freetype" ,freetype)
("fontconfig" ,fontconfig)
("libexif" ,libexif)
("mesa" ,mesa)
("libepoxy" ,libepoxy)
("libpng" ,libpng)
("poppler" ,poppler)))
(native-inputs `(("pkg-config" ,pkg-config)))
(synopsis "Framebuffer and drm-based image viewer")
(description
"fbida contains a few applications for viewing and editing images on
the framebuffer.")
(license license:gpl2+)))

View File

@ -51,14 +51,14 @@
(define-public libraw (define-public libraw
(package (package
(name "libraw") (name "libraw")
(version "0.17.0") (version "0.17.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.libraw.org/data/LibRaw-" (uri (string-append "http://www.libraw.org/data/LibRaw-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"043kckxjqanw8dl3m9f6kvsf0l20ywxmgxd1xb0slj6m8l4w4hz6")))) "0p6imxpsfn82i0i9w27fnzq6q6gwzvb9f7sygqqakv36fqnc9c4j"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://www.libraw.org") (home-page "http://www.libraw.org")
(synopsis "Raw image decoder") (synopsis "Raw image decoder")

View File

@ -785,7 +785,7 @@ concepts.")
(arguments '(#:test-target "check")) (arguments '(#:test-target "check"))
(native-inputs (native-inputs
`(("python-pbr" ,python-pbr))) `(("python-pbr" ,python-pbr)))
(home-page "http://code.google.com/p/pylockfile/") (home-page "https://launchpad.net/pylockfile")
(synopsis "Platform-independent file locking module") (synopsis "Platform-independent file locking module")
(description (description
"The lockfile package exports a LockFile class which provides a simple "The lockfile package exports a LockFile class which provides a simple
@ -922,7 +922,7 @@ etc.). The package is structured to make adding new modules easy.")
`(("python-pycrypto" ,python-pycrypto))) `(("python-pycrypto" ,python-pycrypto)))
(arguments (arguments
`(#:tests? #f)) ;TODO: tests require pytest `(#:tests? #f)) ;TODO: tests require pytest
(home-page "http://bitbucket.org/kang/python-keyring-lib") (home-page "https://github.com/jaraco/keyring")
(synopsis "Store and access your passwords safely") (synopsis "Store and access your passwords safely")
(description (description
"The Python keyring lib provides a easy way to access the system keyring "The Python keyring lib provides a easy way to access the system keyring
@ -1737,9 +1737,6 @@ supports coverage of subprocesses.")
(native-inputs `(("python2-setuptools" ,python2-setuptools) (native-inputs `(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs base)))))) ,@(package-native-inputs base))))))
(define-public python2-pytest-runner
(package-with-python2 python-pytest-runner))
(define-public python-pytest-mock (define-public python-pytest-mock
(package (package
(name "python-pytest-mock") (name "python-pytest-mock")
@ -1789,7 +1786,15 @@ same arguments.")
(uri (pypi-uri "pytest-xdist" version ".zip")) (uri (pypi-uri "pytest-xdist" version ".zip"))
(sha256 (sha256
(base32 (base32
"08rn2l39ds60xshs4js787l84pfckksqklfq2wq9x8ig2aci2pja")))) "08rn2l39ds60xshs4js787l84pfckksqklfq2wq9x8ig2aci2pja"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove pre-compiled .pyc files from source.
(for-each delete-file-recursively
(find-files "." "__pycache__" #:directories? #t))
(for-each delete-file (find-files "." "\\.pyc$"))
#t))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("unzip" ,unzip) `(("unzip" ,unzip)
@ -5776,9 +5781,6 @@ reading and writing MessagePack data.")
(native-inputs (native-inputs
`(("python2-setuptools" ,python2-setuptools))))) `(("python2-setuptools" ,python2-setuptools)))))
(define-public python2-msgpack
(package-with-python2 python-msgpack))
(define-public python-netaddr (define-public python-netaddr
(package (package
(name "python-netaddr") (name "python-netaddr")
@ -6033,15 +6035,14 @@ designed to efficently cope with extremely large amounts of data.")
(define-public python-pyasn1 (define-public python-pyasn1
(package (package
(name "python-pyasn1") (name "python-pyasn1")
(version "0.1.8") (version "0.1.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/p/" (uri (pypi-uri "pyasn1" version))
"pyasn1/pyasn1-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0iw31d9l0zwx35szkzq72hiw002wnqrlrsi9dpbrfngcl1ybwcsx")))) "0zraxni14bqi20kr4bi6nwsh32aibz0fq0xaczfisw0zdpcsqg45"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "http://pyasn1.sourceforge.net/") (home-page "http://pyasn1.sourceforge.net/")
(synopsis "ASN.1 types and codecs") (synopsis "ASN.1 types and codecs")
@ -6285,15 +6286,14 @@ message digests and key derivation functions.")
(define-public python-pyopenssl (define-public python-pyopenssl
(package (package
(name "python-pyopenssl") (name "python-pyopenssl")
(version "16.0.0") (version "16.1.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://pypi.python.org/packages/source/p/" (uri (pypi-uri "pyOpenSSL" version))
"pyOpenSSL/pyOpenSSL-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0zfijaxlq4vgi6jz0d4i5xq9ygqnyps6br7lmigjhqnh8gp10g9n")))) "0prm06zz7hl6bk5s2lqzw25lq6smayfv2fgiliw2rbqxlyiavxw8"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-cryptography" ,python-cryptography) `(("python-cryptography" ,python-cryptography)
@ -6684,7 +6684,13 @@ that have uses outside of the Zope framework.")
"/zope.testing/zope.testing-" version ".tar.gz")) "/zope.testing/zope.testing-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1yvglxhzvhl45mndvn9gskx2ph30zz1bz7rrlyfs62fv2pvih90s")))) "1yvglxhzvhl45mndvn9gskx2ph30zz1bz7rrlyfs62fv2pvih90s"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove pre-compiled .pyc files backup files from source.
(for-each delete-file (find-files "." "(\\.pyc|~)$"))
#t))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-zope-exceptions" ,python-zope-exceptions))) `(("python-zope-exceptions" ,python-zope-exceptions)))
@ -7010,14 +7016,14 @@ timestamps.")
(define-public python-werkzeug (define-public python-werkzeug
(package (package
(name "python-werkzeug") (name "python-werkzeug")
(version "0.11.5") (version "0.11.11")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "Werkzeug" version)) (uri (pypi-uri "Werkzeug" version))
(sha256 (sha256
(base32 (base32
"0r41xqp4cypzcgsf6zbspbqd272wnzf20igb4w4b5wzfhgqh9nxg")))) "1rgpq8a2qv26d75v9j3b074inirlyy6y4b5x4rxblp202jy4cb77"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-pytest" ,python-pytest))) `(("python-pytest" ,python-pytest)))
@ -8884,6 +8890,36 @@ library.")
(native-inputs `(("python2-setuptools" ,python2-setuptools) (native-inputs `(("python2-setuptools" ,python2-setuptools)
,@(package-native-inputs responses)))))) ,@(package-native-inputs responses))))))
(define-public python-whoosh
(package
(name "python-whoosh")
(version "2.7.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Whoosh" version))
(sha256
(base32
"10qsqdjpbc85fykc1vgcs8xwbgn4l2l52c8d83xf1q59pwyn79bw"))))
(build-system python-build-system)
(native-inputs
`(("python-setuptools" ,python-setuptools)
("python-pytest" ,python-pytest)))
(home-page "http://bitbucket.org/mchaput/whoosh")
(synopsis "Full text indexing, search, and spell checking library")
(description
"Whoosh is a fast, pure-Python full text indexing, search, and spell
checking library.")
(license license:bsd-2)))
(define-public python2-whoosh
(let ((whoosh (package-with-python2 (strip-python2-variant python-whoosh))))
(package (inherit whoosh)
(propagated-inputs
`(("python2-backport-ssl-match-hostname"
,python2-backport-ssl-match-hostname)
,@(package-propagated-inputs whoosh))))))
(define-public python-pathlib (define-public python-pathlib
(package (package
(name "python-pathlib") (name "python-pathlib")
@ -8910,7 +8946,12 @@ be done easily through operators, attribute accesses, and method calls.
comparing Windows paths ignores casing. comparing Windows paths ignores casing.
@item Well-defined semantics, eliminating any inconsistencies or @item Well-defined semantics, eliminating any inconsistencies or
ambiguities (forward vs. backward slashes, etc.). ambiguities (forward vs. backward slashes, etc.).
@end enumerate\n") @end enumerate
Note: In Python 3.4, pathlib is now part of the standard library. For other
Python versions please consider python-pathlib2 instead, which tracks the
standard library module. This module (python-pathlib) isn't maintained
anymore.")
(license license:expat))) (license license:expat)))
(define-public python2-pathlib (define-public python2-pathlib
@ -9886,14 +9927,14 @@ until the object is actually required, and caches the result of said call.")
(define-public python-dnspython (define-public python-dnspython
(package (package
(name "python-dnspython") (name "python-dnspython")
(version "1.14.0") (version "1.15.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.dnspython.org/kits/" (uri (string-append "http://www.dnspython.org/kits/"
version "/dnspython-" version ".tar.gz")) version "/dnspython-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1z472r63gdqsxhsxj3plr5vs478yf4303vrqxxpsccc940g441hl")))) "0jr4v2pd90i6l1xxbss2m05psbjaxvyvvvpq44wycijpfgjqln8i"))))
(build-system python-build-system) (build-system python-build-system)
(arguments '(#:tests? #f)) ; XXX: requires internet access (arguments '(#:tests? #f)) ; XXX: requires internet access
(native-inputs (native-inputs

View File

@ -61,7 +61,7 @@
(define-public qt (define-public qt
(package (package
(name "qt") (name "qt")
(version "5.6.1-1") (version "5.6.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -73,7 +73,7 @@
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1nrn2wivjwdxc9q03gpsi336gcl9l2axi0xjbzsha5v6akmsf26f")) "1cw93mrlkqbwndfqyjpsvjzkpzi39px2is040xvk18mvg3y1prl3"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -203,7 +203,7 @@
"-no-avx2" "-no-avx2"
"-no-mips_dsp" "-no-mips_dsp"
"-no-mips_dspr2")))))))) "-no-mips_dspr2"))))))))
(home-page "http://qt-project.org/") (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.")

View File

@ -423,13 +423,13 @@ expectations and mocks frameworks.")
(define-public bundler (define-public bundler
(package (package
(name "bundler") (name "bundler")
(version "1.13.2") (version "1.13.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (rubygems-uri "bundler" version)) (uri (rubygems-uri "bundler" version))
(sha256 (sha256
(base32 (base32
"05gwyhfn103vrmrw13r3n78bcl75mrj82ipsbazcl08wg1bql7x6")))) "0fxr7aq7qhlga423mygy7q96cwxmvqlcy676v2x5swlw8rlha2in"))))
(build-system ruby-build-system) (build-system ruby-build-system)
(arguments (arguments
'(#:tests? #f)) ; avoid dependency cycles '(#:tests? #f)) ; avoid dependency cycles
@ -2477,6 +2477,8 @@ a native C extension.")
(substitute* "Rakefile" (substitute* "Rakefile"
(("FileList\\[`git ls-files`\\.split\\(/\\\\n/\\)\\]") (("FileList\\[`git ls-files`\\.split\\(/\\\\n/\\)\\]")
(string-append "FileList" files)))) (string-append "FileList" files))))
(substitute* "Gemfile"
((".*json-java.*") "\n"))
#t))))) #t)))))
(native-inputs (native-inputs
`(("ruby-permutation" ,ruby-permutation) `(("ruby-permutation" ,ruby-permutation)

View File

@ -3,6 +3,7 @@
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -37,7 +38,7 @@
(define-public cereal (define-public cereal
(package (package
(name "cereal") (name "cereal")
(version "1.1.2") (version "1.2.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/USCiLab/cereal/archive/v" (uri (string-append "https://github.com/USCiLab/cereal/archive/v"
@ -45,7 +46,7 @@
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"13bvsfzvm7yyp97k20iznq2j14dj3qiczvpq7g8897njw46psq25")))) "0kj32h3j2128anig0g9gzw82kfyd5xqfkwq6vdyv900jx8i1qckx"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(;; The only included tests are portability tests requiring `(;; The only included tests are portability tests requiring
@ -153,7 +154,7 @@ serialization.")
(define-public jsoncpp (define-public jsoncpp
(package (package
(name "jsoncpp") (name "jsoncpp")
(version "1.7.4") (version "1.7.7")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -162,7 +163,7 @@ serialization.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0sgp6nc4c6pfn92f369v08zdwpqswn9j2ihy59bpwwl0grkx1p0h")))) "15wg14480lrbrhc2myk9rwpwb2gzix9bk80p4y7gxg3zrzml0xh8"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(home-page "https://github.com/open-source-parsers/jsoncpp") (home-page "https://github.com/open-source-parsers/jsoncpp")
(synopsis "C++ library for interacting with JSON") (synopsis "C++ library for interacting with JSON")

View File

@ -37,6 +37,7 @@
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle) #:use-module (gnu packages nettle)
#:use-module (gnu packages mit-krb5)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:autoload (gnu packages protobuf) (protobuf) #:autoload (gnu packages protobuf) (protobuf)
@ -126,15 +127,21 @@ a server that supports the SSH-2 protocol.")
(inputs `(("groff" ,groff) (inputs `(("groff" ,groff)
("openssl" ,openssl) ("openssl" ,openssl)
("pam" ,linux-pam) ("pam" ,linux-pam)
("mit-krb5" ,mit-krb5)
("zlib" ,zlib) ("zlib" ,zlib)
("xauth" ,xauth))) ;for 'ssh -X' and 'ssh -Y' ("xauth" ,xauth))) ;for 'ssh -X' and 'ssh -Y'
(arguments (arguments
`(#:test-target "tests" `(#:test-target "tests"
#:configure-flags '("--sysconfdir=/etc/ssh" #:configure-flags `("--sysconfdir=/etc/ssh"
;; Default value of 'PATH' used by sshd. ;; Default value of 'PATH' used by sshd.
"--with-default-path=/run/current-system/profile/bin" "--with-default-path=/run/current-system/profile/bin"
;; configure needs to find krb5-config
,(string-append "--with-kerberos5="
(assoc-ref %build-inputs "mit-krb5")
"/bin")
;; Enable PAM support in sshd. ;; Enable PAM support in sshd.
"--with-pam") "--with-pam")

View File

@ -88,7 +88,7 @@ configureable through a graphical wizard.")
(define-public termite (define-public termite
(package (package
(name "termite") (name "termite")
(version "11") (version "12")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -99,11 +99,13 @@ configureable through a graphical wizard.")
(recursive? #t))) (recursive? #t)))
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1cw4yw7n9m2si8b7zcfyz9pyihncabxm5g39v1mxslfajxgwzmd8")))) "0s6dyg3vcqk5qcx90bs24wdnd3p56rdjdcanx4pcxvp6ksjl61jz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases (alist-delete 'configure %standard-phases) `(#:phases
(modify-phases %standard-phases
(delete 'configure))
#:tests? #f #:tests? #f
;; This sets the destination when installing the necessary terminal ;; This sets the destination when installing the necessary terminal
;; capability data, which are not provided by 'ncurses'. See ;; capability data, which are not provided by 'ncurses'. See
@ -263,7 +265,7 @@ multi-seat support, a replacement for @command{mingetty}, and more.")
(define-public picocom (define-public picocom
(package (package
(name "picocom") (name "picocom")
(version "2.1") (version "2.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -272,7 +274,7 @@ multi-seat support, a replacement for @command{mingetty}, and more.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1v891cx18vx3lnpfaq90f5y6njgigkn4qsikhrmyzshnz32jy5bb")))) "1knl6dglnrynx1fhy21nylw56i1q3dkizkgxzkq42mb7ilah8f9y"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags '("CC=gcc") `(#:make-flags '("CC=gcc")

View File

@ -426,16 +426,13 @@ security, and applying best practice development processes.")
(define-public python-acme (define-public python-acme
(package (package
(name "python-acme") (name "python-acme")
(version "0.8.1") (version "0.9.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (pypi-uri "acme" version))
"https://pypi.python.org/packages/"
"f5/7a/11a99b5d1d1c692f6eed27cfab69e6ba4d2f0c2a461d2607e6a930ff2c68/"
"acme-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"17vx2miczpd8ww4xizmc0nca2c7jf04wnhfnswx2bxhb537lmsnk")))) "16a02bb0apnk1bm68bcabdmmwd6rnvnjzanrmcb46bpbapwz3vx6"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -488,16 +485,13 @@ security, and applying best practice development processes.")
(define-public certbot (define-public certbot
(package (package
(name "certbot") (name "certbot")
(version "0.8.1") (version "0.9.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (pypi-uri name version))
"https://pypi.python.org/packages/"
"a2/3b/4756e6a0ceb14e084042a2a65c615d68d25621c6fd446d0fc10d14c4ce7d/"
name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0w972cf2mk74aji5d8dylg3jw6wczg01gb4asf3ndv8c64yxza3c")))) "1c7k4lfq5j78d1rvrwrb9082ngwibz92cwkf4kazaa9b76w9q538"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:python ,python-2 `(#:python ,python-2

View File

@ -313,7 +313,7 @@ everything from small to very large projects with speed and efficiency.")
(define-public libgit2 (define-public libgit2
(package (package
(name "libgit2") (name "libgit2")
(version "0.24.1") (version "0.24.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/libgit2/libgit2/" (uri (string-append "https://github.com/libgit2/libgit2/"
@ -321,7 +321,7 @@ everything from small to very large projects with speed and efficiency.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1ppyfwxc276d2p2pwbzlmvs2bkgng425rl8k2rf9nsq66jxqq6b0")))) "1rkmfjiv5h80ycra42w9idbcrgj9rz581k5c06badys3650agw00"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -344,7 +344,7 @@ everything from small to very large projects with speed and efficiency.")
("openssl" ,openssl))) ("openssl" ,openssl)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(home-page "http://libgit2.github.com/") (home-page "https://libgit2.github.com/")
(synopsis "Library providing Git core methods") (synopsis "Library providing Git core methods")
(description (description
"Libgit2 is a portable, pure C implementation of the Git core methods "Libgit2 is a portable, pure C implementation of the Git core methods

View File

@ -53,14 +53,14 @@
(define-public webkitgtk (define-public webkitgtk
(package (package
(name "webkitgtk") (name "webkitgtk")
(version "2.14.0") (version "2.14.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.webkitgtk.org/releases/" (uri (string-append "https://www.webkitgtk.org/releases/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"02paj0anbnqn1z3hn5c4csmq9nga995rzagiplj3sjk2dj1ss4q5")))) "1dffnz20psgc604azhbzn9a6cdhafar9dw74w3bbwrfy531pcb9f"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f ; no tests '(#:tests? #f ; no tests

View File

@ -29,7 +29,7 @@
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix records) #:use-module (guix records)
#:export (sddm-configuration #:export (sddm-configuration
sddm-confiugration? sddm-configuration?
sddm-service-type sddm-service-type
sddm-service)) sddm-service))

View File

@ -227,17 +227,33 @@ resulting list of grafts.
This is a monadic procedure in %STATE-MONAD where the state is a vhash mapping This is a monadic procedure in %STATE-MONAD where the state is a vhash mapping
derivations to the corresponding set of grafts." derivations to the corresponding set of grafts."
(define (graft-origin? drv graft)
;; Return true if DRV corresponds to the origin of GRAFT.
(match graft
(($ <graft> (? derivation? origin) output)
(match (assoc-ref (derivation->output-paths drv) output)
((? string? result)
(string=? result
(derivation->output-path origin output)))
(_
#f)))
(_
#f)))
(define (dependency-grafts item) (define (dependency-grafts item)
(let-values (((drv output) (item->deriver store item))) (let-values (((drv output) (item->deriver store item)))
(if drv (if drv
(cumulative-grafts store drv grafts references ;; If GRAFTS already contains a graft from DRV, do not override it.
#:outputs (list output) (if (find (cut graft-origin? drv <>) grafts)
#:guile guile (state-return grafts)
#:system system) (cumulative-grafts store drv grafts references
#:outputs (list output)
#:guile guile
#:system system))
(state-return grafts)))) (state-return grafts))))
(define (return/cache cache value) (define (return/cache cache value)
(mbegin %store-monad (mbegin %state-monad
(set-current-state (vhash-consq drv value cache)) (set-current-state (vhash-consq drv value cache))
(return value))) (return value)))
@ -250,10 +266,8 @@ derivations to the corresponding set of grafts."
(() ;no dependencies (() ;no dependencies
(return/cache cache grafts)) (return/cache cache grafts))
(deps ;one or more dependencies (deps ;one or more dependencies
(mlet %state-monad ((grafts (mapm %state-monad dependency-grafts deps)) (mlet %state-monad ((grafts (mapm %state-monad dependency-grafts deps)))
(cache (current-state))) (let ((grafts (delete-duplicates (concatenate grafts) equal?)))
(let* ((grafts (delete-duplicates (concatenate grafts) equal?))
(origins (map graft-origin-file-name grafts)))
(match (filter (lambda (graft) (match (filter (lambda (graft)
(member (graft-origin-file-name graft) deps)) (member (graft-origin-file-name graft) deps))
grafts) grafts)

View File

@ -26,7 +26,6 @@
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (json)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:export (factorize-uri #:export (factorize-uri

View File

@ -919,7 +919,8 @@ and return it."
(cached (=> %graft-cache) package system (cached (=> %graft-cache) package system
(let ((orig (package-derivation store package system (let ((orig (package-derivation store package system
#:graft? #f)) #:graft? #f))
(new (package-derivation store replacement system))) (new (package-derivation store replacement system
#:graft? #t)))
(graft (graft
(origin orig) (origin orig)
(replacement new))))))) (replacement new)))))))
@ -935,7 +936,8 @@ and return it."
(let ((orig (package-cross-derivation store package target system (let ((orig (package-cross-derivation store package target system
#:graft? #f)) #:graft? #f))
(new (package-cross-derivation store replacement (new (package-cross-derivation store replacement
target system))) target system
#:graft? #t)))
(graft (graft
(origin orig) (origin orig)
(replacement new)))))) (replacement new))))))

View File

@ -42,6 +42,7 @@
%bag-emerged-node-type %bag-emerged-node-type
%derivation-node-type %derivation-node-type
%reference-node-type %reference-node-type
%referrer-node-type
%node-types %node-types
guix-graph)) guix-graph))
@ -257,6 +258,24 @@ derivation graph")))))))
;;; DAG of residual references (aka. run-time dependencies). ;;; DAG of residual references (aka. run-time dependencies).
;;; ;;;
(define ensure-store-items
;; Return a list of store items as a monadic value based on the given
;; argument, which may be a store item or a package.
(match-lambda
((? package? package)
;; Return the output file names of PACKAGE.
(mlet %store-monad ((drv (package->derivation package)))
(return (match (derivation->output-paths drv)
(((_ . file-names) ...)
file-names)))))
((? store-path? item)
(with-monad %store-monad
(return (list item))))
(x
(raise
(condition (&message (message "unsupported argument for \
this type of graph")))))))
(define (references* item) (define (references* item)
"Return as a monadic value the references of ITEM, based either on the "Return as a monadic value the references of ITEM, based either on the
information available in the local store or using information about information available in the local store or using information about
@ -275,24 +294,27 @@ substitutes."
(node-type (node-type
(name "references") (name "references")
(description "the DAG of run-time dependencies (store references)") (description "the DAG of run-time dependencies (store references)")
(convert (match-lambda (convert ensure-store-items)
((? package? package)
;; Return the output file names of PACKAGE.
(mlet %store-monad ((drv (package->derivation package)))
(return (match (derivation->output-paths drv)
(((_ . file-names) ...)
file-names)))))
((? store-path? item)
(with-monad %store-monad
(return (list item))))
(x
(raise
(condition (&message (message "unsupported argument for \
reference graph")))))))
(identifier (lift1 identity %store-monad)) (identifier (lift1 identity %store-monad))
(label store-path-package-name) (label store-path-package-name)
(edges references*))) (edges references*)))
(define non-derivation-referrers
(let ((referrers (store-lift referrers)))
(lambda (item)
"Return the referrers of ITEM, except '.drv' files."
(mlet %store-monad ((items (referrers item)))
(return (remove derivation-path? items))))))
(define %referrer-node-type
(node-type
(name "referrers")
(description "the DAG of referrers in the store")
(convert ensure-store-items)
(identifier (lift1 identity %store-monad))
(label store-path-package-name)
(edges non-derivation-referrers)))
;;; ;;;
;;; List of node types. ;;; List of node types.
@ -305,7 +327,8 @@ reference graph")))))))
%bag-with-origins-node-type %bag-with-origins-node-type
%bag-emerged-node-type %bag-emerged-node-type
%derivation-node-type %derivation-node-type
%reference-node-type)) %reference-node-type
%referrer-node-type))
(define (lookup-node-type name) (define (lookup-node-type name)
"Return the node type called NAME. Raise an error if it is not found." "Return the node type called NAME. Raise an error if it is not found."

View File

@ -218,4 +218,66 @@
(let ((out (derivation->output-path grafted))) (let ((out (derivation->output-path grafted)))
(file-is-directory? (string-append out "/" repl)))))) (file-is-directory? (string-append out "/" repl))))))
(test-assert "graft-derivation, grafts are not shadowed"
;; We build a DAG as below, where dotted arrows represent replacements and
;; solid arrows represent dependencies:
;;
;; P1 ·············> P1R
;; |\__________________.
;; v v
;; P2 ·············> P2R
;; |
;; v
;; P3
;;
;; We want to make sure that the two grafts we want to apply to P3 are
;; honored and not shadowed by other computed grafts.
(let* ((p1 (build-expression->derivation
%store "p1"
'(mkdir (assoc-ref %outputs "out"))))
(p1r (build-expression->derivation
%store "P1"
'(let ((out (assoc-ref %outputs "out")))
(mkdir out)
(call-with-output-file (string-append out "/replacement")
(const #t)))))
(p2 (build-expression->derivation
%store "p2"
`(let ((out (assoc-ref %outputs "out")))
(mkdir out)
(chdir out)
(symlink (assoc-ref %build-inputs "p1") "p1"))
#:inputs `(("p1" ,p1))))
(p2r (build-expression->derivation
%store "P2"
`(let ((out (assoc-ref %outputs "out")))
(mkdir out)
(chdir out)
(symlink (assoc-ref %build-inputs "p1") "p1")
(call-with-output-file (string-append out "/replacement")
(const #t)))
#:inputs `(("p1" ,p1))))
(p3 (build-expression->derivation
%store "p3"
`(let ((out (assoc-ref %outputs "out")))
(mkdir out)
(chdir out)
(symlink (assoc-ref %build-inputs "p2") "p2"))
#:inputs `(("p2" ,p2))))
(p1g (graft
(origin p1)
(replacement p1r)))
(p2g (graft
(origin p2)
(replacement (graft-derivation %store p2r (list p1g)))))
(p3d (graft-derivation %store p3 (list p1g p2g))))
(and (build-derivations %store (list p3d))
(let ((out (derivation->output-path (pk p3d))))
;; Make sure OUT refers to the replacement of P2, which in turn
;; refers to the replacement of P1, as specified by P1G and P2G.
;; It used to be the case that P2G would be shadowed by a simple
;; P2->P2R graft, which is not what we want.
(and (file-exists? (string-append out "/p2/replacement"))
(file-exists? (string-append out "/p2/p1/replacement")))))))
(test-end) (test-end)

View File

@ -232,6 +232,28 @@ edges."
(list out txt)) (list out txt))
(equal? edges `((,out ,txt))))))))))) (equal? edges `((,out ,txt)))))))))))
(test-assert "referrer DAG"
(let-values (((backend nodes+edges) (make-recording-backend)))
(run-with-store %store
(mlet* %store-monad ((txt (text-file "referrer-node" (random-text)))
(drv (gexp->derivation "referrer"
#~(symlink #$txt #$output)))
(out -> (derivation->output-path drv)))
;; We should see only TXT and OUT, with an edge from the former to the
;; latter.
(mbegin %store-monad
(built-derivations (list drv))
(export-graph (list txt) 'port
#:node-type %referrer-node-type
#:backend backend)
(let-values (((nodes edges) (nodes+edges)))
(return
(and (equal? (match nodes
(((ids labels) ...)
ids))
(list txt out))
(equal? edges `((,txt ,out)))))))))))
(test-assert "node-edges" (test-assert "node-edges"
(run-with-store %store (run-with-store %store
(let ((packages (fold-packages cons '()))) (let ((packages (fold-packages cons '())))

View File

@ -662,22 +662,25 @@
(origin (package-derivation %store dep)) (origin (package-derivation %store dep))
(replacement (package-derivation %store new))))))) (replacement (package-derivation %store new)))))))
(test-assert "package-grafts, indirect grafts, cross" ;; XXX: This test would require building the cross toolchain just to see if it
(let* ((new (dummy-package "dep" ;; needs grafting, which is obviously too expensive, and thus disabled.
(arguments '(#:implicit-inputs? #f)))) ;;
(dep (package (inherit new) (version "0.0"))) ;; (test-assert "package-grafts, indirect grafts, cross"
(dep* (package (inherit dep) (replacement new))) ;; (let* ((new (dummy-package "dep"
(dummy (dummy-package "dummy" ;; (arguments '(#:implicit-inputs? #f))))
(arguments '(#:implicit-inputs? #f)) ;; (dep (package (inherit new) (version "0.0")))
(inputs `(("dep" ,dep*))))) ;; (dep* (package (inherit dep) (replacement new)))
(target "mips64el-linux-gnu")) ;; (dummy (dummy-package "dummy"
;; XXX: There might be additional grafts, for instance if the distro ;; (arguments '(#:implicit-inputs? #f))
;; defines replacements for core packages like Perl. ;; (inputs `(("dep" ,dep*)))))
(member (graft ;; (target "mips64el-linux-gnu"))
(origin (package-cross-derivation %store dep target)) ;; ;; XXX: There might be additional grafts, for instance if the distro
(replacement ;; ;; defines replacements for core packages like Perl.
(package-cross-derivation %store new target))) ;; (member (graft
(package-grafts %store dummy #:target target)))) ;; (origin (package-cross-derivation %store dep target))
;; (replacement
;; (package-cross-derivation %store new target)))
;; (package-grafts %store dummy #:target target))))
(test-assert "package-grafts, indirect grafts, propagated inputs" (test-assert "package-grafts, indirect grafts, propagated inputs"
(let* ((new (dummy-package "dep" (let* ((new (dummy-package "dep"
@ -719,6 +722,77 @@
(replacement #f)))) (replacement #f))))
(replacement (package-derivation %store new))))))) (replacement (package-derivation %store new)))))))
(test-assert "replacement also grafted"
;; We build a DAG as below, where dotted arrows represent replacements and
;; solid arrows represent dependencies:
;;
;; P1 ·············> P1R
;; |\__________________.
;; v v
;; P2 ·············> P2R
;; |
;; v
;; P3
;;
;; We want to make sure that:
;; grafts(P3) = (P1,P1R) + (P2, grafted(P2R, (P1,P1R)))
;; where:
;; (A,B) is a graft to replace A by B
;; grafted(DRV,G) denoted DRV with graft G applied
(let* ((p1r (dummy-package "P1"
(build-system trivial-build-system)
(arguments
`(#:guile ,%bootstrap-guile
#:builder (let ((out (assoc-ref %outputs "out")))
(mkdir out)
(call-with-output-file
(string-append out "/replacement")
(const #t)))))))
(p1 (package
(inherit p1r) (name "p1") (replacement p1r)
(arguments
`(#:guile ,%bootstrap-guile
#:builder (mkdir (assoc-ref %outputs "out"))))))
(p2r (dummy-package "P2"
(build-system trivial-build-system)
(inputs `(("p1" ,p1)))
(arguments
`(#:guile ,%bootstrap-guile
#:builder (let ((out (assoc-ref %outputs "out")))
(mkdir out)
(chdir out)
(symlink (assoc-ref %build-inputs "p1") "p1")
(call-with-output-file (string-append out "/replacement")
(const #t)))))))
(p2 (package
(inherit p2r) (name "p2") (replacement p2r)
(arguments
`(#:guile ,%bootstrap-guile
#:builder (let ((out (assoc-ref %outputs "out")))
(mkdir out)
(chdir out)
(symlink (assoc-ref %build-inputs "p1")
"p1"))))))
(p3 (dummy-package "p3"
(build-system trivial-build-system)
(inputs `(("p2" ,p2)))
(arguments
`(#:guile ,%bootstrap-guile
#:builder (let ((out (assoc-ref %outputs "out")))
(mkdir out)
(chdir out)
(symlink (assoc-ref %build-inputs "p2")
"p2")))))))
(lset= equal?
(package-grafts %store p3)
(list (graft
(origin (package-derivation %store p1 #:graft? #f))
(replacement (package-derivation %store p1r)))
(graft
(origin (package-derivation %store p2 #:graft? #f))
(replacement
(package-derivation %store p2r #:graft? #t)))))))
;;; XXX: Nowadays 'graft-derivation' needs to build derivations beforehand to ;;; XXX: Nowadays 'graft-derivation' needs to build derivations beforehand to
;;; find out about their run-time dependencies, so this test is no longer ;;; find out about their run-time dependencies, so this test is no longer
;;; applicable since it would trigger a full rebuild. ;;; applicable since it would trigger a full rebuild.