Merge branch 'master' into core-updates

This commit is contained in:
Marius Bakke 2018-10-05 19:15:39 +02:00
commit cf6db76d2a
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
119 changed files with 5955 additions and 2549 deletions

View File

@ -59,6 +59,7 @@
(eval . (put 'emacs-substitute-variables 'scheme-indent-function 1))
(eval . (put 'with-derivation-narinfo 'scheme-indent-function 1))
(eval . (put 'with-derivation-substitute 'scheme-indent-function 2))
(eval . (put 'with-status-report 'scheme-indent-function 1))
(eval . (put 'mlambda 'scheme-indent-function 1))
(eval . (put 'mlambdaq 'scheme-indent-function 1))

View File

@ -131,6 +131,7 @@ MODULES = \
guix/svn-download.scm \
guix/i18n.scm \
guix/ui.scm \
guix/status.scm \
guix/build/android-ndk-build-system.scm \
guix/build/ant-build-system.scm \
guix/build/download.scm \
@ -340,6 +341,7 @@ SCM_TESTS = \
tests/glob.scm \
tests/grafts.scm \
tests/ui.scm \
tests/status.scm \
tests/records.scm \
tests/upstream.scm \
tests/combinators.scm \

View File

@ -33,7 +33,7 @@ Copyright @copyright{} 2016 Alex ter Weele@*
Copyright @copyright{} 2017, 2018 Clément Lassieur@*
Copyright @copyright{} 2017 Mathieu Othacehe@*
Copyright @copyright{} 2017 Federico Beffa@*
Copyright @copyright{} 2017 Carlo Zancanaro@*
Copyright @copyright{} 2017, 2018 Carlo Zancanaro@*
Copyright @copyright{} 2017 Thomas Danckaert@*
Copyright @copyright{} 2017 humanitiesNerd@*
Copyright @copyright{} 2017 Christopher Allan Webber@*
@ -11614,6 +11614,14 @@ This procedure can be called several times, one for each network
interface of interest. Behind the scenes what it does is extend
@code{static-networking-service-type} with additional network interfaces
to handle.
For example:
@example
(static-networking-service "eno1" "192.168.1.82"
#:gateway "192.168.1.2"
#:name-servers '("192.168.1.2"))
@end example
@end deffn
@cindex wicd
@ -21028,6 +21036,100 @@ could instantiate a cgit service like this:
(cgitrc "")))
@end example
@subsubheading Gitolite Service
@cindex Gitolite service
@cindex Git, hosting
@uref{http://gitolite.com/gitolite/, Gitolite} is a tool for hosting Git
repositories on a central server.
Gitolite can handle multiple repositories and users, and supports flexible
configuration of the permissions for the users on the repositories.
The following example will configure Gitolite using the default @code{git}
user, and the provided SSH public key.
@example
(service gitolite-service-type
(gitolite-configuration
(admin-pubkey (plain-file
"yourname.pub"
"ssh-rsa AAAA... guix@@example.com"))))
@end example
Gitolite is configured through a special admin repository which you can clone,
for example, if you setup Gitolite on @code{example.com}, you would run the
following command to clone the admin repository.
@example
git clone git@@example.com:gitolite-admin
@end example
When the Gitolite service is activated, the provided @code{admin-pubkey} will
be inserted in to the @file{keydir} directory in the gitolite-admin
repository. If this results in a change in the repository, it will be
committed using the message ``gitolite setup by GNU Guix''.
@deftp {Data Type} gitolite-configuration
Data type representing the configuration for @code{gitolite-service-type}.
@table @asis
@item @code{package} (default: @var{gitolite})
Gitolite package to use.
@item @code{user} (default: @var{git})
User to use for Gitolite. This will be user that you use when accessing
Gitolite over SSH.
@item @code{group} (default: @var{git})
Group to use for Gitolite.
@item @code{home-directory} (default: @var{"/var/lib/gitolite"})
Directory in which to store the Gitolite configuration and repositories.
@item @code{rc-file} (default: @var{(gitolite-rc-file)})
A ``file-like'' object (@pxref{G-Expressions, file-like objects}),
representing the configuration for Gitolite.
@item @code{admin-pubkey} (default: @var{#f})
A ``file-like'' object (@pxref{G-Expressions, file-like objects}) used to
setup Gitolite. This will be inserted in to the @file{keydir} directory
within the gitolite-admin repository.
To specify the SSH key as a string, use the @code{plain-file} function.
@example
(plain-file "yourname.pub" "ssh-rsa AAAA... guix@@example.com")
@end example
@end table
@end deftp
@deftp {Data Type} gitolite-rc-file
Data type representing the Gitolite RC file.
@table @asis
@item @code{umask} (default: @code{#o0077})
This controls the permissions Gitolite sets on the repositories and their
contents.
A value like @code{#o0027} will give read access to the group used by Gitolite
(by default: @code{git}). This is necessary when using Gitolite with software
like cgit or gitweb.
@item @code{git-config-keys} (default: @code{""})
Gitolite allows you to set git config values using the "config" keyword. This
setting allows control over the config keys to accept.
@item @code{roles} (default: @code{'(("READERS" . 1) ("WRITERS" . ))})
Set the role names allowed to be used by users running the perms command.
@item @code{enable} (default: @code{'("help" "desc" "info" "perms" "writable" "ssh-authkeys" "git-config" "daemon" "gitweb")})
This setting controls the commands and features to enable within Gitolite.
@end table
@end deftp
@node Game Services
@subsubsection Game Services
@ -21920,9 +22022,9 @@ systems already running GuixSD.}.
This effects all the configuration specified in @var{file}: user
accounts, system services, global package list, setuid programs, etc.
The command starts system services specified in @var{file} that are not
currently running; if a service is currently running, it does not
attempt to upgrade it since this would not be possible without stopping it
first.
currently running; if a service is currently running this command will
arrange for it to be upgraded the next time it is stopped (eg. by
@code{herd stop X} or @code{herd restart X}).
This command creates a new generation whose number is one greater than
the current generation (as reported by @command{guix system

View File

@ -814,8 +814,8 @@ dist_patch_DATA = \
%D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
%D%/packages/patches/icecat-CVE-2018-12383.patch \
%D%/packages/patches/icecat-use-system-graphite2.patch \
%D%/packages/patches/icecat-use-system-harfbuzz.patch \
%D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \
%D%/packages/patches/icecat-use-system-media-libs.patch \
%D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \
%D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
@ -1100,6 +1100,9 @@ dist_patch_DATA = \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
%D%/packages/patches/quilt-test-fix-regex.patch \
%D%/packages/patches/quilt-compat-getopt-fix-second-separator.patch \
%D%/packages/patches/quilt-compat-getopt-fix-option-with-nondigit-param.patch \
%D%/packages/patches/qtwebkit-pbutils-include.patch \
%D%/packages/patches/rapicorn-isnan.patch \
%D%/packages/patches/raptor2-heap-overflow.patch \

View File

@ -173,14 +173,14 @@ and provides a \"top-like\" mode (monitoring).")
(define-public shepherd
(package
(name "shepherd")
(version "0.4.0")
(version "0.5.0")
(source (origin
(method url-fetch)
(uri (string-append "https://alpha.gnu.org/gnu/shepherd/shepherd-"
version ".tar.gz"))
(sha256
(base32
"1lgmsbxn8i8xdasxzkdp2cml75n128pplw6icvmspl6s0n9xmw8n"))))
"1wmciqml9yplnx1s4ynn00giqyk06rbrcsgvpjj2df47sawk2jp8"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")))
@ -613,7 +613,7 @@ connection alive.")
(bind-minor-version "11")
(bind-patch-version "4")
(bind-release-type "-P") ; for patch release, use "-P"
(bind-release-version "1") ; for patch release, e.g. "6"
(bind-release-version "2") ; for patch release, e.g. "6"
(bind-version (string-append bind-major-version
"."
bind-minor-version
@ -730,7 +730,7 @@ connection alive.")
"/bind-" bind-version ".tar.gz"))
(sha256
(base32
"08zyy13b8ydfbg26b3y6mw299qs89ba90gymraqqjsgjicydrq5h"))))
"04fq17zksd2b3w6w6padps5n7b6s2lasxpksbhl4378h56vgfnm8"))))
;; When cross-compiling, we need the cross Coreutils and sed.
;; Otherwise just use those from %FINAL-INPUTS.
@ -1194,9 +1194,6 @@ This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(qt '("qtbase" "qtsvg")))
(substitute* "wpa_gui.desktop"
(("Exec=wpa_gui")
(string-append "Exec=" out "/bin/wpa_gui")))
(install-file "wpa_gui" (string-append out "/bin"))
(install-file "wpa_gui.desktop"
(string-append out "/share/applications"))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Alex ter Weele <alex.ter.weele@gmail.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,7 +31,7 @@
(define-public agda
(package
(name "agda")
(version "2.5.3")
(version "2.5.4.1")
(source
(origin
(method url-fetch)
@ -39,7 +40,7 @@
version ".tar.gz"))
(sha256
(base32
"0r80vw7vnvbgq47y50v050malv7zvv2p2kg6f47i04r0b2ix855a"))))
"0bxpibsk98n9xp42d92ma5vj2fam8rsnl61fbhr3askfjdvalnbp"))))
(build-system haskell-build-system)
(inputs
`(("cpphs" ,cpphs)
@ -51,14 +52,13 @@
("ghc-edisoncore" ,ghc-edisoncore)
("ghc-edit-distance" ,ghc-edit-distance)
("ghc-equivalence" ,ghc-equivalence)
("ghc-filemanip" ,ghc-filemanip)
("ghc-geniplate-mirror" ,ghc-geniplate-mirror)
("ghc-gitrev" ,ghc-gitrev)
("ghc-happy" ,ghc-happy)
("ghc-hashable" ,ghc-hashable)
("ghc-hashtables" ,ghc-hashtables)
("ghc-ieee754" ,ghc-ieee754)
("ghc-monadplus" ,ghc-monadplus)
("ghc-mtl" ,ghc-mtl)
("ghc-murmur-hash" ,ghc-murmur-hash)
("ghc-uri-encode" ,ghc-uri-encode)
("ghc-parallel" ,ghc-parallel)
@ -71,9 +71,50 @@
(arguments
`(#:modules ((guix build haskell-build-system)
(guix build utils)
(srfi srfi-26))
(srfi srfi-26)
(ice-9 match))
#:phases
(modify-phases %standard-phases
;; FIXME: This is a copy of the standard configure phase with a tiny
;; difference: this package needs the -package-db flag to be passed
;; to "runhaskell" in addition to the "configure" action, because
;; Setup.hs depends on filemanip. Without this option the Setup.hs
;; file cannot be evaluated. The haskell-build-system should be
;; changed to pass "-package-db" to "runhaskell" in any case.
(replace 'configure
(lambda* (#:key outputs inputs tests? (configure-flags '())
#:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(input-dirs (match inputs
(((_ . dir) ...)
dir)
(_ '())))
(ghc-path (getenv "GHC_PACKAGE_PATH"))
(params (append `(,(string-append "--prefix=" out))
`(,(string-append "--libdir=" out "/lib"))
`(,(string-append "--bindir=" out "/bin"))
`(,(string-append
"--docdir=" out
"/share/doc/" ((@@ (guix build haskell-build-system)
package-name-version) out)))
'("--libsubdir=$compiler/$pkg-$version")
'("--package-db=../package.conf.d")
'("--global")
`(,@(map
(cut string-append "--extra-include-dirs=" <>)
(search-path-as-list '("include") input-dirs)))
`(,@(map
(cut string-append "--extra-lib-dirs=" <>)
(search-path-as-list '("lib") input-dirs)))
(if tests?
'("--enable-tests")
'())
configure-flags)))
(unsetenv "GHC_PACKAGE_PATH")
(apply invoke "runhaskell" "-package-db=../package.conf.d"
"Setup.hs" "configure" params)
(setenv "GHC_PACKAGE_PATH" ghc-path)
#t)))
(add-after 'compile 'agda-compile
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))

View File

@ -321,7 +321,7 @@ engineers, musicians, soundtrack editors and composers.")
;; "sbsms"
))
#t))))
(build-system gnu-build-system)
(build-system glib-or-gtk-build-system)
(inputs
`(("wxwidgets" ,wxwidgets)
("gtk+" ,gtk+)
@ -410,16 +410,12 @@ engineers, musicians, soundtrack editors and composers.")
(("../lib-src/portmidi/porttime/porttime.h") "porttime.h"))
(substitute* "src/prefs/MidiIOPrefs.cpp"
(("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h"))
#t))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
"/bin/audacity")
;; For GtkFileChooserDialog.
`("GSETTINGS_SCHEMA_DIR" =
(,(string-append (assoc-ref inputs "gtk+")
"/share/glib-2.0/schemas"))))
#t)))
;; The translation Makefile generation is performed improperly for
;; out-of-tree builds.
;; XXX This can be removed if the glib-or-gkt-build-system
;; switches to #:out-of-source? #t. See <https://bugs.gnu.org/32887>.
#:out-of-source? #f
;; The test suite is not "well exercised" according to the developers,
;; and fails with various errors. See
;; <http://sourceforge.net/p/audacity/mailman/message/33524292/>.
@ -453,7 +449,14 @@ tools.")
"CXXFLAGS=-std=gnu++11"
"CFLAGS=-std=gnu++11"
(string-append "prefix=" %output)
(string-append "pkgdatadir=" %output "/share/azr3-jack"))))
(string-append "pkgdatadir=" %output "/share/azr3-jack"))
#:phases
(modify-phases %standard-phases
(add-before 'install 'fix-timestamp
(lambda _
(let ((early-1980 315619200)) ; 1980-01-02 UTC
(utime "azr3.1" early-1980 early-1980))
#t)))))
(inputs
`(("gtkmm" ,gtkmm-2)
("lvtk" ,lvtk)
@ -2244,7 +2247,7 @@ aimed at audio/musical applications.")
("vamp" ,vamp)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://breakfastquay.com/rubberband/")
(home-page "https://breakfastquay.com/rubberband/")
(synopsis "Audio time-stretching and pitch-shifting library")
(description
"Rubber Band is a library and utility program that permits changing the

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.18.0-gnu Kernel Configuration
# Linux/x86 4.18.9-gnu Kernel Configuration
#
#
@ -255,6 +255,7 @@ CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_CRASH_CORE=y
CONFIG_KEXEC_CORE=y
CONFIG_HOTPLUG_SMT=y
CONFIG_OPROFILE=m
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
@ -294,6 +295,7 @@ CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_RCU_TABLE_FREE=y
CONFIG_HAVE_RCU_TABLE_INVALIDATE=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
@ -853,7 +855,7 @@ CONFIG_HOTPLUG_PCI_ACPI_IBM=m
CONFIG_HOTPLUG_PCI_CPCI=y
CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
# CONFIG_HOTPLUG_PCI_SHPC is not set
CONFIG_HOTPLUG_PCI_SHPC=y
#
# PCI controller drivers

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.18.0-gnu Kernel Configuration
# Linux/x86 4.18.9-gnu Kernel Configuration
#
#
@ -265,6 +265,7 @@ CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_CRASH_CORE=y
CONFIG_KEXEC_CORE=y
CONFIG_HOTPLUG_SMT=y
CONFIG_OPROFILE=m
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
@ -304,6 +305,7 @@ CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_RCU_TABLE_FREE=y
CONFIG_HAVE_RCU_TABLE_INVALIDATE=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
@ -869,7 +871,7 @@ CONFIG_HOTPLUG_PCI_ACPI_IBM=m
CONFIG_HOTPLUG_PCI_CPCI=y
CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
# CONFIG_HOTPLUG_PCI_SHPC is not set
CONFIG_HOTPLUG_PCI_SHPC=y
#
# PCI controller drivers

View File

@ -288,34 +288,25 @@ BAM files.")
(define-public bcftools
(package
(name "bcftools")
(version "1.8")
(version "1.9")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/samtools/bcftools/releases/download/"
version "/bcftools-" version ".tar.bz2"))
(uri (string-append "https://github.com/samtools/bcftools/"
"releases/download/"
version "/bcftools-" version ".tar.bz2"))
(sha256
(base32
"1vgw2mwngq20c530zim52zvgmw1lci8rzl33pvh44xqk3xlzvjsa"))
"1j3h638i8kgihzyrlnpj82xg1b23sijibys9hvwari3fy7kd0dkg"))
(modules '((guix build utils)))
(snippet '(begin
;; Delete bundled htslib.
(delete-file-recursively "htslib-1.8")
(delete-file-recursively "htslib-1.9")
#t))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:configure-flags (list "--with-htslib=system")
#:make-flags
(list
"USE_GPL=1"
"LIBS=-lgsl -lgslcblas"
(string-append "prefix=" (assoc-ref %outputs "out"))
(string-append "HTSDIR=" (assoc-ref %build-inputs "htslib") "/include")
(string-append "HTSLIB=" (assoc-ref %build-inputs "htslib") "/lib/libhts.so")
(string-append "BGZIP=" (assoc-ref %build-inputs "htslib") "/bin/bgzip")
(string-append "TABIX=" (assoc-ref %build-inputs "htslib") "/bin/tabix")
(string-append "PACKAGE_VERSION=" ,version))
`(#:configure-flags
(list "--enable-libgsl")
#:test-target "test"
#:phases
(modify-phases %standard-phases
(add-before 'check 'patch-tests
@ -1445,17 +1436,17 @@ multiple sequence alignments.")
(define-public python-pysam
(package
(name "python-pysam")
(version "0.13.0")
(version "0.15.1")
(source (origin
(method url-fetch)
(method git-fetch)
;; Test data is missing on PyPi.
(uri (string-append
"https://github.com/pysam-developers/pysam/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(uri (git-reference
(url "https://github.com/pysam-developers/pysam.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0dzap2axin9cbbl0d825w294bpn00zagfm1sigamm4v2pm5bj9lp"))
"1vj367w6xbn9bpmksm162l1aipf7cj97h1q83y7jcpm33ihwpf7x"))
(modules '((guix build utils)))
(snippet '(begin
;; Drop bundled htslib. TODO: Also remove samtools
@ -1482,6 +1473,11 @@ multiple sequence alignments.")
#t))
(replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
;; This file contains tests that require a connection to the
;; internet.
(delete-file "tests/tabix_test.py")
;; FIXME: This test fails
(delete-file "tests/AlignmentFile_test.py")
;; Add first subdirectory of "build" directory to PYTHONPATH.
(setenv "PYTHONPATH"
(string-append
@ -1492,28 +1488,26 @@ multiple sequence alignments.")
;; Step out of source dir so python does not import from CWD.
(with-directory-excursion "tests"
(setenv "HOME" "/tmp")
(and (zero? (system* "make" "-C" "pysam_data"))
(zero? (system* "make" "-C" "cbcf_data"))
;; Running nosetests without explicitly asking for a
;; single process leads to a crash. Running with multiple
;; processes fails because the tests are not designed to
;; run in parallel.
(invoke "make" "-C" "pysam_data")
(invoke "make" "-C" "cbcf_data")
;; Running nosetests without explicitly asking for a single
;; process leads to a crash. Running with multiple processes
;; fails because the tests are not designed to run in parallel.
;; FIXME: tests keep timing out on some systems.
;; (zero? (system* "nosetests" "-v"
;; "--processes" "1"))
)))))))
;; FIXME: tests keep timing out on some systems.
(invoke "nosetests" "-v" "--processes" "1")))))))
(propagated-inputs
`(("htslib" ,htslib))) ; Included from installed header files.
`(("htslib" ,htslib))) ; Included from installed header files.
(inputs
`(("ncurses" ,ncurses)
("zlib" ,zlib)))
`(("ncurses" ,ncurses)
("curl" ,curl)
("zlib" ,zlib)))
(native-inputs
`(("python-cython" ,python-cython)
`(("python-cython" ,python-cython)
;; Dependencies below are are for tests only.
("samtools" ,samtools)
("bcftools" ,bcftools)
("python-nose" ,python-nose)))
("samtools" ,samtools)
("bcftools" ,bcftools)
("python-nose" ,python-nose)))
(home-page "https://github.com/pysam-developers/pysam")
(synopsis "Python bindings to the SAMtools C API")
(description
@ -2012,18 +2006,25 @@ with Python.")
(define-public deeptools
(package
(name "deeptools")
(version "2.5.1")
(version "3.1.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/deeptools/deepTools/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/deeptools/deepTools.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1q8i12l2gvk4n2s8lhyzwhh9g4qbc8lrk5l7maz00yvd5g6z5540"))))
"06fdpp6cg3xiwryxjhixvfysl4z0ps1crjgia587qa9ikqpsa7fd"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; This phase fails, but it's not needed.
(delete 'reset-gzip-timestamps))))
(inputs
`(("python-scipy" ,python-scipy)
`(("python-plotly" ,python-plotly)
("python-scipy" ,python-scipy)
("python-numpy" ,python-numpy)
("python-numpydoc" ,python-numpydoc)
("python-matplotlib" ,python-matplotlib)
@ -3512,7 +3513,7 @@ performance.")
(define-public htslib
(package
(name "htslib")
(version "1.8")
(version "1.9")
(source (origin
(method url-fetch)
(uri (string-append
@ -3520,7 +3521,7 @@ performance.")
version "/htslib-" version ".tar.bz2"))
(sha256
(base32
"18bw0mn9pj5wgarnlaxmf1bb8pdqgl1zd6czirqcr62ajpn1xvy0"))))
"16ljv43sc3fxmv63w7b2ff8m1s7h89xhazwmbm1bicz8axq8fjz0"))))
(build-system gnu-build-system)
(inputs
`(("openssl" ,openssl)
@ -4997,7 +4998,7 @@ to the user's query of interest.")
(define-public samtools
(package
(name "samtools")
(version "1.8")
(version "1.9")
(source
(origin
(method url-fetch)
@ -5006,15 +5007,19 @@ to the user's query of interest.")
version "/samtools-" version ".tar.bz2"))
(sha256
(base32
"05myg7bs90i68qbqab9cdg9rqj2xh39azibrx82ipzc5kcfvqhn9"))))
"10ilqbmm7ri8z431sn90lvbjwizd0hhkf9rcqw8j823hf26nhgq8"))
(modules '((guix build utils)))
(snippet '(begin
;; Delete bundled htslib.
(delete-file-recursively "htslib-1.9")
#t))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 ftw)
(ice-9 regex)
(guix build gnu-build-system)
(guix build utils))
#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
#:configure-flags (list "--with-ncurses" "--with-htslib=system")
#:configure-flags (list "--with-ncurses")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
@ -5068,9 +5073,9 @@ viewer.")
(base32 "1m33xsfwz0s8qi45lylagfllqg7fphf4dr0780rsvw75av9wk06h"))))
(arguments
`(#:tests? #f ;no "check" target
#:make-flags
(list "LIBCURSES=-lncurses")
,@(substitute-keyword-arguments (package-arguments samtools)
((#:make-flags flags)
`(cons "LIBCURSES=-lncurses" ,flags))
((#:phases phases)
`(modify-phases ,phases
(replace 'install
@ -13869,3 +13874,99 @@ single-cell transcriptomic map of the human and mouse pancreas reveals inter-
and intra-cell population structure.\" Baron et al. Cell Systems (2016)
@url{https://www.ncbi.nlm.nih.gov/pubmed/27667365}.")
(license license:gpl2+))))
(define-public porechop
;; The recommended way to install is to clone the git repository
;; https://github.com/rrwick/Porechop#installation
(let ((commit "289d5dca4a5fc327f97b3f8cecb68ecaf1014861")
(revision "1"))
(package
(name "porechop")
(version (git-version "0.2.3" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rrwick/Porechop.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "05ps43gig0d3ia9x5lj84lb00hbsl6ba9n7y7jz927npxbr2ym23"))))
(build-system python-build-system)
(home-page "https://github.com/rrwick/porechop")
(synopsis "Finding, trimming or splitting adapters, in Oxford Nanopore reads")
(description
"The porechop package is a tool for finding and removing adapters from Oxford
Nanopore reads. Adapters on the ends of reads are trimmed off, and when a read
has an adapter in its middle, it is treated as chimeric and chopped into
separate reads. Porechop performs thorough alignments to effectively find
adapters, even at low sequence identity. Porechop also supports demultiplexing
of Nanopore reads that were barcoded with the Native Barcoding Kit, PCR
Barcoding Kit or Rapid Barcoding Kit.")
(license license:gpl3+))))
(define-public poretools
;; The latest release was in 2016 and the latest commit is from 2017
;; the recommended way to install is to clone the git repository
;; https://poretools.readthedocs.io/en/latest/content/installation.html
(let ((commit "e426b1f09e86ac259a00c261c79df91510777407")
(revision "1"))
(package
(name "poretools")
(version (git-version "0.6.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/arq5x/poretools.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0bglj833wxpp3cq430p1d3xp085ls221js2y90w7ir2x5ay8l7am"))))
(build-system python-build-system)
;; requires python >=2.7, <3.0, and the same for python dependencies
(arguments `(#:python ,python-2))
(inputs
`(("hdf5" ,hdf5)))
(propagated-inputs
`(("python-dateutil" ,python2-dateutil)
("python-h5py" ,python2-h5py)
("python-matplotlib" ,python2-matplotlib)
("python-pandas" ,python2-pandas)
("python-seaborn" ,python2-seaborn)))
(home-page "https://poretools.readthedocs.io")
(synopsis "Toolkit for working with nanopore sequencing data")
(description
"The MinION from Oxford Nanopore Technologies is a nanopore sequencer.
This @code{poretools} package is a flexible toolkit for exploring datasets
generated by nanopore sequencing devices for the purposes of quality control and
downstream analysis. Poretools operates directly on the native FAST5, a variant
of the Hierarchical Data Format (HDF5) standard.")
(license license:expat))))
(define-public r-absfiltergsea
(package
(name "r-absfiltergsea")
(version "1.5.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "AbsFilterGSEA" version))
(sha256
(base32 "15srxkxsvn38kd5frdrwfdf0ad8gskrd0h01wmdf9hglq8fjrp7w"))))
(properties `((upstream-name . "AbsFilterGSEA")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-deseq" ,r-deseq)
("r-limma" ,r-limma)
("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)))
(home-page "https://cran.r-project.org/web/packages/AbsFilterGSEA/")
(synopsis "Improved false positive control of gene-permuting with absolute filtering")
(description
"This package provides a function that performs gene-permuting of a gene-set
enrichment analysis (GSEA) calculation with or without the absolute filtering.
Without filtering, users can perform (original) two-tailed or one-tailed
absolute GSEA.")
(license license:gpl2)))

View File

@ -186,8 +186,8 @@ their dependencies.")
(license l:gpl3+))))
(define-public cuirass
(let ((commit "8d40c49170971ad7bbf8b97336934dbb3d949fc1")
(revision "19"))
(let ((commit "fe2b73c2353d106431ed0659345391f14ed64600")
(revision "20"))
(package
(name "cuirass")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@ -199,7 +199,7 @@ their dependencies.")
(file-name (string-append name "-" version))
(sha256
(base32
"0xxcapf9ag3zx6131v128vhin5m2j3w2gjbjbpdwr0qkaysh0gvf"))))
"00ldbig2p14qpwrl2i2hnhb9idgbbf0kqnlh4n79rmz96blm7463"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)

View File

@ -403,13 +403,13 @@ functionality such as HTML output.")
(package
(name "rtags")
(version "2.18")
(home-page "https://github.com/Andersbakken/rtags")
(source
(origin
(method url-fetch)
(uri
(string-append home-page "/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/Andersbakken/rtags.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(patches (search-patches "rtags-separate-rct.patch"))
(modules '((guix build utils)))
(snippet
@ -424,7 +424,7 @@ functionality such as HTML output.")
#t)))
(sha256
(base32
"0scjbp1z201q8njvrxqz7lk2m9b6k2rxd5q1shrng6532r7ndif2"))))
"0raqjbkl1ykga4ahgl9xw49cgh3cyqcf42z36z7d6fz1fw192kg0"))))
(build-system cmake-build-system)
(arguments
'(#:build-type "RelWithDebInfo"
@ -442,6 +442,7 @@ functionality such as HTML output.")
("lua" ,lua)
("rct" ,rct)
("selene" ,selene)))
(home-page "https://github.com/Andersbakken/rtags")
(synopsis "Indexer for the C language family with Emacs integration")
(description
"RTags is a client/server application that indexes C/C++ code and keeps a

View File

@ -5895,3 +5895,364 @@ hemoglobin to reticulocytes (OFF-score), as well as example data.")
based on entropy estimates from k-nearest neighbors distances and algorithms
for the reconstruction of gene regulatory networks.")
(license license:agpl3+)))
(define-public r-pscl
(package
(name "r-pscl")
(version "1.5.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "pscl" version))
(sha256
(base32 "1phf3awsfr4ncqfqzin5m1pz0g7y1zhbcm2sz7358ssw914fd7rc"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mass" ,r-mass)))
(home-page "https://github.com/atahk/pscl/")
(synopsis "Political science computational laboratory")
(description
"The @code{pscl} is an R package providing classes and methods for:
@enumerate
@item Bayesian analysis of roll call data (item-response models);
@item elementary Bayesian statistics;
@item maximum likelihood estimation of zero-inflated and hurdle models for count
data;
@item utility functions.
@end enumerate")
(license license:gpl2)))
(define-public r-accelmissing
(package
(name "r-accelmissing")
(version "1.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "accelmissing" version))
(sha256
(base32 "1nql9inx6azdzi3z4sfm2vdml2mms6krl8wzlf1dn1c97ahn57fy"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mice" ,r-mice)
("r-pscl" ,r-pscl)))
(home-page "https://cran.r-project.org/web/packages/accelmissing/")
(synopsis "Missing value imputation for accelerometer data")
(description
"This package provides a statistical method to impute the missing values in
accelerometer data. The methodology includes both parametric and
semi-parametric multiple imputations under the zero-inflated Poisson lognormal
model. It also provides multiple functions to preprocess the accelerometer data
previous to the missing data imputation. These include detecting the wearing
and the non-wearing time, selecting valid days and subjects, and creating plots.")
(license license:gpl2+)))
(define-public r-mhsmm
(package
(name "r-mhsmm")
(version "0.4.16")
(source
(origin
(method url-fetch)
(uri (cran-uri "mhsmm" version))
(sha256
(base32 "009dj0zkj1zry7jr9hf4cknb686z50a2l967if64xm0dvjmp7dgs"))))
(build-system r-build-system)
(propagated-inputs `(("r-mvtnorm" ,r-mvtnorm)))
(home-page "https://github.com/jaredo/mhsmm/")
(synopsis "Inference for hidden Markov and semi-Markov models")
(description
"The @code{r-mhsmm} package implements estimation and prediction methods for
hidden Markov and semi-Markov models for multiple observation sequences. Such
techniques are of interest when observed data is thought to be dependent on some
unobserved (or hidden) state. Also, this package is suitable for equidistant
time series data, with multivariate and/or missing data. Allows user defined
emission distributions.")
(license license:gpl2+)))
(define-public r-nleqslv
(package
(name "r-nleqslv")
(version "3.3.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "nleqslv" version))
(sha256
(base32 "1v9znvncyigw9r25wx2ma0b7ib179b488dl0qsrhp5zrcz7mcjgm"))))
(build-system r-build-system)
(native-inputs `(("gfortran" ,gfortran)))
(home-page "https://cran.r-project.org/web/packages/nleqslv/")
(synopsis "Solve systems of nonlinear equations")
(description
"The @code{r-nleqslv} package solves a system of nonlinear equations using a
Broyden or a Newton method with a choice of global strategies such as line
search and trust region. There are options for using a numerical or user
supplied Jacobian, for specifying a banded numerical Jacobian and for allowing a
singular or ill-conditioned Jacobian.")
(license license:gpl2+)))
(define-public r-physicalactivity
(package
(name "r-physicalactivity")
(version "0.2-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "PhysicalActivity" version))
(sha256
(base32 "14z6plgwyr46vs9m997rvlz8sdglfs9g087an8668zqkzzs2w4ln"))))
(properties
`((upstream-name . "PhysicalActivity")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/PhysicalActivity/")
(synopsis "Procesing accelerometer data for physical activity measurement")
(description
"This @code{r-physicalactivity} package provides a function @code{wearingMarking}
for classification of monitor wear and nonwear time intervals in accelerometer
data collected to assess physical activity. The package also contains functions
for making plots of accelerometer data and obtaining the summary of various
information including daily monitor wear time and the mean monitor wear time
during valid days. The revised package version 0.2-1 improved the functions
regarding speed, robustness and add better support for time zones and daylight
saving. In addition, several functions were added:
@enumerate
@item the @code{markDelivery} can classify days for ActiGraph delivery by mail;
@item the @code{markPAI} can categorize physical activity intensity level based
on user-defined cut-points of accelerometer counts.
@end enumerate
It also supports importing ActiGraph (AGD) files with @code{readActigraph} and
@code{queryActigraph} functions.")
(license license:gpl3+)))
(define-public r-acc
(package
(name "r-acc")
(version "1.3.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "acc" version))
(sha256
(base32 "1ii2vm47djxbixa75h690q1s2f9m9x6i8nkygik93j6dayr6kr1m"))))
(build-system r-build-system)
(propagated-inputs
`(("r-circlize" ,r-circlize)
("r-dbi" ,r-dbi)
("r-ggplot2" ,r-ggplot2)
("r-iterators" ,r-iterators)
("r-mhsmm" ,r-mhsmm)
("r-nleqslv" ,r-nleqslv)
("r-physicalactivity" ,r-physicalactivity)
("r-plyr" ,r-plyr)
("r-r-utils" ,r-r-utils)
("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)
("r-rsqlite" ,r-rsqlite)
("r-zoo" ,r-zoo)))
(home-page "https://cran.r-project.org/web/packages/acc/")
(synopsis "Exploring accelerometer data")
(description
"This package processes accelerometer data from uni-axial and tri-axial devices
and generates data summaries. Also, includes functions to plot, analyze, and
simulate accelerometer data.")
(license license:gpl2+)))
(define-public r-rbenchmark
(package
(name "r-rbenchmark")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "rbenchmark" version))
(sha256
(base32 "010fn3qwnk2k411cbqyvra1d12c3bhhl3spzm8kxffmirj4p2al9"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/rbenchmark/")
(synopsis "Benchmarking routine for R")
(description
"This @code{r-rbenchmark} package is inspired by the Perl module Benchmark,
and is intended to facilitate benchmarking of arbitrary R code. The library
consists of just one function, benchmark, which is a simple wrapper around
system.time. Given a specification of the benchmarking process (counts of
replications, evaluation environment) and an arbitrary number of expressions,
benchmark evaluates each of the expressions in the specified environment,
replicating the evaluation as many times as specified, and returning the results
conveniently wrapped into a data frame.")
(license license:gpl2+)))
(define-public r-dvmisc
(package
(name "r-dvmisc")
(version "1.1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "dvmisc" version))
(sha256
(base32 "1dy0yykskwhkql19bhzmbwsgv028afc8jh9yqwbczj6f3vpv31zh"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mass" ,r-mass)
("r-rbenchmark" ,r-rbenchmark)
("r-rcpp" ,r-rcpp)))
(home-page "https://cran.r-project.org/web/packages/dvmisc/")
(synopsis "Faster computation of common statistics and miscellaneous functions")
(description
"This package implements faster versions of base R functions (e.g. mean, standard
deviation, covariance, weighted mean), mostly written in C++, along with
miscellaneous functions for various purposes (e.g. create the histogram with
fitted probability density function or probability mass function curve, create
the body mass index groups, assess the linearity assumption in logistic
regression).")
(license license:gpl2)))
(define-public r-accelerometry
(package
(name "r-accelerometry")
(version "3.1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "accelerometry" version))
(sha256
(base32 "13xzrwhr4i1nj9c8vrmfdg2rmrc8n446iihcyxmy99sm99hpzyip"))))
(build-system r-build-system)
(propagated-inputs
`(("r-dvmisc" ,r-dvmisc)
("r-rcpp" ,r-rcpp)))
(home-page "https://cran.r-project.org/web/packages/accelerometry/")
(synopsis "Functions for processing accelerometer data")
(description
"This package provides a collection of functions that perform operations on
time-series accelerometer data, such as identify the non-wear time, flag minutes
that are part of an activity bout, and find the maximum 10-minute average count
value. The functions are generally very flexible, allowing for a variety of
algorithms to be implemented.")
(license license:gpl3)))
(define-public r-absim
(package
(name "r-absim")
(version "0.2.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "AbSim" version))
(sha256
(base32 "16ddjk8b6xw80ch4jis1y751i9561wdxh0gifbf15qiz3vjckq8m"))))
(properties `((upstream-name . "AbSim")))
(build-system r-build-system)
(propagated-inputs
`(("r-ape" ,r-ape)
("r-powerlaw" ,r-powerlaw)))
(home-page "https://cran.r-project.org/web/packages/AbSim/")
(synopsis "Time resolved simulations of antibody repertoires")
(description
"This package provides simulation methods for the evolution of antibody repertoires.
The heavy and light chain variable region of both human and C57BL/6 mice can
be simulated in a time-dependent fashion. Both single lineages using one set of
V-, D-, and J-genes or full repertoires can be simulated. The algorithm begins
with an initial V-D-J recombination event, starting the first phylogenetic tree.
Upon completion, the main loop of the algorithm begins, with each iteration
representing one simulated time step. Various mutation events are possible at
each time step, contributing to a diverse final repertoire.")
(license license:gpl2)))
(define-public r-ac3net
(package
(name "r-ac3net")
(version "1.2.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "Ac3net" version))
(sha256
(base32 "1ns4n0xxz6p34c11bj0k7nzgmyqr9mis2b0g5nfz37dbikndyqyz"))))
(properties `((upstream-name . "Ac3net")))
(build-system r-build-system)
(propagated-inputs
`(("r-data-table" ,r-data-table)))
(home-page "https://cran.r-project.org/web/packages/Ac3net/")
(synopsis "Inferring directional conservative causal core gene networks")
(description "This package infers directional Conservative causal core
(gene) networks (C3NET). This is a version of the algorithm C3NET with
directional network.")
(license license:gpl3+)))
(define-public r-aca
(package
(name "r-aca")
(version "1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "ACA" version))
(sha256
(base32 "1i3hm27nvnkvc39xlh0d1blq8q0q02czmvgi3cazmjx3jvxay0vq"))))
(properties `((upstream-name . "ACA")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/ACA/")
(synopsis "Abrupt change-point or aberration detection in point series")
(description
"This package offers an interactive function for the detection of breakpoints in
series.")
;; Any version of the GPL
(license (list license:gpl2+ license:gpl3+))))
(define-public r-acceptancesampling
(package
(name "r-acceptancesampling")
(version "1.0-5")
(source
(origin
(method url-fetch)
(uri (cran-uri "AcceptanceSampling" version))
(sha256
(base32 "18krmmyn8pn11aqd81kbvka68lnd36mnpdh7p3pz9r4m4vjj007x"))))
(properties
`((upstream-name . "AcceptanceSampling")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/AcceptanceSampling/")
(synopsis "Creation and evaluation of acceptance sampling plans")
(description
"This @code{r-acceptancesampling} provides functionality for creating and evaluating
acceptance sampling plans. Acceptance sampling is a methodology commonly used
in quality control and improvement. International standards of acceptance
sampling provide sampling plans for specific circumstances. The aim of this
package is to provide an easy-to-use interface to visualize single, double or
multiple sampling plans. In addition, methods have been provided to enable the
user to assess sampling plans against pre-specified levels of performance, as
measured by the probability of acceptance for a given level of quality in the
lot.")
(license license:gpl3+)))
(define-public r-acclma
(package
(name "r-acclma")
(version "1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "ACCLMA" version))
(sha256
(base32 "1na27sp18fq12gp6vxgqw1ffsz2yi1d8xvrxbrzx5g1kqxrayy0v"))))
(properties `((upstream-name . "ACCLMA")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/ACCLMA/")
(synopsis "ACC & LMA graph plotting")
(description
"This package contains a function that imports data from a @acronym{CSV,
Comma-Separated Values} file, or uses manually entered data from the format (x,
y, weight) and plots the appropriate @acronym{ACC, Absolute Concentration
Curve} vs @acronym{LOI, Line of Independence} graph and
@acronym{LMA, @acronym{LOI} Minus @acronym{ACC}} graph. The main
function is @code{plotLMA} (source file, header) that takes a data set and plots the
appropriate @acronym{LMA} and @acronym{ACC} graphs. If no source file (a
string) was passed, a manual data entry window is opened. The header parameter
indicates by TRUE/FALSE (false by default) if the source @acronym{CSV} file has
a header row or not. The dataset should contain only one independent variable
(x) and one dependent variable (y) and can contain a weight for each
observation.")
(license license:gpl2)))

View File

@ -642,7 +642,7 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
(define-public escpr
(package
(name "escpr")
(version "1.6.20")
(version "1.6.30")
;; XXX: This currently works. But it will break as soon as a newer
;; version is available since the URLs for older versions are not
;; preserved. An alternative source will be added as soon as
@ -650,12 +650,12 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
(source (origin
(method url-fetch)
;; The uri has to be chopped up in order to satisfy guix lint.
(uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/07/16/23/"
"804253d188a31ae6a0f2722648248ef952afedfb/"
"epson-inkjet-printer-escpr-1.6.20-1lsb3.2.tar.gz"))
(uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/08/18/20/"
"e94de600e28e510c1cfa158929d8b2c0aadc8aa0/"
"epson-inkjet-printer-escpr-1.6.30-1lsb3.2.tar.gz"))
(sha256
(base32
"19800pl7kbbgdzbsy9ijmd7dm3ly4kr2h1dxypqpd075g6n0i770"))))
"0m8pyfkixisp0vclwxj340isn15zzisal0v2xvv66kxfd68dzf12"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -2685,12 +2685,14 @@ parsing code in hiredis. It primarily speeds up parsing of multi bulk replies."
`(#:tests? #f))
(home-page "https://github.com/jamesls/fakeredis")
(synopsis "Fake implementation of redis API for testing purposes")
(description "Fakeredis is a pure python implementation of the redis-py
python client that simulates talking to a redis server. This was created for a
single purpose: to write unittests. Setting up redis is not hard, but many time
you want to write unittests that do not talk to an external server (such as
redis). This module now allows tests to simply use this module as a reasonable
substitute for redis.")
(description
"Fakeredis is a pure-Python implementation of the redis-py Python client
that simulates talking to a redis server. It was created for a single purpose:
to write unit tests.
Setting up redis is not hard, but one often wants to write unit tests that don't
talk to an external server such as redis. This module can be used as a
reasonable substitute.")
(license license:bsd-3)))
(define-public python2-fakeredis

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -37,14 +38,14 @@
(define-public dico
(package
(name "dico")
(version "2.6")
(version "2.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/dico/dico-"
version ".tar.xz"))
(sha256
(base32
"0zmi041gv5nd5fmyzgdrgrsy2pvjaq9p8dvvhxwi842hiyng5b7i"))))
"0dg4aacnmlf3ljssd7dwh8z5644xzq8k1501mbsx8nz8p8a9mbsq"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list (string-append "--with-guile-site-dir=" %output
@ -57,7 +58,11 @@
;; infrastructure. Gag it.
(setenv "GUILE_AUTO_COMPILE" "0")
(setenv "GUILE_WARN_DEPRECATED" "no")
#t)))))
#t))
(replace 'check
(lambda _
;; Test '71: append + dooffs + env' fails if $V is not 2.
(invoke "make" "check" "V=2"))))))
(inputs
`(("m4" ,m4) ;used at run time
("pcre" ,pcre)

View File

@ -4,6 +4,7 @@
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -219,7 +220,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
"Grammalecte-fr-v" version ".zip"))
(sha256
(base32
"1flsahqw2r0cmg0bixpl5w0acricmdh2cf4lf9zr66ydgmjnmv2s"))))
"11byjs3ggdhia5f4vyfqfvbbczsfqimll98h98g7hlsrm7vrifb0"))))
(build-system python-build-system)
(home-page "https://www.dicollecte.org")
(synopsis "French spelling and grammar checker")

View File

@ -631,14 +631,15 @@ passphrases.")
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(add-after 'unpack 'patch-FHS-file-names
(lambda _
(substitute* "autogen.sh"
(("/bin/sh") (which "sh")))
(substitute* "git-version-gen"
(("/bin/sh") (which "sh")))
(substitute* "git-version"
(("/bin/bash") (which "bash"))))))
(("/bin/bash") (which "bash")))
#t)))
#:make-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "BASH_COMPLETION_DIR=" out

View File

@ -104,7 +104,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
(define-public isc-bind
(package
(name "bind")
(version "9.12.2-P1")
(version "9.12.2-P2")
(source (origin
(method url-fetch)
(uri (string-append
@ -112,7 +112,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
version ".tar.gz"))
(sha256
(base32
"192ld6w8f4n46hvdmmzzrfkd28apf4dwmbpbi3j2q1d2p315ajww"))))
"0gk9vwqlbdmn10m21f2awvmiccfbadvcwi8zsgm91awbx4k7h0l7"))))
(build-system gnu-build-system)
(outputs `("out" "utils"))
(inputs
@ -289,6 +289,77 @@ asynchronous fashion.")
(license:non-copyleft "file://LICENSE") ; includes.h
license:openssl))))
(define-public nsd
(package
(name "nsd")
(version "4.1.25")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.nlnetlabs.nl/downloads/nsd/nsd-"
version ".tar.gz"))
(sha256
(base32
"0zyzjd3wmq258jiry62ci1z23qfd0rc5ggnpmybc60xvpddgynwg"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--enable-pie" ; fully benefit from ASLR
"--enable-ratelimit"
"--enable-recvmmsg"
"--enable-relro-now" ; protect GOT and .dtor areas
"--disable-radix-tree"
(string-append "--with-libevent="
(assoc-ref %build-inputs "libevent"))
(string-append "--with-ssl="
(assoc-ref %build-inputs "openssl"))
"--with-configdir=/etc"
"--with-nsd_conf_file=/etc/nsd/nsd.conf"
"--with-logfile=/var/log/nsd.log"
"--with-pidfile=/var/db/nsd/nsd.pid"
"--with-dbfile=/var/db/nsd/nsd.db"
"--with-zonesdir=/etc/nsd"
"--with-xfrdfile=/var/db/nsd/xfrd.state"
"--with-zonelistfile=/var/db/nsd/zone.list")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-installation-paths
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/" ,name "-" ,version)))
;; The make install target tries to create the parent
;; directories of run-time things like pidfile above, and
;; useless empty directories like 'configdir'. Remove such
;; '$(INSTALL)' lines and install the example configuration file
;; in an appropriate location.
(substitute* "Makefile.in"
((".*INSTALL.*\\$\\((config|pid|xfr|db)dir" command)
(string-append "#" command))
(("\\$\\(nsdconfigfile\\)\\.sample" file-name)
(string-append doc "/examples/" file-name)))
#t))))
#:tests? #f)) ; no tests
(inputs
`(("libevent" ,libevent)
("openssl" ,openssl)))
(home-page "https://www.nlnetlabs.nl/projects/nsd/about/")
(synopsis "Authoritative DNS name server")
(description "@dfn{NSD}, short for Name Server Daemon, is an authoritative
name server for the Domain Name System (@dfn{DNS}). It aims to be a fast and
RFC-compliant nameserver.
NSD uses zone information compiled via @command{zonec} into a binary database
file (@file{nsd.db}). This allows fast startup of the name service daemon and
allows syntax-structural errors in zone files to be flagged at compile time,
before being made available to NSD service itself. However, most traditional
BIND-style zone files can be directly imported into NSD without modification.
The collection of programs and processes that make up NSD are designed so that
the daemon itself runs as a non-privileged user and can be easily configured to
run in a @code{chroot} jail, thus making any security flaws in NSD less likely
to result in system-wide compromise.")
(license (list license:bsd-3))))
(define-public unbound
(package
(name "unbound")

View File

@ -458,7 +458,7 @@ on stdout instead of using a socket as the Emacsclient does.")
(method url-fetch)
(uri (string-append
"https://github.com/magit/magit/releases/download/"
version "/" name "-" version ".tar.gz"))
version "/magit-" version ".tar.gz"))
(sha256
(base32
"1ygaah3dd3nxpyd17297xgvdcgr7pgzzwlmpnmchki0kiwgg3sbc"))))
@ -782,9 +782,6 @@ different tools. It highlights errors and warnings inline in the buffer, and
provides an optional IDE-like error list.")
(license license:gpl3+))) ;+GFDLv1.3+ for the manual
(define-public flycheck
(deprecated-package "flycheck" emacs-flycheck))
;;;
;;; Web browsing.
@ -1066,9 +1063,6 @@ light user interface.")
(home-page "https://www.gnu.org/software/emms/")
(license license:gpl3+)))
(define-public emms
(deprecated-package "emacs-emms" emacs-emms))
(define-public emacs-emms-player-mpv
;; A new mpv backend is included in Emms from 5.0.
(deprecated-package "emacs-emms-player-mpv" emacs-emms))
@ -1088,7 +1082,7 @@ light user interface.")
"0ifszi930pnaxk1x8pcydmvnp06868gc7nfx14q17zbajbx735k6"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emms" ,emms)))
`(("emms" ,emacs-emms)))
(home-page "https://github.com/momomo5717/emms-mode-line-cycle")
(synopsis "Display the EMMS mode line as a ticker")
(description
@ -2722,9 +2716,6 @@ view the build status of those servers' build jobs, and possibly to trigger
build jobs.")
(license license:gpl3+)))
(define-public butler
(deprecated-package "emacs-butler" emacs-butler))
(define-public emacs-company
(package
(name "emacs-company")
@ -2874,9 +2865,6 @@ automatically inserts a Unicode opening or closing quotation mark, depending
on context.")
(license license:gpl3+)))
(define-public typo
(deprecated-package "emacs-typo" emacs-typo))
(define-public emacs-scheme-complete
(let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
(package
@ -6994,8 +6982,8 @@ Emacs.")
(substitute* "bin/ert-runner"
(("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
(string-append "ERT_RUNNER=\"" out
"/share/emacs/site-lisp/guix.d/"
,name "-" ,version)))
"/share/emacs/site-lisp/guix.d/ert-runner-"
,version)))
(install-file "bin/ert-runner" (string-append out "/bin"))
(wrap-program (string-append out "/bin/ert-runner")
(list "EMACSLOADPATH" ":" 'prefix
@ -8019,7 +8007,7 @@ supports multiple backends such as @code{vlc}, @code{mpg123},
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/Groovy-Emacs-Modes/" name
"https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
"/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
@ -8061,9 +8049,6 @@ navigation with the grails mode.")
@kbd{C-<} to jump to the next and previous slide.")
(license license:gpl3+))))
(define-public org-tree-slide
(deprecated-package "emacs-org-tree-slide" emacs-org-tree-slide))
(define-public emacs-scratch-el
(let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
(revision "1"))
@ -10425,8 +10410,8 @@ perform regression test for packages that provide font-lock rules.")
(license license:gpl3+))))
(define-public emacs-racket-mode
(let ((commit "92c33487f6c707880ac3f6169e7ea65ddffd1463")
(revision "1"))
(let ((commit "b977873e6128f8399432dcd60cc39f6a6f803d9c")
(revision "2"))
(package
(name "emacs-racket-mode")
(version (string-append "0.0.2" "-" revision "."
@ -10440,7 +10425,7 @@ perform regression test for packages that provide font-lock rules.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"19q6ym10gj2xdzzcgh3wdbq1xv8cv7nlrhv2b0bjvvdjzhiki472"))))
"0vp4bbbplqvmnhjpl6ajrlydmrhqzil56cfbs18m5c5fddx0zlh7"))))
(build-system emacs-build-system)
(arguments
`(#:include '("\\.el$" "\\.rkt$")))
@ -12277,3 +12262,96 @@ execute its commands and resize images.")
(description "Synosaurus is a thesaurus fontend for Emacs with pluggable
backends, including the @command{wordnet} offline backend.")
(license license:gpl3+))))
(define-public emacs-all-the-icons
(package
(name "emacs-all-the-icons")
(version "3.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/domtronn/all-the-icons.el.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
(build-system emacs-build-system)
(arguments
`(#:include '("\\.el$" "^data/" "^fonts/")
;; Compiling "test/" fails with "Symbols value as variable is void:
;; all-the-icons--root-code". Ignoring tests.
#:exclude '("^test/")
#:tests? #f))
(propagated-inputs
`(("f" ,emacs-f)
("memoize" ,emacs-memoize)))
(home-page "https://github.com/domtronn/all-the-icons.el")
(synopsis "Collect icon fonts and propertize them within Emacs")
(description "All-the-icons is a utility package to collect various icon
fonts and propertize them within Emacs. Icon fonts allow you to propertize
and format icons the same way you would normal text. This enables things such
as better scaling of and anti aliasing of the icons.")
;; Package is released under Expat license. Elisp files are licensed
;; under GPL3+. Fonts come with various licenses: Expat for
;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
;; "ocitcons.ttf" and "weathericons.ttf".
(license
(list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
(define-public emacs-powerline
(package
(name "emacs-powerline")
(version "2.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/milkypostman/powerline.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
(build-system emacs-build-system)
(home-page "https://github.com/milkypostman/powerline/")
(synopsis "Mode-line plugin for Emacs")
(description "Powerline is a utility plugin which allows you to create
a better-looking, more functional Emacs mode-line. A collection of predefined
themes comes with the package.")
(license license:gpl3+)))
(define-public emacs-spaceline
(package
(name "emacs-spaceline")
(version "2.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/TheBB/spaceline.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
(build-system emacs-build-system)
(propagated-inputs
`(("dash" ,emacs-dash)
("powerline" ,emacs-powerline)
("s" ,emacs-s)))
(home-page "https://github.com/TheBB/spaceline")
(synopsis "Powerline theme from Spacemacs")
(description "Spaceline provides Spacemacs' mode-line theme.
This package provides features for three kinds of users.
@itemize
@item You just want to use the Spacemacs mode-line theme and forget about it.
@item You want to use something similar to the Spacemacs mode-line theme, but
with a handful of easy tweaks.
@item You want an easy-to-use library for building your own mode-line from
scratch, and you think the Spacemacs theme looks good.
@end itemize")
(license license:gpl3+)))

View File

@ -4,6 +4,7 @@
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,6 +28,7 @@
#:use-module (guix svn-download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix build utils)
@ -1104,3 +1106,40 @@ and displaying decoded target responses.
@end enumerate")
(home-page "https://www.freecalypso.org/")
(license license:public-domain)))
(define-public stlink
(package
(name "stlink")
(version "1.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/texane/stlink/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"01z1cz1a5xbbhd163qrqcgp4bi1k145pb80jmwdz50g7sfzmy570"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no tests
#:configure-flags
(let* ((out (assoc-ref %outputs "out"))
(etc (in-vicinity out "etc"))
(modprobe (in-vicinity etc "modprobe.d"))
(udev-rules (in-vicinity etc "udev/rules.d")))
(list (string-append "-DSTLINK_UDEV_RULES_DIR=" udev-rules)
(string-append "-DSTLINK_MODPROBED_DIR=" modprobe)))))
(inputs
`(("libusb" ,libusb)))
(synopsis "Programmer for STM32 Discovery boards")
(description "This package provides a firmware programmer for the STM32
Discovery boards. It supports two versions of the chip: ST-LINK/V1 (on
STM32VL discovery kits) and ST-LINK/V2 (on STM32L discovery and later kits).
Two different transport layers are used: ST-LINK/V1 uses SCSI passthru
commands over USB, and ST-LINK/V2 and ST-LINK/V2-1 (seen on Nucleo boards) use
raw USB commands.")
(home-page "https://github.com/texane/stlink")
;; The flashloaders/stm32l0x.s and flashloaders/stm32lx.s source files are
;; licensed under the GPLv2+.
(license (list license:bsd-3 license:gpl2+))))

View File

@ -1055,15 +1055,16 @@ emulation community. It provides highly accurate emulation.")
(define-public retroarch
(package
(name "retroarch")
(version "1.7.4")
(version "1.7.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/libretro/RetroArch/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/libretro/RetroArch.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0h6y2hpjg4b470jvn9ghwp0k3a527sbb6xhia17frlm9w9v5028w"))))
(base32 "1jfpgl34jjxn3dvxd1kd564swkw7v98hnn562v998b7vllz3dxdm"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
@ -1184,7 +1185,7 @@ play them on systems for which they were never designed!")
(define-public mame
(package
(name "mame")
(version "0.201")
(version "0.202")
(source
(origin
(method git-fetch)
@ -1194,7 +1195,7 @@ play them on systems for which they were never designed!")
(file-name (git-file-name name version))
(sha256
(base32
"00whiig4ld3d4fkl34q48vlf28ygvvp5g7fp0rb5n31ymhl4kajk"))
"1v9gm124p65nbj678gfkcvwphp9qc15ky2p12ca6g3rllma94di5"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.

View File

@ -4,6 +4,7 @@
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -268,13 +269,23 @@ Libraries with some extra bells and whistles.")
(add-before 'configure 'set-system-actions
(lambda* (#:key inputs #:allow-other-keys)
(let ((xkeyboard (assoc-ref inputs "xkeyboard-config"))
(utils (assoc-ref inputs "util-linux")))
(setxkbmap (assoc-ref inputs "setxkbmap"))
(utils (assoc-ref inputs "util-linux"))
(libc (assoc-ref inputs "libc")))
;; We need to patch the path to 'base.lst' to be able
;; to switch the keyboard layout in E.
(substitute* "src/modules/xkbswitch/e_mod_parse.c"
(substitute* (list "src/modules/xkbswitch/e_mod_parse.c"
"src/modules/wizard/page_011.c")
(("/usr/share/X11/xkb/rules/xorg.lst")
(string-append xkeyboard
"/share/X11/xkb/rules/base.lst")))
(substitute* "src/bin/e_xkb.c"
(("\"setxkbmap \"")
(string-append "\"" setxkbmap "/bin/setxkbmap \"")))
(substitute* (list "src/bin/e_intl.c"
"src/modules/conf_intl/e_int_config_intl.c"
"src/modules/wizard/page_010.c")
(("locale -a") (string-append libc "/bin/locale -a")))
(substitute* "src/modules/everything/evry_plug_apps.c"
(("/usr/bin/") ""))
(substitute* "configure"
@ -298,6 +309,7 @@ Libraries with some extra bells and whistles.")
("libxcb" ,libxcb)
("libxext" ,libxext)
("linux-pam" ,linux-pam)
("setxkbmap" ,setxkbmap)
("xcb-util-keysyms" ,xcb-util-keysyms)
("xkeyboard-config" ,xkeyboard-config)))
(home-page "https://www.enlightenment.org/about-enlightenment")
@ -452,19 +464,22 @@ and in creating applications based on the Enlightenment Foundation Library suite
(home-page "http://smhouston.us/ephoto/")
(synopsis "EFL image viewer/editor/manipulator/slideshow creator")
(description "Ephoto is an image viewer and editor written using the
@dfn{Enlightenment Foundation Libraries} (EFL). It focuses on simplicity and ease
of use, while taking advantage of the speed and small footprint the EFL provide.
@dfn{Enlightenment Foundation Libraries} (EFL). It focuses on simplicity and
ease of use, while taking advantage of the speed and small footprint the EFL
provide.
Ephotos features include:
@enumerate
@item Browsing the filesystem and displaying images in an easy to use grid view.
@item Browsing the file system and displaying images in an easy-to-use grid view.
@item Browsing images in a single image view format.
@item Viewing images in a slideshow.
@item Editing your image with features such as cropping, auto enhance,
blurring, sharpening, brightness/contrast/gamma adjustments, hue/saturation/value
adjustments, and color level adjustment.
@item Applying artistic filters to your image such as black and white and old photo.
@item Drag And Drop along with file operations to easy maintain your photo directories.
@item Applying artistic filters to your image such as black and white and old
photo.
@item Drag And Drop along with file operations to easily maintain your photo
directories.
@end enumerate\n")
(license (list
license:bsd-2 ; Ephoto's thumbnailing code

View File

@ -107,7 +107,7 @@ single file can be mounted.")
(define-public disorderfs
(package
(name "disorderfs")
(version "0.5.3")
(version "0.5.4")
(source
(origin
(method git-fetch)
@ -117,7 +117,7 @@ single file can be mounted.")
(file-name (git-file-name name version))
(sha256
(base32
"1nmhfvxpvz3xsfxl9wqnh6r2l5m7hjq6n0vpblsl5xdcvwaqcf50"))))
"1mw4ix9h17ikki8p2rxdvzp87rcm1c7by5lvfn5gxlxr7hlj9f8g"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -1210,7 +1210,7 @@ ExtraLight, Light, Book, Medium, Semibold, Bold & ExtraBold")
(define-public font-culmus
(package
(name "font-culmus")
(version "0.132")
(version "0.133")
(source
(origin
(method url-fetch)
@ -1219,7 +1219,7 @@ ExtraLight, Light, Book, Medium, Semibold, Bold & ExtraBold")
version ".tar.gz"))
(sha256
(base32
"1djxalm26r7bcq33ckmfa15xfs6pmqzvcl64d5lqa1dl01bl4j4z"))))
"02akysgsqhi15cck54xcacm16q5raf4l7shgb8fnj7xr3c1pbfyp"))))
(build-system font-build-system)
(arguments
`(#:phases

View File

@ -349,7 +349,7 @@ of a the system to know what users are logged in, and where.")
(define-public packagekit
(package
(name "packagekit")
(version "1.1.10")
(version "1.1.11")
(source (origin
(method url-fetch)
(uri (string-append
@ -358,7 +358,7 @@ of a the system to know what users are logged in, and where.")
"PackageKit-" version ".tar.xz"))
(sha256
(base32
"1msfmb22cm4s3l6vsbr86b8s0v897sy6gcga3qg87z7640a0di2b"))))
"0fi6wn54y03zh5sn92nmmxkh4cd8yn44cyk0l8phw60ivfwmkh1q"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f

View File

@ -397,7 +397,7 @@ support.")
(define-public tiled
(package
(name "tiled")
(version "1.1.6")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/bjorn/tiled/archive/v"
@ -405,7 +405,7 @@ support.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"194ciw8688mikndvxivzb8ql5vm405pkwnn4srzm7ymwfc4xygb0"))))
"13dlf5kzvhhjkhy19118x3diakmraz4m9kxrsdam8dms6xivb6lp"))))
(build-system gnu-build-system)
(inputs
`(("qtbase" ,qtbase)
@ -1256,17 +1256,24 @@ a 2D editor view.")
(define-public guile-chickadee
(package
(name "guile-chickadee")
(version "0.2.0")
(version "0.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://files.dthompson.us/chickadee/"
"chickadee-" version ".tar.gz"))
(sha256
(base32
"10qx0ha5gsayybd186r1my7vc7rf5fbzp9jvmc4xg9a8wz8rqhah"))))
"0jl223dybsj5gvs7z4q60gnafj1b7kgi5mx0kj58m5knrp8qwg5h"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("GUILE_AUTO_COMPILE=0")))
'(#:make-flags '("GUILE_AUTO_COMPILE=0")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-godir
(lambda _
;; Install compiled '.go' files into the site directory.
(substitute* "Makefile.in"
(("/ccache") "/site-ccache")))))))
(propagated-inputs
`(("guile-opengl" ,guile-opengl)
("guile-sdl2" ,guile-sdl2)))

View File

@ -364,6 +364,59 @@ played. Freedoom complements the Doom engine with free levels, artwork, sound
effects and music to make a completely free game.")
(license license:bsd-3)))
(define-public freedroidrpg
(package
(name "freedroidrpg")
(version "0.16.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://ftp.osuosl.org/pub/freedroid/"
"freedroidRPG-" (version-major+minor version) "/"
"freedroidRPG-" version ".tar.gz"))
(sha256
(base32 "0n4kn38ncmcy3lrxmq8fjry6c1z50z4q1zcqfig0j4jb0dsz2va2"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list
(string-append "CFLAGS="
"-I" (assoc-ref %build-inputs "sdl-gfx") "/include/SDL "
"-I" (assoc-ref %build-inputs "sdl-image") "/include/SDL "
"-I" (assoc-ref %build-inputs "sdl-mixer") "/include/SDL")
"--enable-opengl")
;; FIXME: the test suite fails with the following error output:
;; 4586 Segmentation fault env SDL_VIDEODRIVER=dummy \
;; SDL_AUDIODRIVER=dummy ./src/freedroidRPG -nb text
#:tests? #f))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("glu" ,glu)
("libjpeg" ,libjpeg)
("libogg" ,libogg)
("libpng" ,libpng)
("libvorbis" ,libvorbis)
("mesa" ,mesa)
("python" ,python-wrapper)
("sdl" ,sdl)
("sdl-gfx" ,sdl-gfx)
("sdl-image" ,sdl-image)
("sdl-mixer" ,sdl-mixer)
("zlib" ,zlib)))
(home-page "http://www.freedroid.org/")
(synopsis "Isometric role-playing game against killer robots")
(description
"Freedroid RPG is an @dfn{RPG} (Role-Playing Game) with isometric graphics.
The game tells the story of a world destroyed by a conflict between robots and
their human masters. To restore peace to humankind, the player must complete
numerous quests while fighting off rebelling robots---either by taking control
of them, or by simply blasting them to pieces with melee and ranged weapons in
real-time combat.")
(license (list license:expat ; lua/
license:gpl3 ; src/gen_savestruct.py
license:gpl2+)))) ; the rest
(define-public golly
(package
(name "golly")
@ -2122,28 +2175,36 @@ on the screen and keyboard to display letters.")
(define-public raincat
(package
(name "raincat")
(version "1.1.1.3")
(version "1.2.1")
(source
(origin
(method url-fetch)
(uri (string-append
"http://hackage.haskell.org/package/Raincat/Raincat-"
version
".tar.gz"))
(uri (string-append "http://hackage.haskell.org/package/Raincat/"
"Raincat-" version ".tar.gz"))
(sha256
(base32
"1aalh68h6799mv4vyg30zpskl5jkn6x2j1jza7p4lrflyifxzar8"))))
"10y9zi22m6hf13c9h8zd9vg7mljpwbw0r3djb6r80bna701fdf6c"))))
(build-system haskell-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")))
(wrap-program (string-append out "/bin/raincat")
`("LD_LIBRARY_PATH" ":" =
(,(string-append (assoc-ref inputs "freeglut")
"/lib"))))
#t))))))
(inputs
`(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
("ghc-mtl" ,ghc-mtl)
("ghc-random" ,ghc-random)
("ghc-glut" ,ghc-glut)
("freeglut" ,freeglut)
("ghc-opengl" ,ghc-opengl)
("ghc-sdl" ,ghc-sdl)
("ghc-sdl-image" ,ghc-sdl-image)
("ghc-sdl-mixer" ,ghc-sdl-mixer)))
("ghc-sdl2" ,ghc-sdl2)
("ghc-sdl2-image" ,ghc-sdl2-image)
("ghc-sdl2-mixer" ,ghc-sdl2-mixer)))
(home-page "http://www.bysusanlin.com/raincat/")
(synopsis "Puzzle game with a cat in lead role")
(description "Project Raincat is a game developed by Carnegie Mellon

View File

@ -24,8 +24,10 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages geo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix build-system scons)
#:use-module (guix build-system r)
@ -37,6 +39,8 @@
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages cran)
#:use-module (gnu packages glib)
@ -44,6 +48,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages lua)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@ -57,7 +62,7 @@
(define-public geos
(package
(name "geos")
(version "3.6.2")
(version "3.7.0")
(source (origin
(method url-fetch)
(uri (string-append "http://download.osgeo.org/geos/geos-"
@ -65,7 +70,7 @@
".tar.bz2"))
(sha256
(base32
"0ak5szby29l9l0vy43dm5z2g92xzdky20q1gc1kah1fnhkgi6nh4"))))
"1mrz778m6bd1x9k6sha5kld43kalhq79h2lynlx2jx7xjakl3gsg"))))
(build-system gnu-build-system)
(arguments `(#:phases
(modify-phases %standard-phases
@ -760,3 +765,224 @@ location queries to be run in SQL.")
license:bsd-3 ; files only say "BSD"
;; doc
license:cc-by-sa3.0))))
(define-public tegola
(package
(name "tegola")
(version "0.7.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/go-spatial/tegola/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"09vnzxfn0r70kmd776kcdfqxhzdj11syxa0b27z4ci1k367v7viw"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/go-spatial/tegola/cmd/tegola"
#:unpack-path "github.com/go-spatial"
#:phases
(modify-phases %standard-phases
(add-before 'build 'set-version
(lambda _
(with-directory-excursion
(string-append "src/github.com/go-spatial/tegola-" ,version)
(substitute* '("cmd/tegola/cmd/root.go"
"cmd/tegola_lambda/main.go")
(("version not set") ,version)))
#t))
(add-before 'build 'rename-import
(lambda _
(rename-file (string-append "src/github.com/go-spatial/tegola-" ,version)
"src/github.com/go-spatial/tegola")
#t)))))
(home-page "http://tegola.io")
(synopsis "Vector tile server for maps")
(description "Tegola is a free vector tile server written in Go. Tegola
takes geospatial data and slices it into vector tiles that can be efficiently
delivered to any client.")
(license (list
license:expat
;; Some packages in vendor have other licenses
license:asl2.0
license:bsd-2
license:bsd-3
license:wtfpl2))))
(define-public imposm3
(package
(name "imposm3")
(version "0.6.0-alpha.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/omniscale/imposm3/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"06f0kwmv52yd5m9jlckqxqmkf0cnqy3hamakrvg9lspplyqrds80"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/omniscale/imposm3/cmd/imposm"
#:unpack-path "github.com/omniscale"
#:phases
(modify-phases %standard-phases
(add-before 'build 'rename-import
(lambda _
(rename-file (string-append "src/github.com/omniscale/imposm3-" ,version)
"src/github.com/omniscale/imposm3")
#t))
(add-before 'build 'set-version
(lambda _
(substitute* "src/github.com/omniscale/imposm3/version.go"
(("0.0.0-dev") ,version))
#t)))))
(inputs
`(("geos" ,geos)
("leveldb" ,leveldb)))
(home-page "https://imposm.org/")
(synopsis "OpenStreetMap importer for PostGIS")
(description "Imposm is an importer for OpenStreetMap data. It reads PBF
files and imports the data into PostgreSQL/PostGIS databases. It is designed
to create databases that are optimized for rendering/tile/map-services.")
(license (list
license:asl2.0
;; Some dependencies in vendor have different licenses
license:expat
license:bsd-2
license:bsd-3))))
(define-public protozero
(package
(name "protozero")
(version "1.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/mapbox/protozero/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1xaj4phz1r7xn0vgdfvfkz8b0bizgb6mavjky1zqcvdmbwgwgly5"))))
(build-system cmake-build-system)
(home-page "https://github.com/mapbox/protozero")
(synopsis "Minimalistic protocol buffer decoder and encoder in C++")
(description "Protozero is a minimalistic protocol buffer decored and
encoder in C++. The developer using protozero has to manually translate the
@file{.proto} description into code.")
(license (list
license:asl2.0; for folly
license:bsd-2))))
(define-public libosmium
(package
(name "libosmium")
(version "2.14.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/osmcode/libosmium/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0d9b46qiw7zkw1h9lygjdwqxnbhm3c7v8kydzw9f9f778cyagc94"))))
(build-system cmake-build-system)
(propagated-inputs
`(("boost" ,boost)
("expat" ,expat)
("gdal" ,gdal)
("geos" ,geos)
("proj.4" ,proj.4)
("protozero" ,protozero)
("sparsehash" ,sparsehash)
("zlib" ,zlib)))
(native-inputs
`(("doxygen" ,doxygen)))
(home-page "https://osmcode.org/libosmium/")
(synopsis "C++ library for working with OpenStreetMap data")
(description "Libosmium is a fast and flexible C++ library for working with
OpenStreetMap data.")
(license license:boost1.0)))
(define-public osm2pgsql
(package
(name "osm2pgsql")
(version "0.96.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/openstreetmap/osm2pgsql/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"08y7776r4l9v9177a4q6cfdri0lpirky96m6g699hwl7v1vhw0mn"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "contrib/protozero")
(delete-file-recursively "contrib/libosmium")
#t))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f; tests fail because we need to setup a database
#:configure-flags
(list (string-append "-DOSMIUM_INCLUDE_DIR="
(assoc-ref %build-inputs "libosmium")
"/include")
(string-append "-DPROTOZERO_INCLUDE_DIR="
(assoc-ref %build-inputs "protozero")
"/include"))))
(inputs
`(("boost" ,boost)
("expat" ,expat)
("libosmium" ,libosmium)
("lua" ,lua)
("postgresql" ,postgresql)
("proj.4" ,proj.4)
("protozero" ,protozero)
("zlib" ,zlib)))
(native-inputs
`(("python-2" ,python-2)
("python2-psycopg2" ,python2-psycopg2)))
(home-page "https://github.com/openstreetmap/osm2pgsql")
(synopsis "OSM data importer to postgresql")
(description "Osm2pgsql is a tool for loading OpenStreetMap data into a
PostgreSQL / PostGIS database suitable for applications like rendering into a
map, geocoding with Nominatim, or general analysis.")
(license license:gpl2+)))
(define-public tippecanoe
(package
(name "tippecanoe")
(version "1.31.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mapbox/tippecanoe/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1057na1dkgjaryr7jr15lqkxpam111d3l5zdpdkqzzzpxmdjxqcf"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases (delete 'configure))
#:test-target "test"
#:make-flags
(list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out")))))
(inputs
`(("perl" ,perl)
("sqlite" ,sqlite)
("zlib" ,zlib)))
(home-page "https://github.com/mapbox/tippecanoe")
(synopsis "Vector tile server for maps")
(description "Tippecanoe creates scale-independent view of data, so that
the texture and density of features is visible at every zoom level, instead of
dropping features at lower levels.")
(license license:bsd-2)))

View File

@ -4096,15 +4096,15 @@ work and the interface is well tested.")
(define-public eolie
(package
(name "eolie")
(version "0.9.37")
(version "0.9.38")
(source (origin
(method url-fetch)
(uri (string-append "https://gitlab.gnome.org/World/eolie/"
"uploads/4341cb428b7a45670308ee3fb3fa07dd/"
"uploads/9814c06a1bc83ea09c3da8719a9ed11b/"
"eolie-" version ".tar.xz"))
(sha256
(base32
"126m0nwwy3lqv7z8aj9hiwangih03b1nlkg3xja9p7wbf7zcvp2n"))))
"10vrh91rapgfmqwc6jkcybpmlvn4q0y8bnklw3rddzigf9kvqsff"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t

View File

@ -36,6 +36,7 @@
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cargo)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages databases)
@ -62,6 +63,7 @@
#:use-module (gnu packages rust)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages readline))
@ -495,12 +497,28 @@ security standards.")
"0lqx7g79x15941rhjr3qsfwsny6vzc7d7abdmvjy6jjbqkqlc1zl"))
(patches
(list
(search-patch "icecat-avoid-bundled-libraries.patch")
;; FIXME (search-patch "icecat-use-system-harfbuzz.patch")
;; FIXME (search-patch "icecat-use-system-graphite2.patch")
(search-patch "icecat-avoid-bundled-libraries.patch")
(search-patch "icecat-use-system-graphite2+harfbuzz.patch")
(search-patch "icecat-use-system-media-libs.patch")
(mozilla-patch "icecat-CVE-2018-12385.patch" "80a4a7ef2813" "1vgcbimpnfjqj934v0cryq1g13xac3wfmd4jyhcb5s60x8xyssf5")
(search-patch "icecat-CVE-2018-12383.patch")
(mozilla-patch "icecat-bug-1489744.patch" "6546ee839d30" "11mhvj77r789b428bfxqq5wdx8yr7lbrdjzr8qjj6fw197pldn51")))
(mozilla-patch "icecat-bug-1489744.patch" "6546ee839d30" "11mhvj77r789b428bfxqq5wdx8yr7lbrdjzr8qjj6fw197pldn51")
(mozilla-patch "icecat-CVE-2018-12386.patch" "4808fcb2e6ca" "05sc881l7sh8bag8whd2ggdn198lskqcxq8f41scfpqscw6xs5d5")
(mozilla-patch "icecat-CVE-2018-12387.patch" "b8f5c37486e1" "0lvmbh126m695kgdbasy1y5xh9n1j08cwdhn071mgvj6yn8cns5z")
(mozilla-patch "icecat-bug-1464751.patch" "d5d00faf0465" "1mj7dbb06brwrk0mvap0z4lfl2hwz1cj6dwjvdrisxm046pdw98i")
(mozilla-patch "icecat-bug-1472538.patch" "11462f2b98f2" "1nxgh0plzilylx8r73r7d74pv66qwjqxmd7nqii33p0snl2jjfzs")
(mozilla-patch "icecat-bug-1478685.patch" "098585dc86fc" "1b0x4qdh6isvffmibvc8ad8z62m3iky9q6jq0z6gyvn8q252cqal")
(mozilla-patch "icecat-bug-1486080.patch" "3f8d57d936ea" "0pz2c18wcgj44v0j8my9xbm90m4bsjcvzmavj569fi8bh6s6zz8p")
(mozilla-patch "icecat-bug-1423278.patch" "878ceaee5634" "0i47s5nvrx9vqbnj6s9y9f4ffww20p8nviqa6frg676y1188xlyl")
(mozilla-patch "icecat-bug-1442010.patch" "87be1b98ec9a" "15f4l18c7hz9aqn89gg3dwmdidfwgn10dywgpzydm8mps45amx7j")
(mozilla-patch "icecat-bug-1484559.patch" "99e58b5307ce" "02fdgbliwzi2r2376wg6k1rky1isfka0smac4ii2cll01jhpfrn6")
(mozilla-patch "icecat-bug-1487098.patch" "f25ce451a492" "18nzg39iyxza1686180qk9cc88l5j2hf1h35d62lrqmdgd9vcj33")
(mozilla-patch "icecat-bug-1484905.patch" "35c26bc231df" "0qh8d4z6y03h5xh7djci26a01l6zq667lg2k11f6zzg7z2j0h67x")
(mozilla-patch "icecat-bug-1488061.patch" "050d0cfa8e3d" "05ql798ynbyz5pvyri4b95j4ixmgnny3zl7sd2ckfrrbm9mxh627")
(mozilla-patch "icecat-bug-1434963-pt1.patch" "1e6dad87efed" "1v00a6cmgswjk54041jyv1ib129fxshpzwk6mn6lr0v5hylk3bx9")
(mozilla-patch "icecat-bug-1434963-pt2.patch" "6558c46df9ea" "0vdy9dm9w5k1flhcfxwvvff0aa415b5mgmmq5r37i83686768xfb")
(mozilla-patch "icecat-bug-1434963-pt3.patch" "686fcfa8abd6" "0ihqr11aq4b0y7mx7bwn8yzn25mv3k2gdphm951mj1g85qg35ann")
(mozilla-patch "icecat-bug-1491132.patch" "14120e0c74d6" "188c5fbhqqhmlk88p70l6d97skh7xy4jhqdby1ri3h9ix967515j")))
(modules '((guix build utils)))
(snippet
'(begin
@ -517,26 +535,37 @@ security standards.")
;; FIXME: A script from the bundled nspr is used.
;;"nsprpub"
;;
;; TODO: Use system media libraries. Waiting for:
;; FIXME: With the update to IceCat 60, using system NSS
;; broke certificate validation. See
;; <https://bugs.gnu.org/32833>. For now, we use
;; the bundled NSPR and NSS. TODO: Investigate,
;; and try to unbundle these libraries again.
;; UNBUNDLE-ME! "security/nss"
;;
;; TODO: Use more system media libraries. See:
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=517422>
;; * libogg
;; * libtheora
;; * libvorbis
;; * libtremor (not yet in guix)
;; * libtheora: esr60 wants v1.2, not yet released.
;; * soundtouch: avoiding the bundled library would
;; result in some loss of functionality. There's
;; also an issue with exception handling
;; configuration. It seems that this is needed in
;; some moz.build:
;; DEFINES['ST_NO_EXCEPTION_HANDLING'] = 1
;; * libopus
;; * speex
;; * soundtouch (not yet in guix)
;;
"modules/freetype2"
"modules/zlib"
"modules/libbz2"
;; UNBUNDLE-ME "ipc/chromium/src/third_party/libevent"
"ipc/chromium/src/third_party/libevent"
"media/libjpeg"
"media/libvpx"
"security/nss"
;; UNBUNDLE-ME "gfx/cairo"
;; UNBUNDLE-ME "gfx/harfbuzz"
;; UNBUNDLE-ME "gfx/graphite2"
"media/libogg"
"media/libvorbis"
;; "media/libtheora" ; wants theora-1.2, not yet released
"media/libtremor"
"gfx/harfbuzz"
"gfx/graphite2"
"js/src/ctypes/libffi"
"db/sqlite3"))
;; Delete .pyc files, typically present in icecat source tarballs
@ -550,23 +579,25 @@ security standards.")
(inputs
`(("alsa-lib" ,alsa-lib)
("bzip2" ,bzip2)
;; UNBUNDLE-ME ("cairo" ,cairo)
("cups" ,cups)
("dbus-glib" ,dbus-glib)
("gdk-pixbuf" ,gdk-pixbuf)
("glib" ,glib)
("gtk+" ,gtk+)
("gtk+-2" ,gtk+-2)
;; UNBUNDLE-ME ("graphite2" ,graphite2)
("graphite2" ,graphite2)
("pango" ,pango)
("freetype" ,freetype)
;; UNBUNDLE-ME ("harfbuzz" ,harfbuzz)
("harfbuzz" ,harfbuzz)
("hunspell" ,hunspell)
("libcanberra" ,libcanberra)
("libgnome" ,libgnome)
("libjpeg-turbo" ,libjpeg-turbo)
("libogg" ,libogg)
;; ("libtheora" ,libtheora) ; wants theora-1.2, not yet released
("libvorbis" ,libvorbis)
("libxft" ,libxft)
;; UNBUNDLE-ME ("libevent" ,libevent-2.0)
("libevent" ,libevent)
("libxinerama" ,libxinerama)
("libxscrnsaver" ,libxscrnsaver)
("libxcomposite" ,libxcomposite)
@ -579,8 +610,10 @@ security standards.")
("pulseaudio" ,pulseaudio)
("mesa" ,mesa)
("mit-krb5" ,mit-krb5)
("nspr" ,nspr)
("nss" ,nss)
;; See <https://bugs.gnu.org/32833>
;; and related comments in the 'snippet' above.
;; UNBUNDLE-ME! ("nspr" ,nspr)
;; UNBUNDLE-ME! ("nss" ,nss)
("sqlite" ,sqlite)
("startup-notification" ,startup-notification)
("unzip" ,unzip)
@ -638,15 +671,21 @@ security standards.")
"--with-system-zlib"
"--with-system-bz2"
"--with-system-jpeg" ; must be libjpeg-turbo
;; UNBUNDLE-ME "--with-system-libevent"
"--with-system-libevent"
"--with-system-ogg"
"--with-system-vorbis"
;; "--with-system-theora" ; wants theora-1.2, not yet released
"--with-system-libvpx"
"--with-system-icu"
"--with-system-nspr"
"--with-system-nss"
;; UNBUNDLE-ME "--with-system-harfbuzz"
;; UNBUNDLE-ME "--with-system-graphite2"
;; See <https://bugs.gnu.org/32833>
;; and related comments in the 'snippet' above.
;; UNBUNDLE-ME! "--with-system-nspr"
;; UNBUNDLE-ME! "--with-system-nss"
"--with-system-harfbuzz"
"--with-system-graphite2"
"--enable-system-pixman"
;; UNBUNDLE-ME "--enable-system-cairo"
"--enable-system-ffi"
"--enable-system-hunspell"
"--enable-system-sqlite"
@ -696,8 +735,11 @@ security standards.")
'avcodec', 'avutil', 'pulse' ]\n\n"
all)))
#t))
(replace 'bootstrap
(lambda _
(invoke "sh" "-c" "autoconf old-configure.in > old-configure")))
(add-after 'patch-source-shebangs 'patch-cargo-checksums
(lambda* _
(lambda _
(use-modules (guix build cargo-build-system))
(let ((null-file "/dev/null")
(null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))

View File

@ -504,7 +504,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.10)
(name "go")
(version "1.11")
(version "1.11.1")
(source
(origin
(method url-fetch)
@ -512,7 +512,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
name version ".src.tar.gz"))
(sha256
(base32
"1ysj04jzds6xa8kdflkdsgyv3mg9fdn90zdf78g4g6p4bwpy3hdg"))))
"05qivf2f59pv4bfrmdr4m0xvswkmvvl9c5a2h5dy45g2k8b8r3sm"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.10)
((#:phases phases)

View File

@ -224,6 +224,7 @@ lines.")
(propagated-inputs
`(("python-decorator" ,python-decorator)
("python-nbformat" ,python-nbformat)
("python-pandas" ,python-pandas)
("python-pytz" ,python-pytz)
("python-requests" ,python-requests)
("python-six" ,python-six)))

View File

@ -774,54 +774,26 @@ application suites.")
(define-public guile-cairo
(package
(name "guile-cairo")
(version "1.4.1")
(version "1.10.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://download.gna.org/guile-cairo/guile-cairo-"
version
".tar.gz"))
(uri (string-append "mirror://savannah/guile-cairo/guile-cairo-"
version ".tar.gz"))
(sha256
(base32
"1f5nd9n46n6cwfl1byjml02q3y2hgn7nkx98km1czgwarxl7ws3x"))))
"0p6xrhf2k6n5dybn88050za7h90gnd7534n62l53vsca187pwgdf"))
(modules '((guix build utils)))
(snippet
(begin
'(begin
;; Install Scheme files in …/guile/site/X.Y.
(substitute* (find-files "." "^Makefile\\.in$")
(("^(.*)dir = (.*)/guile/site(.*)" _ name prefix suffix)
(string-append name "dir = " prefix
"/guile/site/@GUILE_EFFECTIVE_VERSION@"
suffix)))
#t)))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)
(guix build gnu-build-system)
(ice-9 popen)
(ice-9 rdelim))
#:phases (modify-phases %standard-phases
(add-before 'configure 'set-module-directory
(lambda* (#:key outputs #:allow-other-keys)
;; Install modules under $out/share/guile/site/2.0.
(let ((out (assoc-ref outputs "out"))
(effective
(read-line
(open-pipe* OPEN_READ "guile" "-c"
"(display (effective-version))"))))
(substitute* "Makefile.in"
(("scmdir = ([[:graph:]]+).*" _ value)
(string-append "scmdir = " value "/" effective "\n")))
(substitute* "cairo/Makefile.in"
(("moduledir = ([[:graph:]]+).*" _ value)
(string-append "moduledir = "
"$(prefix)/share/guile/site/"
effective "/cairo\n'")))
#t)))
(add-after 'install 'install-missing-file
(lambda* (#:key outputs #:allow-other-keys)
;; By default 'vector-types.scm' is not installed, so do
;; it here.
(let ((out (assoc-ref outputs "out"))
(effective
(read-line
(open-pipe* OPEN_READ "guile" "-c"
"(display (effective-version))"))))
(install-file "cairo/vector-types.scm"
(string-append out "/share/guile/site/"
effective "/cairo"))
#t))))))
(inputs
`(("guile-lib" ,guile-lib)
("expat" ,expat)

View File

@ -287,8 +287,8 @@ without requiring the source code to be rewritten.")
(define-public guile-next
;; This is the upcoming Guile 3.0, with JIT support.
(let ((commit "a74b4a45fab1a78e34954bce5f031e8a9765f827")
(revision "0"))
(let ((commit "6f3357b0df64c4be17e72079864c09a542f1c779")
(revision "1"))
(package
(inherit guile-2.2)
(name "guile-next")
@ -300,7 +300,7 @@ without requiring the source code to be rewritten.")
(commit commit)))
(sha256
(base32
"0kq6mabv7j4gdlwmpz3iaddv98sc7awkl2358sg8j50sg10yw8nx"))
"1c2xy5cflg0hws48914rz3z8mdmf8w3lblfic0kxnymcmdv9cbhv"))
(file-name (git-file-name name version))))
(native-inputs
`(("autoconf", autoconf)
@ -324,7 +324,15 @@ without requiring the source code to be rewritten.")
(lambda _
;; Remove this test that's bound to fail.
(delete-file "test-suite/tests/version.test")
#t)))))))))
#t))))))
(native-search-paths
(list (search-path-specification
(variable "GUILE_LOAD_PATH")
(files '("share/guile/site/3.0")))
(search-path-specification
(variable "GUILE_LOAD_COMPILED_PATH")
(files '("lib/guile/3.0/site-ccache"
"share/guile/site/3.0"))))))))
(define (make-guile-readline guile)
(package

View File

@ -18,6 +18,7 @@
(define-module (gnu packages hardware)
#:use-module (gnu packages compression)
#:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
@ -35,14 +36,14 @@
(define-public ddcutil
(package
(name "ddcutil")
(version "0.9.1")
(version "0.9.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.ddcutil.com/tarballs/"
name "-" version ".tar.gz"))
(sha256
(base32 "1b4bm3zhk5vnad6fxf0mn8nrlj3fngifl7nzxgxw0n56hlv7ccv0"))))
(base32 "0nhi261vf2n3jpi0a0n6659911kxi3lj7a4h7cmv0ip6sbb8rk88"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -74,6 +75,115 @@ calibrated, and restored when the calibration is applied.")
(license (list license:bsd-3 ; FindDDCUtil.cmake
license:gpl2+)))) ; everything else
;; Distinct from memtest86, which is obsolete.
(define-public memtest86+
(package
(name "memtest86+")
;; Update the description when/if UEFI support is released.
(version "5.01")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.memtest.org/download/5.01/memtest86+-"
version ".tar.gz"))
(sha256
(base32 "0fch1l55753y6jkk0hj8f6vw4h1kinkn9ysp22dq5g9zjnvjf88l"))))
(build-system gnu-build-system)
(arguments
`(#:system "i686-linux" ; the result runs outside of any OS
#:tests? #f ; no way to test this
#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
(replace 'build
;; The default 'make all' does wonderful things, like scp(1) a file to
;; 192.168.0.12. Build the bootable images and nothing more.
(lambda _
(invoke "make"
"memtest" ; ELF executable
"memtest.bin"))) ; DOS/MBR boot sector
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib/memtest86+"))
(doc (string-append out "/share/doc/memtest86+-" ,version)))
(for-each
(lambda (file)
(install-file file lib))
(list "memtest"
"memtest.bin"))
(for-each
(lambda (file)
(install-file file doc))
(list "FAQ"
"README"))
#t))))))
(native-inputs
;; Newer GCCs fail with a deluge of "multiple definition of `__foo'" errors.
`(("gcc" ,gcc-4.9)))
(supported-systems (list "i686-linux" "x86_64-linux"))
(home-page "https://www.memtest.org/")
(synopsis "Thorough real-mode memory tester")
(description
"Memtest86+ is a thorough, stand-alone memory test for x86 systems. It
repeatedly writes different patterns to all memory locations, reads them back
again, and verifies whether the result is the same as what was written. This
can help debug even intermittent and non-deterministic errors.
It runs independently of any operating system, at computer boot-up, so that it
can scan as much of your RAM as possible for hardware defects.
Memtest86+ cannot currently be used on computers booted with UEFI.")
(license license:gpl2)))
(define-public memtester
(package
(name "memtester")
(version "4.3.0")
(source
(origin
(method url-fetch)
;; Even the latest release is available under 'old-versions/'.
(uri (string-append "http://pyropus.ca/software/memtester/old-versions/"
"memtester-" version ".tar.gz"))
(sha256
(base32 "127xymmyzb9r6dxqrwd69v7gf8csv8kv7fjvagbglf3wfgyy5pzr"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list "CC=gcc")
#:phases
(modify-phases %standard-phases
(replace 'configure
;; This is a home-brewed configuration system where the cc/ld command
;; lines are stored in one-line files.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(substitute* (list "conf-cc" "conf-ld")
(("^cc") "gcc"))
(substitute* "Makefile"
(("(INSTALLPATH.*=).*" _ assignment)
(string-append assignment out)))
#t)))
(replace 'check
;; There is no test suite. Test some RAM for a single iteration.
(lambda _
(invoke "./memtester" "64K" "1"))))))
(home-page "http://pyropus.ca/software/memtester/")
(synopsis "User-space memory subsystem tester")
(description
"Memtester stress-tests the memory subsystem of your operating system and
computer. It repeatedly writes different patterns to all memory locations,
reads them back again, and verifies whether the result is the same as what was
written. This can help debug even intermittent and non-deterministic errors.
Memtester runs entirely in user space. This means that you don't need to reboot
to test your memory, but also that it's not possible to test all of the RAM
installed in the system.
It can also be told to test memory starting at a particular physical address.")
(license license:gpl2)))
(define-public msr-tools
(package
(name "msr-tools")

View File

@ -54,7 +54,6 @@
(inputs
`(("ghc-generic-deriving" ,ghc-generic-deriving)
("ghc-xml" ,ghc-xml)
("ghc-mtl" ,ghc-mtl)
("ghc-stm" ,ghc-stm)
("ghc-tagged" ,ghc-tagged)
("ghc-tasty" ,ghc-tasty)))
@ -97,7 +96,7 @@ Haskell test framework.")
(define-public ghc-tasty-quickcheck
(package
(name "ghc-tasty-quickcheck")
(version "0.8.4")
(version "0.10")
(source
(origin
(method url-fetch)
@ -106,7 +105,7 @@ Haskell test framework.")
"tasty-quickcheck-" version ".tar.gz"))
(sha256
(base32
"15rjxib5jmjq0hzj47x15kgp3awc73va4cy1pmpf7k3hvfv4qprn"))))
"0vr6szbbz3s5461i0zr8zpq347zfvidfzv5gf3xwxhm0yk731z8h"))))
(build-system haskell-build-system)
(inputs
`(("ghc-quickcheck" ,ghc-quickcheck)
@ -125,7 +124,7 @@ Haskell test framework.")
(define-public ghc-tasty-golden
(package
(name "ghc-tasty-golden")
(version "2.3.1.1")
(version "2.3.2")
(source
(origin
(method url-fetch)
@ -135,12 +134,11 @@ Haskell test framework.")
".tar.gz"))
(sha256
(base32
"0pcf5hsyp5mmbqn7krdm49jxpkjm6rb4j83j28f76h7q55dzm1wy"))))
"0k3ibjhjc9vcwzrjnl4rnwvfm8l81q347nb7dgvcib6n5wm3s404"))))
(build-system haskell-build-system)
(inputs
`(("ghc-temporary" ,ghc-temporary)
("ghc-tasty" ,ghc-tasty)
("ghc-mtl" ,ghc-mtl)
("ghc-optparse-applicative" ,ghc-optparse-applicative)
("ghc-tagged" ,ghc-tagged)
("ghc-async" ,ghc-async)
@ -183,7 +181,7 @@ timer functions of different operating systems via a unified API.")
(define-public ghc-tasty
(package
(name "ghc-tasty")
(version "0.11.0.4")
(version "1.1.0.3")
(source
(origin
(method url-fetch)
@ -193,19 +191,18 @@ timer functions of different operating systems via a unified API.")
".tar.gz"))
(sha256
(base32
"05pxjzgbgjdn7477xry0ssjrnmnsydqiq6nm6ck8n2da1baliqp0"))))
"14riid753hjqr6lca1kgxpnvq0wykf0k3qc5jpag42hh8bszav22"))))
(build-system haskell-build-system)
(inputs
`(("ghc-stm" ,ghc-stm)
("ghc-mtl" ,ghc-mtl)
("ghc-tagged" ,ghc-tagged)
("ghc-regex-tdfa" ,ghc-regex-tdfa)
("ghc-regex-tdfa-rc" ,ghc-regex-tdfa-rc)
("ghc-optparse-applicative" ,ghc-optparse-applicative)
("ghc-unbounded-delays" ,ghc-unbounded-delays)
("ghc-async" ,ghc-async)
("ghc-ansi-terminal" ,ghc-ansi-terminal)
("ghc-clock-bootstrap" ,ghc-clock-bootstrap)))
("ghc-clock-bootstrap" ,ghc-clock-bootstrap)
("ghc-wcwidth" ,ghc-wcwidth-bootstrap)))
(home-page "http://documentup.com/feuerbach/tasty")
(synopsis "Modern and extensible testing framework")
(description "Tasty is a modern testing framework for Haskell. It lets
@ -216,7 +213,7 @@ and any other types of tests into a single test suite.")
(define-public ghc-tasty-hunit
(package
(name "ghc-tasty-hunit")
(version "0.9.2")
(version "0.10.0.1")
(source
(origin
(method url-fetch)
@ -226,10 +223,11 @@ and any other types of tests into a single test suite.")
".tar.gz"))
(sha256
(base32
"08qnxaw34wfnzi9irs1jd4d0zczqm3k5ffkd4zwhkz0dflmgq7mf"))))
"0j3hgga6c3s8h5snzivb8a75h96207ia2rlbxzj07xbf4zpkp44g"))))
(build-system haskell-build-system)
(inputs
`(("ghc-tasty" ,ghc-tasty)))
`(("ghc-call-stack" ,ghc-call-stack-boot)
("ghc-tasty" ,ghc-tasty)))
(home-page "http://documentup.com/feuerbach/tasty")
(synopsis "HUnit support for the Tasty test framework")
(description "This package provides HUnit support for the Tasty Haskell
@ -250,7 +248,6 @@ test framework.")
(build-system haskell-build-system)
(inputs
`(("ghc-tasty" ,ghc-tasty)
("ghc-mtl" ,ghc-mtl)
("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
("ghc-tasty-hunit" ,ghc-tasty-hunit)))
(home-page "https://github.com/vincenthz/tasty-kat")
@ -263,7 +260,7 @@ tasty.")
(define-public ghc-tasty-th
(package
(name "ghc-tasty-th")
(version "0.1.4")
(version "0.1.7")
(source
(origin
(method url-fetch)
@ -272,10 +269,12 @@ tasty.")
version ".tar.gz"))
(sha256
(base32
"0dff9si8i1qp0s7p4hlk0l29vq7wxfglw6mvlgmld43h7rllv88q"))))
"0b2ivrw2257m4cy4rjnkwqlarh83j1y3zywnmaqqqbvy667sqnj3"))))
(build-system haskell-build-system)
(inputs
`(("ghc-tasty" ,ghc-tasty)))
`(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
("ghc-tasty" ,ghc-tasty)
("ghc-tasty-hunit" ,ghc-tasty-hunit)))
(home-page "https://github.com/bennofs/tasty-th")
(synopsis "Automatically generate tasty TestTrees")
(description
@ -288,7 +287,7 @@ test-framework.")
(define-public ghc-tasty-rerun
(package
(name "ghc-tasty-rerun")
(version "1.1.8")
(version "1.1.12")
(source (origin
(method url-fetch)
(uri (string-append
@ -296,11 +295,10 @@ test-framework.")
"tasty-rerun-" version ".tar.gz"))
(sha256
(base32
"0yg8cicfn3qaazvp4rbanzy3dyk95k3y1kkd4bykvkl9v4076788"))))
"05lp4zy6lwd916snq6hs43848n62j9vdfl3s8sfivqydrax0vvd8"))))
(build-system haskell-build-system)
(inputs
`(("ghc-mtl" ,ghc-mtl)
("ghc-optparse-applicative" ,ghc-optparse-applicative)
`(("ghc-optparse-applicative" ,ghc-optparse-applicative)
("ghc-reducers" ,ghc-reducers)
("ghc-split" ,ghc-split)
("ghc-stm" ,ghc-stm)
@ -317,7 +315,7 @@ been added since previous test run.")
(define-public ghc-tasty-expected-failure
(package
(name "ghc-tasty-expected-failure")
(version "0.11.0.4")
(version "0.11.1.1")
(source
(origin
(method url-fetch)
@ -326,7 +324,7 @@ been added since previous test run.")
version ".tar.gz"))
(sha256
(base32
"0r555f18d2gj96pjyc13chn1nxaxl81am4xgip3mvvjhw8s5mva1"))))
"1i2s809m644b7hgiblqay9j364r3fjj1rwbrahsn1pgr5q6mr6ji"))))
(build-system haskell-build-system)
(inputs
`(("ghc-tagged" ,ghc-tagged)
@ -356,7 +354,8 @@ development.")
"1bh1pzz5fdcqvzdcirqxna6fnjms02min5md716299g5niz46w55"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags (list "--allow-newer=base-compat")))
`(#:cabal-revision
("1" "1sngfq3v71bvgjsl8cj5kh65m3fziwy8dkvwjzs0kxfrzr87faly")))
(inputs
`(("ghc-quickcheck" ,ghc-quickcheck)
("ghc-base-compat" ,ghc-base-compat)
@ -426,7 +425,7 @@ use HUnit assertions as QuickCheck properties.")
(define-public ghc-quickcheck
(package
(name "ghc-quickcheck")
(version "2.10.1")
(version "2.11.3")
(outputs '("out" "doc"))
(source
(origin
@ -437,11 +436,10 @@ use HUnit assertions as QuickCheck properties.")
".tar.gz"))
(sha256
(base32
"1rfmns3lj3hl93k1jws85ajkkw7z9ll8cw292n9m7zald1w5dfqx"))))
"0xhqk35fkzlbjcqbabg6962jkv8d688nzmz7ng4bm84x2d95d328"))))
(build-system haskell-build-system)
(arguments
`(#:tests? #f ; FIXME: currently missing libraries used for tests.
#:configure-flags '("-f base4")))
`(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
(inputs
`(("ghc-random" ,ghc-random)
("ghc-tf-random" ,ghc-tf-random)))
@ -455,37 +453,10 @@ hold in a large number of randomly generated cases. Specifications are
expressed in Haskell, using combinators defined in the QuickCheck library.")
(license license:bsd-3)))
(define-public ghc-quickcheck-2.9
(package
(inherit ghc-quickcheck)
(name "ghc-quickcheck")
(version "2.9.2")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/QuickCheck-2.9.2/QuickCheck-"
version ".tar.gz"))
(sha256
(base32
"119np67qvx8hyp9vkg4gr2wv3lj3j6ay2vl4hxspkg43ymb1cp0m"))))))
(define-public ghc-quickcheck-latest
(package (inherit ghc-quickcheck)
(version "2.11.3")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/QuickCheck/QuickCheck-"
version
".tar.gz"))
(sha256
(base32
"0xhqk35fkzlbjcqbabg6962jkv8d688nzmz7ng4bm84x2d95d328"))))))
(define-public ghc-test-framework
(package
(name "ghc-test-framework")
(version "0.8.1.1")
(version "0.8.2.0")
(source
(origin
(method url-fetch)
@ -493,10 +464,17 @@ expressed in Haskell, using combinators defined in the QuickCheck library.")
"test-framework-" version ".tar.gz"))
(sha256
(base32
"0wxjgdvb1c4ykazw774zlx86550848wbsvgjgcrdzcgbb9m650vq"))))
"1hhacrzam6b8f10hyldmjw8pb7frdxh04rfg3farxcxwbnhwgbpm"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags (list "--allow-newer=time")))
`(#:tests? #f ; FIXME: Tests do not build.
#:phases
(modify-phases %standard-phases
(add-before 'configure 'update-constraints
(lambda _
(substitute* "test-framework.cabal"
(("QuickCheck >= 2\\.3 && < 2\\.10")
"QuickCheck >= 2.3 && < 2.12")))))))
(native-inputs
`(("ghc-hunit" ,ghc-hunit)
("ghc-quickcheck" ,ghc-quickcheck)))
@ -508,7 +486,8 @@ expressed in Haskell, using combinators defined in the QuickCheck library.")
("ghc-random" ,ghc-random)
("ghc-regex-posix" ,ghc-regex-posix)
("ghc-xml" ,ghc-xml)
("ghc-libxml" ,ghc-libxml)))
("ghc-libxml" ,ghc-libxml)
("ghc-semigroups" ,ghc-semigroups-bootstrap)))
(home-page "https://batterseapower.github.io/test-framework/")
(synopsis "Framework for running and organising tests")
(description
@ -533,9 +512,9 @@ reporting and test statistics output.")
(base32
"1y0b6vg8nfm43v90lxxcydhi6qlxhfy4vpxbzm5ic2w55bh8xjwm"))))
(build-system haskell-build-system)
;; The official revision of the cabal file allows for HUnit lower than 1.7
(arguments
`(#:configure-flags (list "--allow-newer=HUnit")))
`(#:cabal-revision
("3" "0i9mlalv7cl1iq43ld5myrnpszq5rxmd79hk495dcb08rglhgl3z")))
(inputs
`(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
("ghc-hunit" ,ghc-hunit)
@ -560,6 +539,9 @@ reporting and test statistics output.")
(base32
"0vj834337r6jzr3258cv68ly2sv5999mklpsrfngyk51kywsyqyp"))))
(build-system haskell-build-system)
(arguments
`(#:cabal-revision
("1" "147ngmfdkskyg7mwsp5w73a4dbx3rp5s38bci3z03kn1m093lxff")))
(inputs
`(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
("ghc-quickcheck" ,ghc-quickcheck)
@ -827,7 +809,6 @@ minimal dependencies.")
"19wqignlq90qwpam01hnmmrxaxh5lkax9l1l6rlbi4a07nvp1dnz"))))
(build-system haskell-build-system)
(inputs `(("ghc-quickcheck" ,ghc-quickcheck)
("ghc-mtl" ,ghc-mtl)
("ghc-hunit" ,ghc-hunit)
("ghc-test-framework" ,ghc-test-framework)
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)

View File

@ -70,8 +70,7 @@ format.")
(inputs
`(("ghc-hourglass" ,ghc-hourglass)
("ghc-asn1-types" ,ghc-asn1-types)
("ghc-text" ,ghc-text)
("ghc-mtl" ,ghc-mtl)))
("ghc-text" ,ghc-text)))
(native-inputs
`(("ghc-tasty" ,ghc-tasty)
("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
@ -108,7 +107,7 @@ when ASN1 pattern matching is not convenient.")
(define-public ghc-crypto-api
(package
(name "ghc-crypto-api")
(version "0.13.2")
(version "0.13.3")
(source
(origin
(method url-fetch)
@ -117,7 +116,7 @@ when ASN1 pattern matching is not convenient.")
"crypto-api-" version ".tar.gz"))
(sha256
(base32
"1vc27qcgbg7hf50rkqhlrs58zn1888ilh4b6wrrm07bnm48xacak"))))
"19bsmkqkpnvh01b77pmyarx00fic15j4hvg4pzscrj4prskrx2i9"))))
(build-system haskell-build-system)
(inputs `(("ghc-cereal" ,ghc-cereal)
("ghc-tagged" ,ghc-tagged)
@ -211,7 +210,9 @@ that hides the C implementation.")
"1y8q7s2bn4gdknw1wjikdnar2b5pgz3nv3220lxrlgpsf23x82vi"))))
(build-system haskell-build-system)
(arguments
`(#:tests? #f)) ; tests require old version of ghc-hunit (0.9)
`(#:cabal-revision
("2" "0vyb9cfvpfxpslxvvhd48gw37i9g8ry5x63xwxd9q7xfiqhs7p3a")
#:tests? #f)) ; tests require old version of ghc-hunit (0.9)
(native-inputs `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
("ghc-puremd5" ,ghc-puremd5)
("ghc-tasty" ,ghc-tasty)
@ -237,7 +238,9 @@ that hides the C implementation.")
"1aqdxdhxhl9jldh951djpwxx8z7gzaqspxl7iwpl84i5ahrsyy9w"))))
(build-system haskell-build-system)
(arguments
`(#:tests? #f)) ; tests require old version of ghc-hunit (0.9)
`(#:cabal-revision
("2" "0xas0nbq9bfdzlj6k565ibizv1cqvzfzsdj6q9pdiiwyxqblqc3m")
#:tests? #f)) ; tests require old version of ghc-hunit (0.9)
(native-inputs `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
("ghc-sha" ,ghc-sha)
("ghc-tasty" ,ghc-tasty)
@ -250,6 +253,42 @@ pure API to the @uref{https://en.wikipedia.org/wiki/SHA-1, SHA-1 hash algorithm}
including @uref{https://en.wikipedia.org/wiki/HMAC, HMAC support}, with
performance close to the fastest implementations available in other languages.
The implementation is made in C with a haskell FFI wrapper that hides
the C implementation.")
(license license:bsd-3)))
(define-public ghc-cryptohash-sha256
(package
(name "ghc-cryptohash-sha256")
(version "0.11.101.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"cryptohash-sha256-" version "/"
"cryptohash-sha256-" version ".tar.gz"))
(sha256
(base32
"1p85vajcgw9hmq8zsz9krzx0vxh7aggwbg5w9ws8w97avcsn8xaj"))))
(build-system haskell-build-system)
(arguments
`(#:cabal-revision
("1" "19birnmwga1yh82l4jqc3fygqkqcf5y8dlldnxfswngkzc3rvwp3")
#:tests? #f)) ; tests require old version of ghc-hunit (0.9)
(inputs
`(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
(native-inputs
`(("ghc-sha" ,ghc-sha)
("ghc-tasty" ,ghc-tasty)
("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
("ghc-hunit" ,ghc-hunit)))
(home-page "https://github.com/hvr/cryptohash-sha1")
(synopsis "SHA-256 implementation for Haskell")
(description "This Haskell package provides an incremental and
one-pass, pure API to the @uref{https://en.wikipedia.org/wiki/SHA-2,
SHA-256 cryptographic hash algorithm}, with performance close to the
fastest implementations available in other languages.
The implementation is made in C with a haskell FFI wrapper that hides
the C implementation.")
(license license:bsd-3)))
@ -315,7 +354,7 @@ are implemented as FFI bindings to efficient code from zlib.")
(define-public ghc-entropy
(package
(name "ghc-entropy")
(version "0.3.8")
(version "0.4.1.1")
(source
(origin
(method url-fetch)
@ -324,7 +363,7 @@ are implemented as FFI bindings to efficient code from zlib.")
"entropy-" version ".tar.gz"))
(sha256
(base32
"1l3lfigqvdlmxkz1wl7zdkmc0i2r5p6z4xzhiw8xdsbsw7aljfkl"))))
"1ahz5g148l6sax3dy505na2513i99c7bxix68jja5kbx4f271zcf"))))
(build-system haskell-build-system)
(home-page "https://github.com/TomMD/entropy")
(synopsis "Provides platform independent entropy source for Haskell")
@ -335,18 +374,18 @@ to obtain cryptographically strong entropy.")
(define-public ghc-pem
(package
(name "ghc-pem")
(version "0.2.2")
(version "0.2.4")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"pem/pem-" version ".tar.gz"))
(sha256
(base32
"162sk5sg22w21wqz5qv8kx6ibxp99v5p20g3nknhm1kddk3hha1p"))))
"1m7qjsxrd8m88cvkqmr8kscril500j2a9y0iynvksjyjkhdlq33p"))))
(build-system haskell-build-system)
(inputs
`(("ghc-mtl" ,ghc-mtl)
("ghc-base64-bytestring" ,ghc-base64-bytestring)))
`(("ghc-basement" ,ghc-basement)
("ghc-memory" ,ghc-memory)))
(native-inputs
`(("ghc-test-framework" ,ghc-test-framework)
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
@ -393,14 +432,14 @@ interface.")
(define-public ghc-sha
(package
(name "ghc-sha")
(version "1.6.4.2")
(version "1.6.4.4")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"SHA/SHA-" version ".tar.gz"))
(sha256
(base32
"134ajm87fm4lpsw86m9q8apv20dw4bpk46raa389zr6bcdpifw64"))))
"0i4b2wjisivdy72synal711ywhx05mfqfba5n65rk8qidggm1nbb"))))
(build-system haskell-build-system)
(native-inputs
`(("ghc-quickcheck" ,ghc-quickcheck)
@ -420,18 +459,17 @@ libraries, like OpenSSL.")
(define-public ghc-x509
(package
(name "ghc-x509")
(version "1.6.4")
(version "1.7.3")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"x509/x509-" version ".tar.gz"))
(sha256
(base32
"0hixx76wpb4qxida017ka5zr6lrsycahrqyw8z90q9mxvndpy3my"))))
"0mkk29g32fs70bqkikg83v45h9jig9c8aail3mrdqwxpkfa0yx21"))))
(build-system haskell-build-system)
(inputs
`(("ghc-memory" ,ghc-memory)
("ghc-mtl" ,ghc-mtl)
("ghc-hourglass" ,ghc-hourglass)
("ghc-pem" ,ghc-pem)
("ghc-asn1-types" ,ghc-asn1-types)
@ -450,7 +488,7 @@ libraries, like OpenSSL.")
(define-public ghc-x509-store
(package
(name "ghc-x509-store")
(version "1.6.2")
(version "1.6.6")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -458,15 +496,17 @@ libraries, like OpenSSL.")
version ".tar.gz"))
(sha256
(base32
"0yw09nwkvr324qz4sc27c0p28bz2h6gns6lkaz9mz92mgqf2dza9"))))
"0dbndqmnmyixxc7308nyq3zlkhz9dff4rbcw2a49c77rbicny9va"))))
(build-system haskell-build-system)
(inputs
`(("ghc-mtl" ,ghc-mtl)
("ghc-pem" ,ghc-pem)
`(("ghc-pem" ,ghc-pem)
("ghc-asn1-types" ,ghc-asn1-types)
("ghc-asn1-encoding" ,ghc-asn1-encoding)
("ghc-cryptonite" ,ghc-cryptonite)
("ghc-x509" ,ghc-x509)))
(native-inputs
`(("ghc-tasty" ,ghc-tasty)
("ghc-tasty-hunit" ,ghc-tasty-hunit)))
(home-page "https://github.com/vincenthz/hs-certificate")
(synopsis "X.509 collection accessing and storing methods")
(description
@ -477,7 +517,7 @@ collections, certificates, revocation lists, and exception lists.")
(define-public ghc-x509-validation
(package
(name "ghc-x509-validation")
(version "1.6.5")
(version "1.6.10")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -485,12 +525,11 @@ collections, certificates, revocation lists, and exception lists.")
version ".tar.gz"))
(sha256
(base32
"190w1sr3w6w49v3yvqz4grb0v09ym4gll3n8bxwijvbvcybk3xyi"))))
"1ms51scawldgyfcim5a2qlgyn3rnrclyh205d6djaa1569vrs73n"))))
(build-system haskell-build-system)
(inputs
`(("ghc-memory" ,ghc-memory)
("ghc-byteable" ,ghc-byteable)
("ghc-mtl" ,ghc-mtl)
("ghc-hourglass" ,ghc-hourglass)
("ghc-data-default-class" ,ghc-data-default-class)
("ghc-pem" ,ghc-pem)
@ -499,6 +538,9 @@ collections, certificates, revocation lists, and exception lists.")
("ghc-x509" ,ghc-x509)
("ghc-x509-store" ,ghc-x509-store)
("ghc-cryptonite" ,ghc-cryptonite)))
(native-inputs
`(("ghc-tasty" ,ghc-tasty)
("ghc-tasty-hunit" ,ghc-tasty-hunit)))
(home-page "https://github.com/vincenthz/hs-certificate")
(synopsis "X.509 certificate and revocation list validation")
(description
@ -509,7 +551,7 @@ list validation.")
(define-public ghc-x509-system
(package
(name "ghc-x509-system")
(version "1.6.4")
(version "1.6.6")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -517,11 +559,10 @@ list validation.")
version ".tar.gz"))
(sha256
(base32
"0k7zc0xp7r6kqmi39rpiicvq78xb0pr2cq6q5s3kmmsshllg13nr"))))
"06a4m9c7vlr9nhp9gmqbb46arf0yj1dkdm4nip03hzy67spdmp20"))))
(build-system haskell-build-system)
(inputs
`(("ghc-mtl" ,ghc-mtl)
("ghc-pem" ,ghc-pem)
`(("ghc-pem" ,ghc-pem)
("ghc-x509" ,ghc-x509)
("ghc-x509-store" ,ghc-x509-store)))
(home-page "https://github.com/vincenthz/hs-certificate")
@ -660,3 +701,33 @@ percent.
@item Monte Carlo value for Pi is 3.132465868 (error 0.29 percent).
@end itemize")
(license license:bsd-3)))
(define-public ghc-ed25519
(package
(name "ghc-ed25519")
(version "0.0.5.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/ed25519/ed25519-"
version ".tar.gz"))
(sha256
(base32
"0v8msqvgzimhs7p5ri25hrb1ni2wvisl5rmdxy89fc59py79b9fq"))))
(build-system haskell-build-system)
(arguments
`(#:cabal-revision
("2" "1cq6h3jqkb1kvd9fjfhsllg5gq78sdiyf2gy9862xhlbv6wil19f")
;; We omit these test suites because they require old versions of
;; packages and packages we do not have.
#:configure-flags
'("--flags=-test-hlint -test-doctests -test-properties")))
(home-page "http://thoughtpolice.github.com/hs-ed25519")
(synopsis "Ed25519 cryptographic signatures")
(description "This package provides a simple, fast, self-contained
copy of the Ed25519 public-key signature system with a clean interface.
It also includes support for detached signatures, and thorough
documentation on the design and implementation, including usage
guidelines.")
(license license:expat)))

View File

@ -23,6 +23,7 @@
(define-module (gnu packages haskell-web)
#:use-module (gnu packages)
#:use-module (gnu packages curl)
#:use-module (gnu packages haskell)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages haskell-crypto)
@ -64,7 +65,7 @@ for screen-scraping.")
(define-public ghc-cookie
(package
(name "ghc-cookie")
(version "0.4.3")
(version "0.4.4")
(source
(origin
(method url-fetch)
@ -74,7 +75,7 @@ for screen-scraping.")
".tar.gz"))
(sha256
(base32
"0qpdydhb9gw590ffabqg70x7xvjpg8l74idqnrfbhv5yrr7hryzv"))))
"1qy09i0jh2z9i9avy2khf8a8afq4fqgnv0fyrszgfg4kmq2fsi9j"))))
(build-system haskell-build-system)
(inputs
`(("ghc-old-locale" ,ghc-old-locale)
@ -171,7 +172,6 @@ both client and server code).")
("ghc-old-time" ,ghc-old-time)
("ghc-parsec" ,ghc-parsec)
("ghc-puremd5" ,ghc-puremd5)
("ghc-mtl" ,ghc-mtl)
("ghc-network" ,ghc-network)
("ghc-network-uri" ,ghc-network-uri)
("ghc-split" ,ghc-split)))
@ -230,7 +230,7 @@ for more user-friendly packages.")
(define-public ghc-http-client-tls
(package
(name "ghc-http-client-tls")
(version "0.3.5.1")
(version "0.3.5.3")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -238,7 +238,7 @@ for more user-friendly packages.")
version ".tar.gz"))
(sha256
(base32
"0n4mi8z77qaggfyq17z79cl304nf1f4h6gag60v4wjwghvmj7yn1"))))
"0qj3pcpgbsfsc4m52dz35khhl4hf1i0nmcpa445z82d9567vy6j7"))))
(build-system haskell-build-system)
;; Tests require Internet access
(arguments `(#:tests? #f))
@ -262,7 +262,7 @@ libraries, such as http-conduit.")
(define-public ghc-http-date
(package
(name "ghc-http-date")
(version "0.0.6.1")
(version "0.0.8")
(source
(origin
(method url-fetch)
@ -271,7 +271,7 @@ libraries, such as http-conduit.")
"http-date-" version ".tar.gz"))
(sha256
(base32
"0dknh28kyarnzqrsc80ssalxjrq0qbv7ir49247p2grb7rh0dqgj"))))
"09slbzqayjnqqz9zybk7slgzvizgplikqgg4b2flzgks91466k0g"))))
(build-system haskell-build-system)
(inputs
`(("ghc-attoparsec" ,ghc-attoparsec)))
@ -350,7 +350,6 @@ and HPACK. Currently HTTP/2 16 framing and HPACK 10 is supported.")
("ghc-http-client" ,ghc-http-client)
("ghc-http-client-tls" ,ghc-http-client-tls)
("ghc-monad-control" ,ghc-monad-control)
("ghc-mtl" ,ghc-mtl)
("ghc-exceptions" ,ghc-exceptions)
("ghc-unliftio" ,ghc-unliftio)))
(native-inputs
@ -387,7 +386,7 @@ which allow you to avoid direct usage of conduits.")
(define-public ghc-wai
(package
(name "ghc-wai")
(version "3.2.1.1")
(version "3.2.1.2")
(source
(origin
(method url-fetch)
@ -397,7 +396,7 @@ which allow you to avoid direct usage of conduits.")
".tar.gz"))
(sha256
(base32
"08afasnirja21vr0bmzcywz4w29x736dmdv7h8nnh1l8bn7sd02x"))))
"0jr3b2789wa4m6mxkz12ynz4lfsqmgbrcy0am8karyqr3x3528r8"))))
(build-system haskell-build-system)
(inputs
`(("ghc-bytestring-builder" ,ghc-bytestring-builder)
@ -422,7 +421,7 @@ communication between web applications and web servers.")
(define-public ghc-wai-logger
(package
(name "ghc-wai-logger")
(version "2.3.0")
(version "2.3.2")
(source
(origin
(method url-fetch)
@ -432,7 +431,7 @@ communication between web applications and web servers.")
".tar.gz"))
(sha256
(base32
"1w0b0vinsyqr37wciljkz8g5dcmfi2r210lq194a0wkycly9kkch"))))
"0w5ldq4gplc16zzk5ikmbbjw79imaqvw8p6lylaw3hlsbn3zzm4d"))))
(build-system haskell-build-system)
(arguments `(#:tests? #f)) ; FIXME: Tests cannot find libraries exported
; by propagated-inputs.
@ -455,7 +454,7 @@ communication between web applications and web servers.")
(define-public ghc-wai-extra
(package
(name "ghc-wai-extra")
(version "3.0.18")
(version "3.0.24.2")
(source
(origin
(method url-fetch)
@ -465,7 +464,7 @@ communication between web applications and web servers.")
".tar.gz"))
(sha256
(base32
"0r079mqqdv14fp97w0rigdpwk6b88grpjlqsjc5y8bbc0skf5za2"))))
"07gcgq59dki5drkjci9ka34xjsy3bqilbsx0lsc4905w9jlyfbci"))))
(build-system haskell-build-system)
(inputs
`(("ghc-ansi-terminal" ,ghc-ansi-terminal)
@ -504,7 +503,7 @@ functionality.")
(define-public ghc-wai-conduit
(package
(name "ghc-wai-conduit")
(version "3.0.0.3")
(version "3.0.0.4")
(source
(origin
(method url-fetch)
@ -513,7 +512,7 @@ functionality.")
"wai-conduit-" version ".tar.gz"))
(sha256
(base32
"1zvsiwjq2mvkb9sjgp3ly9m968m7a2jjzr4id6jpi3mmqykj15z4"))))
"07yn41rn2skd5p3wqqa09wa761vj7ibl8l19gh4bi4i8slxhk417"))))
(build-system haskell-build-system)
(inputs
`(("ghc-conduit" ,ghc-conduit)
@ -526,10 +525,34 @@ functionality.")
Haskell's Web Application Interface (WAI).")
(license license:expat)))
(define-public ghc-bsb-http-chunked
(package
(name "ghc-bsb-http-chunked")
(version "0.0.0.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/"
"bsb-http-chunked/bsb-http-chunked-"
version ".tar.gz"))
(sha256
(base32
"1x6m6xkrcw6jiaig1bb2wb5pqyw31x8xr9k9pxgq2g3ng44pbjr8"))))
(build-system haskell-build-system)
(inputs
`(("ghc-bytestring-builder" ,ghc-bytestring-builder)))
(home-page "http://github.com/sjakobi/bsb-http-chunked")
(synopsis "Chunked HTTP transfer encoding for bytestring builders")
(description "This Haskell library contains functions for encoding
bytestring builders for chunked Hypertext Transfer Protocol (HTTP) 1.1
transfers.")
(license license:bsd-3)))
(define-public ghc-warp
(package
(name "ghc-warp")
(version "3.2.11.1")
(version "3.2.23")
(source
(origin
(method url-fetch)
@ -538,15 +561,12 @@ Haskell's Web Application Interface (WAI).")
".tar.gz"))
(sha256
(base32
"1zp5cy0bbj508vdvms1n5z80z37m253kwsqc5a83cfc990n6fgw5"))))
"12v9qhi4hyp0sb90yddsax16jj7x47nmqwn53sv7b5nszcxgzam0"))))
(build-system haskell-build-system)
(arguments
`(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
(inputs
`(("ghc-async" ,ghc-async)
("ghc-auto-update" ,ghc-auto-update)
("ghc-blaze-builder" ,ghc-blaze-builder)
("ghc-bytestring-builder" ,ghc-bytestring-builder)
("ghc-bsb-http-chunked" ,ghc-bsb-http-chunked)
("ghc-case-insensitive" ,ghc-case-insensitive)
("ghc-hashable" ,ghc-hashable)
("ghc-http-types" ,ghc-http-types)
@ -559,18 +579,18 @@ Haskell's Web Application Interface (WAI).")
("ghc-vault" ,ghc-vault)
("ghc-wai" ,ghc-wai)
("ghc-word8" ,ghc-word8)
("ghc-lifted-base" ,ghc-lifted-base)
("ghc-http-date" ,ghc-http-date)
("ghc-simple-sendfile" ,ghc-simple-sendfile)
("ghc-http2" ,ghc-http2)))
(native-inputs
`(("ghc-silently" ,ghc-silently)
`(("curl" ,curl)
("ghc-silently" ,ghc-silently)
("ghc-hspec" ,ghc-hspec)
("ghc-auto-update" ,ghc-auto-update)
("ghc-doctest" ,ghc-doctest)
("ghc-lifted-base" ,ghc-lifted-base)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-hunit" ,ghc-hunit)
("ghc-http" ,ghc-http)
("ghc-http-client" ,ghc-http-client)
("hspec-discover" ,hspec-discover)))
(home-page "http://github.com/yesodweb/wai")
(synopsis "HTTP server library for Haskell's WAI")
@ -578,10 +598,36 @@ Haskell's Web Application Interface (WAI).")
based WAI (Web Application Interface in Haskell).")
(license license:expat)))
(define-public ghc-tls-session-manager
(package
(name "ghc-tls-session-manager")
(version "0.0.0.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/"
"tls-session-manager/tls-session-manager-"
version ".tar.gz"))
(sha256
(base32
"0rvmln545vghsx8zhxp44f0f6pzma8cylarmfhhysy55ipywr1n5"))))
(build-system haskell-build-system)
(inputs
`(("ghc-auto-update" ,ghc-auto-update)
("ghc-clock" ,ghc-clock)
("ghc-psqueues" ,ghc-psqueues)
("ghc-tls" ,ghc-tls)))
(home-page "http://hackage.haskell.org/package/tls-session-manager")
(synopsis "In-memory TLS session manager")
(description "This Haskell library provides a TLS session manager with
limitation, automatic pruning, energy saving and replay resistance.")
(license license:bsd-3)))
(define-public ghc-warp-tls
(package
(name "ghc-warp-tls")
(version "3.2.3")
(version "3.2.4.3")
(source
(origin
(method url-fetch)
@ -590,7 +636,7 @@ based WAI (Web Application Interface in Haskell).")
"warp-tls-" version ".tar.gz"))
(sha256
(base32
"14m2bzk5ivz9gdpxlcj6qnh46f2lycm1ybdjnfkj2876zrqwii7m"))))
"17gj295fr98l7mkz2gdz6kahdnmja0sql3kvy2zab6q168g53kc4"))))
(build-system haskell-build-system)
(inputs
`(("ghc-cryptonite" ,ghc-cryptonite)
@ -598,6 +644,7 @@ based WAI (Web Application Interface in Haskell).")
("ghc-network" ,ghc-network)
("ghc-streaming-commons" ,ghc-streaming-commons)
("ghc-tls" ,ghc-tls)
("ghc-tls-session-manager" ,ghc-tls-session-manager)
("ghc-wai" ,ghc-wai)
("ghc-warp" ,ghc-warp)))
(home-page "http://github.com/yesodweb/wai")
@ -609,7 +656,7 @@ a WAI handler, via the native Haskell TLS implementation.")
(define-public ghc-xss-sanitize
(package
(name "ghc-xss-sanitize")
(version "0.3.5.7")
(version "0.3.6")
(source
(origin
(method url-fetch)
@ -618,7 +665,7 @@ a WAI handler, via the native Haskell TLS implementation.")
version ".tar.gz"))
(sha256
(base32
"005cmhaw9xbzkcn42jmhvcvk63bzmg4lml368xwmqdvh7r0mcn4m"))))
"1d72s3a6520iwwc1wbn9v2znqgbw6a5wwzb23iq8ny9ccnjyx1dk"))))
(build-system haskell-build-system)
(inputs
`(("ghc-tagsoup" ,ghc-tagsoup)
@ -666,7 +713,7 @@ Haskell.")
(define-public ghc-mime-types
(package
(name "ghc-mime-types")
(version "0.1.0.7")
(version "0.1.0.8")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -674,7 +721,7 @@ Haskell.")
version ".tar.gz"))
(sha256
(base32
"1fg9cqpp5lswk8ajlq4f41n12c2v2naz179l8dsz6zisjqj4l5l3"))))
"14ccl2842ya17zyj0bpc7vzklbyqvvydpbypn69h2fmhgji192x8"))))
(build-system haskell-build-system)
(inputs
`(("ghc-text" ,ghc-text)))
@ -710,7 +757,7 @@ documents.")
(define-public ghc-xhtml
(package
(name "ghc-xhtml")
(version "3000.2.1")
(version "3000.2.2.1")
(source
(origin
(method url-fetch)
@ -720,7 +767,7 @@ documents.")
".tar.gz"))
(sha256
(base32
"1n6wgzxbj8xf0wf1il827qidphnffb5vzhwzqlxhh70c2y10f0ik"))))
"0939kwpinq6l4n3nyvd1gzyl7f83gymw0wzqndlgy1yc7q0nkj2w"))))
(build-system haskell-build-system)
(home-page "https://github.com/haskell/xhtml")
(synopsis "XHTML combinator library")
@ -732,7 +779,7 @@ Strict, Transitional and Frameset variants.")
(define-public ghc-blaze-html
(package
(name "ghc-blaze-html")
(version "0.9.0.1")
(version "0.9.1.1")
(source
(origin
(method url-fetch)
@ -741,11 +788,8 @@ Strict, Transitional and Frameset variants.")
version ".tar.gz"))
(sha256
(base32
"0r0acv47nh75bmf7kjyfvhcwz8f02rn9x0a1l80pzgyczfrsmkmf"))))
"06xv8fqhclfjj61z74cgggn4lmx1s7diakxg84mnkgfvk11983pa"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags (list "--allow-newer=QuickCheck"
"--allow-newer=HUnit")))
(inputs
`(("ghc-blaze-builder" ,ghc-blaze-builder)
("ghc-text" ,ghc-text)
@ -764,7 +808,7 @@ Strict, Transitional and Frameset variants.")
(define-public ghc-aeson
(package
(name "ghc-aeson")
(version "1.2.4.0")
(version "1.3.1.1")
(source
(origin
(method url-fetch)
@ -774,7 +818,7 @@ Strict, Transitional and Frameset variants.")
".tar.gz"))
(sha256
(base32
"16zwpd07cmhs58wwsqbhxy3b58gqw8w5nr7nf6lwi4nvznjdn09l"))))
"1i1ig840fvsb1lnklcv32zsc0zscirc301lw1mpfxhc6h4pk0gw4"))))
(build-system haskell-build-system)
(arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
(inputs
@ -808,22 +852,10 @@ for Haskell, optimized for ease of use and high performance. (A note on
naming: in Greek mythology, Aeson was the father of Jason.)")
(license license:bsd-3)))
(define-public ghc-aeson-for-pandoc-1
(package (inherit ghc-aeson)
(version "1.1.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/aeson/aeson-"
version ".tar.gz"))
(sha256
(base32
"1zy5z8pzvh53qkjm0nm3f4rwqfqg3867ck8ncd6mrxpcyvxqqj1p"))))))
(define-public ghc-aeson-pretty
(package
(name "ghc-aeson-pretty")
(version "0.8.5")
(version "0.8.7")
(source (origin
(method url-fetch)
(uri (string-append
@ -831,7 +863,7 @@ naming: in Greek mythology, Aeson was the father of Jason.)")
version ".tar.gz"))
(sha256
(base32
"1yd98972srlbkn0f2jhrb3f443j9wnq2fnw5gbxjxzmkcinfh5yx"))))
"1m977gs0s9gf3lwzlbs5y7bl6ansc5pywmn2qjk09l5bwg2yrhf1"))))
(build-system haskell-build-system)
(inputs
`(("ghc-aeson" ,ghc-aeson)
@ -889,7 +921,7 @@ of a JSON value into a @code{Data.Aeson.Value}.")
(define-public ghc-multipart
(package
(name "ghc-multipart")
(version "0.1.2")
(version "0.1.3")
(source
(origin
(method url-fetch)
@ -899,9 +931,11 @@ of a JSON value into a @code{Data.Aeson.Value}.")
".tar.gz"))
(sha256
(base32
"0g04jhyw1ib1s7c9bcldyyn4n90qd9x7dmvic4vgq57bgcqgnhz5"))))
"1x4n4yyva22dhfr1pg5ki112qvvzb4hyd7bwpm189iq4gcp52q4z"))))
(build-system haskell-build-system)
(inputs `(("ghc-parsec" ,ghc-parsec)))
(inputs
`(("ghc-parsec" ,ghc-parsec)
("ghc-stringsearch" ,ghc-stringsearch)))
(home-page
"http://www.github.com/silkapp/multipart")
(synopsis
@ -1023,7 +1057,7 @@ avoid any issues with characters.")
(define-public ghc-yesod-core
(package
(name "ghc-yesod-core")
(version "1.4.37")
(version "1.6.6")
(source
(origin
(method url-fetch)
@ -1032,18 +1066,18 @@ avoid any issues with characters.")
"yesod-core-" version ".tar.gz"))
(sha256
(base32
"0ww8hl0cx2g58zrdx3j6d5m2xwhssbajdqws1xk6rzl7rpfm1b9j"))))
"0xahf6m5c7mkl74p0gimy4wb5w4s3lh92wwxmk517fbq666c92kb"))))
(build-system haskell-build-system)
(inputs `(("ghc-wai" ,ghc-wai)
("ghc-extra" ,ghc-extra)
("ghc-text" ,ghc-text)
("ghc-shakespeare" ,ghc-shakespeare)
("ghc-blaze-builder" ,ghc-blaze-builder)
("ghc-mtl" ,ghc-mtl)
("ghc-clientsession" ,ghc-clientsession)
("ghc-random" ,ghc-random)
("ghc-cereal" ,ghc-cereal)
("ghc-old-locale" ,ghc-old-locale)
("ghc-unliftio" ,ghc-unliftio)
("ghc-unordered-containers" ,ghc-unordered-containers)
("ghc-monad-control" ,ghc-monad-control)
("ghc-transformers-base" ,ghc-transformers-base)
@ -1058,6 +1092,7 @@ avoid any issues with characters.")
("ghc-monad-logger" ,ghc-monad-logger)
("ghc-conduit" ,ghc-conduit)
("ghc-resourcet" ,ghc-resourcet)
("ghc-rio" ,ghc-rio)
("ghc-lifted-base" ,ghc-lifted-base)
("ghc-blaze-html" ,ghc-blaze-html)
("ghc-blaze-markup" ,ghc-blaze-markup)
@ -1093,7 +1128,7 @@ functions, widgets, etc.")
(define-public ghc-yesod-persistent
(package
(name "ghc-yesod-persistent")
(version "1.4.3")
(version "1.6.0")
(source
(origin
(method url-fetch)
@ -1102,7 +1137,7 @@ functions, widgets, etc.")
"yesod-persistent-" version ".tar.gz"))
(sha256
(base32
"0kiksw46c8ww9yiwl28pkrppx8d6fhsasr0hvmsliqbrp16likj8"))))
"1gd59xf7b6v3cald58mzwnfbdzjr49cz60rm4wc5w9pvfx12pgj2"))))
(build-system haskell-build-system)
(arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH.
(inputs `(("ghc-yesod-core" ,ghc-yesod-core)
@ -1126,7 +1161,7 @@ from Yesod.")
(define-public ghc-yesod-form
(package
(name "ghc-yesod-form")
(version "1.4.16")
(version "1.6.2")
(source
(origin
(method url-fetch)
@ -1136,7 +1171,7 @@ from Yesod.")
".tar.gz"))
(sha256
(base32
"0lij3m5vn8nvh6y88r1dhk03xmmjwmjzazm307nc2wvc5fmx9p2j"))))
"1p1x1hffvarplc82ykdk7rm6p5isqgqf78bvxzpfhncxs4kwx057"))))
(build-system haskell-build-system)
(inputs
`(("ghc-yesod-core" ,ghc-yesod-core)
@ -1169,7 +1204,7 @@ providing richtext field using Nic editor. ")
(define-public ghc-yesod
(package
(name "ghc-yesod")
(version "1.4.5")
(version "1.6.0")
(source
(origin
(method url-fetch)
@ -1178,7 +1213,7 @@ providing richtext field using Nic editor. ")
version ".tar.gz"))
(sha256
(base32
"1sg66nq8yaas2m5nqsdrxricvcizd1ik02zqk60sxh3wna08fz16"))))
"0wx77nbpzdh40p1bm527kimfj48vs9d2avpvvz2w42zi3pz2y94a"))))
(build-system haskell-build-system)
(inputs
`(("ghc-yesod-core" ,ghc-yesod-core)

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -21,25 +22,33 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages compression)
#:use-module (gnu packages ncurses)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu))
(define-public hexedit
(package
(name "hexedit")
(version "1.2.13")
(version "1.4.2")
(source (origin
(method url-fetch)
(uri (string-append "http://rigaux.org/"
name "-" version ".src.tgz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/pixel/hexedit.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1mwdp1ikk64cqmagnrrps5jkn3li3n47maiqh2qc1xbp1ains4ka"))))
"1xsxa5mip892jkvz9jshj73y6c7j3mgp8y393ciihqlyf2nmfs67"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f)) ; no check target
(inputs `(("ncurses" ,ncurses)))
(arguments '(#:tests? #f)) ; no check target
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
(inputs
`(("ncurses" ,ncurses)))
(synopsis "View and edit files or devices in hexadecimal or ASCII")
(description "hexedit shows a file both in ASCII and in hexadecimal. The
file can be a device as the file is read a piece at a time. You can modify

View File

@ -31,56 +31,10 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define ghc-aeson-1.1.2.0
(package (inherit ghc-aeson)
(version "1.1.2.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/aeson/aeson-"
version
".tar.gz"))
(sha256
(base32
"1zy5z8pzvh53qkjm0nm3f4rwqfqg3867ck8ncd6mrxpcyvxqqj1p"))))))
(define ghc-trifecta-1.6.2.1
(package (inherit ghc-trifecta)
(version "1.6.2.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/trifecta/"
"trifecta-" version ".tar.gz"))
(sha256
(base32
"1rgv62dlmm4vkdymx5rw5jg3w8ifpzg1745rvs1m4kzdx16p5cxs"))))))
;; ghc-cheapskate appeared too new. This follows LTS Haskell.
(define ghc-cheapskate-0.1.0.5
(package
(inherit ghc-cheapskate)
(version "0.1.0.5")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/cheapskate/cheapskate-"
version
".tar.gz"))
(sha256
(base32
"0cpsmfx5z2xykg71sv8j7pl8ga6pzyjnjdb9bxn00vcpqkzvfqvs"))))
(arguments
;; LTS Haskell says data-default >=0.5 && <0.8
`(#:configure-flags (list "--allow-newer=data-default")))))
(define-public idris
(package
(name "idris")
(version "1.0")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -88,12 +42,12 @@
"idris-" version "/idris-" version ".tar.gz"))
(sha256
(base32
"1srbz0cyvd0k1yqgbrwnfj94yg5y3z533q1kzac96z1h7v454s5h"))))
"1w5i2z88li4niykwc6yrgxgfp25ll6ih95cip0ri7d8i7ik03c48"))))
(build-system haskell-build-system)
(inputs
`(("gmp" ,gmp)
("ncurses" ,ncurses)
("ghc-aeson" ,ghc-aeson-1.1.2.0)
("ghc-aeson" ,ghc-aeson)
("ghc-annotated-wl-pprint" ,ghc-annotated-wl-pprint)
("ghc-ansi-terminal" ,ghc-ansi-terminal)
("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
@ -101,12 +55,12 @@
("ghc-base64-bytestring" ,ghc-base64-bytestring)
("ghc-blaze-html" ,ghc-blaze-html)
("ghc-blaze-markup" ,ghc-blaze-markup)
("ghc-cheapskate" ,ghc-cheapskate-0.1.0.5)
("ghc-cheapskate" ,ghc-cheapskate)
("ghc-code-page" ,ghc-code-page)
("ghc-fingertree" ,ghc-fingertree)
("ghc-fsnotify" ,ghc-fsnotify)
("ghc-ieee754" ,ghc-ieee754)
("ghc-mtl" ,ghc-mtl)
("ghc-megaparsec" ,ghc-megaparsec)
("ghc-network" ,ghc-network)
("ghc-optparse-applicative" ,ghc-optparse-applicative)
("ghc-regex-tdfa" ,ghc-regex-tdfa)
@ -114,7 +68,6 @@
("ghc-split" ,ghc-split)
("ghc-terminal-size" ,ghc-terminal-size)
("ghc-text" ,ghc-text)
("ghc-trifecta" ,ghc-trifecta-1.6.2.1)
("ghc-uniplate" ,ghc-uniplate)
("ghc-unordered-containers" ,ghc-unordered-containers)
("ghc-utf8-string" ,ghc-utf8-string)
@ -132,6 +85,11 @@
(lambda _
(setenv "CC" "gcc")
#t))
(add-before 'configure 'update-constraints
(lambda _
(substitute* "idris.cabal"
(("aeson >= 0\\.6 && < 1\\.3")
"aeson >= 0.6 && < 1.4"))))
(add-after 'install 'fix-libs-install-location
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))

View File

@ -200,7 +200,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(define-public opencv
(package
(name "opencv")
(version "3.4.1")
(version "3.4.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/opencv/opencv/archive/"
@ -208,7 +208,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"1g8pvnlkzzp50amd89149hqsbvsc2hq3vk1d6a9fksdcx8ra9g94"))
"0pycx1pz8lj794q32mlalyc3ijqxwsyin65r26nh4yc0p71xiirp"))
(modules '((guix build utils)))
(snippet
'(begin
@ -345,7 +345,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
"opencv/opencv_extra/zip/" version))
(file-name (string-append "opencv-extra-" version ".zip"))
(sha256
(base32 "0wfh3pvfxqydf7hsccp50npcsg37sf6fqi6cd3zkc4qil9zhpbps"))))
(base32 "0yd1vidzbg6himxyh4yzivywijg8548kfmcn421khabnipm7l74y"))))
("opencv-contrib"
,(origin
(method url-fetch)
@ -353,7 +353,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
"opencv/opencv_contrib/zip/" version))
(file-name (string-append "opencv-contrib-" version ".zip"))
(sha256
(base32 "18zm0qmjcdvg90c33gzv0ws0xdaid1xpqzz2xa9l2x12qkr6zj3p"))))))
(base32 "0j0ci6ia1qwklp9hq07ypl0vkngj1wrgh6n98n657m5d0pyp4m0g"))))))
(inputs `(("libjpeg" ,libjpeg)
("libpng" ,libpng)
("jasper" ,jasper)

View File

@ -4288,6 +4288,85 @@ setter and getter method.")
file filters and endian classes.")
(license license:asl2.0)))
(define-public java-commons-exec-1.1
(package
(name "java-commons-exec")
(version "1.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://apache/commons/exec/source/"
"commons-exec-" version "-src.tar.gz"))
(sha256
(base32
"025dk8xgj10lxwwwqp0hng2rn7fr4vcirxzydqzx9k4dim667alk"))))
(build-system ant-build-system)
(arguments
`(#:test-target "test"
#:make-flags
(list (string-append "-Dmaven.junit.jar="
(assoc-ref %build-inputs "java-junit")
"/share/java/junit.jar"))
#:phases
(modify-phases %standard-phases
(add-before 'build 'delete-network-tests
(lambda _
(delete-file "src/test/java/org/apache/commons/exec/DefaultExecutorTest.java")
(substitute* "src/test/java/org/apache/commons/exec/TestRunner.java"
(("suite\\.addTestSuite\\(DefaultExecutorTest\\.class\\);") ""))
#t))
;; The "build" phase automatically tests.
(delete 'check)
(replace 'install (install-jars "target")))))
(native-inputs
`(("java-junit" ,java-junit)))
(home-page "http://commons.apache.org/proper/commons-exec/")
(synopsis "Common program execution related classes")
(description "Commons-Exec simplifies executing external processes.")
(license license:asl2.0)))
(define-public java-commons-exec
(package
(inherit java-commons-exec-1.1)
(version "1.3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://apache/commons/exec/source/"
"commons-exec-" version "-src.tar.gz"))
(sha256
(base32
"17yb4h6f8l49c5iyyvda4z2nmw0bxrx857nrwmsr7mmpb7x441yv"))))
(arguments
`(#:test-target "test"
#:make-flags
(list (string-append "-Dmaven.junit.jar="
(assoc-ref %build-inputs "java-junit")
"/share/java/junit.jar")
"-Dmaven.compiler.source=1.7"
"-Dmaven.compiler.target=1.7")
#:phases
(modify-phases %standard-phases
(add-before 'build 'delete-network-tests
(lambda* (#:key inputs #:allow-other-keys)
;; This test hangs indefinitely.
(delete-file "src/test/java/org/apache/commons/exec/issues/Exec60Test.java")
(substitute* "src/test/java/org/apache/commons/exec/issues/Exec41Test.java"
(("ping -c 10 127.0.0.1") "sleep 10"))
(substitute* "src/test/java/org/apache/commons/exec/issues/Exec49Test.java"
(("/bin/ls") "ls"))
(call-with-output-file "src/test/scripts/ping.sh"
(lambda (port)
(format port "#!~a/bin/sh\nsleep $1\n"
(assoc-ref inputs "bash"))))
#t))
;; The "build" phase automatically tests.
(delete 'check)
(replace 'install (install-jars "target")))))
(native-inputs
`(("java-junit" ,java-junit)
("java-hamcrest-core" ,java-hamcrest-core)))))
(define-public java-commons-lang
(package
(name "java-commons-lang")
@ -7585,6 +7664,55 @@ configuration.")
(description "This package is the jaxb annotations module for jackson.")
(license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
(define-public java-fasterxml-jackson-modules-base-mrbean
(package
(name "java-fasterxml-jackson-modules-base-mrbean")
(version "2.9.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/FasterXML/"
"jackson-modules-base/archive/"
"jackson-modules-base-" version ".tar.gz"))
(sha256
(base32
"1wws95xi8sppp6b0k2vvjdjyynl20r1a4dwrhai08lzlria6blp5"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "jackson-modules-base-mrbean.jar"
#:source-dir "mrbean/src/main/java"
#:test-dir "mrbean/src/test"
#:test-exclude
;; Base class for tests
(list "**/BaseTest.java")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'generate-PackageVersion.java
(lambda _
(let* ((out (string-append "mrbean/src/main/java/com/fasterxml/"
"jackson/module/mrbean/PackageVersion.java"))
(in (string-append out ".in")))
(copy-file in out)
(substitute* out
(("@package@") "com.fasterxml.jackson.module.mrbean")
(("@projectversion@") ,version)
(("@projectgroupid@") "com.fasterxml.jackson.module.mrbean")
(("@projectartifactid@") "jackson-module-mrbean")))
#t)))))
(inputs
`(("java-asm" ,java-asm)
("java-fasterxml-jackson-annotations"
,java-fasterxml-jackson-annotations)
("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core)
("java-fasterxml-jackson-databind" ,java-fasterxml-jackson-databind)))
(native-inputs
`(("java-junit" ,java-junit)))
(home-page "https://github.com/FasterXML/jackson-modules-base")
(synopsis "POJO type materialization for Java")
(description "This package implements POJO type materialization.
Databinders can construct implementation classes for Java interfaces as part
of deserialization.")
(license license:asl2.0)))
(define-public java-snakeyaml
(package
(name "java-snakeyaml")

View File

@ -236,7 +236,7 @@ plugins, as well as code to create plugins, or complete applications.")
(define-public krita
(package
(name "krita")
(version "4.1.1")
(version "4.1.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -245,7 +245,7 @@ plugins, as well as code to create plugins, or complete applications.")
"/" name "-" version ".tar.gz"))
(sha256
(base32
"1qz9bjvnwa5gc2b0063i2p72jq6y1b6kgqdj39599acp7ws11asw"))))
"0d546dxs552z0pxnaka1jm7ksravw17f777wf593z0pl4ds8dgdx"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f

View File

@ -28,6 +28,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages libreoffice)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix download)
@ -935,7 +936,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
(define-public libreoffice
(package
(name "libreoffice")
(version "6.1.0.3")
(version "6.1.2.1")
(source
(origin
(method url-fetch)
@ -945,10 +946,10 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
(version-prefix version 3) "/libreoffice-" version ".tar.xz"))
(sha256
(base32
"1n7b6abc0bp9x8lddx60w5br444wf62mdlkqmfk2zmkmiwkcvv2l"))
"149ziasibplihfxlzafzcm4737ns30hg9175967b43c81yv5f335"))
(patches (search-patches "libreoffice-icu.patch"
"libreoffice-glm.patch"))))
(build-system gnu-build-system)
(build-system glib-or-gtk-build-system)
(native-inputs
`(("bison" ,bison)
("cppunit" ,cppunit-1.14)
@ -1026,6 +1027,9 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
(arguments
`(#:tests? #f ; Building the tests already fails.
#:make-flags '("build-nocheck") ; Do not build unit tests, which fails.
;; XXX Remove this if glib-or-gtk-build-system changes to in-source-tree
;; builds by default.
#:out-of-source? #f
#:phases
(modify-phases %standard-phases
(add-before 'configure 'prepare-src

View File

@ -61,7 +61,7 @@ Regexp::Pattern is a convention for organizing reusable regex patterns.")
(define-public perl-string-copyright
(package
(name "perl-string-copyright")
(version "0.003005")
(version "0.003006")
(source
(origin
(method url-fetch)
@ -70,7 +70,7 @@ Regexp::Pattern is a convention for organizing reusable regex patterns.")
version ".tar.gz"))
(sha256
(base32
"12c6x4c10gr46ryc3dpwgfi6wggmgy4a1ls2hwhcpdm3wvzy5619"))))
"0fzymv065nn3glwnw34nkyadzw2dh4rcz8avmki4zrnk4k45m01a"))))
(build-system perl-build-system)
(native-inputs
`(("perl-number-range" ,perl-number-range)))

View File

@ -399,8 +399,8 @@ It has been modified to remove all non-free binary blobs.")
;; supports qemu "virt" machine and possibly a large number of ARM boards.
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
(define %linux-libre-version "4.18.9")
(define %linux-libre-hash "0wwmhnfvcsdlqhzwwwyz1x5a3ldjky6l0xir1pi6pysr0lak402x")
(define %linux-libre-version "4.18.12")
(define %linux-libre-hash "1mcnb1mm7m6i9s591c3kx0f1vbzhbl3w92w137swcm9zifqpci5r")
(define %linux-libre-4.18-patches
(list %boot-logo-patch
@ -430,8 +430,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-4.18-patches
#:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.71")
(define %linux-libre-4.14-hash "1akvykaccy7ikl8v04grwxvgs4z2rrs7drf2s85ysqwq79mdh3gq")
(define %linux-libre-4.14-version "4.14.74")
(define %linux-libre-4.14-hash "0cxyx2yinnc8q0hmhb0swjgdz3s0ry7wxzyqss9f2i74xjjz4rm0")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@ -440,14 +440,14 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config))
(define-public linux-libre-4.9
(make-linux-libre "4.9.128"
"0lww23xcyyg0dwzrap5x9d700gy3lbxln55n6sqqkm7m89dkqwha"
(make-linux-libre "4.9.131"
"11pxwl7dmisbf2szg9qzkvhlpk68clh5l478n7b62q7hd8j3hxlv"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
(make-linux-libre "4.4.157"
"00bnfqwkr0jfdabmwx5qk5bqxn5vwnnzwqbm5rfg7lggii74kk54"
(make-linux-libre "4.4.159"
"12wrhni1ikmakwv55cgzsznx9llzp82irsisbjjs7bc8z2hzwr6l"
%intel-compatible-systems
#:configuration-file kernel-config))
@ -3668,15 +3668,16 @@ The collection contains a set of bandwidth and latency benchmark such as:
(define-public rng-tools
(package
(name "rng-tools")
(version "6.4")
(home-page "https://github.com/nhorman/rng-tools")
(version "6.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/nhorman/rng-tools/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference (url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"005krksl8iz37l5p1nx8apl1yg7q78yrsb6inby31d2g5ck8nnwa"))))
"11kw1rcgzmgzwk7g1w2g0nzjraqb0pf24gxpy50k4ls2qxslw3rk"))))
(build-system gnu-build-system)
(arguments
`(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB.
@ -3691,7 +3692,6 @@ The collection contains a set of bandwidth and latency benchmark such as:
(description
"Monitor a hardware random number generator, and supply entropy
from that to the system kernel's @file{/dev/random} machinery.")
(home-page "https://sourceforge.net/projects/gkernel")
;; The source package is offered under the GPL2+, but the files
;; 'rngd_rdrand.c' and 'rdrand_asm.S' are only available under the GPL2.
(license (list license:gpl2 license:gpl2+))))
@ -4827,19 +4827,20 @@ interface to this kernel feature.")
(define-public mbpfan
(package
(name "mbpfan")
(version "2.0.2")
(version "2.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/dgraziotin/mbpfan/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/dgraziotin/mbpfan.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0wifsws9icki95hhfh4zw1hmk07ddmkcz9mg5a9jr7q2kkrk01cx"))))
"1gysq778rkl6dvvj9a1swxcl15wvz0bng5bn4nwq118cl8p8pask"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
'(#:tests? #f ; tests ask to be run as root
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list (string-append "DESTDIR=" out)
"CC=gcc"))
@ -4850,7 +4851,7 @@ interface to this kernel feature.")
(substitute* "Makefile"
(("/usr") ""))
#t))
(delete 'configure)))) ; There's no configure phase.
(delete 'configure)))) ; there's no configure phase
(home-page "https://github.com/dgraziotin/mbpfan")
(synopsis "Control fan speed on Macbooks")
(description

View File

@ -2556,17 +2556,16 @@ PGP handling, multiple servers, and secure connections.")
(define-public imapfilter
(package
(name "imapfilter")
(version "2.6.11")
(version "2.6.12")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/lefcha/imapfilter/archive/"
"v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/lefcha/imapfilter.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1yslvwr3w5fnl06gfrp0lim8zdlasx3cvgd2fsqi0695xnb9bsms"))))
(base32 "0vzpc54fjf5vb5vx5w0fl20xvx1k9cg6a3hbl86mm8kwsqf3wrab"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f

View File

@ -1702,13 +1702,21 @@ scientific applications modeled by partial differential equations.")
(package (inherit petsc)
(name "petsc-openmpi")
(inputs
`(("openmpi" ,openmpi)
("hdf5" ,hdf5-parallel-openmpi)
`(("hdf5" ,hdf5-parallel-openmpi)
("metis" ,metis)
("mumps" ,mumps-openmpi)
("openmpi" ,openmpi)
("scalapack" ,scalapack)
("scotch" ,pt-scotch)
,@(package-inputs petsc)))
(arguments
(substitute-keyword-arguments (package-arguments petsc)
((#:configure-flags cf)
``("--with-mpiexec=mpirun"
"--with-metis=1"
"--with-mumps=1"
"--with-scalapack=1"
"--with-ptscotch=1"
,(string-append "--with-mpi-dir="
(assoc-ref %build-inputs "openmpi"))
,(string-append "--with-hdf5-include="
@ -1718,9 +1726,9 @@ scientific applications modeled by partial differential equations.")
,@(delete "--with-mpi=0" ,cf)))
((#:phases phases)
`(modify-phases ,phases
(add-before 'check 'mpi-setup
(add-before 'configure 'mpi-setup
,%openmpi-setup)))))
(synopsis "Library to solve PDEs (with MPI support)")))
(synopsis "Library to solve PDEs (with MUMPS and MPI support)")))
(define-public petsc-complex-openmpi
(package (inherit petsc-complex)
@ -1737,7 +1745,6 @@ scientific applications modeled by partial differential equations.")
,@(delete "--with-mpi=0" ,cf)))))
(synopsis "Library to solve PDEs (with complex scalars and MPI support)")))
(define-public python-kiwisolver
(package
(name "python-kiwisolver")

View File

@ -1385,7 +1385,7 @@ protocol allows.")
(define-public mcabber
(package
(name "mcabber")
(version "1.0.5")
(version "1.1.0")
(source
(origin
(method url-fetch)
@ -1393,7 +1393,7 @@ protocol allows.")
name "-" version ".tar.bz2"))
(sha256
(base32
"0ixdzk5b3s31a4bdfqgqrsiq7vbgdzhqr49p9pz9cq9bgn0h1wm0"))))
"1ggh865p1rf10ffsnf4g6qv9i8bls36dxdb1nzs5r9vdqci2rz04"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list "--enable-otr"

View File

@ -5,6 +5,7 @@
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017 Dave Love <fx@gnu.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -125,7 +126,7 @@ bind processes, and much more.")
;; Note: 2.0 isn't the default yet, see above.
(package
(inherit hwloc)
(version "2.0.1")
(version "2.0.2")
(source (origin
(method url-fetch)
(uri (string-append "https://www.open-mpi.org/software/hwloc/v"
@ -133,7 +134,7 @@ bind processes, and much more.")
"/downloads/hwloc-" version ".tar.bz2"))
(sha256
(base32
"0jf0krj1h95flmb784ifv9vnkdnajjz00p4zbhmja7vm4v67axdr"))))
"1phc863d5b2fvwpyyq4mlh4rkjdslh6h0h197zmyk3prwrq7si8l"))))
;; libnuma is no longer needed.
(inputs (alist-delete "numactl" (package-inputs hwloc)))

View File

@ -2,6 +2,7 @@
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,7 +28,7 @@
(define-public mtools
(package
(name "mtools")
(version "4.0.18")
(version "4.0.19")
(source
(origin
(method url-fetch)
@ -35,7 +36,7 @@
version ".tar.gz"))
(sha256
(base32
"1hxciksv7av5ilnkvwbidyxxr1gzn24lr0mz9z8drkml7780im1h"))))
"003qnj4rs22v2sih3is55scvav8xq9p1dp5b7gnyl67a60ky516r"))))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/mtools/")
(synopsis "Access MS-DOS disks without mounting")

View File

@ -1996,7 +1996,7 @@ capabilities, custom envelopes, effects, etc.")
(define-public yoshimi
(package
(name "yoshimi")
(version "1.5.8.2")
(version "1.5.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/yoshimi/"
@ -2004,7 +2004,7 @@ capabilities, custom envelopes, effects, etc.")
"/yoshimi-" version ".tar.bz2"))
(sha256
(base32
"1kg7d6mnzdwzsqhrf7pmrf1hzgfpbpm5lv8xkaz32wiv391qrnxc"))))
"1nqwxwq6814m860zrh33r85vdyi2bgkvjg5372h3ngcdmxnb7wr0"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests

View File

@ -902,7 +902,7 @@ private (reserved).")
(define-public perl-net-dns
(package
(name "perl-net-dns")
(version "1.17")
(version "1.18")
(source
(origin
(method url-fetch)
@ -914,7 +914,7 @@ private (reserved).")
version ".tar.gz")))
(sha256
(base32
"1q62w9rf2w8kjzqagzr0rdn20ybl8gj3l6cdq4k8fw0sxa7zsycs"))))
"1lx902cbvlfl63bqfdrnyavmfwbjvrfdnwgdc1dgs1wpzja19kjj"))))
(build-system perl-build-system)
(inputs
`(("perl-digest-hmac" ,perl-digest-hmac)))
@ -927,7 +927,7 @@ private (reserved).")
(define-public perl-socket6
(package
(name "perl-socket6")
(version "0.28")
(version "0.29")
(source
(origin
(method url-fetch)
@ -937,7 +937,7 @@ private (reserved).")
".tar.gz"))
(sha256
(base32
"11j5jzqbzmwlws9zals43ry2f1nw9qy6im7yhn9ck5rikywrmm5z"))))
"054izici8klfxs8hr5rljib28plijpsfymy99xbzdp047bx1b2a6"))))
(build-system perl-build-system)
(arguments
`(#:phases

View File

@ -28,14 +28,14 @@
(define-public nickle
(package
(name "nickle")
(version "2.81")
(version "2.82")
(source (origin
(method url-fetch)
(uri (string-append "https://nickle.org/release/nickle-"
version ".tar.gz"))
(sha256
(base32
"1daqsflnqqgfkq6w6dknbm42avz70f5qxn7qidvgp472i4a37acr"))))
"0jy96z01qbrnmsrywn5mfa14615qdix6b8520qd65c6yjyrk8gs0"))))
(build-system gnu-build-system)
(native-inputs
`(("readline" ,readline)))

View File

@ -294,23 +294,23 @@ back-end for the LLVM compiler framework.")
(define-public pocl
(package
(name "pocl")
(version "1.1")
(version "1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pocl/pocl.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1z3sqn20ddv1030adchpzs65qng436gc2mb99p213mkh95jkh1l5"))))
(base32 "0fyiwd9nrqhl0jsac0bx17p9acpfzhyxp50mmp28mzn7psb9qidg"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(native-inputs
`(("libltdl" ,libltdl)
("pkg-config" ,pkg-config)))
(inputs
`(("clang" ,clang)
("hwloc" ,hwloc "lib")
("hwloc" ,hwloc-2.0 "lib")
("llvm" ,llvm)
("ocl-icd" ,ocl-icd)))
(arguments

View File

@ -101,8 +101,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "0.15.0")
(commit "3d43017026f9995ad128915db8ca5eafe061bf75")
(revision 3))
(commit "1d0be47ab680db938ac8da1ee65e1de91e198f67")
(revision 5))
(package
(name "guix")
@ -118,7 +118,7 @@
(commit commit)))
(sha256
(base32
"167rzz2h33xmmchkplwzfq94s5jwdn5nabsq2lb84s54ps0sm89m"))
"19cn4ndmr9cqd7qh6w3nchbmdpaawdl9kc6g0v6g680vzcja417k"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@ -493,7 +493,7 @@ symlinks to the files in a common directory such as /usr/local.")
(define-public rpm
(package
(name "rpm")
(version "4.13.0.2")
(version "4.14.2")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.rpm.org/releases/rpm-"
@ -501,40 +501,20 @@ symlinks to the files in a common directory such as /usr/local.")
version ".tar.bz2"))
(sha256
(base32
"1521y4ghjns449kzpwkjn9cksh686383xnfx0linzlalqc3jqgig"))))
"0armd7dqr8bl0isx8l4xlylm7dikasmxhhcbz336fkp2x30w5jw0"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--with-external-db" ;use the system's bdb
"--enable-python"
"--without-lua")
#:phases (modify-phases %standard-phases
(add-before 'configure 'set-nspr-search-path
(add-before 'configure 'set-nss-library-path
(lambda* (#:key inputs #:allow-other-keys)
;; nspr.pc contains the right -I flag pointing to
;; 'include/nspr', but unfortunately 'configure' doesn't
;; use 'pkg-config'. Thus, augment CPATH.
;; Likewise for NSS.
(let ((nspr (assoc-ref inputs "nspr"))
(nss (assoc-ref inputs "nss")))
(setenv "CPATH"
(string-append (getenv "C_INCLUDE_PATH") ":"
nspr "/include/nspr:"
nss "/include/nss"))
(let ((nss (assoc-ref inputs "nss")))
(setenv "LIBRARY_PATH"
(string-append (getenv "LIBRARY_PATH") ":"
nss "/lib/nss"))
#t)))
(add-after 'install 'fix-rpm-symlinks
(lambda* (#:key outputs #:allow-other-keys)
;; 'make install' gets these symlinks wrong. Fix them.
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(with-directory-excursion bin
(for-each (lambda (file)
(delete-file file)
(symlink "rpm" file))
'("rpmquery" "rpmverify"))
#t)))))))
#t))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
@ -550,7 +530,7 @@ symlinks to the files in a common directory such as /usr/local.")
("bzip2" ,bzip2)
("zlib" ,zlib)
("cpio" ,cpio)))
(home-page "http://www.rpm.org/")
(home-page "http://rpm.org/")
(synopsis "The RPM Package Manager")
(description
"The RPM Package Manager (RPM) is a command-line driven package

View File

@ -0,0 +1,86 @@
This patch (inspired by Debian) allows ghc-haddock-library to use our
ghc-attoparsec package instead of using a bundled version.
--- a/haddock-library.cabal 2018-09-01 01:22:18.676855884 -0400
+++ b/haddock-library.cabal 2018-09-01 01:25:10.501150260 -0400
@@ -10,7 +10,6 @@
itself, see the haddock package.
license: BSD3
license-files: LICENSE
- vendor/attoparsec-0.13.1.0/LICENSE
maintainer: Alex Biehl <alexbiehl@gmail.com>, Simon Hengel <sol@typeful.net>, Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>
homepage: http://www.haskell.org/haddock/
bug-reports: https://github.com/haskell/haddock/issues
@@ -28,7 +27,6 @@
, containers >= 0.4.2.1 && < 0.6
, transformers >= 0.3.0 && < 0.6
- -- internal sub-lib
build-depends: attoparsec
hs-source-dirs: src
@@ -49,42 +47,6 @@
if impl(ghc >= 8.0)
ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
-library attoparsec
- default-language: Haskell2010
-
- build-depends:
- base >= 4.5 && < 4.12
- , bytestring >= 0.9.2.1 && < 0.11
- , deepseq >= 1.3 && < 1.5
-
- hs-source-dirs: vendor/attoparsec-0.13.1.0
-
- -- NB: haddock-library needs only small part of lib:attoparsec
- -- internally, so we only bundle that subset here
- exposed-modules:
- Data.Attoparsec.ByteString
- Data.Attoparsec.ByteString.Char8
- Data.Attoparsec.Combinator
-
- other-modules:
- Data.Attoparsec
- Data.Attoparsec.ByteString.Buffer
- Data.Attoparsec.ByteString.FastSet
- Data.Attoparsec.ByteString.Internal
- Data.Attoparsec.Internal
- Data.Attoparsec.Internal.Fhthagn
- Data.Attoparsec.Internal.Types
- Data.Attoparsec.Number
-
- ghc-options: -funbox-strict-fields -Wall -fwarn-tabs -O2
-
- ghc-options: -Wall
- if impl(ghc >= 8.0)
- ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
- else
- build-depends: semigroups ^>= 0.18.3, fail ^>= 4.9.0.0
-
-
test-suite spec
type: exitcode-stdio-1.0
default-language: Haskell2010
@@ -115,11 +77,10 @@
, hspec ^>= 2.4.4
, QuickCheck ^>= 2.11
- -- internal sub-lib
build-depends: attoparsec
-- Versions for the dependencies below are transitively pinned by
- -- dependency on haddock-library:lib:attoparsec
+ -- dependency on attoparsec
build-depends:
base
, bytestring
@@ -146,7 +107,7 @@
haddock-library
-- Versions for the dependencies below are transitively pinned by
- -- dependency on haddock-library:lib:attoparsec
+ -- dependency on attoparsec
build-depends:
base

View File

@ -33,3 +33,17 @@ Fixes needed when avoiding bundled libraries.
'/dom/base',
'/dom/storage',
'/ipc/glue',
--- icecat-60.2.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build.orig 2018-09-13 17:40:54.000000000 -0400
+++ icecat-60.2.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build 2018-09-23 21:33:12.319975105 -0400
@@ -130,11 +130,6 @@
DEFINES["WEBRTC_POSIX"] = True
DEFINES["_FILE_OFFSET_BITS"] = "64"
- LOCAL_INCLUDES += [
- "/ipc/chromium/src/third_party/libevent/include/",
- "/ipc/chromium/src/third_party/libevent/linux/"
- ]
-
UNIFIED_SOURCES += [
"/media/webrtc/trunk/webrtc/base/task_queue_libevent.cc",
"/media/webrtc/trunk/webrtc/base/task_queue_posix.cc"

View File

@ -0,0 +1,226 @@
Allow building against system-wide graphite2/harfbuzz.
See <https://bugzilla.mozilla.org/show_bug.cgi?id=847568>
Based on:
https://svnweb.freebsd.org/ports/head/www/firefox-esr/files/patch-bug847568?revision=472833&view=co
Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
--- icecat-60.2.0/config/system-headers.mozbuild
+++ icecat-60.2.0/config/system-headers.mozbuild
@@ -1311,6 +1311,19 @@
'pixman.h',
]
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ system_headers += [
+ 'graphite2/Font.h',
+ 'graphite2/Segment.h',
+ ]
+
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ system_headers += [
+ 'harfbuzz/hb-glib.h',
+ 'harfbuzz/hb-ot.h',
+ 'harfbuzz/hb.h',
+ ]
+
if CONFIG['MOZ_SYSTEM_LIBVPX']:
system_headers += [
'vpx_mem/vpx_mem.h',
--- icecat-60.2.0/dom/base/moz.build
+++ icecat-60.2.0/dom/base/moz.build
@@ -474,6 +474,9 @@
if CONFIG['MOZ_X11']:
CXXFLAGS += CONFIG['TK_CFLAGS']
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
GENERATED_FILES += [
'PropertyUseCounterMap.inc',
'UseCounterList.h',
--- icecat-60.2.0/gfx/graphite2/moz-gr-update.sh
+++ icecat-60.2.0/gfx/graphite2/moz-gr-update.sh
@@ -1,6 +1,7 @@
#!/bin/bash
# Script used to update the Graphite2 library in the mozilla source tree
+# and bump version for --with-system-graphite2
# This script lives in gfx/graphite2, along with the library source,
# but must be run from the top level of the mozilla-central tree.
@@ -37,12 +38,16 @@ echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla
#find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
#find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
+# chase version for --with-system-graphite2
+perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \
+ if /GR2_VERSION_REQUIRE/" old-configure.in
+
# summarize what's been touched
echo Updated to $RELEASE.
echo Here is what changed in the gfx/graphite2 directory:
echo
-hg stat gfx/graphite2
+hg stat old-configure.in gfx/graphite2
echo
echo If gfx/graphite2/src/files.mk has changed, please make corresponding
--- icecat-60.2.0/gfx/moz.build
+++ icecat-60.2.0/gfx/moz.build
@@ -10,6 +10,12 @@ with Files('**'):
if CONFIG['MOZ_TREE_CAIRO']:
DIRS += ['cairo']
+if not CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ DIRS += ['graphite2/src' ]
+
+if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ DIRS += ['harfbuzz/src']
+
DIRS += [
'2d',
'ycbcr',
@@ -18,8 +24,6 @@ DIRS += [
'qcms',
'gl',
'layers',
- 'graphite2/src',
- 'harfbuzz/src',
'ots/src',
'thebes',
'ipc',
--- icecat-60.2.0/gfx/skia/generate_mozbuild.py
+++ icecat-60.2.0/gfx/skia/generate_mozbuild.py
@@ -148,6 +148,9 @@
'-Wno-unused-private-field',
]
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
--- icecat-60.2.0/gfx/skia/moz.build
+++ icecat-60.2.0/gfx/skia/moz.build
@@ -822,6 +822,9 @@
'-Wno-unused-private-field',
]
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
--- icecat-60.2.0/gfx/thebes/moz.build
+++ icecat-60.2.0/gfx/thebes/moz.build
@@ -272,7 +272,13 @@
LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
-DEFINES['GRAPHITE2_STATIC'] = True
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
+else:
+ DEFINES['GRAPHITE2_STATIC'] = True
+
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
if CONFIG['CC_TYPE'] == 'clang':
# Suppress warnings from Skia header files.
--- icecat-60.2.0/intl/unicharutil/util/moz.build
+++ icecat-60.2.0/intl/unicharutil/util/moz.build
@@ -25,4 +25,7 @@ UNIFIED_SOURCES += [
'nsUnicodeProperties.cpp',
]
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
FINAL_LIBRARY = 'xul'
--- icecat-60.2.0/netwerk/dns/moz.build
+++ icecat-60.2.0/netwerk/dns/moz.build
@@ -76,3 +76,6 @@
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
--- icecat-60.2.0/old-configure.in
+++ icecat-60.2.0/old-configure.in
@@ -3995,6 +3995,27 @@
AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
dnl ========================================================
+dnl Check for graphite2
+dnl ========================================================
+if test -n "$MOZ_SYSTEM_GRAPHITE2"; then
+ dnl graphite2.pc has bogus version, check manually
+ _SAVE_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS"
+ AC_TRY_COMPILE([ #include <graphite2/Font.h>
+ #define GR2_VERSION_REQUIRE(major,minor,bugfix) \
+ ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \
+ * 100 + GR2_VERSION_BUGFIX >= \
+ (major) * 10000 + (minor) * 100 + (bugfix) )
+ ], [
+ #if !GR2_VERSION_REQUIRE(1,3,10)
+ #error "Insufficient graphite2 version."
+ #endif
+ ], [],
+ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
+ CFLAGS=$_SAVE_CFLAGS
+fi
+
+dnl ========================================================
dnl Check for pixman and cairo
dnl ========================================================
--- icecat-60.2.0/toolkit/library/moz.build
+++ icecat-60.2.0/toolkit/library/moz.build
@@ -235,6 +235,12 @@
if CONFIG['MOZ_SYSTEM_PNG']:
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
+
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
+
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
--- icecat-60.2.0/toolkit/moz.configure
+++ icecat-60.2.0/toolkit/moz.configure
@@ -1051,6 +1051,26 @@
add_old_configure_assignment('FT2_CFLAGS',
ft2_info.cflags)
+# Graphite2
+# ==============================================================
+option('--with-system-graphite2',
+ help="Use system graphite2 (located with pkgconfig)")
+
+system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2',
+ when='--with-system-graphite2')
+
+set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True))
+
+# HarfBuzz
+# ==============================================================
+option('--with-system-harfbuzz',
+ help="Use system harfbuzz (located with pkgconfig)")
+
+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.7.4',
+ when='--with-system-harfbuzz')
+
+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
+
# Mortar
# ==============================================================
option('--enable-mortar', help='Enable mortar extension')

View File

@ -1,248 +0,0 @@
Copied from <https://reviewboard.mozilla.org/r/90218/diff/4>
See <https://bugzilla.mozilla.org/show_bug.cgi?id=847568>
diff --git a/config/Makefile.in b/config/Makefile.in
--- a/config/Makefile.in
+++ b/config/Makefile.in
@@ -36,16 +36,17 @@ ifdef WRAP_SYSTEM_INCLUDES
export-preqs = \
$(call mkdir_deps,system_wrappers) \
$(NULL)
export:: $(export-preqs)
$(PYTHON) -m mozbuild.action.preprocessor $(DEFINES) $(ACDEFINES) \
-DMOZ_TREE_CAIRO=$(MOZ_TREE_CAIRO) \
-DMOZ_TREE_PIXMAN=$(MOZ_TREE_PIXMAN) \
+ -DMOZ_SYSTEM_GRAPHITE2=$(MOZ_SYSTEM_GRAPHITE2) \
-DMOZ_SYSTEM_HARFBUZZ=$(MOZ_SYSTEM_HARFBUZZ) \
-DMOZ_SYSTEM_HUNSPELL=$(MOZ_SYSTEM_HUNSPELL) \
-DMOZ_SYSTEM_BZ2=$(MOZ_SYSTEM_BZ2) \
-DMOZ_SYSTEM_ZLIB=$(MOZ_SYSTEM_ZLIB) \
-DMOZ_SYSTEM_PNG=$(MOZ_SYSTEM_PNG) \
-DMOZ_SYSTEM_JPEG=$(MOZ_SYSTEM_JPEG) \
-DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \
-DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \
diff --git a/config/system-headers b/config/system-headers
--- a/config/system-headers
+++ b/config/system-headers
@@ -1260,16 +1260,20 @@ zlib.h
#ifdef MOZ_ENABLE_STARTUP_NOTIFICATION
libsn/sn.h
libsn/sn-common.h
libsn/sn-launchee.h
libsn/sn-launcher.h
libsn/sn-monitor.h
libsn/sn-util.h
#endif
+#if MOZ_SYSTEM_GRAPHITE2==1
+graphite2/Font.h
+graphite2/Segment.h
+#endif
#if MOZ_SYSTEM_HARFBUZZ==1
harfbuzz/hb-glib.h
harfbuzz/hb-ot.h
harfbuzz/hb.h
#endif
#if MOZ_SYSTEM_HUNSPELL==1
hunspell.hxx
#endif
diff --git a/gfx/graphite2/moz-gr-update.sh b/gfx/graphite2/moz-gr-update.sh
--- a/gfx/graphite2/moz-gr-update.sh
+++ b/gfx/graphite2/moz-gr-update.sh
@@ -1,11 +1,12 @@
#!/bin/bash
# Script used to update the Graphite2 library in the mozilla source tree
+# and bump version for --with-system-graphite2
# This script lives in gfx/graphite2, along with the library source,
# but must be run from the top level of the mozilla-central tree.
# Run as
#
# ./gfx/graphite2/moz-gr-update.sh RELEASE
#
@@ -32,22 +33,26 @@ echo "This directory contains the Graphi
echo "$TARBALL" >> gfx/graphite2/README.mozilla
echo ""
echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla
# fix up includes because of bug 721839 (cstdio) and bug 803066 (Windows.h)
#find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
#find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
+# chase version for --with-system-graphite2
+perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \
+ if /GR2_VERSION_REQUIRE/" old-configure.in
+
# summarize what's been touched
echo Updated to $RELEASE.
echo Here is what changed in the gfx/graphite2 directory:
echo
-hg stat gfx/graphite2
+hg stat old-configure.in gfx/graphite2
echo
echo If gfx/graphite2/src/files.mk has changed, please make corresponding
echo changes to gfx/graphite2/src/moz.build
echo
echo
echo Now use hg commands to create a patch for the mozilla tree.
diff --git a/gfx/moz.build b/gfx/moz.build
--- a/gfx/moz.build
+++ b/gfx/moz.build
@@ -2,28 +2,30 @@
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
if CONFIG['MOZ_TREE_CAIRO']:
DIRS += ['cairo']
+if not CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ DIRS += ['graphite2/src' ]
+
if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
DIRS += ['harfbuzz/src']
DIRS += [
'2d',
'ycbcr',
'angle',
'src',
'qcms',
'gl',
'layers',
- 'graphite2/src',
'ots/src',
'thebes',
'ipc',
'vr',
'config',
]
if CONFIG['MOZ_ENABLE_SKIA']:
diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
--- a/gfx/thebes/moz.build
+++ b/gfx/thebes/moz.build
@@ -261,16 +261,19 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('and
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
LOCAL_INCLUDES += ['/media/libyuv/include']
-DEFINES['GRAPHITE2_STATIC'] = True
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
+else:
+ DEFINES['GRAPHITE2_STATIC'] = True
if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
if CONFIG['CLANG_CXX']:
# Suppress warnings from Skia header files.
SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough']
diff --git a/moz.configure b/moz.configure
--- a/moz.configure
+++ b/moz.configure
@@ -260,16 +260,28 @@ def extra_programs(target):
check_prog('DSYMUTIL', delayed_getattr(extra_programs, 'DSYMUTIL'),
allow_missing=True)
check_prog('GENISOIMAGE', delayed_getattr(extra_programs, 'GENISOIMAGE'),
allow_missing=True)
check_prog('RPMBUILD', delayed_getattr(extra_programs, 'RPMBUILD'),
allow_missing=True)
+option('--with-system-graphite2',
+ help="Use system graphite2 (located with pkgconfig)")
+
+@depends('--with-system-graphite2', compile_environment)
+def check_for_graphite2(value, compile_env):
+ return value and compile_env
+
+system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2',
+ check_for_graphite2)
+
+set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True))
+
option('--with-system-harfbuzz',
help="Use system harfbuzz (located with pkgconfig)")
@depends('--with-system-harfbuzz', compile_environment)
def check_for_harfbuzz(value, compile_env):
return value and compile_env
system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.3.3',
diff --git a/old-configure.in b/old-configure.in
--- a/old-configure.in
+++ b/old-configure.in
@@ -5060,16 +5060,37 @@ if test "$USE_FC_FREETYPE"; then
CPPFLAGS="$CPPFLAGS $FT2_CFLAGS $XCFLAGS"
MOZ_CHECK_HEADERS([fontconfig/fcfreetype.h], ,
[AC_MSG_ERROR(Can't find header fontconfig/fcfreetype.h.)], [#include <fontconfig/fontconfig.h>])
CPPFLAGS="$_SAVE_CPPFLAGS"
fi
fi
dnl ========================================================
+dnl Check for graphite2
+dnl ========================================================
+if test -n "$MOZ_SYSTEM_GRAPHITE2"; then
+ dnl graphite2.pc has bogus version, check manually
+ _SAVE_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS"
+ AC_TRY_COMPILE([ #include <graphite2/Font.h>
+ #define GR2_VERSION_REQUIRE(major,minor,bugfix) \
+ ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \
+ * 100 + GR2_VERSION_BUGFIX >= \
+ (major) * 10000 + (minor) * 100 + (bugfix) )
+ ], [
+ #if !GR2_VERSION_REQUIRE(1,3,8)
+ #error "Insufficient graphite2 version."
+ #endif
+ ], [],
+ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
+ CFLAGS=$_SAVE_CFLAGS
+fi
+
+dnl ========================================================
dnl Check for pixman and cairo
dnl ========================================================
MOZ_TREE_CAIRO=1
MOZ_ARG_ENABLE_BOOL(system-cairo,
[ --enable-system-cairo Use system cairo (located with pkgconfig)],
MOZ_TREE_CAIRO=,
MOZ_TREE_CAIRO=1 )
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
@@ -221,16 +221,19 @@ if CONFIG['SERVO_TARGET_DIR']:
OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
if CONFIG['MOZ_SYSTEM_JPEG']:
OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
if CONFIG['MOZ_SYSTEM_PNG']:
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
+
if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']

View File

@ -1,279 +0,0 @@
Copied from <https://reviewboard.mozilla.org/r/35763/diff/9>
See <https://bugzilla.mozilla.org/show_bug.cgi?id=847568>
diff --git a/config/Makefile.in b/config/Makefile.in
--- a/config/Makefile.in
+++ b/config/Makefile.in
@@ -36,16 +36,17 @@ ifdef WRAP_SYSTEM_INCLUDES
export-preqs = \
$(call mkdir_deps,system_wrappers) \
$(NULL)
export:: $(export-preqs)
$(PYTHON) -m mozbuild.action.preprocessor $(DEFINES) $(ACDEFINES) \
-DMOZ_TREE_CAIRO=$(MOZ_TREE_CAIRO) \
-DMOZ_TREE_PIXMAN=$(MOZ_TREE_PIXMAN) \
+ -DMOZ_SYSTEM_HARFBUZZ=$(MOZ_SYSTEM_HARFBUZZ) \
-DMOZ_SYSTEM_HUNSPELL=$(MOZ_SYSTEM_HUNSPELL) \
-DMOZ_SYSTEM_BZ2=$(MOZ_SYSTEM_BZ2) \
-DMOZ_SYSTEM_ZLIB=$(MOZ_SYSTEM_ZLIB) \
-DMOZ_SYSTEM_PNG=$(MOZ_SYSTEM_PNG) \
-DMOZ_SYSTEM_JPEG=$(MOZ_SYSTEM_JPEG) \
-DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \
-DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \
-DMOZ_SYSTEM_ICU=$(MOZ_SYSTEM_ICU) \
diff --git a/config/system-headers b/config/system-headers
--- a/config/system-headers
+++ b/config/system-headers
@@ -1260,16 +1260,21 @@ zlib.h
#ifdef MOZ_ENABLE_STARTUP_NOTIFICATION
libsn/sn.h
libsn/sn-common.h
libsn/sn-launchee.h
libsn/sn-launcher.h
libsn/sn-monitor.h
libsn/sn-util.h
#endif
+#if MOZ_SYSTEM_HARFBUZZ==1
+harfbuzz/hb-glib.h
+harfbuzz/hb-ot.h
+harfbuzz/hb.h
+#endif
#if MOZ_SYSTEM_HUNSPELL==1
hunspell.hxx
#endif
#if MOZ_SYSTEM_BZ2==1
bzlib.h
#endif
#ifdef MOZ_ENABLE_GIO
gio/gio.h
diff --git a/dom/base/moz.build b/dom/base/moz.build
--- a/dom/base/moz.build
+++ b/dom/base/moz.build
@@ -474,16 +474,19 @@ for var in ('MOZ_B2G_RIL'):
DEFINES[var] = True
if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']:
DEFINES['HAVE_SIDEBAR'] = True
if CONFIG['MOZ_X11']:
CXXFLAGS += CONFIG['TK_CFLAGS']
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
GENERATED_FILES += [
'PropertyUseCounterMap.inc',
'UseCounterList.h',
]
countermap = GENERATED_FILES['PropertyUseCounterMap.inc']
countermap.script = 'gen-usecounters.py:property_map'
countermap.inputs = ['UseCounters.conf']
diff --git a/gfx/harfbuzz/README-mozilla b/gfx/harfbuzz/README-mozilla
--- a/gfx/harfbuzz/README-mozilla
+++ b/gfx/harfbuzz/README-mozilla
@@ -14,8 +14,13 @@ this file when updating harfbuzz, and ch
The normal approach to updating harfbuzz, therefore, is to pull the latest HB
source into a scratch directory and do a local build; then copy the original
sources AND the generated header mentioned above from the build directory into
the mozilla tree.
If the collection of source files changes, manual updates to moz.build may be
needed, as we don't use the upstream makefiles.
+
+The in-tree copy may be omitted during build by --with-system-harfbuzz.
+Make sure to keep pkg-config version check within old-configure.in in sync
+with checkout version or increment latest tag by one if it's not based
+on upstream release.
diff --git a/gfx/moz.build b/gfx/moz.build
--- a/gfx/moz.build
+++ b/gfx/moz.build
@@ -2,26 +2,28 @@
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
if CONFIG['MOZ_TREE_CAIRO']:
DIRS += ['cairo']
+if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ DIRS += ['harfbuzz/src']
+
DIRS += [
'2d',
'ycbcr',
'angle',
'src',
'qcms',
'gl',
'layers',
'graphite2/src',
- 'harfbuzz/src',
'ots/src',
'thebes',
'ipc',
'vr',
'config',
]
if CONFIG['MOZ_ENABLE_SKIA']:
diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py
--- a/gfx/skia/generate_mozbuild.py
+++ b/gfx/skia/generate_mozbuild.py
@@ -138,16 +138,19 @@ if CONFIG['GNU_CXX'] and not CONFIG['CLA
if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
CXXFLAGS += [
'-Wno-implicit-fallthrough',
'-Wno-inconsistent-missing-override',
'-Wno-macro-redefined',
'-Wno-unused-private-field',
]
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
"""
diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build
--- a/gfx/skia/moz.build
+++ b/gfx/skia/moz.build
@@ -748,14 +748,17 @@ if CONFIG['GNU_CXX'] and not CONFIG['CLA
if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
CXXFLAGS += [
'-Wno-implicit-fallthrough',
'-Wno-inconsistent-missing-override',
'-Wno-macro-redefined',
'-Wno-unused-private-field',
]
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
--- a/gfx/thebes/moz.build
+++ b/gfx/thebes/moz.build
@@ -263,11 +263,14 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('and
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
LOCAL_INCLUDES += ['/media/libyuv/include']
DEFINES['GRAPHITE2_STATIC'] = True
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
if CONFIG['CLANG_CXX']:
# Suppress warnings from Skia header files.
SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough']
diff --git a/intl/unicharutil/util/moz.build b/intl/unicharutil/util/moz.build
--- a/intl/unicharutil/util/moz.build
+++ b/intl/unicharutil/util/moz.build
@@ -37,9 +37,12 @@ if CONFIG['_MSC_VER']:
DEFINES['_USE_ANSI_CPP'] = True
# Don't include directives about which CRT to use
CFLAGS += ['-Zl']
CXXFLAGS += ['-Zl']
if CONFIG['ENABLE_INTL_API']:
USE_LIBS += ['icu']
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
DIST_INSTALL = True
diff --git a/moz.configure b/moz.configure
--- a/moz.configure
+++ b/moz.configure
@@ -260,16 +260,28 @@ def extra_programs(target):
check_prog('DSYMUTIL', delayed_getattr(extra_programs, 'DSYMUTIL'),
allow_missing=True)
check_prog('GENISOIMAGE', delayed_getattr(extra_programs, 'GENISOIMAGE'),
allow_missing=True)
check_prog('RPMBUILD', delayed_getattr(extra_programs, 'RPMBUILD'),
allow_missing=True)
+option('--with-system-harfbuzz',
+ help="Use system harfbuzz (located with pkgconfig)")
+
+@depends('--with-system-harfbuzz', compile_environment)
+def check_for_harfbuzz(value, compile_env):
+ return value and compile_env
+
+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.3.3',
+ check_for_harfbuzz)
+
+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
+
option('--enable-system-hunspell',
help="Use system hunspell (located with pkgconfig)")
@depends('--enable-system-hunspell', compile_environment)
def check_for_hunspell(value, compile_env):
return value and compile_env
system_hunspell = pkg_check_modules('MOZ_HUNSPELL', 'hunspell',
diff --git a/netwerk/dns/moz.build b/netwerk/dns/moz.build
--- a/netwerk/dns/moz.build
+++ b/netwerk/dns/moz.build
@@ -61,16 +61,19 @@ etld_data = GENERATED_FILES['etld_data.i
etld_data.script = 'prepare_tlds.py'
etld_data.inputs = ['effective_tld_names.dat']
# need to include etld_data.inc
LOCAL_INCLUDES += [
'/netwerk/base',
]
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
if CONFIG['ENABLE_INTL_API']:
DEFINES['IDNA2008'] = True
USE_LIBS += ['icu']
else:
UNIFIED_SOURCES += [
'nameprep.c',
]
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
@@ -221,16 +221,19 @@ if CONFIG['SERVO_TARGET_DIR']:
OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
if CONFIG['MOZ_SYSTEM_JPEG']:
OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
if CONFIG['MOZ_SYSTEM_PNG']:
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
+
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
if CONFIG['MOZ_SYSTEM_LIBVPX']:
OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']

View File

@ -0,0 +1,381 @@
Support building with system media libraries.
See <https://bugzilla.mozilla.org/show_bug.cgi?id=517422>
Based on:
https://svnweb.freebsd.org/ports/head/www/firefox-esr/files/patch-z-bug517422?revision=472833&view=markup
Changes to files within the bundled libraries are omitted, since those files
are removed from Guix sources. Modified for use with patch -p1, and to apply
cleanly to GNU IceCat.
--- icecat-60.2.0/build/moz.configure/old.configure
+++ icecat-60.2.0/build/moz.configure/old.configure
@@ -273,7 +273,12 @@
'--with-system-libvpx',
'--with-system-nspr',
'--with-system-nss',
+ '--with-system-ogg',
'--with-system-png',
+ '--with-system-soundtouch',
+ '--with-system-theora',
+ '--with-system-tremor',
+ '--with-system-vorbis',
'--with-system-zlib',
'--with-thumb',
'--with-thumb-interwork',
--- icecat-60.2.0/config/external/moz.build
+++ icecat-60.2.0/config/external/moz.build
@@ -23,12 +23,21 @@
external_dirs += ['modules/xz-embedded']
-if CONFIG['MOZ_VORBIS']:
+if not CONFIG['MOZ_SYSTEM_OGG']:
+ external_dirs += ['media/libogg']
+
+if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']:
external_dirs += ['media/libvorbis']
-if CONFIG['MOZ_TREMOR']:
+if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']:
external_dirs += ['media/libtremor']
+if not CONFIG['MOZ_SYSTEM_THEORA']:
+ external_dirs += ['media/libtheora']
+
+if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
+ external_dirs += ['media/libsoundtouch']
+
if CONFIG['MOZ_WEBM_ENCODER']:
external_dirs += ['media/libmkv']
@@ -51,11 +60,8 @@
'media/kiss_fft',
'media/libcubeb',
'media/libnestegg',
- 'media/libogg',
'media/libopus',
- 'media/libtheora',
'media/libspeex_resampler',
- 'media/libsoundtouch',
'media/mp4parse-rust',
'media/psshparser'
]
--- icecat-60.2.0/config/system-headers.mozbuild
+++ icecat-60.2.0/config/system-headers.mozbuild
@@ -1324,6 +1324,28 @@
'harfbuzz/hb.h',
]
+if CONFIG['MOZ_SYSTEM_OGG']:
+ system_headers += [
+ 'ogg/ogg.h',
+ 'ogg/os_types.h',
+ ]
+
+if CONFIG['MOZ_SYSTEM_THEORA']:
+ system_headers += [
+ 'theora/theoradec.h',
+ ]
+
+if CONFIG['MOZ_SYSTEM_VORBIS']:
+ system_headers += [
+ 'vorbis/codec.h',
+ 'vorbis/vorbisenc.h',
+ ]
+
+if CONFIG['MOZ_SYSTEM_TREMOR']:
+ system_headers += [
+ 'tremor/ivorbiscodec.h',
+ ]
+
if CONFIG['MOZ_SYSTEM_LIBVPX']:
system_headers += [
'vpx_mem/vpx_mem.h',
--- icecat-60.2.0/dom/media/AudioStream.cpp
+++ icecat-60.2.0/dom/media/AudioStream.cpp
@@ -121,7 +121,9 @@
: mMonitor("AudioStream")
, mChannels(0)
, mOutChannels(0)
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
, mTimeStretcher(nullptr)
+#endif
, mDumpFile(nullptr)
, mState(INITIALIZED)
, mDataSource(aSource)
@@ -142,9 +144,11 @@
if (mDumpFile) {
fclose(mDumpFile);
}
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
if (mTimeStretcher) {
soundtouch::destroySoundTouchObj(mTimeStretcher);
}
+#endif
#if defined(XP_WIN)
if (XRE_IsContentProcess()) {
audio::AudioNotificationReceiver::Unregister(this);
@@ -168,7 +172,11 @@
{
mMonitor.AssertCurrentThreadOwns();
if (!mTimeStretcher) {
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
+ mTimeStretcher = new soundtouch::SoundTouch();
+#else
mTimeStretcher = soundtouch::createSoundTouchObj();
+#endif
mTimeStretcher->setSampleRate(mAudioClock.GetInputRate());
mTimeStretcher->setChannels(mOutChannels);
mTimeStretcher->setPitch(1.0);
--- icecat-60.2.0/dom/media/AudioStream.h
+++ icecat-60.2.0/dom/media/AudioStream.h
@@ -15,7 +15,11 @@
#include "mozilla/TimeStamp.h"
#include "mozilla/UniquePtr.h"
#include "CubebUtils.h"
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
+#include "soundtouch/SoundTouch.h"
+#else
#include "soundtouch/SoundTouchFactory.h"
+#endif
#if defined(XP_WIN)
#include "mozilla/audio/AudioNotificationReceiver.h"
@@ -297,7 +301,11 @@
uint32_t mChannels;
uint32_t mOutChannels;
AudioClock mAudioClock;
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
+ nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher;
+#else
soundtouch::SoundTouch* mTimeStretcher;
+#endif
// Output file for dumping audio
FILE* mDumpFile;
--- icecat-60.2.0/dom/media/moz.build
+++ icecat-60.2.0/dom/media/moz.build
@@ -327,6 +327,21 @@
DEFINES['MOZILLA_INTERNAL_API'] = True
+if CONFIG['MOZ_SYSTEM_OGG']:
+ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS']
+
+if CONFIG['MOZ_SYSTEM_THEORA']:
+ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS']
+
+if CONFIG['MOZ_SYSTEM_VORBIS']:
+ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS']
+
+if CONFIG['MOZ_SYSTEM_TREMOR']:
+ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS']
+
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
+ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS']
+
if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True
--- icecat-60.2.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
+++ icecat-60.2.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
@@ -15,9 +15,13 @@
#include <windows.h>
#endif
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
+#include "nsXPCOMPrivate.h" // for XUL_DLL
+#else
// We use a known symbol located in lgpllibs to determine its location.
// soundtouch happens to be always included in lgpllibs
#include "soundtouch/SoundTouch.h"
+#endif
namespace mozilla {
@@ -64,6 +68,12 @@
sLinkStatus = LinkStatus_FAILED;
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
+ // We retrieve the path of the XUL library as this is where mozavcodec and
+ // mozavutil libs are located.
+ char* path =
+ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init);
+#else
// We retrieve the path of the lgpllibs library as this is where mozavcodec
// and mozavutil libs are located.
PathString lgpllibsname = GetLibraryName(nullptr, "lgpllibs");
@@ -73,6 +83,7 @@
PathString path =
GetLibraryFilePathname(lgpllibsname.get(),
(PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
+#endif
if (path.IsEmpty()) {
return false;
}
--- icecat-60.2.0/old-configure.in
+++ icecat-60.2.0/old-configure.in
@@ -2451,6 +2451,111 @@
fi
fi # COMPILE_ENVIRONMENT
+dnl ========================================================
+dnl Check for libogg
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-ogg,
+[ --with-system-ogg Use system libogg (located with pkgconfig)],
+MOZ_SYSTEM_OGG=1,
+MOZ_SYSTEM_OGG=)
+
+if test -n "$MOZ_SYSTEM_OGG"; then
+ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.3)
+
+ _SAVE_LIBS=$LIBS
+ LIBS="$LIBS $MOZ_OGG_LIBS"
+ AC_CHECK_FUNC(ogg_set_mem_functions, [],
+ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
+ LIBS=$_SAVE_LIBS
+fi
+
+AC_SUBST(MOZ_SYSTEM_OGG)
+
+dnl ========================================================
+dnl Check for libvorbis
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-vorbis,
+[ --with-system-vorbis Use system libvorbis (located with pkgconfig)],
+MOZ_SYSTEM_VORBIS=1,
+MOZ_SYSTEM_VORBIS=)
+
+if test -n "$MOZ_SYSTEM_VORBIS"; then
+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.6)
+fi
+
+AC_SUBST(MOZ_SYSTEM_VORBIS)
+
+dnl ========================================================
+dnl Check for integer-only libvorbis aka tremor
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-tremor,
+[ --with-system-tremor Use system libtremor (located with pkgconfig)],
+MOZ_SYSTEM_TREMOR=1,
+MOZ_SYSTEM_TREMOR=)
+
+if test -n "$MOZ_SYSTEM_TREMOR"; then
+ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
+fi
+
+AC_SUBST(MOZ_SYSTEM_TREMOR)
+
+dnl ========================================================
+dnl Check for libtheora
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-theora,
+[ --with-system-theora Use system libtheora (located with pkgconfig)],
+MOZ_SYSTEM_THEORA=1,
+MOZ_SYSTEM_THEORA=)
+
+if test -n "$MOZ_SYSTEM_THEORA"; then
+ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
+fi
+
+AC_SUBST(MOZ_SYSTEM_THEORA)
+
+dnl ========================================================
+dnl Check for libSoundTouch
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-soundtouch,
+[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)],
+MOZ_SYSTEM_SOUNDTOUCH=1,
+MOZ_SYSTEM_SOUNDTOUCH=)
+
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0)
+
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ _SAVE_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
+ AC_CACHE_CHECK(for soundtouch sample type,
+ ac_cv_soundtouch_sample_type,
+ [AC_TRY_COMPILE([#include <SoundTouch.h>
+ #ifndef SOUNDTOUCH_INTEGER_SAMPLES
+ #error soundtouch expects float samples
+ #endif],
+ [],
+ [ac_cv_soundtouch_sample_type=short],
+ [ac_cv_soundtouch_sample_type=float])])
+ CXXFLAGS=$_SAVE_CXXFLAGS
+ AC_LANG_RESTORE
+
+ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
+ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
+ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
+ fi
+fi
+
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
+ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH)
+fi
+AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH)
+
dnl system libvpx Support
dnl ========================================================
MOZ_ARG_WITH_BOOL(system-libvpx,
--- icecat-60.2.0/toolkit/library/moz.build
+++ icecat-60.2.0/toolkit/library/moz.build
@@ -244,6 +244,21 @@
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
+if CONFIG['MOZ_SYSTEM_OGG']:
+ OS_LIBS += CONFIG['MOZ_OGG_LIBS']
+
+if CONFIG['MOZ_SYSTEM_THEORA']:
+ OS_LIBS += CONFIG['MOZ_THEORA_LIBS']
+
+if CONFIG['MOZ_SYSTEM_VORBIS']:
+ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS']
+
+if CONFIG['MOZ_SYSTEM_TREMOR']:
+ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS']
+
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
+ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS']
+
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
--- icecat-60.2.0/xpcom/build/XPCOMInit.cpp
+++ icecat-60.2.0/xpcom/build/XPCOMInit.cpp
@@ -138,7 +138,9 @@
#include "mozilla/ipc/GeckoChildProcessHost.h"
+#ifndef MOZ_OGG_NO_MEM_REPORTING
#include "ogg/ogg.h"
+#endif
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
#if defined(HAVE_STDINT_H)
// mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in
@@ -639,11 +641,13 @@
// this oddness.
mozilla::SetICUMemoryFunctions();
+#ifndef MOZ_OGG_NO_MEM_REPORTING
// Do the same for libogg.
ogg_set_mem_functions(OggReporter::CountingMalloc,
OggReporter::CountingCalloc,
OggReporter::CountingRealloc,
OggReporter::CountingFree);
+#endif
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
// And for VPX.

View File

@ -0,0 +1,45 @@
From: Jean Delvare <jdelvare@suse.de>
Subject: compat/getopt: Allow non-digit parameter embedded in short option
The compatibility getopt script allows only digit parameters to be
embedded in short options. Util-linux's getopt implementation does
not have such a restriction and allows any parameter to be embedded
in short options. As a consequence, using the compatibility getopt
script would choke for example on "-pab", which is a legal option
of the "quilt refresh" command.
Remove the limitation on digits so that the compatibility getopt
script allows what util-linux allows. This fixes the second half
of bug #54772:
https://savannah.nongnu.org/bugs/index.php?54772
As a side note, this feature of the compatibility script was broken
anyway, as it would output the digits in reverse order.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
---
compat/getopt.in | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
--- quilt.orig/compat/getopt.in 2018-10-03 16:05:56.818667040 +0200
+++ quilt/compat/getopt.in 2018-10-03 16:12:17.624841732 +0200
@@ -108,15 +108,10 @@ foreach my $word (@words) {
if (scalar(@letters) == 0) {
$need_param = $letter;
} else {
- # short options can have numerical args
- # embedded in the short option list: -UO
- die "unexpected character after option $letter"
- if ($letters[$#letters] !~ /[0-9]/);
- my @digits;
- while (scalar(@letters) && ($letters[$#letters] =~ /[0-9]/)) {
- push @digits, pop @letters;
- }
- push @options, quote_word(join('', reverse @digits));
+ # short options can have args
+ # embedded in the short option list
+ push @options, quote_word(join('', reverse @letters));
+ @letters = ();
}
}
}

View File

@ -0,0 +1,58 @@
From: Jean Delvare <jdelvare@suse.de>
Subject: compat/getopt: Handle a second separator
getopt can be passed 2 '--' separators. The first one tells that
getopt options are over and target program options start. The second
one tells that the target program's options are over and following
arguments should be treated as non-options even if they look like
options.
This second separator was not handled, causing the compatibility
getopt script to treat the following arguments as options, eventually
failing one way or another.
Properly detect and handle the second separator. This fixes the first
half of bug #54772:
https://savannah.nongnu.org/bugs/index.php?54772
Signed-off-by: Jean Delvare <jdelvare@suse.de>
---
compat/getopt.in | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
--- quilt.orig/compat/getopt.in 2018-10-03 15:23:21.147620172 +0200
+++ quilt/compat/getopt.in 2018-10-03 16:05:56.818667040 +0200
@@ -8,12 +8,12 @@
use strict;
-my $opts;
+my $opts = '';
my @words;
my $found_sep = 0;
foreach my $arg (@ARGV) {
- if ($arg eq '--') {
+ if (!$found_sep && $arg eq '--') {
$found_sep = 1;
}
else {
@@ -62,10 +62,17 @@ sub quote_word
return "'$word'";
}
+# there can be a second separator, to inhibit processing following arguments
+# as options
+$found_sep = 0;
foreach my $word (@words) {
+ if ($word eq '--') {
+ $found_sep = 1;
+ next;
+ }
# allow '-' to be an option value
- if (!$need_param && $word !~ /^-./) {
+ if ($found_sep || (!$need_param && $word !~ /^-./)) {
push @barewords, quote_word($word);
next;
}

View File

@ -0,0 +1,41 @@
From 5193b137b5a9034ce79946edd40760df2f63a82a Mon Sep 17 00:00:00 2001
From: Jean Delvare <jdelvare@suse.de>
Date: Tue, 25 Apr 2017 15:17:53 +0200
Subject: test: Escape curly braces in regex
Curly braces in perl regex are supposed to be escaped, recent
versions of perl complain when they aren't:
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (\w+)}/ at ./run line 114.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE \?}/ at ./run line 290.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
---
test/run | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/run b/test/run
index 942014e..03afc7a 100755
--- a/test/run
+++ b/test/run
@@ -112,7 +112,7 @@ sub flush_output()
sub substitute_vars($)
{
my ($line) = @_;
- $line =~ s[%{(\w+)}][defined $ENV{$1} ? $ENV{$1} : ""]eg;
+ $line =~ s[%\{(\w+)\}][defined $ENV{$1} ? $ENV{$1} : ""]eg;
return $line;
}
@@ -288,7 +288,7 @@ while (defined(my $line = <SOURCE>)) {
# Parse the next command
if ($line =~ s/^\s*\$ ?//) {
# Substitute %{?} with the last command's status
- $line =~ s[%{\?}][$last_status]eg;
+ $line =~ s[%\{\?\}][$last_status]eg;
chomp($prog = substitute_vars($line));
$prog_line = $lineno;
--
cgit v1.0-41-gc330

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
@ -31,11 +31,13 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages file)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages less)
#:use-module (gnu packages mail)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xml))
(define-public patchutils
@ -92,7 +94,7 @@ listing the files modified by a patch.")
(define-public quilt
(package
(name "quilt")
(version "0.61")
(version "0.65")
(source
(origin
(method url-fetch)
@ -100,12 +102,18 @@ listing the files modified by a patch.")
name "-" version ".tar.gz"))
(sha256
(base32
"1hwz58djkq9cv46sjwxbp2v5m8yjr41kd0nm1zm1xm6418khmv0y"))))
"06b816m2gz9jfif7k9v2hrm7fz76zjg5pavf7hd3ifybwn4cgjzn"))
(patches (search-patches "quilt-test-fix-regex.patch"
"quilt-compat-getopt-fix-second-separator.patch"
"quilt-compat-getopt-fix-option-with-nondigit-param.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("gettext" ,gnu-gettext)))
(inputs `(("perl" ,perl)
("less" ,less)
("file" ,file)
("ed" ,ed)))
("ed" ,ed)
("diffstat" ,diffstat)))
(arguments
'(#:parallel-tests? #f
#:phases
@ -116,8 +124,6 @@ listing the files modified by a patch.")
'("test/run"
"test/edit.test")
(("/bin/sh") (which "sh")))
;; TODO: Run the mail tests once the mail feature can be supported.
(delete-file "test/mail.test")
#t))
(add-after 'install 'wrap-program
;; quilt's configure checks for the absolute path to the utilities it
@ -128,6 +134,7 @@ listing the files modified by a patch.")
(coreutils (assoc-ref inputs "coreutils"))
(diffutils (assoc-ref inputs "diffutils"))
(findutils (assoc-ref inputs "findutils"))
(diffstat (assoc-ref inputs "diffstat"))
(less (assoc-ref inputs "less"))
(file (assoc-ref inputs "file"))
(ed (assoc-ref inputs "ed"))
@ -139,7 +146,8 @@ listing the files modified by a patch.")
,(map (lambda (dir)
(string-append dir "/bin"))
(list coreutils diffutils findutils
less file ed sed bash grep)))))
less file ed sed bash grep
diffstat)))))
#t)))))
(home-page "https://savannah.nongnu.org/projects/quilt/")
(synopsis "Script for managing patches to software")

View File

@ -10391,7 +10391,7 @@ theme for the Sphinx documentation system. It's the default theme of Sphinx.")
(setenv "CC" "gcc")
;; No need to extend PYTHONPATH to find the built package, since
;; the Makefile will build anyway
(zero? (system* "make" "check")))))))
(invoke "make" "check"))))))
(native-inputs
`(("procps" ,procps))) ; required for tests
(home-page

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -25,7 +26,7 @@
(define-public re2c
(package
(name "re2c")
(version "1.0.3")
(version "1.1.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/skvadrik/" name
@ -33,7 +34,7 @@
name "-" version ".tar.gz"))
(sha256
(base32
"0lnbj15hhgi3r40ipskmg178m18d8n5nph78sci6lprk7zgf0mng"))))
"1ksifjn18v6nra935dpqllmvkqgcdsggfjgmj77282x0gqrrfrc5"))))
(build-system gnu-build-system)
(home-page "http://re2c.org/")
(synopsis "Lexer generator for C/C++")

View File

@ -33,6 +33,7 @@
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system haskell)
#:use-module (guix build-system trivial)
#:use-module (gnu packages audio)
#:use-module (gnu packages fcitx)
@ -40,6 +41,7 @@
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages guile)
#:use-module (gnu packages haskell)
#:use-module (gnu packages ibus)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
@ -520,3 +522,93 @@ sound and device input (keyboards, joysticks, mice, etc.).")
The bindings are written in pure Scheme using Guile's foreign function
interface.")
(license lgpl3+)))
(define-public ghc-sdl2
(package
(name "ghc-sdl2")
(version "2.4.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"sdl2/sdl2-" version ".tar.gz"))
(sha256
(base32
"0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
(build-system haskell-build-system)
(arguments '(#:tests? #f)) ; tests require graphical environment
(inputs
`(("ghc-exceptions" ,ghc-exceptions)
("ghc-linear" ,ghc-linear)
("ghc-statevar" ,ghc-statevar)
("ghc-text" ,ghc-text)
("ghc-vector" ,ghc-vector)
("sdl2" ,sdl2)))
(native-inputs
`(("ghc-weigh" ,ghc-weigh)
("pkg-config" ,pkg-config)))
(home-page "http://hackage.haskell.org/package/sdl2")
(synopsis "High- and low-level bindings to the SDL library")
(description
"This package contains bindings to the SDL 2 library, in both high- and
low-level forms. The @code{SDL} namespace contains high-level bindings, where
enumerations are split into sum types, and we perform automatic
error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
translation of the C API into Haskell FFI calls. As such, this does not
contain sum types nor error checking. Thus this namespace is suitable for
building your own abstraction over SDL, but is not recommended for day-to-day
programming.")
(license bsd-3)))
(define-public ghc-sdl2-mixer
(package
(name "ghc-sdl2-mixer")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
"sdl2-mixer-" version ".tar.gz"))
(sha256
(base32
"1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
(build-system haskell-build-system)
(inputs
`(("ghc-data-default-class" ,ghc-data-default-class)
("ghc-lifted-base" ,ghc-lifted-base)
("ghc-monad-control" ,ghc-monad-control)
("ghc-sdl2" ,ghc-sdl2)
("ghc-vector" ,ghc-vector)
("sdl2-mixer" ,sdl2-mixer)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://hackage.haskell.org/package/sdl2-mixer")
(synopsis "Bindings to SDL2 mixer")
(description "This package provides Haskell bindings to
@code{SDL2_mixer}.")
(license bsd-3)))
(define-public ghc-sdl2-image
(package
(name "ghc-sdl2-image")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
"sdl2-image-" version ".tar.gz"))
(sha256
(base32
"1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
(build-system haskell-build-system)
(inputs
`(("ghc-sdl2" ,ghc-sdl2)
("ghc-text" ,ghc-text)
("sdl2-image" ,sdl2-image)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://hackage.haskell.org/package/sdl2-image")
(synopsis "Bindings to SDL2_image")
(description "This package provides Haskell bindings to
@code{SDL2_image}.")
(license expat)))

View File

@ -30,7 +30,7 @@
(define-public syncthing
(package
(name "syncthing")
(version "0.14.50")
(version "0.14.51")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/syncthing/syncthing"
@ -38,7 +38,7 @@
"/syncthing-source-v" version ".tar.gz"))
(sha256
(base32
"0yjj6zzivzw289bhwqjb4xcv8p39n5mcwwr5w6xf5ykzljc5pk55"))
"17phn8l2afhgzh0q9ambi28awj2m905sr1bicq2wc7ghypk5vgqh"))
(modules '((guix build utils)))
;; Delete bundled ("vendored") free software source code.
(snippet '(begin
@ -59,7 +59,7 @@
(add-before 'build 'increase-test-timeout
(lambda _
(substitute* "src/github.com/syncthing/syncthing/build.go"
(("60s") "999s"))
(("120s") "999s"))
#t))
(replace 'build
@ -138,6 +138,7 @@
("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
("go-github-com-rcrowley-go-metrics" ,go-github-com-rcrowley-go-metrics)
("go-github-com-sasha-s-go-deadlock" ,go-github-com-sasha-s-go-deadlock)
("go-github-com-syncthing-notify" ,go-github-com-syncthing-notify)
("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb)
("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture)
("go-github-com-vitrun-qart" ,(go-github-com-vitrun-qart-union))
@ -145,7 +146,7 @@
("go-golang-org-x-net-union" ,(go-golang-org-x-net-union))
("go-golang-org-x-text" ,(go-golang-org-x-text-union))
("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate)
("go-github-com-syncthing-notify" ,go-github-com-syncthing-notify)
("go-gopkg.in-ldap.v2" ,go-gopkg.in-ldap.v2)
;; For tests
("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff)))
(synopsis "Decentralized continuous file system synchronization")
@ -678,11 +679,11 @@ database in Go.")
(license bsd-2))))
(define-public go-github-com-thejerf-suture
(let ((commit "3f1fb62fe0a3cc6429122d7dc45588a8b59c5bb6")
(let ((commit "bf6ee6a0b047ebbe9ae07d847f750dd18c6a9276")
(revision "0"))
(package
(name "go-github-com-thejerf-suture")
(version (git-version "2.0.3" revision commit))
(version (git-version "3.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@ -691,7 +692,7 @@ database in Go.")
(file-name (git-file-name name version))
(sha256
(base32
"0mp7gz6bp6xhggkgmbl33vpmrq3a6n2dkgcxbkb7csnpv4r4d59k"))))
"0rzx9k408vaglwnnpgpcs6y7ff7p65915nbg33rvbaz13hxwkz3y"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/thejerf/suture"))
@ -1366,3 +1367,50 @@ Prometheus HTTP API.")
(description "This is a union of Go Prometheus libraries")
(home-page (package-home-page go-github-com-client-golang-prometheus))
(license (package-license go-github-com-client-golang-prometheus))))
(define-public go-gopkg.in-asn1-ber.v1
(package
(name "go-gopkg.in-asn1-ber.v1")
(version "1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gopkg.in/asn1-ber.v1")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1y8bvzbxpw0lfnn7pbcdwzqj4l90qj6xf88dvv9pxd9yl5g6cskx"))))
(build-system go-build-system)
(arguments
'(#:import-path "gopkg.in/asn1-ber.v1"))
(synopsis "ASN.1 BER encoding and decoding in Go")
(description "This package provides ASN.1 BER encoding and decoding in the
Go language.")
(home-page "https://gopkg.in/asn1-ber.v1")
(license expat)))
(define-public go-gopkg.in-ldap.v2
(package
(name "go-gopkg.in-ldap.v2")
(version "2.5.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gopkg.in/ldap.v2")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1wf81wy04nhkqs0dg5zkivr4sh37r83bxrfwjz9vr4jq6vmljr3h"))))
(build-system go-build-system)
(arguments
'(#:import-path "gopkg.in/ldap.v2"
#:tests? #f)) ; the test suite requires network access
(propagated-inputs
`(("go-gopkg.in-asn1-ber.v1" ,go-gopkg.in-asn1-ber.v1)))
(synopsis "LDAP v3 functionality for Go")
(description "This package provides basic LDAP v3 functionality in the Go
language.")
(home-page "https://gopkg.in/ldap.v2")
(license expat)))

View File

@ -35,7 +35,7 @@
(define-public newsboat
(package
(name "newsboat")
(version "2.12")
(version "2.13")
(source
(origin
(method url-fetch)
@ -43,7 +43,7 @@
"/newsboat-" version ".tar.xz"))
(sha256
(base32
"1x23zlgljaqf46v7sp8wnkyf6wighvirvn48ankpa34yr8mvrgcv"))))
"0pik1d98ydzqi6055vdbkjg5krwifbk2hy2f5jp5p1wcy2s16dn7"))))
(build-system gnu-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)

View File

@ -84,7 +84,7 @@ to DOS format and vice versa.")
(define-public recode
(package
(name "recode")
(version "3.7")
(version "3.7.1")
(source
(origin
(method url-fetch)
@ -92,7 +92,7 @@ to DOS format and vice versa.")
"download/v" version "/" name "-" version ".tar.gz"))
(sha256
(base32
"0r4yhf7i7zp2nl2apyzz7r3i2in12n385hmr8zcfr18ly0ly530q"))
"0215hfj0rhlh0grg91qfx75pp6z09bpv8211qdxqihniw7y9a4fs"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file "tests/Recode.c")

View File

@ -665,7 +665,7 @@ servers or clients for more complicated applications.")
(define-public perl-crypt-openssl-rsa
(package
(name "perl-crypt-openssl-rsa")
(version "0.30")
(version "0.31")
(source
(origin
(method url-fetch)
@ -675,7 +675,7 @@ servers or clients for more complicated applications.")
".tar.gz"))
(sha256
(base32
"1b19kaaw4wda8dy6kjiwqa2prpbs2dqcyjyj9zdh5wbs74qkbq93"))))
"0djl5i6kibl7862b6ih29q8dhg5zpwzq77q9j8hp6xngshx40ws1"))))
(build-system perl-build-system)
(native-inputs
`(("perl-crypt-openssl-guess" ,perl-crypt-openssl-guess)))
@ -826,7 +826,7 @@ then ported to the GNU / Linux environment.")
(define-public mbedtls-apache
(package
(name "mbedtls-apache")
(version "2.7.6")
(version "2.13.0")
(source
(origin
(method url-fetch)
@ -836,13 +836,14 @@ then ported to the GNU / Linux environment.")
version "-apache.tgz"))
(sha256
(base32
"0fl2nrxvlgx9ja7yy3kd1zadpr98fxbvn3f6fl2mj87gryhkfqlk"))))
"1nh6xfyxs3mnnpgc6pancvdhv6ihz9lhsxdlg90gqa8n5r6lwfsr"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list "-DUSE_SHARED_MBEDTLS_LIBRARY=ON")))
(native-inputs
`(("perl" ,perl)))
`(("perl" ,perl)
("python" ,python)))
(synopsis "Small TLS library")
(description
"@code{mbed TLS}, formerly known as PolarSSL, makes it trivially easy
@ -852,21 +853,38 @@ coding footprint.")
(home-page "https://tls.mbed.org")
(license license:asl2.0)))
;; The Hiawatha Web server requires some specific features to be enabled.
(define-public mbedtls-for-hiawatha
(hidden-package
(package
(inherit mbedtls-apache)
(arguments
(substitute-keyword-arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'configure 'configure-extra-features
(lambda _
(for-each (lambda (feature)
(invoke "scripts/config.pl" "set" feature))
(list "MBEDTLS_THREADING_C"
"MBEDTLS_THREADING_PTHREAD"))
#t)))
,@(package-arguments mbedtls-apache)))))))
(define-public ghc-tls
(package
(name "ghc-tls")
(version "1.3.8")
(version "1.4.1")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"tls/tls-" version ".tar.gz"))
(sha256
(base32
"1rdidf18i781c0vdvy9yn79yh08hmcacf6fp3sgghyiy3h0wyh5l"))))
"1y083724mym28n6xfaz7pcc7zqxdhjpaxpbvzxfbs25qq2px3smv"))))
(build-system haskell-build-system)
(inputs
`(("ghc-mtl" ,ghc-mtl)
("ghc-cereal" ,ghc-cereal)
`(("ghc-cereal" ,ghc-cereal)
("ghc-data-default-class" ,ghc-data-default-class)
("ghc-memory" ,ghc-memory)
("ghc-cryptonite" ,ghc-cryptonite)

View File

@ -8,7 +8,7 @@
;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2018 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -1031,12 +1031,48 @@ also walk each side of a merge and test those changes individually.")
((" perl -")
(string-append " " perl " -")))
(substitute* (find-files "src/triggers" ".*")
((" sed ")
(string-append " " (which "sed") " ")))
(substitute*
'("src/triggers/post-compile/update-gitweb-access-list"
"src/triggers/post-compile/ssh-authkeys-split"
"src/triggers/upstream")
((" grep ")
(string-append " " (which "grep") " ")))
;; Avoid references to the store in authorized_keys.
;; This works because gitolite-shell is in the PATH.
(substitute* "src/triggers/post-compile/ssh-authkeys"
(("\\$glshell \\$user")
"gitolite-shell $user"))
#t)))
(add-before 'install 'patch-source
(lambda* (#:key inputs #:allow-other-keys)
;; Gitolite uses cat to test the readability of the
;; pubkey
(substitute* "src/lib/Gitolite/Setup.pm"
(("\"cat ")
(string-append "\"" (which "cat") " "))
(("\"ssh-keygen")
(string-append "\"" (which "ssh-keygen"))))
(substitute* '("src/lib/Gitolite/Hooks/PostUpdate.pm"
"src/lib/Gitolite/Hooks/Update.pm")
(("/usr/bin/perl")
(string-append (assoc-ref inputs "perl")
"/bin/perl")))
(substitute* "src/lib/Gitolite/Common.pm"
(("\"ssh-keygen")
(string-append "\"" (which "ssh-keygen")))
(("\"logger\"")
(string-append "\""
(assoc-ref inputs "inetutils")
"/bin/logger\"")))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((output (assoc-ref outputs "out"))
@ -1050,9 +1086,24 @@ also walk each side of a merge and test those changes individually.")
(symlink (string-append sharedir "/" script)
(string-append bindir "/" script)))
'("gitolite" "gitolite-shell"))
#t)))
(add-after 'install 'wrap-scripts
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(coreutils (assoc-ref inputs "coreutils"))
(findutils (assoc-ref inputs "findutils"))
(git (assoc-ref inputs "git")))
(wrap-program (string-append out "/bin/gitolite")
`("PATH" ":" prefix
,(map (lambda (dir)
(string-append dir "/bin"))
(list out coreutils findutils git))))
#t))))))
(inputs
`(("perl" ,perl)))
`(("perl" ,perl)
("coreutils" ,coreutils)
("findutils" ,findutils)
("inetutils" ,inetutils)))
;; git and openssh are propagated because trying to patch the source via
;; regexp matching is too brittle and prone to false positives.
(propagated-inputs
@ -1844,7 +1895,6 @@ be served with a HTTP file server of your choice.")
("ghc-hashable" ,ghc-hashable)
("ghc-html" ,ghc-html)
("ghc-mmap" ,ghc-mmap)
("ghc-mtl" ,ghc-mtl)
("ghc-old-time" ,ghc-old-time)
("ghc-parsec" ,ghc-parsec)
("ghc-random" ,ghc-random)
@ -2053,7 +2103,7 @@ directory full of HOWTOs.")
(define-public git-annex
(package
(name "git-annex")
(version "6.20180807")
(version "6.20180926")
(source
(origin
(method url-fetch)
@ -2061,7 +2111,7 @@ directory full of HOWTOs.")
"git-annex/git-annex-" version ".tar.gz"))
(sha256
(base32
"1wkqh1y58m0z1mf2j33qhndpxcjwv8mbv384kdk17vn0lp9zas1s"))))
"1251rj8h63y30sfqk0zh670yhz14p256y59n3590pg015pf3575d"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags
@ -2137,7 +2187,6 @@ directory full of HOWTOs.")
("ghc-memory" ,ghc-memory)
("ghc-monad-control" ,ghc-monad-control)
("ghc-monad-logger" ,ghc-monad-logger)
("ghc-mtl" ,ghc-mtl)
("ghc-network" ,ghc-network)
("ghc-old-locale" ,ghc-old-locale)
("ghc-optparse-applicative" ,ghc-optparse-applicative)

View File

@ -1121,7 +1121,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(define-public mpv
(package
(name "mpv")
(version "0.29.0")
(version "0.29.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -1129,7 +1129,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
".tar.gz"))
(sha256
(base32
"06bk8836brzik1qmq8kycwg5n35r438sd2176k6msjg5rrwghakp"))
"08x63hlpj6s8xixmdbx6raff5p5mih7cnk0bcql9f3wrs5hx9ygr"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system waf-build-system)
(native-inputs
@ -1271,7 +1271,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl
(package
(name "youtube-dl")
(version "2018.09.08")
(version "2018.09.18")
(source (origin
(method url-fetch)
(uri (string-append "https://yt-dl.org/downloads/"
@ -1279,7 +1279,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz"))
(sha256
(base32
"0vwc4faqdddrb3nm4fzmkr60n5rc2zwyy8jwrrjad60kcp8isf05"))))
"0mlsdmddmyy3xaqy366k48xds14g17l81al3kglndjkbrrji63sb"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion

View File

@ -347,6 +347,16 @@ private network between hosts on the internet.")
(base32
"0pqk43kd7crqhg6qgnl8kapncwgw1xgaf02zarzypcw64kvdih9h"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-FHS-file-names
(lambda _
(substitute* "sshuttle/client.py"
(("/usr/bin/env") (which "env")))
(substitute* "sshuttle/ssh.py"
(("/bin/sh") "sh"))
#t)))))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)
;; For tests only.

View File

@ -124,14 +124,14 @@
(define-public httpd
(package
(name "httpd")
(version "2.4.34")
(version "2.4.35")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/httpd/httpd-"
version ".tar.bz2"))
(sha256
(base32
"1w1q2smdgf6ln0x741lk5pv5r0gzrxj2iza1vslhifzy65bcjlzs"))))
"0mlvwsm7hmpc7db6lfc2nx3v4cll3qljjxhjhgsw6aniskywc1r6"))))
(build-system gnu-build-system)
(native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config'
(inputs `(("apr" ,apr)
@ -1862,15 +1862,15 @@ MIME type directly to the browser, without being processed through Catalyst.")
(define-public perl-catalyst-runtime
(package
(name "perl-catalyst-runtime")
(version "5.90118")
(version "5.90119")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
(uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
"Catalyst-Runtime-" version ".tar.gz"))
(sha256
(base32
"0cws3szx3vvh0372qdx8fypgv6qphcc3v81rbq30sl1ghby7ksd3"))))
"1iw7x9rqk3sz2hm1bw01blz5vwm7zlljdf4xj3r8vz54f1yggzqr"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-fatal" ,perl-test-fatal)))
@ -5173,7 +5173,7 @@ functions of Tidy.")
(define-public hiawatha
(package
(name "hiawatha")
(version "10.7")
(version "10.8.3")
(source
(origin
(method url-fetch)
@ -5181,28 +5181,34 @@ functions of Tidy.")
"hiawatha-" version ".tar.gz"))
(modules '((guix build utils)))
(snippet '(begin
;; We use our packaged mbedtls, so delete the included copy.
(delete-file-recursively "mbedtls")
;; We use packaged libraries, so delete the bundled copies.
(for-each delete-file-recursively
(list "nghttp2" "mbedtls"))
#t))
(sha256
(base32
"0x2zfc8kc6c7rl4gwymwmg13w1c60biv6c6c9fvzpnl59bc9jgin"))))
"0w7047pwijhsbvvv1qjynp7gvn0nil56w82f7ax0gabrg7ddzk6s"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; No tests included
`(#:tests? #f ; no tests included
#:configure-flags (list (string-append "-DUSE_SYSTEM_MBEDTLS=on")
(string-append "-DENABLE_HTTP2=on")
(string-append "-DUSE_SYSTEM_NGHTTP2=on")
(string-append "-DENABLE_TOMAHAWK=on")
(string-append "-DLOG_DIR=/var/log/hiawatha")
(string-append "-DPID_DIR=/run")
(string-append "-DWEBROOT_DIR="
(assoc-ref %outputs "out")
"/share/hiawatha/html"))
"/share/hiawatha/html")
(string-append "-DWORK_DIR=/var/lib/hiawatha"))
#:phases
(modify-phases %standard-phases
(add-after 'install 'remove-empty-dirs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
;; The directories in "var" are empty, remove them.
(delete-file-recursively (string-append out "/var"))
#t)))
(add-after 'unpack 'install-no-empty-directories
(lambda _
(substitute* "CMakeLists.txt"
(("install\\(DIRECTORY DESTINATION" match)
(string-append "#" match)))
#t))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Make sure 'hiawatha' finds 'mbedtls'.
@ -5212,11 +5218,12 @@ functions of Tidy.")
(wrap-program (string-append sbin "/hiawatha")
`("PATH" ":" prefix (,mbed)))))))))
(inputs
;; TODO: package "hiawatha-monitor", an optional dependency of "hiawatha"
`(("mbedtls-apache" ,mbedtls-apache) ;Hiawatha includes this version.
("zlib" ,zlib)
("libxslt" ,libxslt)
("libxml2" ,libxml2)))
;; TODO: package "hiawatha-monitor", an optional dependency of "hiawatha".
`(("libxslt" ,libxslt)
("libxml2" ,libxml2)
("mbedtls-apache" ,mbedtls-for-hiawatha)
("nghttp2" ,nghttp2 "lib")
("zlib" ,zlib)))
(home-page "https://www.hiawatha-webserver.org")
(synopsis "Webserver with focus on security")
(description

View File

@ -225,7 +225,7 @@ integrate Windows applications into your desktop.")
(define-public wine-staging-patchset-data
(package
(name "wine-staging-patchset-data")
(version "3.16")
(version "3.17")
(source
(origin
(method git-fetch)
@ -235,7 +235,7 @@ integrate Windows applications into your desktop.")
(file-name (git-file-name name version))
(sha256
(base32
"0c1bs9qpxlvld6jkwjri2v8jaixxn1r5b0m9r5hnkfrnpl7z7cfv"))))
"1ds9q90xjg59ikic98kqkhmijnqx4yplvwsm6rav4mx72yci7d4w"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
@ -281,7 +281,7 @@ integrate Windows applications into your desktop.")
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
"0g55l41apiwgblfk9ihzd96003gd32w5ng79f96hmiwhyzwbqhxd"))))
"08fcziadw40153a9rv630m7iz6ipfzylms5y191z4sj2vvhy5vac"))))
(inputs `(("autoconf" ,autoconf) ; for autoreconf
("gtk+" ,gtk+)
("libva" ,libva)

View File

@ -455,7 +455,7 @@ desktop environment.")
(define-public xmonad
(package
(name "xmonad")
(version "0.14")
(version "0.14.2")
(synopsis "Tiling window manager")
(source (origin
(method url-fetch)
@ -463,11 +463,10 @@ desktop environment.")
name "-" version ".tar.gz"))
(sha256
(base32
"0lq3k0ap7jxrrswpd954mqa6h8diccbif5srcgbmr39y6y8x0mm4"))))
"0gqyivpw8z1x73p1l1fpyq1wc013a1c07r6xn1a82liijs91b949"))))
(build-system haskell-build-system)
(inputs
`(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
("ghc-mtl" ,ghc-mtl)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-semigroups" ,ghc-semigroups)
("ghc-setlocale" ,ghc-setlocale)
@ -505,14 +504,14 @@ tiled on several screens.")
(define-public xmobar
(package
(name "xmobar")
(version "0.27")
(version "0.28")
(source (origin
(method url-fetch)
(uri (string-append "mirror://hackage/package/xmobar/"
name "-" version ".tar.gz"))
(sha256
(base32
"0agx490q6sbmv3vfq33ys8dsrgwizj3bmha4i1pkxz5wp5q8cx3l"))))
"1xh87asg8y35srvp7d3gyyy4bkxsw122liihxgzgm8pqv2z3h4zd"))))
(build-system haskell-build-system)
(native-inputs
`(("ghc-hspec" ,ghc-hspec)
@ -560,11 +559,11 @@ Haskell, no knowledge of the language is required to install and use it.")
"1660w3xhbfrlq8b8s1rviq2mcn1vyqpypli4023gqxwry52brk6y"))))
(build-system haskell-build-system)
(propagated-inputs
`(("ghc-mtl" ,ghc-mtl)
("ghc-old-time" ,ghc-old-time)
`(("ghc-old-time" ,ghc-old-time)
("ghc-random" ,ghc-random)
("ghc-utf8-string" ,ghc-utf8-string)
("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
("ghc-semigroups", ghc-semigroups)
("ghc-x11" ,ghc-x11)
("ghc-x11-xft" ,ghc-x11-xft)
("xmonad" ,xmonad)))

View File

@ -786,17 +786,17 @@ server, collect the answer, and finally decoding the XML to Perl.")
(define-public perl-xml-feed
(package
(name "perl-xml-feed")
(version "0.53")
(version "0.54")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/D/DA/DAVECROSS/"
"XML-Feed-" version ".tar.gz"))
(sha256
(base32
"07b165g6wk8kqwpl49r3n0kag6p2nrkyp3ch0h8qyxb6nrnkkq7c"))))
"0ydyi7wdhv8325h7j27vrlwiqxll56sn8zy5nbzhpma3nrf61bci"))))
(build-system perl-build-system)
(arguments
`(#:tests? #f)) ; Tests require internet connection
`(#:tests? #f)) ; tests require internet connection
(native-inputs
`(("perl-module-build" ,perl-module-build)
("perl-uri" ,perl-uri)
@ -1136,7 +1136,7 @@ XSLT and EXSLT.")
(define-public html-xml-utils
(package
(name "html-xml-utils")
(version "7.6")
(version "7.7")
(source
(origin
(method url-fetch)
@ -1145,7 +1145,7 @@ XSLT and EXSLT.")
version ".tar.gz"))
(sha256
(base32
"0l97ps089byy62838wf2jwvvc465iw29z9r5kwmwcq7f3bn11y3m"))))
"1vwqp5q276j8di9zql3kygf31z2frp2c59yjqlrvvwcvccvkcdwr"))))
(build-system gnu-build-system)
(home-page "https://www.w3.org/Tools/HTML-XML-utils/")
(synopsis "Command line utilities to manipulate HTML and XML files")
@ -2094,7 +2094,6 @@ derivations of regular expressions.")
(build-system haskell-build-system)
(inputs
`(("ghc-parsec" ,ghc-parsec)
("ghc-mtl" ,ghc-mtl)
("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
("ghc-hxt-unicode" ,ghc-hxt-unicode)
("ghc-hxt-regex-xmlschema" ,ghc-hxt-regex-xmlschema)

View File

@ -125,11 +125,9 @@ for ROTATION."
(define (default-jobs rottlog)
(list #~(job '(next-hour '(0)) ;midnight
(lambda ()
(system* #$(file-append rottlog "/sbin/rottlog"))))
#$(file-append rottlog "/sbin/rottlog"))
#~(job '(next-hour '(12)) ;noon
(lambda ()
(system* #$(file-append rottlog "/sbin/rottlog"))))))
#$(file-append rottlog "/sbin/rottlog"))))
(define-record-type* <rottlog-configuration>
rottlog-configuration make-rottlog-configuration

View File

@ -685,17 +685,20 @@ to add @var{device} to the kernel's entropy pool. The service will fail if
(shepherd-service-type
'virtual-terminal
(lambda (utf8?)
(shepherd-service
(documentation "Set virtual terminals in UTF-8 module.")
(provision '(virtual-terminal))
(requirement '(root-file-system))
(start #~(lambda _
(call-with-output-file
"/sys/module/vt/parameters/default_utf8"
(lambda (port)
(display 1 port)))
#t))
(stop #~(const #f))))
(let ((knob "/sys/module/vt/parameters/default_utf8"))
(shepherd-service
(documentation "Set virtual terminals in UTF-8 module.")
(provision '(virtual-terminal))
(requirement '(root-file-system))
(start #~(lambda _
;; In containers /sys is read-only so don't insist on
;; writing to this file.
(unless (= 1 (call-with-input-file #$knob read))
(call-with-output-file #$knob
(lambda (port)
(display 1 port))))
#t))
(stop #~(const #f)))))
#t)) ;default to UTF-8
(define console-keymap-service-type
@ -1881,7 +1884,12 @@ item of @var{packages}."
(string-append linux-module-directory "/"
kernel-release))
(old-umask (umask #o022)))
(make-static-device-nodes directory)
;; If we're in a container, DIRECTORY might not exist,
;; for instance because the host runs a different
;; kernel. In that case, skip it; we'll just miss a few
;; nodes like /dev/fuse.
(when (file-exists? directory)
(make-static-device-nodes directory))
(umask old-umask))
(let ((pid (fork+exec-command (list udevd))))

View File

@ -50,6 +50,7 @@
unload-services
unload-service
load-services
load-services/safe
start-service
stop-service))
@ -232,6 +233,25 @@ returns a shepherd <service> object."
`(primitive-load ,file))
files))))
(define (load-services/safe files)
"This is like 'load-services', but make sure only the subset of FILES that
can be safely reloaded is actually reloaded.
This is done to accommodate the Shepherd < 0.15.0 where services lacked the
'replacement' slot, and where 'register-services' would throw an exception
when passed a service with an already-registered name."
(eval-there `(let* ((services (map primitive-load ',files))
(slots (map slot-definition-name
(class-slots <service>)))
(can-replace? (memq 'replacement slots)))
(define (registered? service)
(not (null? (lookup-services (canonical-name service)))))
(apply register-services
(if can-replace?
services
(remove registered? services))))))
(define (start-service name)
(with-shepherd-action name ('start) result
result))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
@ -191,19 +191,7 @@ fe80::1%lo0 apps.facebook.com\n")
(cons* #$dhclient "-nw"
"-pf" #$pid-file ifaces))))
(and (zero? (cdr (waitpid pid)))
(let loop ()
(catch 'system-error
(lambda ()
(call-with-input-file #$pid-file read))
(lambda args
;; 'dhclient' returned before PID-FILE was created,
;; so try again.
(let ((errno (system-error-errno args)))
(if (= ENOENT errno)
(begin
(sleep 1)
(loop))
(apply throw args))))))))))
(read-pid-file #$pid-file)))))
(stop #~(make-kill-destructor))))))
(define* (dhcp-client-service #:key (dhcp isc-dhcp))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Carlo Zancanaro <carlo@zancanaro.id.au>
;;;
;;; This file is part of GNU Guix.
;;;
@ -58,6 +59,7 @@
%default-modules
shepherd-service-file
%containerized-shepherd-service
shepherd-service-lookup-procedure
shepherd-service-back-edges
@ -326,10 +328,25 @@ symbols provided/required by a service."
(lambda (service)
(vhash-foldq* cons '() service edges)))
(define %containerized-shepherd-service
;; XXX: This service works around a bug in the Shepherd 0.5.0: shepherd
;; calls reboot(2) (via 'disable-reboot-on-ctrl-alt-del') when it starts,
;; but in a container that fails with EINVAL. This was fixed in Shepherd
;; commit 92e806bac1abaeeaf5d60f0ab50d1ae85ba6a62f.
(simple-service 'containerized-shepherd
shepherd-root-service-type
(list (shepherd-service
(provision '(containerized-shepherd))
(start #~(lambda ()
(set! (@@ (shepherd)
disable-reboot-on-ctrl-alt-del)
(const #t))
#t))))))
(define (shepherd-service-upgrade live target)
"Return two values: the subset of LIVE (a list of <live-service>) that needs
to be unloaded, and the subset of TARGET (a list of <shepherd-service>) that
needs to be loaded."
need to be restarted to complete their upgrade."
(define (essential? service)
(memq (first (live-service-provision service))
'(root shepherd)))
@ -346,12 +363,6 @@ needs to be loaded."
(and=> (lookup-live (shepherd-service-canonical-name service))
live-service-running))
(define (stopped service)
(match (lookup-live (shepherd-service-canonical-name service))
(#f #f)
(service (and (not (live-service-running service))
service))))
(define live-service-dependents
(shepherd-service-back-edges live
#:provision live-service-provision
@ -362,16 +373,14 @@ needs to be loaded."
(#f (every obsolete? (live-service-dependents service)))
(_ #f)))
(define to-load
;; Only load services that are either new or currently stopped.
(remove running? target))
(define to-restart
;; Restart services that are currently running.
(filter running? target))
(define to-unload
;; Unload services that are (1) no longer required, or (2) are in TO-LOAD.
(remove essential?
(append (filter obsolete? live)
(filter-map stopped to-load))))
;; Unload services that are no longer required.
(remove essential? (filter obsolete? live)))
(values to-unload to-load))
(values to-unload to-restart))
;;; shepherd.scm ends here

View File

@ -3,6 +3,7 @@
;;; Copyright © 2016 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -32,6 +33,7 @@
#:use-module (guix store)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 format)
#:use-module (ice-9 match)
#:export (git-daemon-service
git-daemon-service-type
@ -40,7 +42,23 @@
git-http-configuration
git-http-configuration?
git-http-nginx-location-configuration))
git-http-nginx-location-configuration
<gitolite-configuration>
gitolite-configuration
gitolite-configuration-package
gitolite-configuration-user
gitolite-configuration-rc-file
gitolite-configuration-admin-pubkey
<gitolite-rc-file>
gitolite-rc-file
gitolite-rc-file-umask
gitolite-rc-file-git-config-keys
gitolite-rc-file-roles
gitolite-rc-file-enable
gitolite-service-type))
;;; Commentary:
;;;
@ -197,3 +215,163 @@ access to exported repositories under @file{/srv/git}."
"")
(list "fastcgi_param GIT_PROJECT_ROOT " git-root ";")
"fastcgi_param PATH_INFO $1;"))))))
;;;
;;; Gitolite
;;;
(define-record-type* <gitolite-rc-file>
gitolite-rc-file make-gitolite-rc-file
gitolite-rc-file?
(umask gitolite-rc-file-umask
(default #o0077))
(git-config-keys gitolite-rc-file-git-config-keys
(default ""))
(roles gitolite-rc-file-roles
(default '(("READERS" . 1)
("WRITERS" . 1))))
(enable gitolite-rc-file-enable
(default '("help"
"desc"
"info"
"perms"
"writable"
"ssh-authkeys"
"git-config"
"daemon"
"gitweb"))))
(define-gexp-compiler (gitolite-rc-file-compiler
(file <gitolite-rc-file>) system target)
(match file
(($ <gitolite-rc-file> umask git-config-keys roles enable)
(apply text-file* "gitolite.rc"
`("%RC = (\n"
" UMASK => " ,(format #f "~4,'0o" umask) ",\n"
" GIT_CONFIG_KEYS => '" ,git-config-keys "',\n"
" ROLES => {\n"
,@(map (match-lambda
((role . value)
(simple-format #f " ~A => ~A,\n" role value)))
roles)
" },\n"
"\n"
" ENABLE => [\n"
,@(map (lambda (value)
(simple-format #f " '~A',\n" value))
enable)
" ],\n"
");\n"
"\n"
"1;\n")))))
(define-record-type* <gitolite-configuration>
gitolite-configuration make-gitolite-configuration
gitolite-configuration?
(package gitolite-configuration-package
(default gitolite))
(user gitolite-configuration-user
(default "git"))
(group gitolite-configuration-group
(default "git"))
(home-directory gitolite-configuration-home-directory
(default "/var/lib/gitolite"))
(rc-file gitolite-configuration-rc-file
(default (gitolite-rc-file)))
(admin-pubkey gitolite-configuration-admin-pubkey))
(define gitolite-accounts
(match-lambda
(($ <gitolite-configuration> package user group home-directory
rc-file admin-pubkey)
;; User group and account to run Gitolite.
(list (user-group (name user) (system? #t))
(user-account
(name user)
(group group)
(system? #t)
(comment "Gitolite user")
(home-directory home-directory))))))
(define gitolite-activation
(match-lambda
(($ <gitolite-configuration> package user group home
rc-file admin-pubkey)
#~(begin
(use-modules (ice-9 match)
(guix build utils))
(let* ((user-info (getpwnam #$user))
(admin-pubkey #$admin-pubkey)
(pubkey-file (string-append
#$home "/"
(basename
(strip-store-file-name admin-pubkey)))))
(simple-format #t "guix: gitolite: installing ~A\n" #$rc-file)
(copy-file #$rc-file #$(string-append home "/.gitolite.rc"))
;; The key must be writable, so copy it from the store
(copy-file admin-pubkey pubkey-file)
(chmod pubkey-file #o500)
(chown pubkey-file
(passwd:uid user-info)
(passwd:gid user-info))
;; Set the git configuration, to avoid gitolite trying to use
;; the hostname command, as the network might not be up yet
(with-output-to-file #$(string-append home "/.gitconfig")
(lambda ()
(display "[user]
name = GNU Guix
email = guix@localhost
")))
;; Run Gitolite setup, as this updates the hooks and include the
;; admin pubkey if specified. The admin pubkey is required for
;; initial setup, and will replace the previous key if run after
;; initial setup
(match (primitive-fork)
(0
;; Exit with a non-zero status code if an exception is thrown.
(dynamic-wind
(const #t)
(lambda ()
(setenv "HOME" (passwd:dir user-info))
(setenv "USER" #$user)
(setgid (passwd:gid user-info))
(setuid (passwd:uid user-info))
(primitive-exit
(system* #$(file-append package "/bin/gitolite")
"setup"
"-m" "gitolite setup by GNU Guix"
"-pk" pubkey-file)))
(lambda ()
(primitive-exit 1))))
(pid (waitpid pid)))
(when (file-exists? pubkey-file)
(delete-file pubkey-file)))))))
(define gitolite-service-type
(service-type
(name 'gitolite)
(extensions
(list (service-extension activation-service-type
gitolite-activation)
(service-extension account-service-type
gitolite-accounts)
(service-extension profile-service-type
;; The Gitolite package in Guix uses
;; gitolite-shell in the authorized_keys file, so
;; gitolite-shell needs to be on the PATH for
;; gitolite to work.
(lambda (config)
(list
(gitolite-configuration-package config))))))
(description
"Setup @command{gitolite}, a Git hosting tool providing access over SSH..
By default, the @code{git} user is used, but this is configurable.
Additionally, Gitolite can integrate with with tools like gitweb or cgit to
provide a web interface to view selected repositories.")))

View File

@ -501,7 +501,7 @@ a container or that of a \"bare metal\" system."
;; Add the firmware service, unless we are building for a
;; container.
(if container?
'()
(list %containerized-shepherd-service)
(list %linux-bare-metal-service
(service firmware-service-type
(operating-system-firmware os))))))))

View File

@ -2,6 +2,7 @@
;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,14 +28,17 @@
#:use-module (gnu services)
#:use-module (gnu services version-control)
#:use-module (gnu services cgit)
#:use-module (gnu services ssh)
#:use-module (gnu services web)
#:use-module (gnu services networking)
#:use-module (gnu packages version-control)
#:use-module (gnu packages ssh)
#:use-module (guix gexp)
#:use-module (guix store)
#:use-module (guix modules)
#:export (%test-cgit
%test-git-http))
%test-git-http
%test-gitolite))
(define README-contents
"Hello! This is what goes inside the 'README' file.")
@ -300,3 +304,111 @@ HTTP-PORT."
(name "git-http")
(description "Connect to a running Git HTTP server.")
(value (run-git-http-test))))
;;;
;;; Gitolite.
;;;
(define %gitolite-test-admin-keypair
(computed-file
"gitolite-test-admin-keypair"
(with-imported-modules (source-module-closure
'((guix build utils)))
#~(begin
(use-modules (ice-9 match) (srfi srfi-26)
(guix build utils))
(mkdir #$output)
(invoke #$(file-append openssh "/bin/ssh-keygen")
"-f" (string-append #$output "/test-admin")
"-t" "rsa"
"-q"
"-N" "")))))
(define %gitolite-os
(simple-operating-system
(dhcp-client-service)
(service openssh-service-type)
(service gitolite-service-type
(gitolite-configuration
(admin-pubkey
(file-append %gitolite-test-admin-keypair "/test-admin.pub"))))))
(define (run-gitolite-test)
(define os
(marionette-operating-system
%gitolite-os
#:imported-modules '((gnu services herd)
(guix combinators))))
(define vm
(virtual-machine
(operating-system os)
(port-forwardings `((2222 . 22)))))
(define test
(with-imported-modules '((gnu build marionette)
(guix build utils))
#~(begin
(use-modules (srfi srfi-64)
(rnrs io ports)
(gnu build marionette)
(guix build utils))
(define marionette
(make-marionette (list #$vm)))
(mkdir #$output)
(chdir #$output)
(test-begin "gitolite")
;; Wait for sshd to be up and running.
(test-assert "service running"
(marionette-eval
'(begin
(use-modules (gnu services herd))
(start-service 'ssh-daemon))
marionette))
(display #$%gitolite-test-admin-keypair)
(setenv "GIT_SSH_VARIANT" "ssh")
(setenv "GIT_SSH_COMMAND"
(string-join
'(#$(file-append openssh "/bin/ssh")
"-i" #$(file-append %gitolite-test-admin-keypair
"/test-admin")
"-o" "UserKnownHostsFile=/dev/null"
"-o" "StrictHostKeyChecking=no")))
(test-assert "cloning the admin repository"
(invoke #$(file-append git "/bin/git")
"clone" "-v"
"ssh://git@localhost:2222/gitolite-admin"
"/tmp/clone"))
(test-assert "admin key exists"
(file-exists? "/tmp/clone/keydir/test-admin.pub"))
(with-directory-excursion "/tmp/clone"
(invoke #$(file-append git "/bin/git")
"-c" "user.name=Guix" "-c" "user.email=guix"
"commit"
"-m" "Test commit"
"--allow-empty")
(test-assert "pushing, and the associated hooks"
(invoke #$(file-append git "/bin/git") "push")))
(test-end)
(exit (= (test-runner-fail-count (test-runner-current)) 0)))))
(gexp->derivation "gitolite" test))
(define %test-gitolite
(system-test
(name "gitolite")
(description "Clone the Gitolite admin repository.")
(value (run-gitolite-test))))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;

View File

@ -21,6 +21,7 @@
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix derivations)
#:use-module (guix download)
#:use-module (guix search-paths)
#:use-module (guix build-system)
#:use-module (guix build-system gnu)
@ -48,14 +49,35 @@
(let ((haskell (resolve-interface '(gnu packages haskell))))
(module-ref haskell 'ghc)))
(define (source-url->revision-url url revision)
"Convert URL (a Hackage source URL) to the URL for the Cabal file at
version REVISION."
(let* ((last-slash (string-rindex url #\/))
(next-slash (string-rindex url #\/ 0 last-slash)))
(string-append (substring url 0 next-slash)
(substring url last-slash (- (string-length url)
(string-length ".tar.gz")))
"/revision/" revision ".cabal")))
(define* (lower name
#:key source inputs native-inputs outputs system target
(haskell (default-haskell))
cabal-revision
#:allow-other-keys
#:rest arguments)
"Return a bag for NAME."
(define private-keywords
'(#:target #:haskell #:inputs #:native-inputs))
'(#:target #:haskell #:cabal-revision #:inputs #:native-inputs))
(define (cabal-revision->origin cabal-revision)
(match cabal-revision
((revision hash)
(origin
(method url-fetch)
(uri (source-url->revision-url (origin-uri source) revision))
(sha256 (base32 hash))
(file-name (string-append name "-" revision ".cabal"))))
(#f #f)))
(and (not target) ;XXX: no cross-compilation
(bag
@ -64,6 +86,9 @@
(host-inputs `(,@(if source
`(("source" ,source))
'())
,@(match (cabal-revision->origin cabal-revision)
(#f '())
(revision `(("cabal-revision" ,revision))))
,@inputs
;; Keep the standard inputs of 'gnu-build-system'.
@ -103,6 +128,11 @@ provides a 'Setup.hs' file as its build system."
source)
(source
source))
#:cabal-revision ,(match (assoc-ref inputs
"cabal-revision")
(((? derivation? revision))
(derivation->output-path revision))
(revision revision))
#:configure-flags ,configure-flags
#:haddock-flags ,haddock-flags
#:system ,system

View File

@ -115,7 +115,7 @@ and 'guix publish', something like
(string-drop path 33)
path)))
(define* (ftp-fetch uri file #:key timeout)
(define* (ftp-fetch uri file #:key timeout print-build-trace?)
"Fetch data from URI and write it to FILE. Return FILE on success. Bail
out if the connection could not be established in less than TIMEOUT seconds."
(let* ((conn (match (and=> (uri-userinfo uri)
@ -136,12 +136,17 @@ out if the connection could not be established in less than TIMEOUT seconds."
(lambda (out)
(dump-port* in out
#:buffer-size %http-receive-buffer-size
#:reporter (progress-reporter/file
(uri-abbreviation uri) size))))
#:reporter
(if print-build-trace?
(progress-reporter/trace
file (uri->string uri) size)
(progress-reporter/file
(uri-abbreviation uri) size)))))
(ftp-close conn))
(newline)
file)
(ftp-close conn)
(unless print-build-trace?
(newline))
file))
;; Autoload GnuTLS so that this module can be used even when GnuTLS is
;; not available. At compile time, this yields "possibly unbound
@ -723,7 +728,8 @@ Return a list of URIs."
#:key
(timeout 10) (verify-certificate? #t)
(mirrors '()) (content-addressed-mirrors '())
(hashes '()))
(hashes '())
print-build-trace?)
"Fetch FILE from URL; URL may be either a single string, or a list of
string denoting alternate URLs for FILE. Return #f on failure, and FILE
on success.
@ -759,13 +765,18 @@ otherwise simply ignore them."
(lambda (output)
(dump-port* port output
#:buffer-size %http-receive-buffer-size
#:reporter (progress-reporter/file
(uri-abbreviation uri) size))
#:reporter (if print-build-trace?
(progress-reporter/trace
file (uri->string uri) size)
(progress-reporter/file
(uri-abbreviation uri) size)))
(newline)))
file)))
((ftp)
(false-if-exception* (ftp-fetch uri file
#:timeout timeout)))
#:timeout timeout
#:print-build-trace?
print-build-trace?)))
(else
(format #t "skipping URI with unsupported scheme: ~s~%"
uri)

View File

@ -28,6 +28,7 @@
#:use-module (ice-9 regex)
#:use-module (ice-9 match)
#:use-module (ice-9 vlist)
#:use-module (ice-9 ftw)
#:export (%standard-phases
haskell-build))
@ -266,8 +267,19 @@ given Haskell package."
(run-setuphs "haddock" haddock-flags))
#t)
(define* (patch-cabal-file #:key cabal-revision #:allow-other-keys)
(when cabal-revision
;; Cabal requires there to be a single file with the suffix ".cabal".
(match (scandir "." (cut string-suffix? ".cabal" <>))
((original)
(format #t "replacing ~s with ~s~%" original cabal-revision)
(copy-file cabal-revision original))
(_ (error "Could not find a Cabal file to patch."))))
#t)
(define %standard-phases
(modify-phases gnu:%standard-phases
(add-after 'unpack 'patch-cabal-file patch-cabal-file)
(delete 'bootstrap)
(add-before 'configure 'setup-compiler setup-compiler)
(add-before 'install 'haddock haddock)

View File

@ -84,11 +84,12 @@
(define (normalize-dependency dependency)
"Normalize the name of DEPENDENCY. Handles dependency definitions of the
dependency-def form described by
<https://common-lisp.net/project/asdf/asdf.html#The-defsystem-grammar>."
<https://common-lisp.net/project/asdf/asdf.html#The-defsystem-grammar>.
Assume that any symbols in DEPENDENCY will be in upper-case."
(match dependency
((':version name rest ...)
((':VERSION name rest ...)
`(:version ,(normalize-string name) ,@rest))
((':feature feature-specification dependency-specification)
((':FEATURE feature-specification dependency-specification)
`(:feature
,feature-specification
,(normalize-dependency dependency-specification)))

View File

@ -43,15 +43,12 @@
(define (lts-info-ghc-version lts-info)
"Retruns the version of the GHC compiler contained in LTS-INFO."
(match lts-info
((("snapshot" ("ghc" . version) _ _) _) version)
(_ #f)))
(and=> (assoc-ref lts-info "snapshot")
(cut assoc-ref <> "ghc")))
(define (lts-info-packages lts-info)
"Returns the alist of packages contained in LTS-INFO."
(match lts-info
((("packages" pkg ...) . _) pkg)
(_ '())))
"Retruns the alist of packages contained in LTS-INFO."
(or (assoc-ref lts-info "packages") '()))
(define (leave-with-message fmt . args)
(raise (condition (&message (message (apply format #f fmt args))))))

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -38,7 +38,11 @@
progress-reporter/silent
progress-reporter/file
progress-reporter/bar
progress-reporter/trace
display-download-progress
erase-current-line
progress-bar
byte-count->string
current-terminal-columns
@ -183,6 +187,46 @@ width of the bar is BAR-WIDTH."
move the cursor to the beginning of the line."
(display "\r\x1b[K" port))
(define* (display-download-progress file size
#:key
start-time (transferred 0)
(log-port (current-error-port)))
"Write the progress report to LOG-PORT. Use START-TIME (a SRFI-19 time
object) and TRANSFERRED (a total number of bytes) to determine the
throughput."
(define elapsed
(duration->seconds
(time-difference (current-time time-monotonic) start-time)))
(if (number? size)
(let* ((% (* 100.0 (/ transferred size)))
(throughput (/ transferred elapsed))
(left (format #f " ~a ~a" file
(byte-count->string size)))
(right (format #f "~a/s ~a ~a~6,1f%"
(byte-count->string throughput)
(seconds->string elapsed)
(progress-bar %) %)))
(erase-current-line log-port)
(display (string-pad-middle left right
(current-terminal-columns))
log-port)
(force-output log-port))
(let* ((throughput (/ transferred elapsed))
(left (format #f " ~a" file))
(right (format #f "~a/s ~a | ~a transferred"
(byte-count->string throughput)
(seconds->string elapsed)
(byte-count->string transferred))))
(erase-current-line log-port)
(display (string-pad-middle left right
(current-terminal-columns))
log-port)
(force-output log-port))))
(define %progress-interval
;; Default interval between subsequent outputs for rate-limited displays.
(make-time time-monotonic 200000000 0))
(define* (progress-reporter/file file size
#:optional (log-port (current-output-port))
#:key (abbreviation basename))
@ -192,44 +236,16 @@ ABBREVIATION used to shorten FILE for display."
(let ((start-time (current-time time-monotonic))
(transferred 0))
(define (render)
"Write the progress report to LOG-PORT."
(define elapsed
(duration->seconds
(time-difference (current-time time-monotonic) start-time)))
(if (number? size)
(let* ((% (* 100.0 (/ transferred size)))
(throughput (/ transferred elapsed))
(left (format #f " ~a ~a"
(abbreviation file)
(byte-count->string size)))
(right (format #f "~a/s ~a ~a~6,1f%"
(byte-count->string throughput)
(seconds->string elapsed)
(progress-bar %) %)))
(erase-current-line log-port)
(display (string-pad-middle left right
(current-terminal-columns))
log-port)
(force-output log-port))
(let* ((throughput (/ transferred elapsed))
(left (format #f " ~a"
(abbreviation file)))
(right (format #f "~a/s ~a | ~a transferred"
(byte-count->string throughput)
(seconds->string elapsed)
(byte-count->string transferred))))
(erase-current-line log-port)
(display (string-pad-middle left right
(current-terminal-columns))
log-port)
(force-output log-port))))
(display-download-progress (abbreviation file) size
#:start-time start-time
#:transferred transferred
#:log-port log-port))
(progress-reporter
(start render)
;; Report the progress every 300ms or longer.
(report
(let ((rate-limited-render
(rate-limited render (make-time time-monotonic 300000000 0))))
(let ((rate-limited-render (rate-limited render %progress-interval)))
(lambda (value)
(set! transferred value)
(rate-limited-render))))
@ -269,6 +285,32 @@ tasks is performed. Write PREFIX at the beginning of the line."
(newline port))
(force-output port)))))
(define* (progress-reporter/trace file url size
#:optional (log-port (current-output-port)))
"Like 'progress-reporter/file', but instead of returning human-readable
progress reports, write \"build trace\" lines to be processed elsewhere."
(define (report-progress transferred)
(define message
(format #f "@ download-progress ~a ~a ~a ~a~%"
file url (or size "-") transferred))
(display message log-port) ;should be atomic
(flush-output-port log-port))
(progress-reporter
(start (lambda ()
(display (format #f "@ download-started ~a ~a ~a~%"
file url (or size "-"))
log-port)))
(report (rate-limited report-progress %progress-interval))
(stop (lambda ()
(let ((size (or (and=> (stat file #f) stat:size)
size)))
(report-progress size)
(display (format #f "@ download-succeeded ~a ~a ~a~%"
file url size)
log-port))))))
;; TODO: replace '(@ (guix build utils) dump-port))'.
(define* (dump-port* in out
#:key (buffer-size 16384)

View File

@ -45,6 +45,9 @@
#:use-module (srfi srfi-37)
#:autoload (gnu packages) (specification->package %package-module-path)
#:autoload (guix download) (download-to-store)
#:use-module (guix status)
#:use-module ((guix progress) #:select (current-terminal-columns))
#:use-module ((guix build syscalls) #:select (terminal-columns))
#:export (%standard-build-options
set-build-options-from-command-line
set-build-options-from-command-line*
@ -390,6 +393,8 @@ options handled by 'set-build-options-from-command-line', and listed in
#:max-silent-time (assoc-ref opts 'max-silent-time)
#:timeout (assoc-ref opts 'timeout)
#:print-build-trace (assoc-ref opts 'print-build-trace?)
#:print-extended-build-trace?
(assoc-ref opts 'print-extended-build-trace?)
#:verbosity (assoc-ref opts 'verbosity)))
(define set-build-options-from-command-line*
@ -499,6 +504,7 @@ options handled by 'set-build-options-from-command-line', and listed in
(substitutes? . #t)
(build-hook? . #t)
(print-build-trace? . #t)
(print-extended-build-trace? . #t)
(verbosity . 0)))
(define (show-help)
@ -733,11 +739,12 @@ needed."
;; Set the build options before we do anything else.
(set-build-options-from-command-line store opts)
(parameterize ((current-build-output-port
(parameterize ((current-terminal-columns (terminal-columns))
(current-build-output-port
(if quiet?
(%make-void-port "w")
(build-output-port #:verbose? #t
#:port (duplicate-port (current-error-port) "w")))))
(build-event-output-port
(build-status-updater print-build-event)))))
(let* ((mode (assoc-ref opts 'build-mode))
(drv (options->derivations store opts))
(urls (map (cut string-append <> "/log")

View File

@ -21,6 +21,7 @@
(define-module (guix scripts environment)
#:use-module (guix ui)
#:use-module (guix store)
#:use-module (guix status)
#:use-module (guix grafts)
#:use-module (guix derivations)
#:use-module (guix packages)
@ -173,6 +174,8 @@ COMMAND or an interactive shell in that environment.\n"))
(substitutes? . #t)
(build-hook? . #t)
(graft? . #t)
(print-build-trace? . #t)
(print-extended-build-trace? . #t)
(verbosity . 0)))
(define (tag-package-arg opts arg)
@ -661,59 +664,60 @@ message if any test fails."
(leave (G_ "'--user' cannot be used without '--container'~%")))
(with-store store
(set-build-options-from-command-line store opts)
(with-status-report print-build-event
(set-build-options-from-command-line store opts)
;; Use the bootstrap Guile when requested.
(parameterize ((%graft? (assoc-ref opts 'graft?))
(%guile-for-build
(package-derivation
store
(if bootstrap?
%bootstrap-guile
(canonical-package guile-2.2)))))
(run-with-store store
;; Containers need a Bourne shell at /bin/sh.
(mlet* %store-monad ((bash (environment-bash container?
bootstrap?
system))
(prof-drv (manifest->derivation
manifest system bootstrap?))
(profile -> (derivation->output-path prof-drv))
(gc-root -> (assoc-ref opts 'gc-root)))
;; Use the bootstrap Guile when requested.
(parameterize ((%graft? (assoc-ref opts 'graft?))
(%guile-for-build
(package-derivation
store
(if bootstrap?
%bootstrap-guile
(canonical-package guile-2.2)))))
(run-with-store store
;; Containers need a Bourne shell at /bin/sh.
(mlet* %store-monad ((bash (environment-bash container?
bootstrap?
system))
(prof-drv (manifest->derivation
manifest system bootstrap?))
(profile -> (derivation->output-path prof-drv))
(gc-root -> (assoc-ref opts 'gc-root)))
;; First build the inputs. This is necessary even for
;; --search-paths. Additionally, we might need to build bash for
;; a container.
(mbegin %store-monad
(build-environment (if (derivation? bash)
(list prof-drv bash)
(list prof-drv))
opts)
(mwhen gc-root
(register-gc-root profile gc-root))
;; First build the inputs. This is necessary even for
;; --search-paths. Additionally, we might need to build bash for
;; a container.
(mbegin %store-monad
(build-environment (if (derivation? bash)
(list prof-drv bash)
(list prof-drv))
opts)
(mwhen gc-root
(register-gc-root profile gc-root))
(cond
((assoc-ref opts 'dry-run?)
(return #t))
((assoc-ref opts 'search-paths)
(show-search-paths profile manifest #:pure? pure?)
(return #t))
(container?
(let ((bash-binary
(if bootstrap?
bash
(string-append (derivation->output-path bash)
"/bin/sh"))))
(launch-environment/container #:command command
#:bash bash-binary
#:user user
#:user-mappings mappings
#:profile profile
#:manifest manifest
#:link-profile? link-prof?
#:network? network?)))
(else
(return
(exit/status
(launch-environment/fork command profile manifest
#:pure? pure?)))))))))))))
(cond
((assoc-ref opts 'dry-run?)
(return #t))
((assoc-ref opts 'search-paths)
(show-search-paths profile manifest #:pure? pure?)
(return #t))
(container?
(let ((bash-binary
(if bootstrap?
bash
(string-append (derivation->output-path bash)
"/bin/sh"))))
(launch-environment/container #:command command
#:bash bash-binary
#:user user
#:user-mappings mappings
#:profile profile
#:manifest manifest
#:link-profile? link-prof?
#:network? network?)))
(else
(return
(exit/status
(launch-environment/fork command profile manifest
#:pure? pure?))))))))))))))

View File

@ -25,6 +25,7 @@
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix store)
#:use-module (guix status)
#:use-module (guix grafts)
#:use-module (guix monads)
#:use-module (guix modules)
@ -538,6 +539,8 @@ please email '~a'~%")
(substitutes? . #t)
(build-hook? . #t)
(graft? . #t)
(print-build-trace? . #t)
(print-extended-build-trace? . #t)
(verbosity . 0)
(symlinks . ())
(compressor . ,(first %compressors))))
@ -684,72 +687,73 @@ Create a bundle of PACKAGE.\n"))
(with-error-handling
(with-store store
;; Set the build options before we do anything else.
(set-build-options-from-command-line store opts)
(with-status-report print-build-event
;; Set the build options before we do anything else.
(set-build-options-from-command-line store opts)
(parameterize ((%graft? (assoc-ref opts 'graft?))
(%guile-for-build (package-derivation
store
(if (assoc-ref opts 'bootstrap?)
%bootstrap-guile
(canonical-package guile-2.2))
(assoc-ref opts 'system)
#:graft? (assoc-ref opts 'graft?))))
(let* ((dry-run? (assoc-ref opts 'dry-run?))
(relocatable? (assoc-ref opts 'relocatable?))
(manifest (let ((manifest (manifest-from-args store opts)))
;; Note: We cannot honor '--bootstrap' here because
;; 'glibc-bootstrap' lacks 'libc.a'.
(if relocatable?
(map-manifest-entries wrapped-package manifest)
manifest)))
(pack-format (assoc-ref opts 'format))
(name (string-append (symbol->string pack-format)
"-pack"))
(target (assoc-ref opts 'target))
(bootstrap? (assoc-ref opts 'bootstrap?))
(compressor (if bootstrap?
bootstrap-xz
(assoc-ref opts 'compressor)))
(archiver (if (equal? pack-format 'squashfs)
squashfs-tools-next
(if bootstrap?
%bootstrap-coreutils&co
tar)))
(symlinks (assoc-ref opts 'symlinks))
(build-image (match (assq-ref %formats pack-format)
((? procedure? proc) proc)
(#f
(leave (G_ "~a: unknown pack format~%")
pack-format))))
(localstatedir? (assoc-ref opts 'localstatedir?)))
(run-with-store store
(mlet* %store-monad ((profile (profile-derivation
manifest
#:relative-symlinks? relocatable?
#:hooks (if bootstrap?
'()
%default-profile-hooks)
#:locales? (not bootstrap?)
#:target target))
(drv (build-image name profile
#:target
target
#:compressor
compressor
#:symlinks
symlinks
#:localstatedir?
localstatedir?
#:archiver
archiver)))
(mbegin %store-monad
(show-what-to-build* (list drv)
#:use-substitutes?
(assoc-ref opts 'substitutes?)
#:dry-run? dry-run?)
(munless dry-run?
(built-derivations (list drv))
(return (format #t "~a~%"
(derivation->output-path drv))))))
#:system (assoc-ref opts 'system)))))))
(parameterize ((%graft? (assoc-ref opts 'graft?))
(%guile-for-build (package-derivation
store
(if (assoc-ref opts 'bootstrap?)
%bootstrap-guile
(canonical-package guile-2.2))
(assoc-ref opts 'system)
#:graft? (assoc-ref opts 'graft?))))
(let* ((dry-run? (assoc-ref opts 'dry-run?))
(relocatable? (assoc-ref opts 'relocatable?))
(manifest (let ((manifest (manifest-from-args store opts)))
;; Note: We cannot honor '--bootstrap' here because
;; 'glibc-bootstrap' lacks 'libc.a'.
(if relocatable?
(map-manifest-entries wrapped-package manifest)
manifest)))
(pack-format (assoc-ref opts 'format))
(name (string-append (symbol->string pack-format)
"-pack"))
(target (assoc-ref opts 'target))
(bootstrap? (assoc-ref opts 'bootstrap?))
(compressor (if bootstrap?
bootstrap-xz
(assoc-ref opts 'compressor)))
(archiver (if (equal? pack-format 'squashfs)
squashfs-tools-next
(if bootstrap?
%bootstrap-coreutils&co
tar)))
(symlinks (assoc-ref opts 'symlinks))
(build-image (match (assq-ref %formats pack-format)
((? procedure? proc) proc)
(#f
(leave (G_ "~a: unknown pack format~%")
pack-format))))
(localstatedir? (assoc-ref opts 'localstatedir?)))
(run-with-store store
(mlet* %store-monad ((profile (profile-derivation
manifest
#:relative-symlinks? relocatable?
#:hooks (if bootstrap?
'()
%default-profile-hooks)
#:locales? (not bootstrap?)
#:target target))
(drv (build-image name profile
#:target
target
#:compressor
compressor
#:symlinks
symlinks
#:localstatedir?
localstatedir?
#:archiver
archiver)))
(mbegin %store-monad
(show-what-to-build* (list drv)
#:use-substitutes?
(assoc-ref opts 'substitutes?)
#:dry-run? dry-run?)
(munless dry-run?
(built-derivations (list drv))
(return (format #t "~a~%"
(derivation->output-path drv))))))
#:system (assoc-ref opts 'system))))))))

Some files were not shown because too many files have changed in this diff Show More