1
0
forked from tribes/guix

Compare commits

..

6 Commits

Author SHA1 Message Date
Danny Milosavljevic 9563893a6e doc: Fix qemu-system-x86_64 example.
Reported by Fox <firefox@firemail.cc>.
Fixes <https://bugs.gnu.org/27052>.

* doc/guix.texi (Running GuixSD in a VM): Fix qemu-system-x86_64 example.
2017-05-31 23:21:20 +02:00
Jan Nieuwenhuizen 75ebfc8834 Revert "gnu: emacs-exwm: Update to 0.14."
This reverts commit be930f24f3.
2017-05-26 15:18:48 +02:00
Jan Nieuwenhuizen 35866c8106 Revert "gnu: Add emacs-exwm-x. WIP"
This reverts commit bc2a4daec6.
2017-05-26 15:18:36 +02:00
Jan Nieuwenhuizen bc2a4daec6 gnu: Add emacs-exwm-x. WIP
* gnu/packages/emacs.scm (emacs-exwm-x): New variable.
2017-05-25 13:22:24 +02:00
Jan Nieuwenhuizen be930f24f3 gnu: emacs-exwm: Update to 0.14.
* gnu/packages/emacs.scm (emacs-exwm): Update to 0.14.
2017-05-25 13:22:13 +02:00
Marius Bakke 8e82009169 doc: Update for UEFI systems.
* doc/guix.texi (USB Stick Installation): Mention UEFI.
(Preparing for Installation): Add notes about EFI System Partition, and
mounting partitions before init.
(Proceeding with the Installation): Mention the GRUB-EFI package.
(Using the Configuration System): Lightweight desktop is now a UEFI system.
(GRUB Configuration): Expand on package field. Add indexes.
* gnu/system/examples/lightweight-desktop.tmpl: Adjust to native EFI configuration.
2017-05-24 02:56:34 +02:00
837 changed files with 36171 additions and 131228 deletions
+1 -2
View File
@@ -77,8 +77,7 @@
(eval . (put 'container-excursion 'scheme-indent-function 1))
(eval . (put 'eventually 'scheme-indent-function 1))
(eval . (put 'call-with-progress-reporter 'scheme-indent-function 1))
;; Recognize '~', '+', and '$', as used for gexps, as quotation symbols.
;; This notably allows '(' in Paredit to not insert a space when the
;; preceding symbol is one of these.
(eval . (modify-syntax-entry ?~ "'"))
+8 -15
View File
@@ -1,7 +1,6 @@
# This list is used to avoid multiple name/email instances of the same
# contributors reported by "git log" and "git shortlog" commands.
Adriano Peluso <catonano@gmail.com>
Al McElrath <hello@yrns.org> <hello@atonesir.com>
Alex Sassmannshausen <alex@pompo.co> <alex.sassmannshausen@gmail.com>
Alexander I. Grafov <grafov@gmail.com>
@@ -33,26 +32,21 @@ Joshua Grant <tadni@riseup.net> <gzg@riseup.net>
Joshua Grant <tadni@riseup.net> <jgrant@parenthetical.io>
Joshua Grant <tadni@riseup.net> <tadnimi@gmail.com>
Joshua Grant <tadni@riseup.net> <youlysses@riseup.net>
Kei Kebreau <kei@openmailbox.org> <kkebreau@posteo.net>
Kei Kebreau <kei@openmailbox.org>
Leo Famulari <leo@famulari.name> <lfamular@gmail.com>
Ludovic Courtès <ludo@gnu.org> <ludovic.courtes@inria.fr>
Marek Benc <dusxmt@gmx.com> <merkur32@gmail.com>
Marius Bakke <mbakke@fastmail.com> <m.bakke@warwick.ac.uk>
Mathieu Lirzin <mthl@gnu.org> <mthl@openmailbox.org>
Mathieu Lirzin <mthl@gnu.org> <mathieu.lirzin@openmailbox.org>
Mathieu Othacehe <m.othacehe@gmail.com>
Nikita Karetnikov <nikita@karetnikov.org> <nikita.karetnikov@gmail.com>
ng0 <ng0@n0.is>
ng0 <ng0@n0.is> <ng0@infotropique.org>
ng0 <ng0@n0.is> <ng0@no-reply.infotropique.org>
ng0 <ng0@n0.is> <ng0@no-reply.pragmatique.xyz>
ng0 <ng0@n0.is> <ng0@pragmatique.xyz>
ng0 <ng0@n0.is> <contact.ng0@cryptolab.net>
ng0 <ng0@n0.is> <ng0@we.make.ritual.n0.is>
ng0 <ng0@n0.is> <ngillmann@runbox.com>
ng0 <ng0@n0.is> <niasterisk@grrlz.net>
ng0 <ng0@n0.is> <ng@niasterisk.space>
ng0 <ng0@n0.is> <ng0@libertad.pw>
ng0 <ng0@no-reply.pragmatique.xyz>
ng0 <ng0@no-reply.pragmatique.xyz> <contact.ng0@cryptolab.net>
ng0 <ng0@no-reply.pragmatique.xyz> <ng0@we.make.ritual.n0.is>
ng0 <ng0@no-reply.pragmatique.xyz> <ngillmann@runbox.com>
ng0 <ng0@no-reply.pragmatique.xyz> <niasterisk@grrlz.net>
ng0 <ng0@no-reply.pragmatique.xyz> <ng@niasterisk.space>
ng0 <ng0@no-reply.pragmatique.xyz> <ng0@libertad.pw>
Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public01@thebird.nl>
Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public12@thebird.nl>
Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public12@email>
@@ -66,7 +60,6 @@ Sou Bunnbu (宋文武) <iyzsong@gmail.com>
Sou Bunnbu (宋文武) <iyzsong@gmail.com> <iyzsong@member.fsf.org>
Stefan Reichör <stefan@xsteve.at>
Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
Theodoros Foradis <theodoros.for@openmailbox.org> <theodoros@foradis.org>
Thomas Danckaert <thomas.danckaert@gmail.com> <post@thomasdanckaert.be>
Tobias Geerinckx-Rice <me@tobias.gr> <tobias.geerinckx.rice@gmail.com>
Tomáš Čech <sleep_walker@gnu.org> <sleep_walker@suse.cz>
-10
View File
@@ -5,7 +5,6 @@
Copyright © 2012, 2013, 2014, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
Copyright © 2015, 2017 Mathieu Lirzin <mthl@gnu.org>
Copyright © 2017 Leo Famulari <leo@famulari.name>
Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -62,12 +61,3 @@ after two weeks, and if youre confident, its OK to commit.
That last part is subject to being adjusted, allowing individuals to commit
directly on non-controversial changes on parts theyre familiar with.
* Using emacs-debbugs
Bug reports and patches are tracked using debbugs. If you are on emacs, you
can use emacs-debbugs.
List all open bug reports on guix-patches with
C-u M-x debbugs-gnu <RET> <RET> guix-patches <RET> n y
+29 -50
View File
@@ -6,9 +6,6 @@
# Copyright © 2016, 2017 Mark H Weaver <mhw@netris.org>
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
# Copyright © 2017 Leo Famulari <leo@famulari.name>
# Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
#
# This file is part of GNU Guix.
#
@@ -48,7 +45,6 @@ MODULES = \
guix/hash.scm \
guix/pk-crypto.scm \
guix/pki.scm \
guix/progress.scm \
guix/combinators.scm \
guix/memoization.scm \
guix/utils.scm \
@@ -69,7 +65,6 @@ MODULES = \
guix/gnu-maintenance.scm \
guix/upstream.scm \
guix/licenses.scm \
guix/git.scm \
guix/graph.scm \
guix/cache.scm \
guix/cve.scm \
@@ -81,10 +76,6 @@ MODULES = \
guix/build-system/cmake.scm \
guix/build-system/dub.scm \
guix/build-system/emacs.scm \
guix/build-system/font.scm \
guix/build-system/go.scm \
guix/build-system/meson.scm \
guix/build-system/minify.scm \
guix/build-system/asdf.scm \
guix/build-system/glib-or-gtk.scm \
guix/build-system/gnu.scm \
@@ -95,8 +86,6 @@ MODULES = \
guix/build-system/waf.scm \
guix/build-system/r.scm \
guix/build-system/ruby.scm \
guix/build-system/scons.scm \
guix/build-system/texlive.scm \
guix/build-system/trivial.scm \
guix/ftp-client.scm \
guix/http-client.scm \
@@ -105,19 +94,13 @@ MODULES = \
guix/store.scm \
guix/cvs-download.scm \
guix/svn-download.scm \
guix/i18n.scm \
guix/ui.scm \
guix/build/ant-build-system.scm \
guix/build/download.scm \
guix/build/download-nar.scm \
guix/build/cargo-build-system.scm \
guix/build/cmake-build-system.scm \
guix/build/dub-build-system.scm \
guix/build/emacs-build-system.scm \
guix/build/meson-build-system.scm \
guix/build/minify-build-system.scm \
guix/build/font-build-system.scm \
guix/build/go-build-system.scm \
guix/build/asdf-build-system.scm \
guix/build/git.scm \
guix/build/hg.scm \
@@ -129,15 +112,12 @@ MODULES = \
guix/build/ocaml-build-system.scm \
guix/build/r-build-system.scm \
guix/build/ruby-build-system.scm \
guix/build/scons-build-system.scm \
guix/build/texlive-build-system.scm \
guix/build/waf-build-system.scm \
guix/build/haskell-build-system.scm \
guix/build/store-copy.scm \
guix/build/utils.scm \
guix/build/union.scm \
guix/build/profiles.scm \
guix/build/compile.scm \
guix/build/pull.scm \
guix/build/rpath.scm \
guix/build/cvs.scm \
@@ -153,7 +133,6 @@ MODULES = \
guix/build/make-bootstrap.scm \
guix/search-paths.scm \
guix/packages.scm \
guix/import/print.scm \
guix/import/utils.scm \
guix/import/gnu.scm \
guix/import/snix.scm \
@@ -161,7 +140,6 @@ MODULES = \
guix/import/cran.scm \
guix/import/hackage.scm \
guix/import/elpa.scm \
guix/import/texlive.scm \
guix/scripts.scm \
guix/scripts/download.scm \
guix/scripts/perform-download.scm \
@@ -177,7 +155,6 @@ MODULES = \
guix/scripts/authenticate.scm \
guix/scripts/refresh.scm \
guix/scripts/system.scm \
guix/scripts/system/search.scm \
guix/scripts/lint.scm \
guix/scripts/challenge.scm \
guix/scripts/import/cran.scm \
@@ -185,10 +162,8 @@ MODULES = \
guix/scripts/import/nix.scm \
guix/scripts/import/hackage.scm \
guix/scripts/import/elpa.scm \
guix/scripts/import/texlive.scm \
guix/scripts/environment.scm \
guix/scripts/publish.scm \
guix/scripts/weather.scm \
guix/scripts/edit.scm \
guix/scripts/size.scm \
guix/scripts/graph.scm \
@@ -205,13 +180,11 @@ MODULES += \
guix/import/crate.scm \
guix/import/gem.scm \
guix/import/github.scm \
guix/import/gnome.scm \
guix/import/json.scm \
guix/import/pypi.scm \
guix/import/stackage.scm \
guix/scripts/import/crate.scm \
guix/scripts/import/gem.scm \
guix/scripts/import/json.scm \
guix/scripts/import/pypi.scm \
guix/scripts/import/stackage.scm
@@ -239,9 +212,8 @@ dist_noinst_DATA = guix/tests.scm guix/tests/http.scm
# Auxiliary files for packages.
AUX_FILES = \
gnu/packages/aux-files/emacs/guix-emacs.el \
gnu/packages/aux-files/linux-libre/4.14-arm.conf \
gnu/packages/aux-files/linux-libre/4.14-i686.conf \
gnu/packages/aux-files/linux-libre/4.14-x86_64.conf \
gnu/packages/aux-files/linux-libre/4.11-i686.conf \
gnu/packages/aux-files/linux-libre/4.11-x86_64.conf \
gnu/packages/aux-files/linux-libre/4.9-i686.conf \
gnu/packages/aux-files/linux-libre/4.9-x86_64.conf \
gnu/packages/aux-files/linux-libre/4.4-i686.conf \
@@ -264,6 +236,18 @@ nobase_dist_guilemodule_DATA = \
nobase_nodist_guilemodule_DATA = guix/config.scm
nobase_nodist_guileobject_DATA = $(GOBJECTS)
# Do we need to provide our own non-broken (srfi srfi-37) module?
if INSTALL_SRFI_37
nobase_nodist_guilemodule_DATA += srfi/srfi-37.scm
GOBJECTS += srfi/srfi-37.go
srfi/srfi-37.scm: srfi/srfi-37.scm.in
$(MKDIR_P) srfi
cp "$<" "$@"
endif INSTALL_SRFI_37
# Handy way to remove the .go files without removing all the rest.
clean-go:
-$(RM) -f $(GOBJECTS)
@@ -288,7 +272,6 @@ SCM_TESTS = \
tests/hash.scm \
tests/pk-crypto.scm \
tests/pki.scm \
tests/print.scm \
tests/sets.scm \
tests/modules.scm \
tests/gnu-maintenance.scm \
@@ -308,7 +291,6 @@ SCM_TESTS = \
tests/hackage.scm \
tests/cran.scm \
tests/elpa.scm \
tests/texlive.scm \
tests/store.scm \
tests/monads.scm \
tests/gexp.scm \
@@ -330,7 +312,6 @@ SCM_TESTS = \
tests/workers.scm \
tests/zlib.scm \
tests/file-systems.scm \
tests/uuid.scm \
tests/system.scm \
tests/services.scm \
tests/scripts-build.scm \
@@ -416,7 +397,7 @@ check-system: $(GOBJECTS) $(BOOTSTRAP_GUILE_TARBALLS)
# Public key used to sign substitutes from hydra.gnu.org & co.
dist_pkgdata_DATA = \
hydra.gnu.org.pub \
berlin.guixsd.org.pub
bayfront.guixsd.org.pub
# Bash completion file.
dist_bashcompletion_DATA = etc/completion/bash/guix
@@ -435,7 +416,6 @@ EXTRA_DIST = \
build-aux/hydra/evaluate.scm \
build-aux/hydra/gnu-system.scm \
build-aux/hydra/guix.scm \
build-aux/hydra/guix-modular.scm \
build-aux/check-available-binaries.scm \
build-aux/check-final-inputs-self-contained.scm \
build-aux/download.scm \
@@ -446,6 +426,7 @@ EXTRA_DIST = \
build-aux/run-system-tests.scm \
d3.v3.js \
graph.js \
srfi/srfi-37.scm.in \
srfi/srfi-64.scm \
srfi/srfi-64.upstream.scm \
tests/test.drv \
@@ -584,7 +565,7 @@ SOURCE_TARBALLS = \
$(foreach ext,tar.gz,$(PACKAGE_FULL_TARNAME).$(ext))
# Systems supported by Guix.
SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux armhf-linux aarch64-linux
SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux armhf-linux
# Guix binary tarballs.
BINARY_TARBALLS = \
@@ -597,11 +578,17 @@ GUIXSD_SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux
GUIXSD_VM_SYSTEMS ?= x86_64-linux
# Prefix of the GuixSD installation image file name.
GUIXSD_IMAGE_BASE = guixsd-install-$(PACKAGE_VERSION)
GUIXSD_IMAGE_BASE = guixsd-usb-install-$(PACKAGE_VERSION)
# Prefix of the GuixSD VM image file name.
GUIXSD_VM_IMAGE_BASE = guixsd-vm-image-$(PACKAGE_VERSION)
# Size of the installation image (for x86_64 typically).
GUIXSD_INSTALLATION_IMAGE_SIZE ?= 950MiB
# Size of the VM image (for x86_64 typically).
GUIXSD_VM_IMAGE_SIZE ?= 2GiB
# The release process works in several phases:
#
# 0. We assume the developer created a 'vX.Y' tag.
@@ -645,21 +632,22 @@ release: dist
for system in $(GUIXSD_SUPPORTED_SYSTEMS) ; do \
image=`$(top_builddir)/pre-inst-env \
guix system disk-image \
--file-system-type=iso9660 \
--system=$$system \
--image-size=$(GUIXSD_INSTALLATION_IMAGE_SIZE) \
gnu/system/install.scm` ; \
if [ ! -f "$$image" ] ; then \
echo "failed to produced GuixSD installation image for $$system" >&2 ; \
exit 1 ; \
fi ; \
xz < "$$image" > "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.iso.xz.tmp" ; \
mv "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.iso.xz.tmp" \
"$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.iso.xz" ; \
xz < "$$image" > "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.xz.tmp" ; \
mv "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.xz.tmp" \
"$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.xz" ; \
done
for system in $(GUIXSD_VM_SYSTEMS) ; do \
image=`$(top_builddir)/pre-inst-env \
guix system vm-image \
--system=$$system \
--image-size=$(GUIXSD_VM_IMAGE_SIZE) \
gnu/system/examples/vm-image.tmpl` ; \
if [ ! -f "$$image" ] ; then \
echo "failed to produced GuixSD VM image for $$system" >&2 ; \
@@ -719,15 +707,6 @@ hydra-jobs.scm: $(GOBJECTS)
"$(top_srcdir)/build-aux/hydra/gnu-system.scm" > "$@.tmp"
$(AM_V_at)mv "$@.tmp" "$@"
# Compute the Cuirass jobs and write them in the target file.
cuirass-jobs.scm: $(GOBJECTS)
$(AM_V_at)$(MKDIR_P) "`dirname "$@"`"
$(AM_V_GEN)$(top_builddir)/pre-inst-env "$(GUILE)" \
"$(top_srcdir)/build-aux/hydra/evaluate.scm" \
"$(top_srcdir)/build-aux/cuirass/gnu-system.scm" \
cuirass > "$@.tmp"
$(AM_V_at)mv "$@.tmp" "$@"
.PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version
.PHONY: assert-no-store-file-names assert-binaries-available
.PHONY: assert-final-inputs-self-contained
-801
View File
@@ -10,807 +10,6 @@ Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 0.14.0 (since 0.13.0)
** Package management
*** guix package displays how much will be downloaded
*** guix package warns about insufficient disk space
*** guix package now reports package collisions early on
*** guix package --search sorts results by relevance
*** guix pull now fetches code directly over Git using Guile-Git
*** Substitutes can be downloaded from servers equivalent to the authorized ones
*** New guix-daemon options: --listen, --timeout, --max-silent-time
*** New guix weather command
*** guix publish --cache now also caches uncompressed items
*** guix publish no longer removes live items from its cache
*** guix challenge now displays an overall summary
*** guix refresh no longer uses FTP for GNU and GNOME packages
*** guix refresh has a new -m or --manifest option
*** New refresh checker for guix lint
*** New json importer for guix import to simplify first packages
*** New texlive importer for guix import
** Distribution
*** GuixSD installation image is now available as ISO-9660
*** GuixSD installation image now includes an sshd service
*** New (gnu bootloaders) API, with support for U-Boot and extlinux
*** grub-configuration is deprecated in favor of bootloader-configuration
*** %desktop-services now includes NetworkManager instead of Wicd
*** The (uuid …) form can now specify FAT32 and ISO-9660 UUIDs
*** guix system now reports missing file system UUIDs and labels
*** guix system can provide hints when reporting unbound variables
*** New --file-system-type option for guix system disk-image
*** guix system disk-image can now creates ISO-9660 images
*** guix system vm-image & co. automatically estimate the image size
*** guix system vm now uses overlayfs instead of unionfs
*** guix system init displays a progress bar while copying files
*** TeX Live is now also available as a set of small texlive- packages
*** New guix system search command to search for services
*** New services
certbot, fcgiwrap, gdm, git-http, knot, libvirt, memcached, mongodb, mpd,
murmur, rsync, tailon, sysctl
*** 1211 new packages
0xffff, adms, aegisub, android-udev-rules, ant-apache-bcel, ant-junit,
archivemount, armagetronad, asco, aspell-dict-ca, atool, axoloti-patcher,
axoloti-runtime, bap, bismark, bitshuffle, blis, blis-haswell, blis-knl,
blis-sandybridge, bmon, cadaver, caja, capstone, cataclysm-dda, catcodec,
cheese, cinnamon-desktop, cl-unicode, cl-yale-haskell, classpath, cloc,
cmdtest, conda, coq-bignums, coq-coquelicot, coq-flocq, coq-gappa,
coq-interval, coq-mathcomp, cowsay, cpputest, cpuid, crawl-tiles, criu,
crypto++, cube, cubicle, ddate, deja-dup, dino, dirvish, discount,
disorderfs, dos2unix, dssi, ebtables, ecl-cl-unicode, eid-mw, eless,
emacs-2048-game, emacs-autothemer, emacs-base16-theme,
emacs-bash-completion, emacs-browse-at-remote, emacs-cnfonts,
emacs-company-quickhelp, emacs-dired-hacks, emacs-direnv,
emacs-disable-mouse, emacs-easy-kill, emacs-el2org, emacs-emamux,
emacs-engine-mode, emacs-erc-hl-nicks, emacs-evil-matchit, emacs-exwm-x,
emacs-ggtags, emacs-git-messenger, emacs-gitpatch, emacs-go-mode,
emacs-graphviz-dot-mode, emacs-helm-make, emacs-helm-projectile,
emacs-helm-swoop, emacs-highlight-stages, emacs-highlight-symbol,
emacs-idris-mode, emacs-inf-ruby, emacs-jinja2-mode, emacs-json-snatcher,
emacs-julia-mode, emacs-minitest, emacs-mustache, emacs-nix-mode,
emacs-olivetti, emacs-org-contrib, emacs-org-edit-latex,
emacs-org-pomodoro, emacs-org2web, emacs-pos-tip, emacs-prop-menu,
emacs-pyim, emacs-pyim-basedict, emacs-rainbow-mode, emacs-restclient,
emacs-rpm-spec-mode, emacs-rspec, emacs-sparql-mode, emacs-sr-speedbar,
emacs-switch-window, emacs-tablist, emacs-tiny, emacs-transmission,
emacs-tuareg, emacs-wgrep, emacs-which-key, emacs-writeroom,
emacs-yasnippet-snippets, eog-plugins, eolie, es-dump-restore, escpr, et,
f-seq, f2fs-tools, faba-icon-theme, fbreader, ffms2, five-or-more,
florence, font-dosis, font-fira-sans, font-lato, font-mathjax,
font-open-dyslexic, font-rachana, foo2zjs, foomatic-filters, footswitch,
fping, freehdl, frei0r-plugins, fstrm, fzy, gama, gavl, gemma, geomyidae,
gess, ghc-abstract-deque, ghc-abstract-par, ghc-aws, ghc-base-prelude,
ghc-boxes, ghc-chunked-data, ghc-conduit-combinators,
ghc-contravariant-extras, ghc-crypto-api, ghc-crypto-api-tests,
ghc-cryptohash-md5, ghc-cryptohash-sha1, ghc-data-hash, ghc-edisonapi,
ghc-edisoncore, ghc-edit-distance, ghc-either, ghc-entropy,
ghc-equivalence, ghc-erf, ghc-errors, ghc-fail, ghc-foldl,
ghc-geniplate-mirror, ghc-gitrev, ghc-glob, ghc-hex, ghc-http-conduit,
ghc-http-date, ghc-http2, ghc-language-haskell-extract, ghc-math-functions,
ghc-monad-par, ghc-monad-par-extras, ghc-monadplus, ghc-monadrandom,
ghc-mono-traversable, ghc-murmur-hash, ghc-mwc-random, ghc-network-info,
ghc-pretty-hex, ghc-psqueues, ghc-puremd5, ghc-rebase, ghc-simple-sendfile,
ghc-statistics, ghc-stmonadtrans, ghc-strict, ghc-test-framework-th,
ghc-tuple-th, ghc-uuid, ghc-uuid-types, ghc-vector-algorithms,
ghc-vector-builder, ghc-vector-th-unbox, ghc-wai-conduit, ghc-warp,
ghc-warp-tls, ghostscript-with-cups, git-remote-gcrypt, git-repo,
glusterfs, gnome-clocks, gnome-default-applications, gnome-planner,
gnome-todo, gnome-video-effects, gnucobol, gnutls-dane,
go-github-com-audriusbutkevicius-cli,
go-github-com-audriusbutkevicius-go-nat-pmp,
go-github-com-audriusbutkevicius-kcp-go,
go-github-com-audriusbutkevicius-pfilter, go-github-com-bkaradzic-go-lz4,
go-github-com-calmh-du, go-github-com-calmh-xdr,
go-github-com-ccding-go-stun,
go-github-com-chmduquesne-rollinghash-adler32,
go-github-com-d4l3k-messagediff, go-github-com-edsrzf-mmap-go,
go-github-com-gobwas-glob, go-github-com-gogo-protobuf,
go-github-com-gogo-protobuf-protoc-gen-gogo,
go-github-com-golang-groupcache-lru, go-github-com-golang-snappy,
go-github-com-jackpal-gateway, go-github-com-kardianos-osext,
go-github-com-kballard-go-shellquote, go-github-com-lib-pq,
go-github-com-minio-sha256-simd, go-github-com-oschwald-geoip2-golang,
go-github-com-oschwald-maxminddb-golang, go-github-com-petermattis-goid,
go-github-com-pkg-errors, go-github-com-rcrowley-go-metrics,
go-github-com-sasha-s-go-deadlock, go-github-com-stathat-go,
go-github-com-syndtr-goleveldb, go-github-com-templexxx-cpufeat,
go-github-com-templexxx-reedsolomon, go-github-com-templexxx-xor,
go-github-com-thejerf-suture, go-github-com-tjfoc-gmsm-sm4,
go-github-com-vitrun-qart-coding, go-github-com-vitrun-qart-gf256,
go-github-com-vitrun-qart-qr, go-github-com-xtaci-smux,
go-github-com-zillode-notify, go-golang-org-x-crypto-bcrypt,
go-golang-org-x-crypto-blowfish, go-golang-org-x-crypto-cast5,
go-golang-org-x-crypto-pbkdf2, go-golang-org-x-crypto-salsa20,
go-golang-org-x-crypto-tea, go-golang-org-x-crypto-twofish,
go-golang-org-x-crypto-xtea, go-golang-org-x-net-bpf,
go-golang-org-x-net-context, go-golang-org-x-net-internal-iana,
go-golang-org-x-net-ipv4, go-golang-org-x-net-ipv6,
go-golang-org-x-net-proxy, go-golang-org-x-sys-unix,
go-golang-org-x-text-transform, go-golang-org-x-text-unicode-norm,
go-golang-org-x-time-rate, godot, gpa, gpick, grfcodec, groff-minimal,
grub-hybrid, gsound, gspell, gst-transcoder, gst123, guile-colorized,
guile-dsv, guile-libctl, guile-ncurses-with-gpm, guile-wiredtiger,
guile2.0-bytestructures, guile2.0-git, guile2.0-gnutls, guile2.0-guix,
guile2.0-lib, gwl, harminv, hdf-java, heimdall, ht, hugin,
hunspell-dict-en, hunspell-dict-en-au, hunspell-dict-en-ca,
hunspell-dict-en-gb, hunspell-dict-en-gb-ize, hunspell-dict-en-us,
hunspell-dict-fr, hunspell-dict-fr-moderne, hunspell-dict-fr-reforme1990,
hunspell-dict-fr-toutesvariantes, ibutils, icedtea-web, igraph, ikiwiki,
imb-openmpi, imp, infiniband-diags, jamvm, java-aopalliance,
java-aqute-bnd-annotation, java-aqute-bndlib, java-aqute-libg,
java-assertj, java-bouncycastle-bcpkix, java-bouncycastle-bcprov, java-bsh,
java-classpathx-servletapi, java-cofoja, java-commons-bcel,
java-commons-beanutils, java-commons-collections, java-commons-csv,
java-commons-jexl, java-datanucleus-javax-persistence,
java-eclipse-jetty-http, java-eclipse-jetty-http, java-eclipse-jetty-io,
java-eclipse-jetty-io, java-eclipse-jetty-jmx, java-eclipse-jetty-jmx,
java-eclipse-jetty-perf-helper, java-eclipse-jetty-security,
java-eclipse-jetty-security, java-eclipse-jetty-server,
java-eclipse-jetty-server, java-eclipse-jetty-servlet,
java-eclipse-jetty-servlet, java-eclipse-jetty-test-helper,
java-eclipse-jetty-util, java-eclipse-jetty-util,
java-fasterxml-jackson-annotations, java-fasterxml-jackson-core,
java-fasterxml-jackson-databind, java-fasterxml-jackson-dataformat-xml,
java-fasterxml-jackson-dataformat-yaml,
java-fasterxml-jackson-modules-base-jaxb, java-fest-assert, java-fest-test,
java-fest-util, java-geronimo-xbean-reflect, java-guice,
java-guice-servlet, java-hdrhistogram, java-iq80-snappy, java-javaewah,
java-javax-inject, java-jboss-javassist, java-jboss-jms-api-spec,
java-jbzip2, java-jcommander, java-jdom, java-jeromq, java-jgit, java-jgit,
java-jmock-junit4, java-jmock-legacy, java-jnacl, java-kafka-clients,
java-lmax-disruptor, java-log4j-1.2-api, java-log4j-core, java-lz4,
java-mail, java-microemulator-cldc, java-mvel2, java-ops4j-base-io,
java-ops4j-base-lang, java-ops4j-base-monitors, java-ops4j-base-spi,
java-ops4j-base-store, java-ops4j-base-util, java-ops4j-base-util-property,
java-ops4j-pax-exam-core, java-ops4j-pax-exam-core-junit,
java-ops4j-pax-exam-core-spi, java-ops4j-pax-tinybundles, java-osgi-cmpn,
java-osgi-dto, java-osgi-framework, java-osgi-namespace-contract,
java-osgi-namespace-extender, java-osgi-namespace-service,
java-osgi-resource, java-osgi-service-cm,
java-osgi-service-component-annotations, java-osgi-service-jdbc,
java-osgi-service-log, java-osgi-service-metatype-annotations,
java-osgi-service-packageadmin, java-osgi-service-repository,
java-osgi-service-resolver, java-osgi-util-function,
java-osgi-util-promise, java-osgi-util-tracker, java-picard, java-picard,
java-plexus-archiver, java-plexus-classworlds,
java-plexus-container-default, java-plexus-container-default-bootstrap,
java-plexus-io, java-powermock-api-easymock, java-powermock-api-support,
java-powermock-core, java-powermock-modules-junit4,
java-powermock-modules-junit4-common, java-powermock-reflect,
java-slf4j-api, java-slf4j-simple, java-snakeyaml, java-snappy,
java-snappy, java-stax2-api, java-stringtemplate, java-stringtemplate,
java-testng, java-tomcat, java-tukaani-xz, java-woodstox-core,
java-xerial-core, javacc, javacc, jmtpfs, jo, john-the-ripper-jumbo,
js-datatables, js-es5-shim, js-highlight, js-html5shiv, js-json2,
js-mathjax, js-respond, js-selectize, js-strftime, kaiju, kallisto,
kbd-neo, kde-frameworkintegration, kdelibs4support, kdewebkit, keepassxc,
kentutils, khtml, kjs, kjsembed, kmediaplayer, kodi-cli, kross, leocad,
libdmtx, libdvbpsi, libebml, libechonest, libfabric, libgc-back-pointers,
libgdata, libgxps, libinfinity, liblinebreak, libmatekbd, libmatemixer,
libmatroska, libmd, libmediainfo, libnet, libngspice, liboauth, libproxy,
libserialport, libsignal-protocol-c, libsigrok, libsigrokdecode, libzen,
libzip, linenoise, linkchecker, linux-libre-arm-omap2plus, livemedia-utils,
loksh, lollypop, ltris, lua5.1-bitop, lv2-devel, lxc, lxqt-build-tools,
lziprecover, marco, masscan, mate, mate-applets, mate-control-center,
mate-media, mate-panel, mate-session-manager, mate-settings-daemon,
mate-terminal, mediainfo, meep, memcached, mescc-tools, mgba, minicom,
mksh, mkvtoolnix, monero, monero-core, mongodb, motti, mpb, mtr, mujs,
multitail, musescore, mygui, ncurses-with-gpm, network-manager-openvpn,
newsboat, nftables, nginx-documentation, ngspice, nlohmann-json-cpp, nml,
nototools, nxbelld, nzbget, ocaml-async, ocaml-async-extra,
ocaml-async-kernel, ocaml-async-rpc-kernel, ocaml-async-unix,
ocaml-camomile, ocaml-core, ocaml-core-kernel, ocaml-cstruct,
ocaml-easy-format, ocaml-ezjsonm, ocaml-graph, ocaml-hex, ocaml-jbuilder,
ocaml-lambda-term, ocaml-ocplib-endian, ocaml-piqi, ocaml-piqilib,
ocaml-ppx-bin-prot, ocaml-ppx-custom-printf, ocaml-ppx-expect,
ocaml-ppx-fail, ocaml-ppx-fields-conv, ocaml-ppx-jane, ocaml-ppx-pipebang,
ocaml-ppx-sexp-message, ocaml-ppx-sexp-value, ocaml-re, ocaml-uri,
ocaml-utop, ocaml-uuidm, ocaml-zed, ogre, ois, oksh, opari2,
open-adventure, openfoam, openmolar, openmpi-thread-multiple, openmw,
openrct2, openscenegraph, opensm, optcomp, os-prober, otf2, packagekit,
paml, papagayo, papi, parcimonie, pass-git-helper, pdsh,
perl-archive-extract, perl-b-keywords, perl-browser-open, perl-carp-always,
perl-cgi-session, perl-clone-pp, perl-convert-binhex,
perl-crypt-random-source, perl-data, perl-data-perl, perl-data-printer,
perl-data-record, perl-devel-cycle, perl-devel-hide, perl-file-basedir,
perl-file-configdir, perl-file-desktopentry, perl-file-mimeinfo,
perl-file-sharedir-dist, perl-gnupg-interface, perl-hash-fieldhash,
perl-html-scrubber, perl-html-tidy, perl-importer, perl-libintl-perl,
perl-libtime-parsedate, perl-libtime-period, perl-list-moreutils-xs,
perl-lwp-online, perl-mailtools, perl-math-random-isaac,
perl-math-random-isaac-xs, perl-math-random-secure, perl-mime-tools,
perl-moox, perl-moox-cmd, perl-moox-configfromfile,
perl-moox-file-configdir, perl-moox-handlesvia, perl-moox-late,
perl-moox-options, perl-net-dbus, perl-net-dbus-glib, perl-net-idn-encode,
perl-params-validationcompiler, perl-parse-recdescent,
perl-proc-invokeeditor, perl-ref-util-xs, perl-regexp-util,
perl-sort-naturally, perl-specio, perl-sub-info, perl-term-size-any,
perl-term-size-perl, perl-term-table, perl-test-command,
perl-test-cpan-meta, perl-test-cpan-meta-json, perl-test-eol,
perl-test-file-sharedir-dist, perl-test-memory-cycle, perl-test-notabs,
perl-test-taint, perl-test2-bundle-extended, perl-test2-plugin-nowarnings,
perl-text-markdown-discount, perl-text-template, perl-tree-xpathengine,
perl-type-tie, perl-type-tiny, perl-type-tiny-xs, perl-types-path-tiny,
perl-xml-filter-buffertext, perl-xml-handler-yawriter, perl-xml-sax-writer,
perl-xml-twig, perl-xml-xpathengine, perl-yaml-libyaml, phylip, pidentd,
plink-ng, pngcrush, polyml, premake, prison, procenv, protobuf-c, psm,
pt-scotch32, pulsemixer, pulseview, pydf, python-anaconda-client,
python-ansi2html, python-apache-libcloud, python-apispec,
python-asn1crypto, python-attrs, python-automat, python-backpack,
python-backports-csv, python-behave-web-api, python-betamax-matchers,
python-bottle, python-capstone, python-capturer, python-cbor, python-clf,
python-clyent, python-coloredlogs, python-colormath, python-conda,
python-constantly, python-dukpy, python-editdistance, python-flaky,
python-flasgger, python-flask-httpauth, python-flask-migrate,
python-flask-principal, python-flask-script, python-flex, python-genshi,
python-ghp-import, python-grako, python-graphviz,
python-guzzle-sphinx-theme, python-honcho, python-html5-parser,
python-humanfriendly, python-igraph, python-incremental,
python-internetarchive, python-jsonpatch, python-jsonpatch,
python-jsonpointer, python-jsonrpclib-pelix, python-linecache2,
python-lmdb, python-lzstring, python-m2r, python-marshmallow,
python-misaka, python-networkx2, python-nose-randomly, python-nose-timer,
python-numpy-next, python-packaging, python-parameterized, python-pastel,
python-pbr-minimal, python-pendulum, python-pkginfo, python-py-ubjson,
python-py2bit, python-pyaes, python-pyalsaaudio, python-pycanberra,
python-pyclipper, python-pydiff, python-pydot, python-pynacl,
python-pyodbc, python-pyqrcode, python-pyqt+qscintilla, python-pysocks,
python-pytest-capturelog, python-pytzdata, python-qscintilla, python-radon,
python-ratelimiter, python-regex, python-relatorio, python-rencode,
python-rfc3987, python-ruamel.yaml, python-schedule, python-schema,
python-schema, python-setuptools-scm-git-archive, python-smmap2,
python-spectra, python-sphinxcontrib-websupport, python-sql, python-sure,
python-swagger-spec-validator, python-tornado-http-auth, python-tqdm,
python-traceback2, python-twine, python-uniseg, python-uritemplate,
python-validate-email, python-verboselogs, python-xapian-bindings,
python-xenon, python-xsge, python2-anaconda-client, python2-aniso8601,
python2-ansi2html, python2-apache-libcloud, python2-apispec,
python2-asn1crypto, python2-attrs, python2-automat, python2-backpack,
python2-backports-csv, python2-behave-web-api, python2-betamax-matchers,
python2-booleanoperations, python2-bottle, python2-capstone,
python2-capturer, python2-clf, python2-clyent, python2-coloredlogs,
python2-colormath, python2-conda, python2-constantly, python2-couleur,
python2-defcon, python2-dukpy, python2-flaky, python2-flasgger,
python2-flask-httpauth, python2-flask-migrate, python2-flask-principal,
python2-flask-script, python2-flex, python2-genshi, python2-ghp-import,
python2-grako, python2-graphviz, python2-guzzle-sphinx-theme,
python2-honcho, python2-html5-parser, python2-htseq, python2-httpretty,
python2-humanfriendly, python2-incremental, python2-internetarchive,
python2-jsonpatch, python2-jsonpatch, python2-jsonpointer,
python2-jsonrpclib-pelix, python2-libmpsse, python2-linecache2,
python2-lmdb, python2-lzstring, python2-m2r, python2-marshmallow,
python2-misaka, python2-neo4j-driver, python2-networkx2,
python2-nose-randomly, python2-nose-timer, python2-numpy-next,
python2-packaging, python2-parameterized, python2-parse-type,
python2-pastel, python2-pbr-minimal, python2-pendulum, python2-pgpdump,
python2-pkginfo, python2-py2neo, python2-pyaes, python2-pyalsaaudio,
python2-pyclipper, python2-pydiff, python2-pydot, python2-pyodbc,
python2-pyopengl, python2-pysocks, python2-pytest-capturelog,
python2-pytzdata, python2-radon, python2-ratelimiter, python2-rednose,
python2-regex, python2-relatorio, python2-rencode,
python2-requests-toolbelt, python2-rfc3987, python2-roca-detect,
python2-ruamel.yaml, python2-schedule, python2-schema, python2-schema,
python2-setuptools-scm-git-archive, python2-smmap2, python2-spectra,
python2-sql, python2-steadymark, python2-sure,
python2-swagger-spec-validator, python2-tqdm, python2-traceback2,
python2-twine, python2-ufolib, python2-uniseg, python2-uritemplate,
python2-validate-email, python2-verboselogs, python2-xenon, python2-xsge,
qgpgme, qjson, qmidiroute, qscintilla, qtnetworkauth, qtremoteobjects,
qtspeech, quagga, qucs, qucs-s, r-annotationfilter, r-annotationhub,
r-aroma-light, r-auc, r-bbmle, r-bindr, r-bindrcpp, r-biovizbase, r-blob,
r-broom, r-calibrate, r-circlize, r-compare, r-complexheatmap,
r-copynumber, r-corrplot, r-crosstalk, r-cvst, r-dbplyr, r-ddalpha,
r-dendextend, r-deseq, r-dexseq, r-dimred, r-directlabels,
r-dirichletmultinomial, r-distillery, r-drr, r-edaseq, r-emdbook, r-energy,
r-ensembldb, r-erma, r-extremes, r-fastmatch, r-fastseg, r-fdrtool, r-ff,
r-ffbase, r-fit-models, r-fitdistrplus, r-fithic, r-forcats, r-gage,
r-genomicfiles, r-getoptlong, r-ggally, r-ggbio, r-ggdendro, r-ggrepel,
r-globaloptions, r-glue, r-gower, r-gprofiler, r-gqtlbase, r-gqtlstats,
r-gviz, r-gwascat, r-hardyweinberg, r-hitc, r-homo-sapiens, r-inline,
r-interactivedisplaybase, r-ipred, r-keggrest, r-ksamples, r-laeken,
r-lava, r-ldblock, r-limsolve, r-lmoments, r-lmtest, r-lpsolve,
r-lubridate, r-methylkit, r-mice, r-organismdbi, r-pcapp, r-pdist,
r-performanceanalytics, r-pkgconfig, r-png, r-powerlaw, r-prettyunits,
r-prodlim, r-progress, r-proxy, r-psych, r-qvalue, r-rcpproll, r-recipes,
r-reshape, r-rgraphviz, r-rlang, r-rmpi, r-rmtstat, r-rmysql, r-robust,
r-rook, r-rrcov, r-rsofia, r-shape, r-shiny, r-sm, r-snpstats, r-sp,
r-sparql, r-stringdist, r-suppdists, r-sushi, r-tgconfig, r-tgstat,
r-tidyselect, r-timedate, r-vcd, r-vioplot, r-xts, radare2, retux,
ritornello, rmath-standalone, roguebox-adventures, rosegarden, rss-bridge,
rtl-sdr, ruby-code-statistics, ruby-highline, ruby-httpclient,
ruby-multi-json, ruby-options, ruby-progress_bar, ruby-rubyzip, s-shell,
sakura, sbcl-cl-ppcre-unicode, sbcl-cl-uglify-js, sbcl-cl-unicode,
sbcl-iterate, sbcl-parse-js, sbcl-parse-number, scons-python2,
scorep-openmpi, scotch32, sigrok-cli, sigrok-firmware-fx2lafw,
simplescreenrecorder, smu, snd, sooperlooper, sorcer, spectrwm, spiped,
sqlite-with-fts3, stgit, syncthing, tadbit, texlive-bin, texlive-dvips,
texlive-fontname, texlive-fonts-amsfonts, texlive-fonts-cm,
texlive-fonts-ec, texlive-fonts-knuth-lib, texlive-fonts-latex,
texlive-fonts-rsfs, texlive-fonts-stmaryrd, texlive-fonts-txfonts,
texlive-generic-babel-english, texlive-generic-dehyph-exptl,
texlive-generic-epsf, texlive-generic-hyph-utf8, texlive-generic-ifxetex,
texlive-generic-pdftex, texlive-generic-tex-ini-files,
texlive-generic-unicode-data, texlive-latex-acmart, texlive-latex-acronym,
texlive-latex-amscls, texlive-latex-amsfonts, texlive-latex-amsmath,
texlive-latex-amsrefs, texlive-latex-anysize, texlive-latex-appendix,
texlive-latex-babel, texlive-latex-base, texlive-latex-bigfoot,
texlive-latex-blindtext, texlive-latex-capt-of, texlive-latex-changebar,
texlive-latex-cmap, texlive-latex-colortbl, texlive-latex-cyrillic,
texlive-latex-dinbrief, texlive-latex-draftwatermark, texlive-latex-eepic,
texlive-latex-enumitem, texlive-latex-environ, texlive-latex-eqparbox,
texlive-latex-eso-pic, texlive-latex-etoolbox, texlive-latex-expdlist,
texlive-latex-fancybox, texlive-latex-fancyhdr, texlive-latex-fancyvrb,
texlive-latex-filecontents, texlive-latex-filemod, texlive-latex-float,
texlive-latex-fncychap, texlive-latex-fontspec, texlive-latex-footmisc,
texlive-latex-framed, texlive-latex-g-brief, texlive-latex-galois,
texlive-latex-gcite, texlive-latex-geometry, texlive-latex-graphics,
texlive-latex-hyperref, texlive-latex-ifplatform, texlive-latex-jknapltx,
texlive-latex-l3kernel, texlive-latex-l3packages, texlive-latex-lh,
texlive-latex-listings, texlive-latex-mdwtools, texlive-latex-multirow,
texlive-latex-natbib, texlive-latex-oberdiek, texlive-latex-overpic,
texlive-latex-parskip, texlive-latex-pdfpages, texlive-latex-polyglossia,
texlive-latex-preview, texlive-latex-psfrag, texlive-latex-psnfss,
texlive-latex-pstool, texlive-latex-seminar, texlive-latex-subfigure,
texlive-latex-supertabular, texlive-latex-tabulary,
texlive-latex-threeparttable, texlive-latex-titlesec, texlive-latex-tools,
texlive-latex-trimspaces, texlive-latex-type1cm, texlive-latex-ucs,
texlive-latex-upquote, texlive-latex-url, texlive-latex-varwidth,
texlive-latex-wasysym, texlive-latex-wrapfig, texlive-latex-xcolor,
texlive-luatex-lualibs, texlive-metafont-base, texlive-metapost,
texlive-tex-plain, texlive-tex-texinfo, texlive-tiny, thc-ipv6, tidyp,
tklib, tmuxifier, tome4, toxic, translate-shell, trim-galore, tryton,
trytond, u-boot-odroid-c2, uglify-js, uim, uim-gtk, uim-qt, unbound,
unshield, vcsh, vim-fugitive, virtuoso-ose, vpnc-scripts, websockify,
wget2, wine-next, wine64, xautolock, xautomation, xdg-user-dirs,
xf86-video-freedreno, xmobar, xpra, xsel, xxd, xyce-parallel, xyce-serial,
z3, zathura-pdf-mupdf
*** 1403 package updates
0ad-data@0.0.22-alpha, 0ad@0.0.22-alpha, acct@6.6.4,
adwaita-icon-theme@3.26.0, aisleriot@3.22.4, allegro@5.2.2.0, alot@0.5.1,
alsa-lib@1.1.4.1, alsa-plugins@1.1.4, alsa-utils@1.1.4,
american-fuzzy-lop@2.49b, ansible@2.4.1.0, ant@1.10.1, apr-util@1.6.1,
apr@1.6.3, ardour@5.12, aria2@1.33.1, arm-none-eabi-nano-toolchain@6.4.0,
arm-none-eabi-toolchain@6.4.0, artanis@0.2.1-3, asciinema@1.4.0,
asn1c@0.9.28, aspell-dict-en@2017.01.22-0, at-spi2-atk@2.24.1,
at-spi2-core@2.24.1, atk@2.24.0, attica@5.39.0, audacity@2.2.0,
augeas@1.8.1, autoconf-archive@2017.09.28, autoconf@2.69, automake@1.15.1,
avr-binutils@2.28, awesome@4.2, awscli@1.11.185, babl@0.1.30, baloo@5.39.0,
baobab@3.26.1, bash-completion@2.7, bcftools@1.5, bdb@6.2.32, bdftopcf@1.1,
beets@1.4.5, biber@2.7, bigloo@4.3a, bind@9.11.2,
binutils-static-stripped-tarball@2.28, binutils@2.28, bison@3.0.4,
bitcoin-core@0.15.1, blast+@2.6.0, blender@2.79, bluefish@2.2.10,
bluez-qt@5.39.0, bluez@5.47, boost@1.64.0, borg@1.1.3, bowtie@2.3.2,
brasero@3.12.2, breeze-icons@5.39.0, bspwm@0.9.3, btrfs-progs-static@4.14,
btrfs-progs@4.14, bundler@1.15.4, busybox@1.26.2, bwa@0.7.17,
c-ares@1.13.0, c-toxcore@0.1.10, cairo-xcb@1.14.10, cairo@1.14.10,
calcurse@4.2.2, calf@0.90.0, calibre@3.11.1, capnproto@0.6.1, catimg@2.4.0,
cbatticon@1.6.6, ccid@1.4.28, cd-hit@4.6.8, cdogs-sdl@0.6.6,
certbot@0.19.0, check@0.11.0, chess@6.2.5, chromaprint@1.4.2, clang@3.6.2,
clang@3.7.1, clang@3.8.1, clang@3.9.1, claws-mail@3.15.1, clisp@2.49-60,
clustal-omega@1.2.4, clutter-gst@3.0.24, clutter@1.26.2, cmark@0.28.0,
cmocka@1.1.1, coda@2.18.3, conkeror@1.1.0, connman@1.35, coq@8.7.0,
coreutils-minimal@8.27, coreutils@8.27, cppcheck@1.81, cpphs@1.20.8,
cpupower@4.14.3, crawl@0.20.1, csound@6.09.1, cuirass@0.0.1-10.9cfea9f,
cups-filters@1.17.7, cups-minimal@2.2.4, cups@2.2.4, curl@7.55.1,
curl@7.57.0, cutadapt@1.14, cvs-fast-export@1.43, darktable@2.2.5,
datamash@1.2, dbus@1.10.22, dconf-editor@3.26.2, dconf@0.26.1,
dealii-openmpi@8.5.1, dealii@8.5.1, deeptools@2.5.1, dejagnu@1.6.1,
deutex@5.0.0, devhelp@3.26.0, di@4.44, dialog@1.3-20170509, diamond@0.9.13,
diffoscope@88, diffutils@3.6, ding-libs@0.6.1, dlib@19.7, dnsmasq@2.78,
dovecot@2.2.33.2, drumkv1@0.8.5, dtc@1.4.5, dub@1.5.0, dunst@1.2.0,
e2fsck-static@1.43.6, e2fsprogs@1.43.6, ed@1.14.2, edi@0.5.1, efl@1.20.6,
electrum@3.0, elixir@1.5.2, elogind@232.4, emacs-adaptive-wrap@0.5.1,
emacs-ahungry-theme@1.8.0, emacs-async@1.9.2, emacs-auctex@11.91.0,
emacs-cider@0.15.0, emacs-cyberpunk-theme@1.19, emacs-ebuild-mode@1.37,
emacs-elfeed@2.2.0, emacs-emms@4.4, emacs-ess@16.10, emacs-evil@1.2.13,
emacs-exwm@0.15, emacs-f@0.19.0, emacs-guix@0.3.3, emacs-helm@2.8.5,
emacs-hl-todo@1.8.0, emacs-hydra@0.14.0, emacs-iedit@0.9.9.9,
emacs-lua-mode@20151025.1-652e299cb, emacs-magit-popup@2.12.0,
emacs-markdown-mode@2.3, emacs-minimal@25.3, emacs-neotree@0.5.2,
emacs-no-x-toolkit@25.3, emacs-no-x@25.3, emacs-org@20171116,
emacs-pdf-tools@0.80, emacs-queue@0.2, emacs-s@1.12.0, emacs-slime@2.20,
emacs-undo-tree@0.6.6, emacs-visual-fill-column@1.11,
emacs-with-editor@2.7.0, emacs-yaml-mode@0.0.13, emacs-yasnippet@0.12.2,
emacs@25.3, emacspeak@46.0, enlightenment@0.22.1, eog@3.26.2,
epiphany@3.24.4, erlang@20.1, ethtool@4.13, etl@0.04.22,
eudev-with-hwdb@3.2.2, eudev@3.2.2, evince@3.26.0,
evolution-data-server@3.24.3, exfat-utils@1.2.7, exim@4.89.1, exiv2@0.26,
expat@2.2.1, extra-cmake-modules@5.39.0, eyed3@0.8, fabric@1.13.2,
fasttree@2.1.10, faust@0.9.90, faust@2.1.0, fdisk@2.0.0a1, feh@2.22.2,
ffmpeg@3.3.5, ffmpeg@3.4, file-roller@3.26.2, file@5.30, filezilla@3.27.1,
fio@3.2, fish-guix@0.1.2.1, fish@2.7.0, fizmo@0.8.4, flex@2.6.4,
fluidsynth@1.1.8, font-cns11643@98.1.20170524, font-gnu-unifont@10.0.06,
font-go@20170330-1.f03a046, font-google-noto@20170403, font-hack@3.000,
font-iosevka@1.12.5, fontconfig@2.12.3, fontforge@20170731, fossil@2.2,
fraggenescan@1.30, freeciv@2.5.7, freedoom@0.11.3, freefall@4.14.3,
freeipmi@1.5.7, freetype@2.8, freexl@1.0.4, fuse-exfat@1.2.7, gajim@0.16.8,
gamine@1.5, ganv@1.5.4-1.12f7d6b04,
gcc-cross-sans-libc-arm-none-eabi@6.4.0, gcc-objc++@4.9.4,
gcc-objc++@5.4.0, gcc-objc++@6.4.0, gcc-objc++@7.2.0, gcc-objc@4.9.4,
gcc-objc@5.4.0, gcc-objc@6.4.0, gcc-objc@7.2.0, gcc-toolchain@6.4.0,
gcc-toolchain@7.2.0, gcc@4.9.4, gcc@5.4.0, gcc@6.4.0, gcc@7.2.0,
gcl@2.6.12-1.5956140, gcompris@17.05, gd@2.2.5, gdb-arm-none-eabi@8.0.1,
gdb@8.0.1, gdbm@1.13, gdk-pixbuf+svg@2.36.10, gdk-pixbuf@2.36.10,
gdm@3.24.2, gedit@3.22.1, geoclue@2.4.7, getmail@5.4, gexiv2@0.10.6,
gfortran@6.4.0, gfortran@7.2.0, ghc-aeson-qq@0.8.2, ghc-alex@3.2.3,
ghc-array@0.5.2.0, ghc-asn1-encoding@0.9.5, ghc-asn1-types@0.3.2,
ghc-async@2.1.1.1, ghc-auto-update@0.1.4, ghc-base-orphans@0.6,
ghc-blaze-builder@0.4.0.2, ghc-conduit@1.2.12.1, ghc-happy@1.19.8,
ghc-http-client-tls@0.3.4.1, ghc-http-client@0.5.6.1,
ghc-tasty-rerun@1.1.7, ghc-wai-extra@3.0.13.1, ghc-wai@3.2.1.1,
ghc-x11@1.8, ghc-xmonad-contrib@0.13, ghc@8.0.2, ghostscript-with-x@9.21,
ghostscript@9.21, giac-xcas@1.4.9-33, git-modes@1.2.6, git@2.15.1,
gjs@1.48.6, glade@3.20.2, glib-networking@2.54.1, glib@2.52.3,
glibmm@2.50.1, global@6.5.7, glog@0.3.5, glpk@4.63, gnome-autoar@0.2.2,
gnome-backgrounds@3.26.2, gnome-bluetooth@3.20.1, gnome-calculator@3.26.0,
gnome-calendar@3.26.2, gnome-control-center@3.24.3, gnome-desktop@3.24.2,
gnome-dictionary@3.24.0, gnome-disk-utility@3.26.2, gnome-keyring@3.20.1,
gnome-klotski@3.22.2, gnome-maps@3.26.2, gnome-mines@3.26.0,
gnome-mpv@0.13, gnome-online-accounts@3.24.3, gnome-session@3.24.1,
gnome-settings-daemon@3.24.3, gnome-shell-extensions@3.24.3,
gnome-shell@3.24.3, gnome-sudoku@3.26.0, gnome-system-monitor@3.26.0,
gnome-terminal@3.26.2, gnome-themes-standard@3.22.3,
gnome-tweak-tool@3.24.1, gnome@3.24.3, gnuastro@0.4, gnucash@2.6.18,
gnumeric@1.12.36, gnupg@1.4.22, gnupg@2.0.30, gnupg@2.2.3, gnurl@7.56.1-2,
gnutls@3.5.13, go@1.9.2, gobby@0.5.0, gobject-introspection@1.52.1,
goffice@0.10.36, gparted@0.30.0, gperf@3.1, gptfdisk@1.0.3,
graphicsmagick@1.3.26, graphite2@1.3.10, graphviz@2.40.1, grilo@0.3.3,
gsettings-desktop-schemas@3.24.1, gsl@2.4, gst-libav@1.12.3,
gst-plugins-bad@1.12.3, gst-plugins-base@1.12.3, gst-plugins-good@1.12.3,
gst-plugins-ugly@1.12.3, gstreamer@1.12.3, gtk+@3.22.21, gtkmm@3.22.0,
gtksourceview@3.24.4, guile-git@0.0-4.951a32c, guile-gnome@2.16.5,
guile-lib@0.2.5.1, guile-rsvg@2.18.1-0.05c6a2f, guile-ssh@0.11.2,
guile-static-stripped-tarball@2.2.2, guile-static-stripped@2.2.2,
guile-wisp@0.9.8, guile2.0-ssh@0.11.2, guile2.2-gnutls@3.5.13,
guile2.2-lib@0.2.5.1, guile2.2-ssh@0.11.2, guile@2.0.14, guile@2.2.2,
guile@2.2.3, guitarix-lv2@0.36.1, guitarix@0.36.1, guix@0.13.0-14.91c9b5d,
gvfs@1.32.1, gzochi@0.11.1, harfbuzz@1.5.1, hdf4-alt@4.2.13, hdf4@4.2.13,
hdf5-parallel-openmpi@1.8.19, hdf5@1.8.19, hicolor-icon-theme@0.17,
higan@106, hop@3.1.0-pre2, hplip@3.17.10, htseq@0.9.1, htslib@1.5,
httpd@2.4.27, hubbub@0.3.4, hunspell@1.6.1, hwloc@1.11.8, hyperrogue@10.0g,
i3-wm@4.14.1, ibus-libpinyin@1.9.2, ibus@1.5.17, icecat@52.3.0-gnu1,
icedtea@3.6.0, idr@2.0.3, ijs@9.21, imagemagick@6.9.9-23,
ingen@0.0.0-2.cc4a4db33, iproute2@4.14.1, irssi@1.0.5, isl@0.18,
iso-codes@3.76, isync@1.3.0, jack2@1.9.11-RC1, jasper@2.0.14,
java-htsjdk@2.3.0, java-jmock@2.8.2, java-swt@4.7.1a, jellyfish@2.2.7,
jemalloc@5.0.1, json-glib@1.2.8, jsoncpp@1.8.2, julia@0.6.0,
kactivities-stats@5.39.0, kactivities@5.39.0, kapidox@5.39.0,
karchive@5.39.0, kauth@5.39.0, kbookmarks@5.39.0, kcmutils@5.39.0,
kcodecs@5.39.0, kcompletion@5.39.0, kconfig@5.39.0, kconfigwidgets@5.39.0,
kcoreaddons@5.39.0, kcrash@5.39.0, kdbusaddons@5.39.0, kdeclarative@5.39.0,
kded@5.39.0, kdesignerplugin@5.39.0, kdesu@5.39.0, kdevelop@5.1.2,
kdevplatform@5.1.2, kdnssd@5.39.0, kdoctools@5.39.0, kemoticons@5.39.0,
kfilemetadata@5.39.0, kglobalaccel@5.39.0, kguiaddons@5.39.0, khal@0.9.8,
ki18n@5.39.0, kicad-library@4.0.6, kicad@4.0-2.5f4599f, kiconthemes@5.39.0,
kidletime@5.39.0, kimageformats@5.39.0, kinit@5.39.0, kio@5.39.0,
kitemmodels@5.39.0, kitemviews@5.39.0, kjobwidgets@5.39.0,
knewstuff@5.39.0, knot@2.6.3, knotifications@5.39.0, knotifyconfig@5.39.0,
kodi@18.0_alpha-7-67fd70f, kpackage@5.39.0, kparts@5.39.0, kpeople@5.39.0,
kplotting@5.39.0, kpty@5.39.0, krunner@5.39.0, kservice@5.39.0,
ksyntaxhighlighting@5.39.0, ktexteditor@5.39.0, ktextwidgets@5.39.0,
kunitconversion@5.39.0, kwallet@5.39.0, kwayland@5.39.0,
kwidgetsaddons@5.39.0, kwindowsystem@5.39.0, kxmlgui@5.39.0,
kxmlrpcclient@5.39.0, lame@3.100, lapack@3.7.1, ldb@1.3.0, ldc@0.17.4,
ldc@1.1.1, leptonica@1.74.4, letsencrypt@0.19.0, lftp@4.8.3, libaacs@0.9.0,
libarchive@3.3.1, libass@0.14.0, libassuan@2.4.4, libbluray@1.0.1,
libcdr@0.1.4, libchamplain@0.12.16, libconfuse@3.2.1, libcroco@0.6.12,
libcss@0.7.0, libdom@0.3.2, libdrm@2.4.83, libdvdnav@5.0.3,
libetonyek@0.1.7, libevent@2.1.8, libextractor@1.6, libexttextcat@3.4.5,
libffcall@2.0, libfilezilla@0.11.1, libfreehand@0.1.2, libgcrypt@1.7.8,
libgee@0.20.0, libgit2@0.26.0, libgnome-games-support@1.2.3,
libgnomekbd@3.22.0.1, libgpg-error@1.27, libgtop@2.38.0,
libgweather@3.26.1, libidn2@2.0.2, libidn2@2.0.4, libinput-minimal@1.7.3,
libinput@1.7.3, libjaylink@0.1.0-2.699b700, libjpeg-turbo@1.5.2,
libksysguard@5.11.2, liblangtag@0.6.2, libmateweather@1.18.1,
libmicrohttpd@0.9.57, libmspack@0.6, libmwaw@0.3.12, libnftnl@1.0.8,
libnl@3.4.0, libnsgif@0.2.0, libnspsl@0.1.2, libntlm@1.4, libodfgen@0.1.6,
libpagemaker@0.0.3, libpeas@1.22.0, libpinyin@2.1.0, libpipeline@1.4.2,
libpng@1.2.59, libpng@1.6.29, libpsl@0.19.1, libpthread-stubs@0.4,
libpwquality@1.4.0, libraw@0.18.5, libreoffice@5.3.7.2, libressl@2.6.3,
librevenge@0.0.4, librsvg@2.40.18, libsigsegv@2.11, libsodium@1.0.15,
libsoup@2.60.2, libspectre@0.2.8, libssh@0.7.5, libstaroffice@0.0.5,
libstdc++-doc@5.4.0, libsvgtiny@0.1.6, libtasn1@4.12, libtiff@4.0.8,
libtorrent-rasterbar@1.1.5, libuninameslist@20170807, libunwind@1.2.1,
liburcu@0.10.0, libuv@1.14.1, libva@1.8.3, libvirt@3.7.0, libvisio@0.1.6,
libwacom@0.25, libwapcaplet@0.4.0, libwebp@0.6.1, libwnck@3.24.1,
libwpd@0.10.2, libwpg@0.3.2, libwps@0.4.7, libxcursor@1.1.15,
libxfont@2.0.3, libxres@1.2.0, libzmf@0.0.2, lightning@2.1.2,
lilypond@2.19.63, limnoria@2017.10.01, linux-libre-arm-generic@4.14.3,
linux-libre@4.14.3, linux-libre@4.4.103, linux-libre@4.9.66, lirc@0.10.1,
llvm@3.8.1, llvm@3.9.1, lmdb@0.9.21, lua@5.2.4, lua@5.3.4,
lvm2-static@2.02.176, lvm2@2.02.176, lynx@2.8.9dev.15, lz4@1.8.0,
lzip@1.18, magit@2.11.0, mailutils@3.4, maim@5.4.68, man-db@2.7.6.1,
man-pages@4.14, manaplus@1.7.6.10, mariadb@10.1.26, mate-desktop@1.18.0,
mate-icon-theme@1.18.2, mate-menus@1.18.0, mate-themes@3.22.13,
maxima@5.41.0, mbedtls-apache@2.6.0, mcelog@154, mercurial@4.4.1, mes@0.11,
mesa-headers@17.2.1, mesa@17.2.1, meson@0.43.0, metabat@2.12.1,
mg@20170401, minetest@0.4.16, miniupnpc@2.0.20171102, miso@0.5.4,
mit-krb5@1.15.1, mobile-broadband-provider-info@20170310,
modemmanager-qt@5.39.0, moe@1.9, moka-icon-theme@5.3.6, moreutils@0.61,
mosh@1.3.2, mozjs@24.2.0, mozjs@38.2.1.rc0, mpd@0.20.11, mpg123@1.25.7,
mpv@0.27.0, multiqc@1.3, munge@0.5.13, musl@1.1.18, mutt@1.9.1,
mutter@3.24.4, mysql@5.7.20, nano@2.9.1, nasm@2.13.01, nautilus@3.24.2.1,
ncmpcpp@0.8.1, neofetch@3.3.0, neomutt@20171027, net-tools@1.60-0.479bb4a,
netpbm@10.78.3, netsurf@3.7, network-manager-applet@1.8.4,
network-manager@1.8.4, networkmanager-qt@5.39.0, nginx@1.12.2, nim@0.17.0,
nmap@7.60, nnn@1.5, no-more-secrets@0.3.3, node@8.9.1,
notmuch-addrlookup-c@8-1.88f156d, notmuch@0.25.2, npth@1.5, nsgenbind@0.5,
nspr@4.17, nss-certs@3.34.1, nss-pam-ldapd@0.9.8, nss@3.34,
ntfs-3g@2017.3.23, nyacc@0.82.4, ocaml-findlib@1.7.3, ocaml@4.02.3,
offlineimap@7.1.4, ola@0.10.5, openh264@1.7.0, openjpeg@2.3.0,
openldap@2.4.45, openmpi@1.10.7, openntpd@6.2p3, openocd@0.10.0,
openssh@7.6p1, openssl@1.0.2l, openssl@1.0.2m, openssl@1.1.0g,
openttd@1.7.1, openvpn@2.4.4, opus-tools@0.1.10, opus@1.2.1, orc@0.4.28,
orca@3.26.0, orfm@0.7.1, osip@5.0.0, owncloud-client@2.3.4,
oxygen-icons@5.39.0, p11-kit@0.23.9, p4est-openmpi@2.0, p4est@2.0,
pango@1.40.12, par2cmdline@0.7.4, parallel@20171122, pari-gp@2.9.3,
pcb@4.0.2, pciutils@3.5.5, pcsc-lite@1.8.22, perf@4.14.3,
perl-anyevent-i3@0.17, perl-anyevent@7.14, perl-business-ismn@1.131,
perl-carp-clan@6.06, perl-catalyst-runtime@5.90115,
perl-class-inspector@1.31, perl-class-tiny@1.006, perl-config-any@0.32,
perl-context-preserve@0.02, perl-cpan-meta-check@0.014,
perl-crypt-openssl-bignum@0.08, perl-data-dumper-concise@2.023,
perl-datetime-event-ical@0.13, perl-datetime-event-recurrence@0.19,
perl-datetime-format-flexible@0.28, perl-datetime-format-natural@1.05,
perl-datetime-format-strptime@1.73, perl-datetime-format-w3cdtf@0.07,
perl-datetime-locale@1.16, perl-datetime-set@0.3900,
perl-datetime-timezone@2.13, perl-datetime@1.43, perl-dbd-mysql@4.043,
perl-devel-stacktrace-ashtml@0.15, perl-devel-stacktrace@2.03,
perl-devel-symdump@2.18, perl-email-mime-contenttype@1.022,
perl-email-mime@1.946, perl-email-sender@1.300031, perl-email-simple@2.214,
perl-extutils-pkgconfig@1.16, perl-file-find-rule-perl@1.15,
perl-file-path@2.13, perl-file-remove@1.57,
perl-file-sharedir-install@0.11, perl-file-sharedir@1.104,
perl-geo-ip@1.51, perl-getopt-long-descriptive@0.100, perl-html-lint@2.26,
perl-html-template@2.97, perl-html-tree@5.07, perl-http-cookies@6.04,
perl-image-exiftool@10.55, perl-json-any@1.39, perl-list-moreutils@0.426,
perl-log-log4perl@1.49, perl-mime-charset@1.012.2, perl-mime-types@2.14,
perl-modern-perl@1.20170117, perl-module-scandeps@1.24,
perl-moosex-types-datetime@0.13, perl-mro-compat@0.13, perl-net-dns@1.13,
perl-net-server@2.009, perl-net-ssleay@1.81, perl-parse-yapp@1.2,
perl-regexp-common@2017060201, perl-safe-isa@1.000008,
perl-sub-exporter-progressive@0.001013, perl-test-harness@3.39,
perl-test-leaktrace@0.16, perl-test-script@1.20,
perl-test-www-mechanize-psgi@0.37, perl-test-www-mechanize@1.48,
perl-text-table@1.133, perl-tie-cycle@1.225, perl-tk@804.034,
perl-unicode-utf8@0.62, perl-uri-find@20160806, perl-www-mechanize@1.86,
perl-xml-atom@0.42, perl-xml-libxml@2.0132, perl-xml-namespacesupport@1.12,
perl@5.26.0, petsc-complex-openmpi@3.8.0, petsc-complex@3.8.0,
petsc-openmpi@3.8.0, petsc@3.8.0, php@7.1.12, pkg-config@0.29.2,
plasma-framework@5.39.0, pngcrunch@1.8.13, poppler-qt4@0.59.0,
poppler-qt5@0.59.0, poppler@0.59.0, postgresql@10.1, postgresql@9.6.6,
potrace@1.15, powertabeditor@2.0.0-alpha10, powertop@2.9, presentproto@1.1,
proplib@0.0.0-2.4c46ecbe7, prosody@0.10.0, proteinortho@5.16b,
protobuf@3.5.0, pspp@1.0.1, pulseaudio@11.0, pv@1.6.6, pybitmessage@0.6.2,
python-acme@0.19.0, python-alembic@0.9.5, python-aniso8601@1.3.0,
python-arrow@0.10.0, python-astroid@1.5.3, python-autopep8@1.3.2,
python-biom-format@2.1.6, python-biopython@1.70, python-botocore@1.7.9,
python-cairocffi@0.8.0, python-cffi@1.11.2, python-chardet@3.0.4,
python-cleo@0.6.1, python-click-log@0.2.0, python-click-threading@0.4.3,
python-configargparse@0.12.0, python-cryptography-vectors@2.0.3,
python-cryptography@2.0.3, python-cython@0.27, python-decorator@4.1.2,
python-django@1.10.8, python-docutils@0.14, python-efl@1.20.0,
python-file@5.30, python-fonttools@3.15.1, python-future@0.16.0,
python-gst@1.12.3, python-h5py@2.7.0, python-hacking@0.13.0,
python-html5lib@1.0b10, python-hy@0.13.0, python-icalendar@4.0.0,
python-idna@2.5, python-ipython@5.3.0, python-jinja2@2.9.6,
python-libvirt@3.7.0, python-lxml@3.8.0, python-lz4@0.10.1,
python-matplotlib-documentation@2.0.2, python-matplotlib@2.0.2,
python-minimal@3.5.3, python-mock@2.0.0, python-mutagen@1.38,
python-nbformat@4.3.0, python-netaddr@0.7.19, python-netcdf4@1.2.9,
python-notmuch@0.25.2, python-numexpr@2.6.4, python-orator@0.9.7,
python-paramiko@2.1.2, python-parsedatetime@2.4, python-pbr@3.0.1,
python-peewee@2.10.2, python-pep8@1.7.0, python-plastid@0.4.8,
python-prompt-toolkit@1.0.15, python-protobuf@3.4.0,
python-psycopg2@2.7.3.1, python-pyaml@17.7.2, python-pyasn1@0.2.3,
python-pycodestyle@2.3.1, python-pyflakes@1.0.0, python-pygit2@0.26.0,
python-pygments@2.2.0, python-pygobject@3.24.1, python-pyicu@1.9.8,
python-pyjwt@1.5.3, python-pylast@2.0.0, python-pylint@1.7.2,
python-pyopenssl@17.3.0, python-pyparsing@2.2.0, python-pyqt@5.9,
python-pysam@0.11.2.2, python-pytz@2017.3, python-pyxb@1.2.6,
python-requests-toolbelt@0.8.0, python-requests@2.13.0, python-rpy2@2.9.0,
python-s3transfer@0.1.11, python-scikit-learn@0.19.1, python-scipy@0.19.1,
python-sge-pygame@1.5.1, python-sip@4.19.3, python-sphinx-rtd-theme@0.2.4,
python-sphinx@1.6.3, python-sqlparse@0.2.4, python-sympy@1.1.1,
python-tmx@1.10, python-tox@2.8.1, python-twisted@17.1.0,
python-unidecode@0.04.21, python-vobject@0.9.5, python-xcffib@0.5.1,
python2-alembic@0.9.5, python2-arrow@0.10.0, python2-astroid@1.5.3,
python2-autopep8@1.3.2, python2-biom-format@2.1.6, python2-biopython@1.70,
python2-botocore@1.7.9, python2-bx-python@0.7.3, python2-cairocffi@0.8.0,
python2-cffi@1.11.2, python2-chardet@3.0.4, python2-cleo@0.6.1,
python2-cliapp@1.20170823, python2-configargparse@0.12.0,
python2-cryptography-vectors@2.0.3, python2-cryptography@2.0.3,
python2-cython@0.27, python2-decorator@4.1.2, python2-django@1.10.8,
python2-docutils@0.14, python2-efl@1.20.0, python2-file@5.30,
python2-flake8@2.5.4, python2-fonttools@3.15.1, python2-future@0.16.0,
python2-gst@1.12.3, python2-h5py@2.7.0, python2-hacking@0.13.0,
python2-html5lib@1.0b10, python2-hy@0.13.0, python2-idna@2.5,
python2-ipython@5.3.0, python2-jinja2@2.9.6, python2-libvirt@3.7.0,
python2-lxml@3.8.0, python2-lz4@0.10.1,
python2-matplotlib-documentation@2.0.2, python2-matplotlib@2.0.2,
python2-mutagen@1.38, python2-nbformat@4.3.0, python2-netaddr@0.7.19,
python2-netcdf4@1.2.9, python2-notmuch@0.25.2, python2-numexpr@2.6.4,
python2-orator@0.9.7, python2-paramiko@2.1.2, python2-parsedatetime@2.4,
python2-pbr@3.0.1, python2-peewee@2.10.2, python2-pep8@1.7.0,
python2-plastid@0.4.8, python2-prompt-toolkit@1.0.15,
python2-protobuf@3.4.0, python2-psycopg2@2.7.3.1, python2-pyaml@17.7.2,
python2-pyasn1@0.2.3, python2-pycodestyle@2.3.1, python2-pygit2@0.26.0,
python2-pygments@2.2.0, python2-pygobject@3.24.1, python2-pyicu@1.9.8,
python2-pyjwt@1.5.3, python2-pylast@2.0.0, python2-pylint@1.7.2,
python2-pyopenssl@17.3.0, python2-pyparsing@2.2.0, python2-pyqt@5.9,
python2-pysam@0.11.2.2, python2-pytest@3.0.7, python2-pytz@2017.3,
python2-pyxb@1.2.6, python2-rpython@0.2.1, python2-s3transfer@0.1.11,
python2-scikit-learn@0.19.1, python2-scipy@0.19.1,
python2-sge-pygame@1.5.1, python2-sip@4.19.3,
python2-sphinx-rtd-theme@0.2.4, python2-sqlparse@0.2.4,
python2-sympy@1.1.1, python2-tmx@1.10, python2-tox@2.8.1,
python2-ttystatus@0.35, python2-twisted@17.1.0, python2-unidecode@0.04.21,
python2-unittest2@1.1.0, python2-vobject@0.9.5, python2-xcffib@0.5.1,
python@3.5.3, pzstd@1.3.2, qemu-minimal@2.10.1, qemu@2.10.1,
qsyncthingtray@0.5.8, qt@5.9.3, qtbase@5.9.3, qtcanvas3d@5.9.3,
qtcharts@5.9.3, qtconnectivity@5.9.3, qtdatavis3d@5.9.3,
qtdeclarative@5.9.3, qtgamepad@5.9.3, qtgraphicaleffects@5.9.3,
qtimageformats@5.9.3, qtlocation@5.9.3, qtmultimedia@5.9.3, qtox@1.13.0,
qtpurchasing@5.9.3, qtquickcontrols2@5.9.3, qtquickcontrols@5.9.3,
qtractor@0.8.4, qtscript@5.9.3, qtscxml@5.9.3, qtsensors@5.9.3,
qtserialbus@5.9.3, qtserialport@5.9.3, qtsvg@5.9.3, qttools@5.9.3,
qtwayland@5.9.3, qtwebchannel@5.9.3, qtwebkit@5.9.1, qtwebsockets@5.9.3,
qtx11extras@5.9.3, qtxmlpatterns@5.9.3, qutebrowser@0.11.0, r-ade4@1.7-8,
r-affy@1.56.0, r-affyio@1.48.0, r-annotate@1.56.1, r-annotationdbi@1.40.0,
r-annotationforge@1.20.0, r-ape@5.0, r-backports@1.1.1,
r-bamsignals@1.10.0, r-batchjobs@1.7, r-bh@1.65.0-1, r-bigmemory@4.5.31,
r-biobase@2.38.0, r-bioccheck@1.14.0, r-biocgenerics@0.24.0,
r-biocinstaller@1.28.0, r-biocparallel@1.12.0, r-biocstyle@2.6.0,
r-biocviews@1.46.0, r-biomart@2.34.0, r-biostrings@2.46.0, r-bit64@0.9-7,
r-bookdown@0.5, r-boot@1.3-20, r-bsgenome@1.46.0, r-car@2.1-6,
r-caret@6.0-77, r-category@2.44.0, r-checkmate@1.8.5, r-chipseq@1.28.0,
r-chron@2.3-51, r-commonmark@1.4, r-copywriter@2.10.0, r-cowplot@0.9.1,
r-crayon@1.3.4, r-curl@3.0, r-data-table@1.10.4-3, r-dbi@0.7,
r-delayedarray@0.4.1, r-desc@1.1.1, r-deseq2@1.18.1, r-devtools@1.13.4,
r-dnacopy@1.52.0, r-doparallel@1.0.11, r-dplyr@0.7.4, r-edger@3.20.1,
r-evaluate@0.10.1, r-fastcluster@1.1.24, r-fastica@1.2-1, r-flexmix@2.3-14,
r-foreign@0.8-69, r-formatr@1.5, r-formula@1.2-2, r-gdata@2.18.0,
r-gdtools@0.1.6, r-genefilter@1.60.0, r-geneplotter@1.56.0,
r-genomation@1.10.0, r-genomationdata@1.10.0, r-genomeinfodb@1.14.0,
r-genomeinfodbdata@0.99.1, r-genomicalignments@1.14.1,
r-genomicfeatures@1.30.0, r-genomicranges@1.30.0, r-getopt@1.20.1,
r-ggbeeswarm@0.6.0, r-git2r@0.19.0, r-glmnet@2.0-13, r-go-db@3.5.0,
r-googlesheets@0.2.2, r-gostats@2.44.0, r-graph@1.56.0, r-gridextra@2.3,
r-grohmm@1.12.0, r-gseabase@1.40.1, r-hmisc@4.0-3, r-hms@0.4.0,
r-htmltools@0.3.6, r-htmlwidgets@0.9, r-httpuv@1.3.5, r-httr@1.3.1,
r-igraph@1.1.2, r-impute@1.52.0, r-iranges@2.12.0, r-irlba@2.3.1,
r-jsonlite@1.5, r-knitr@1.17, r-knitrbootstrap@1.0.1, r-lambda-r@1.2,
r-lazyeval@0.2.1, r-limma@3.34.2, r-lme4@1.1-14, r-maldiquant@1.17,
r-matrix@1.2-12, r-mclust@5.4, r-mgcv@1.8-22, r-minimal@3.4.3,
r-motifrg@1.22.0, r-msnbase@2.4.0, r-msnid@1.12.1, r-multitaper@1.0-14,
r-mutationalpatterns@1.4.1, r-mzid@1.16.0, r-mzr@2.12.0, r-openssl@0.9.9,
r-optparse@1.4.4, r-org-ce-eg-db@3.5.0, r-org-dm-eg-db@3.5.0,
r-org-hs-eg-db@3.5.0, r-org-mm-eg-db@3.5.0, r-pbapply@1.3-3,
r-pcamethods@1.70.0, r-plotly@4.7.1, r-plotrix@3.6-6, r-pracma@2.1.1,
r-preprocesscore@1.40.0, r-protgenerics@1.10.0, r-pryr@0.1.3,
r-purrr@0.2.4, r-qtl@1.41-6, r-quantreg@5.34, r-r-utils@2.6.0, r-r6@2.2.2,
r-ranger@0.8.0, r-rann@2.5.1, r-rbgl@1.54.0, r-rcas@1.3.4, r-rcpp@0.12.14,
r-rcpparmadillo@0.8.100.1.0, r-rcppeigen@0.3.3.3.1, r-rcppprogress@0.4,
r-readr@1.1.1, r-rhdf5@2.22.0, r-rhtslib@1.10.0, r-rmarkdown@1.8,
r-robustbase@0.92-8, r-rsamtools@1.30.0, r-rsqlite@2.0, r-rstudioapi@0.7,
r-rtracklayer@1.38.0, r-s4vectors@0.16.0, r-scales@0.5.0,
r-segmented@0.5-2.2, r-seqinr@3.4-5, r-seqlogo@1.44.0, r-seqminer@6.0,
r-seqpattern@1.10.0, r-servr@0.8, r-sfsmisc@1.1-1, r-shortread@1.36.0,
r-sn@1.5-1, r-spams@2.6-2017-03-22, r-sparsem@1.77, r-statmod@1.4.30,
r-stringi@1.1.6, r-summarizedexperiment@1.8.0, r-sva@3.26.0,
r-svglite@1.2.1, r-systempiper@1.12.0, r-tclust@1.3-1, r-tibble@1.3.4,
r-tidyr@0.7.2, r-topgo@2.30.0, r-tximport@1.6.0,
r-variantannotation@1.24.2, r-vegan@2.4-4, r-vgam@1.0-4, r-vsn@3.46.0,
r-wgcna@1.61, r-withr@2.1.0, r-xml@3.98-1.9, r-xvector@0.18.0,
r-zlibbioc@1.24.0, r@3.4.3, rapidjson@1.1.0, raul@0.8.9-1.4db870b2b,
rcas-web@0.0.4, rdma-core@14, re2@2017-11-01, readline@7.0,
red-eclipse@1.5.8-2, redis@4.0.2, rest@0.8.1, retroarch@1.6.9,
rhythmbox@3.4.2, roary@3.11.0, rofi@1.4.2, rpm@4.13.0.2,
ruby-activesupport@5.1.4, ruby-arel@8.0.0, ruby-bio-commandeer@0.4.0,
ruby-builder@3.2.3, ruby-byebug@9.0.6, ruby-coderay@1.1.2,
ruby-concurrent@1.0.5, ruby-connection-pool@2.2.1,
ruby-cucumber-core@2.0.0, ruby-daemons@1.2.4, ruby-debug-inspector@0.0.3,
ruby-diff-lcs@1.3, ruby-domain-name@0.5.20170404, ruby-eventmachine@1.2.5,
ruby-ffi@1.9.18, ruby-fivemat@1.3.5, ruby-gem-hadar@1.9.1,
ruby-gherkin@4.1.3, ruby-git@1.3.0, ruby-introspection@0.0.4,
ruby-json-pure@2.1.0, ruby-json@2.1.0, ruby-libxml@3.0.0,
ruby-listen@3.1.5, ruby-lumberjack@1.0.12, ruby-mail@2.6.6,
ruby-method-source@0.9.0, ruby-mini-portile@2.2.0,
ruby-minitest-bacon@1.0.3, ruby-minitest-bonus-assertions@3.0,
ruby-minitest-hooks@1.4.1, ruby-minitest@5.10.3, ruby-nenv@0.3.0,
ruby-net-http-digest-auth@1.4.1, ruby-net-http-persistent@3.0.0,
ruby-net-ssh@4.1.0, ruby-nokogiri-diff@0.2.0-1.a38491e4,
ruby-nokogiri@1.8.0, ruby-notiffany@0.1.1, ruby-ox@2.6.0,
ruby-packnga@1.0.4, ruby-pg@0.21.0, ruby-pkg-config@1.2.5, ruby-pry@0.11.1,
ruby-puma@3.9.1, ruby-rack@2.0.3, ruby-rake-compiler@1.0.4,
ruby-rb-fsevent@0.10.2, ruby-rb-inotify@0.9.10, ruby-redcarpet@3.4.0,
ruby-redcloth@4.3.2, ruby-rjb@1.5.5, ruby-rspec-core@3.5.4,
ruby-rspec@3.5.0, ruby-sequel@4.49.0, ruby-shoulda-matchers@3.1.2,
ruby-simplecov-html@0.10.1, ruby-slop@4.5.0, ruby-tdiff@0.3.3-1.b662a604,
ruby-term-ansicolor@1.6.0, ruby-test-unit@3.2.5, ruby-thor@0.19.4,
ruby-thread-safe@0.3.6, ruby-timecop@0.9.1, ruby-tins@1.15.0,
ruby-tzinfo@1.2.3, ruby-useragent@0.16.8, ruby-utils@0.9.0, ruby@2.2.8,
ruby@2.3.5, ruby@2.4.2, samba@4.7.3, samplv1@0.8.5, samtools@1.5,
sane-backends-minimal@1.0.27, sane-backends@1.0.27, sassc@3.4.5,
schismtracker@20170910, scons@3.0.1, screen@4.6.2, scribus@1.5.3,
sddm@0.16.0, sdl2@2.0.7, sdparm@1.10, shadow@4.5, shellcheck@0.4.6,
shotwell@0.27.1, signify@23, signing-party@2.6,
slepc-complex-openmpi@3.8.0, slepc-complex@3.8.0, slepc-openmpi@3.8.0,
slepc@3.8.0, slop@7.3.49, slurm@16.05.11, smartmontools@6.6,
snakemake@4.2.0, solid@5.39.0, sonnet@5.39.0, speedtest-cli@1.0.7,
spice-protocol@0.12.13, spin2cpp@3.6.3, sqlite@3.19.3, sshfs-fuse@2.10,
sshoot@1.2.6, sshuttle@0.78.3, sssd@1.16.0, stellarium@0.16.0, strace@4.20,
subread@1.6.0, subversion@1.8.19, sudo@1.8.21p2, suil@0.10.0,
suitesparse@4.5.5, supertuxkart@0.9.3, swig@3.0.12, synfig@1.2.0,
synfigstudio@1.2.0, synthv1@0.8.5, taglib@1.11.1, tailon@1.3.0,
talloc-static@2.1.10, talloc@2.1.10, taxtastic@0.6.4, tcpdump@4.9.2,
tdb@1.3.15, teckit@2.5.7, terminology@1.1.1, tevent@0.9.34, texinfo@6.3,
texinfo@6.5, texlive@2017, the-silver-searcher@2.0.0, thefuck@3.19,
threadweaver@5.39.0, tidy-html@5.6.0, tig@2.3.0, tiled@1.0.3, time@1.8,
tint2@0.14.6, tlp@1.0, tmux@2.6, tomb@2.4, tor@0.3.1.9,
totem-pl-parser@3.10.8, totem@3.26.0, tracker@1.12.3,
tremc@0.9.0-1.9755b50, tzdata@2017b, u-boot-am335x_boneblack@2017.11,
u-boot-malta@2017.11, u-boot-vexpress_ca9x4@2017.11, units@2.16,
util-linux@2.30.1, util-macros@1.19.1, utox@0.16.1, v4l-utils@1.12.5,
vala@0.36.3, vdirsyncer@0.16.3, vifm@0.9, vigra@1.11.1, vim-full@8.0.1300,
vim@8.0.1300, virt-manager@1.4.3, virt-viewer@5.0, vlc@2.2.8,
vsearch@2.6.0, vte-ng@0.50.2.a, vte@0.50.2, wayland-protocols@1.9,
wcslib@5.17, webkitgtk@2.18.3, weechat@2.0, weston@3.0.0, wget@1.19.2,
whois@5.2.18, wimlib@1.12.0, wireshark@2.4.3, wxmaxima@17.05.1,
wxwidgets-gtk2@3.0.3, x265@2.4, xclip@0.13, xf86-input-libinput@0.26.0,
xf86-input-wacom@0.34.2, xf86-video-ati@7.10.0,
xf86-video-intel@2.99.917-8-c899057, xf86-video-openchrome@0.6.0,
xkbcomp@1.4.0, xkeyboard-config@2.21, xmonad@0.13, xonsh@0.5.12,
xorg-server-xwayland@1.19.5, xorg-server@1.19.5, xorriso@1.4.8,
xscreensaver@5.37, xterm@330, yadifa@2.2.6, yoshimi@1.5.3, you-get@0.4.995,
youtube-dl@2017.12.02, zenity@3.24.0, zerofree@1.1.0,
zile-on-guile@2.4.14-0.fd09781, zile@2.4.14, zsh@5.4.2, zstd@1.3.2,
zynaddsubfx@3.0.2
** Programming interfaces
*** New build systems: font, meson, minify, scons, texlive
*** cmake-build-system now supports cross-compilation
*** Various improvements to asdf-build-system, emacs-build-system,
ant-build-system, and go-build-system
*** patches field of <origin> can now contain any lowerable object
*** (gnu system vm) has a new make-iso9660-image procedure
*** openssh-service-type can now be extended with new authorized keys
*** rottlog-service-type can now be extended with new log-rotations
*** network-manager-service-type now supports VPN plugins
*** <service-type> now has a description field, used by guix system search
*** New virtual-machine form in (gnu system vm)
*** New (gnu system uuid) module, which defines a disjoint <uuid> type
*** New (guix progress) module
** Noteworthy bug fixes
*** GuixSD no longer creates setuid binaries in /gnu/store
(<https://bugs.gnu.org/28751>)
*** /root is no longer world-readable (<http://bugs.gnu.org/27135>)
*** guix publish no longer leaks memory (<https://bugs.gnu.org/28784>)
*** Missing cursor icons in GNOME could cause crashes
(<https://bugs.gnu.org/25958>)
*** Setuid programs now honor the system timezone
(<https://bugs.gnu.org/29212>)
*** Clients honor the daemons max-silent-time
(<https://bugs.gnu.org/27157>)
*** guix substitute honors substitute expiry time again
(<https://lists.gnu.org/archive/html/guix-devel/2017-07/msg00179.html>)
*** Several portability fixes for aarch64
** Native language support
Updated translations: da (Danish), fr (French)
* Changes in 0.13.0 (since 0.12.0)
** Package management
+19 -19
View File
@@ -1,42 +1,42 @@
-*- mode: org -*-
[[https://www.gnu.org/software/guix/][GNU Guix]] (IPA: /ɡiːks/) is a purely functional package manager, and
associated free software distribution, for the [[https://www.gnu.org/gnu/gnu.html][GNU system]]. In addition
[[http://www.gnu.org/software/guix/][GNU Guix]] (IPA: /ɡiːks/) is a purely functional package manager, and
associated free software distribution, for the [[http://www.gnu.org/gnu/gnu.html][GNU system]]. In addition
to standard package management features, Guix supports transactional
upgrades and roll-backs, unprivileged package management, per-user
profiles, and garbage collection.
It provides [[https://www.gnu.org/software/guile/][Guile]] Scheme APIs, including a high-level embedded
It provides [[http://www.gnu.org/software/guile/][Guile]] Scheme APIs, including a high-level embedded
domain-specific languages (EDSLs) to describe how packages are to be
built and composed.
A user-land free software distribution for GNU/Linux comes as part of
Guix.
Guix is based on the [[https://nixos.org/nix/][Nix]] package manager.
Guix is based on the [[http://nixos.org/nix/][Nix]] package manager.
* Requirements
GNU Guix currently depends on the following packages:
- [[https://gnu.org/software/guile/][GNU Guile 2.2.x or 2.0.x]], version 2.0.9 or later
- [[https://gnupg.org/][GNU libgcrypt]]
- [[https://www.gnu.org/software/make/][GNU Make]]
- optionally [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command
- optionally [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled, for HTTPS support
- [[http://gnu.org/software/guile/][GNU Guile 2.2.x or 2.0.x]], version 2.0.9 or later
- [[http://gnupg.org/][GNU libgcrypt]]
- [[http://www.gnu.org/software/make/][GNU Make]]
- optionally [[http://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command
- optionally [[http://www.gnutls.org][GnuTLS]] compiled with guile support enabled, for HTTPS support
in the 'guix download' command. Note that 'guix import pypi' requires
this functionality.
Unless `--disable-daemon' was passed, the following packages are needed:
- [[https://sqlite.org/][SQLite 3]]
- [[http://sqlite.org/][SQLite 3]]
- [[http://www.bzip.org][libbz2]]
- [[https://gcc.gnu.org][GCC's g++]]
- [[http://gcc.gnu.org][GCC's g++]]
When `--disable-daemon' was passed, you instead need the following:
- [[https://nixos.org/nix/][Nix]]
- [[http://nixos.org/nix/][Nix]]
* Installation
@@ -44,7 +44,7 @@ See the manual for the installation instructions, either by running
info -f doc/guix.info "Installation"
or by checking the [[https://www.gnu.org/software/guix/manual/guix.html#Installation][web copy of the manual]].
or by checking the [[http://www.gnu.org/software/guix/manual/guix.html#Installation][web copy of the manual]].
For information on installation from a Git checkout, please see the section
"Building from Git" in the manual.
@@ -109,7 +109,7 @@ Join #guix on irc.freenode.net.
* Guix & Nix
GNU Guix is based on [[https://nixos.org/nix/][the Nix package manager]]. It implements the same
GNU Guix is based on [[http://nixos.org/nix/][the Nix package manager]]. It implements the same
package deployment paradigm, and in fact it reuses some of its code.
Yet, different engineering decisions were made for Guix, as described
below.
@@ -132,7 +132,7 @@ the store. Guix produces such derivations, which are then interpreted
by the daemon to perform the build. Thus, Guix derivations can use
derivations produced by Nix (and vice versa).
With Nix and the [[https://nixos.org/nixpkgs][Nixpkgs]] distribution, package composition happens at
With Nix and the [[http://nixos.org/nixpkgs][Nixpkgs]] distribution, package composition happens at
the Nix language level, but builders are usually written in Bash.
Conversely, Guix encourages the use of Scheme for both package
composition and builders. Likewise, the core functionality of Nix is
@@ -141,13 +141,13 @@ but exposes all the API as Scheme.
* Related software
- [[https://nixos.org][Nix, Nixpkgs, and NixOS]], functional package manager and associated
- [[http://nixos.org][Nix, Nixpkgs, and NixOS]], functional package manager and associated
software distribution, are the inspiration of Guix
- [[https://www.gnu.org/software/stow/][GNU Stow]] builds around the idea of one directory per prefix, and a
- [[http://www.gnu.org/software/stow/][GNU Stow]] builds around the idea of one directory per prefix, and a
symlink tree to create user environments
- [[https://www.pvv.ntnu.no/~arnej/store/storedoc_6.html][STORE]] shares the same idea
- [[http://www.pvv.ntnu.no/~arnej/store/storedoc_6.html][STORE]] shares the same idea
- [[https://live.gnome.org/OSTree/][GNOME's OSTree]] allows bootable system images to be built from a
specified set of packages
- The [[https://www.gnu.org/s/gsrc/][GNU Source Release Collection]] (GSRC) is a user-land software
- The [[http://www.gnu.org/s/gsrc/][GNU Source Release Collection]] (GSRC) is a user-land software
distribution; unlike Guix, it relies on core tools available on the
host system
+11 -59
View File
@@ -97,13 +97,6 @@ Guile major version (2.0 or 2.2), or #f if none of the packages matches."
"guile2.2-ssh"
"guile2.0-ssh"))
(define guile-git
(package-for-current-guile "guile-git"
"guile2.0-git"))
(define guile-bytestructures
(package-for-current-guile "guile-bytestructures"
"guile2.0-bytestructures"))
;; The actual build procedure.
@@ -155,42 +148,19 @@ files."
#~(begin
(use-modules (guix build pull))
(letrec-syntax ((maybe-load-path
(syntax-rules ()
((_ item rest ...)
(let ((tail (maybe-load-path rest ...)))
(if (string? item)
(cons (string-append item
"/share/guile/site/"
#$(effective-version))
tail)
tail)))
((_)
'()))))
(let ((json (string-append #$guile-json "/share/guile/site/"
#$(effective-version))))
(set! %load-path
(append
(maybe-load-path #$guile-json #$guile-ssh
#$guile-git #$guile-bytestructures)
%load-path)))
(letrec-syntax ((maybe-load-compiled-path
(syntax-rules ()
((_ item rest ...)
(let ((tail (maybe-load-compiled-path rest ...)))
(if (string? item)
(cons (string-append item
"/lib/guile/"
#$(effective-version)
"/site-ccache")
tail)
tail)))
((_)
'()))))
(cons* json
(string-append #$guile-ssh "/share/guile/site/"
#$(effective-version))
%load-path))
(set! %load-compiled-path
(append
(maybe-load-compiled-path #$guile-json #$guile-ssh
#$guile-git #$guile-bytestructures)
%load-compiled-path)))
(cons* json
(string-append #$guile-ssh "/lib/guile/"
#$(effective-version)
"/site-ccache")
%load-compiled-path)))
;; XXX: The 'guile-ssh' package prior to Guix commit 92b7258 was
;; broken: libguile-ssh could not be found. Work around that.
@@ -224,28 +194,10 @@ files."
(current-error-port)
(%make-void-port "w")))))
(unless guile-git
;; XXX: Guix before February 2017 lacks a 'guile-git' package altogether.
;; If we try to upgrade anyway, the logic in (guix scripts pull) will not
;; build (guix git), which will leave us with an unusable 'guix pull'. To
;; avoid that, fail early.
(format (current-error-port)
"\
Your installation is too old and lacks a '~a' package.
Please upgrade to an intermediate version first, for instance with:
guix pull --url=https://git.savannah.gnu.org/cgit/guix.git/snapshot/v0.13.0.tar.gz
\n"
(match (effective-version)
("2.0" "guile2.0-git")
(_ "guile-git")))
(exit 1))
(mlet %store-monad ((guile (guile-for-build)))
(gexp->derivation "guix-latest" builder
#:modules '((guix build pull)
(guix build utils)
(guix build compile)
;; Closure of (guix modules).
(guix modules)
+78 -48
View File
@@ -17,13 +17,20 @@
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(use-modules (ice-9 match)
(use-modules (system base target)
(system base message)
(ice-9 match)
(ice-9 threads)
(srfi srfi-1)
(guix build compile)
(guix build utils))
(define warnings
;; FIXME: 'format' is missing because it reports "non-literal format
;; strings" due to the fact that we use 'G_' instead of '_'. We'll need
;; help from Guile to solve this.
'(unsupported-warning unbound-variable arity-mismatch))
(define host (getenv "host"))
(define srcdir (getenv "srcdir"))
(define (relative-file file)
@@ -45,38 +52,61 @@
(or (not (file-exists? go))
(file-mtime<? go file))))
(define* (parallel-job-count #:optional (flags (getenv "MAKEFLAGS")))
"Return the number of parallel jobs as determined by FLAGS, the flags passed
to 'make'."
(match flags
(#f (current-processor-count))
(flags
(let ((initial-flags (string-tokenize flags)))
(let loop ((flags initial-flags))
(match flags
(()
;; Note: GNU make prior to version 4.2 would hide "-j" flags from
;; $MAKEFLAGS. Thus, check for a "--jobserver" flag here and
;; assume we're using all cores if specified.
(if (any (lambda (flag)
(string-prefix? "--jobserver" flag))
initial-flags)
(current-processor-count) ;GNU make < 4.2
1)) ;sequential make
(("-j" (= string->number count) _ ...)
(if (integer? count)
count
(current-processor-count)))
((head tail ...)
(if (string-prefix? "-j" head)
(match (string-drop head 2)
(""
(current-processor-count))
((= string->number count)
(if (integer? count)
count
(current-processor-count))))
(loop tail)))))))))
(define (file->module file)
(let* ((relative (relative-file file))
(module-path (string-drop-right relative 4)))
(map string->symbol
(string-split module-path #\/))))
;;; To work around <http://bugs.gnu.org/15602> (FIXME), we want to load all
;;; files to be compiled first. We do this via resolve-interface so that the
;;; top-level of each file (module) is only executed once.
(define (load-module-file file)
(let ((module (file->module file)))
(format #t " LOAD ~a~%" module)
(resolve-interface module)))
(cond-expand
(guile-2.2 (use-modules (language tree-il optimize)
(language cps optimize)))
(else #f))
(define %default-optimizations
;; Default optimization options (equivalent to -O2 on Guile 2.2).
(cond-expand
(guile-2.2 (append (tree-il-default-optimization-options)
(cps-default-optimization-options)))
(else '())))
(define %lightweight-optimizations
;; Lightweight optimizations (like -O0, but with partial evaluation).
(let loop ((opts %default-optimizations)
(result '()))
(match opts
(() (reverse result))
((#:partial-eval? _ rest ...)
(loop rest `(#t #:partial-eval? ,@result)))
((kw _ rest ...)
(loop rest `(#f ,kw ,@result))))))
(define (optimization-options file)
(if (string-contains file "gnu/packages/")
%lightweight-optimizations ;build faster
'()))
(define (compile-file* file output-mutex)
(let ((go (scm->go file)))
(with-mutex output-mutex
(format #t " GUILEC ~a~%" go)
(force-output))
(mkdir-p (dirname go))
(with-fluids ((*current-warning-prefix* ""))
(with-target host
(lambda ()
(compile-file file
#:output-file go
#:opts `(#:warnings ,warnings
,@(optimization-options file))))))))
;; Install a SIGINT handler to give unwind handlers in 'compile-file' an
;; opportunity to run upon SIGINT and to remove temporary output files.
@@ -86,16 +116,16 @@ to 'make'."
(match (command-line)
((_ . files)
(compile-files srcdir (getcwd)
(filter file-needs-compilation? files)
#:workers (parallel-job-count)
#:host host
#:report-load (lambda (file total completed)
(when file
(format #t " LOAD ~a~%" file)
(force-output)))
#:report-compilation (lambda (file total completed)
(when file
(format #t " GUILEC ~a~%"
(scm->go file))
(force-output))))))
(let ((files (filter file-needs-compilation? files)))
(for-each load-module-file files)
(let ((mutex (make-mutex)))
;; Make sure compilation related modules are loaded before starting to
;; compile files in parallel.
(compile #f)
(par-for-each (lambda (file)
(compile-file* file mutex))
files)))))
;;; Local Variables:
;;; eval: (put 'with-target 'scheme-indent-function 1)
;;; End:
-47
View File
@@ -1,47 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;;
;;; This file defines build jobs for the Cuirass continuation integration
;;; tool.
;;;
(include-from-path "build-aux/hydra/gnu-system.scm")
(use-modules ((guix licenses)
#:select (license? license-name license-uri license-comment)))
(define (cuirass-jobs store arguments)
"Return Cuirass jobs."
(map hydra-job->cuirass-job (hydra-jobs store arguments)))
(define (hydra-job->cuirass-job hydra-job)
(let ((name (car hydra-job))
(job ((cdr hydra-job))))
(lambda _ (acons #:job-name (symbol->string name)
(map symbol-alist-entry->keyword-alist-entry job)))))
(define (symbol-alist-entry->keyword-alist-entry entry)
(cons (symbol->keyword (car entry)) (entry->sexp-entry (cdr entry))))
(define (entry->sexp-entry o)
(match o
((? license?) `((name . (license-name o))
(uri . ,(license-uri o))
(comment . ,(license-comment o))))
(_ o)))
+4 -16
View File
@@ -1,6 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,12 +26,6 @@
(ice-9 pretty-print)
(ice-9 format))
(define %top-srcdir
(and=> (assq-ref (current-source-location) 'filename)
(lambda (file)
(canonicalize-path
(string-append (dirname file) "/../..")))))
(define %user-module
;; Hydra user module.
(let ((m (make-module)))
@@ -77,7 +70,7 @@ Otherwise return THING."
;; Without further ado...
(match (command-line)
((command file cuirass? ...)
((command file)
;; Load FILE, a Scheme file that defines Hydra jobs.
(let ((port (current-output-port)))
(save-module-excursion
@@ -103,12 +96,7 @@ Otherwise return THING."
;; Call the entry point of FILE and print the resulting job sexp.
(pretty-print
(match ((module-ref %user-module
(if (equal? cuirass? "cuirass")
'cuirass-jobs
'hydra-jobs))
store `((guix
. ((file-name . ,%top-srcdir)))))
(match ((module-ref %user-module 'hydra-jobs) store '())
(((names . thunks) ...)
(map (lambda (job thunk)
(format (current-error-port) "evaluating '~a'... " job)
@@ -119,8 +107,8 @@ Otherwise return THING."
names thunks)))
port))))
((command _ ...)
(format (current-error-port) "Usage: ~a FILE [cuirass]
Evaluate the Hydra or Cuirass jobs defined in FILE.~%"
(format (current-error-port) "Usage: ~a FILE
Evaluate the Hydra jobs defined in FILE.~%"
command)
(exit 1)))
+14 -54
View File
@@ -1,6 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -163,14 +162,7 @@ system.")
(set-guile-for-build (default-guile))
(system-disk-image installation-os
#:disk-image-size
(* 1024 MiB)))))
(->job 'iso9660-image
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(system-disk-image installation-os
#:file-system-type
"iso9660")))))
(* 1024 MiB))))))
'()))
(define (system-test-jobs store system)
@@ -251,36 +243,12 @@ all its dependencies, and ready to be installed on non-GuixSD distributions.")
"Return a job for PACKAGE on SYSTEM, or #f if this combination is not
valid."
(cond ((member package base-packages)
(package-job store (symbol-append 'base. (job-name package))
package system))
#f)
((supported-package? package system)
(let ((drv (package-derivation store package system
#:graft? #f)))
(and (substitutable-derivation? drv)
(package-job store (job-name package)
package system))))
(package-job store (job-name package) package system))
(else
#f)))))
(define (all-packages)
"Return the list of packages to build."
(define (adjust package result)
(cond ((package-replacement package)
(cons* package ;build both
(package-replacement package)
result))
((package-superseded package)
result) ;don't build it
(else
(cons package result))))
(fold-packages adjust
(fold adjust '() ;include base packages
(match (%final-inputs)
(((labels packages _ ...) ...)
packages)))
#:select? (const #t))) ;include hidden packages
;;;
;;; Hydra entry point.
@@ -291,8 +259,6 @@ valid."
(define subset
(match (assoc-ref arguments 'subset)
("core" 'core) ; only build core packages
("hello" 'hello) ; only build hello
(((? string?) (? string?) ...) 'list) ; only build selected list of packages
(_ 'all))) ; build everything
(define (cross-jobs system)
@@ -337,7 +303,17 @@ valid."
(case subset
((all)
;; Build everything, including replacements.
(let ((all (all-packages))
(let ((all (fold-packages
(lambda (package result)
(cond ((package-replacement package)
(cons* package
(package-replacement package)
result))
((package-superseded package)
result) ;don't build it
(else
(cons package result))))
'()))
(job (lambda (package)
(package->job store package
system))))
@@ -353,22 +329,6 @@ valid."
package system))
%core-packages)
(cross-jobs system)))
((hello)
;; Build hello package only.
(if (string=? system (%current-system))
(let ((hello (specification->package "hello")))
(list (package-job store (job-name hello) hello system)))
'()))
((list)
;; Build selected list of packages only.
(if (string=? system (%current-system))
(let* ((names (assoc-ref arguments 'subset))
(packages (map specification->package names)))
(map (lambda (package)
(package-job store (job-name package)
package system))
packages))
'()))
(else
(error "unknown subset" subset))))
%hydra-supported-systems)))
-104
View File
@@ -1,104 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;;
;;; This file defines a continuous integration job to build the same modular
;;; Guix as 'guix pull', which is defined in (guix self).
;;;
;; Attempt to use our very own Guix modules.
(eval-when (compile load eval)
;; Ignore any available .go, and force recompilation. This is because our
;; checkout in the store has mtime set to the epoch, and thus .go files look
;; newer, even though they may not correspond.
(set! %fresh-auto-compile #t)
(and=> (assoc-ref (current-source-location) 'filename)
(lambda (file)
(let ((dir (canonicalize-path
(string-append (dirname file) "/../.."))))
(format (current-error-port) "prepending ~s to the load path~%"
dir)
(set! %load-path (cons dir %load-path))))))
(use-modules (guix store)
(guix config)
(guix utils)
(guix grafts)
((guix packages) #:select (%hydra-supported-systems))
(guix derivations)
(guix monads)
(guix gexp)
(guix self)
((guix licenses) #:prefix license:)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match))
;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output
;; port to the bit bucket, let us write to the error port instead.
(setvbuf (current-error-port) _IOLBF)
(set-current-output-port (current-error-port))
(define* (build-job store source version system)
"Return a Hydra job a list building the modular Guix derivation from SOURCE
for SYSTEM. Use VERSION as the version identifier."
(lambda ()
`((derivation . ,(derivation-file-name
(parameterize ((%graft? #f))
(run-with-store store
(lower-object (compiled-guix source
#:version version))))))
(description . "Modular Guix")
(long-description
. "This is the modular Guix package as produced by 'guix pull'.")
(license . ,license:gpl3+)
(home-page . ,%guix-home-page-url)
(maintainers . (,%guix-bug-report-address)))))
(define (hydra-jobs store arguments)
"Return Hydra jobs."
(define systems
(match (filter-map (match-lambda
(('system . value) value)
(_ #f))
arguments)
((lst ..1)
lst)
(_
(list (%current-system)))))
(define guix-checkout
(assq-ref arguments 'guix))
(define version
(or (assq-ref guix-checkout 'revision)
"0.unknown"))
(let ((file (assq-ref guix-checkout 'file-name)))
(format (current-error-port) "using checkout ~s (~s)~%"
guix-checkout file)
(map (lambda (system)
(let ((name (string->symbol
(string-append "guix." system))))
`(,name
. ,(build-job store file version system))))
%hydra-supported-systems)))
+33 -22
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 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -43,10 +43,13 @@
(use-modules (guix store)
(guix packages)
(guix utils)
(guix grafts)
(guix derivations)
(guix build-system gnu)
(gnu packages version-control)
(gnu packages package-management)
(gnu packages imagemagick)
(gnu packages graphviz)
(gnu packages man)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match))
@@ -60,15 +63,36 @@
#:optional (package-derivation package-derivation))
"Convert PACKAGE to an alist suitable for Hydra."
`((derivation . ,(derivation-file-name
(parameterize ((%graft? #f))
(package-derivation store package system
#:graft? #f))))
(package-derivation store package system)))
(description . ,(package-synopsis package))
(long-description . ,(package-description package))
(license . ,(package-license package))
(home-page . ,(package-home-page package))
(maintainers . ("bug-guix@gnu.org"))))
(define (tarball-package checkout)
"Return a package that does `make distcheck' from CHECKOUT, a directory
containing a Git checkout of Guix."
(let ((guix (@@ (gnu packages package-management) guix)))
(dist-package (package
(inherit guix)
(arguments (package-arguments guix))
(native-inputs `(("imagemagick" ,imagemagick)
,@(package-native-inputs guix))))
checkout
#:phases
'(modify-phases %dist-phases
(add-before 'build 'build-daemon
;; Build 'guix-daemon' first so that help2man
;; successfully creates 'guix-daemon.1'.
(lambda _
(let ((n (number->string
(parallel-job-count))))
(zero? (system* "make"
"nix/libstore/schema.sql.hh"
"guix-daemon" "-j" n)))))))))
(define (hydra-jobs store arguments)
"Return Hydra jobs."
(define systems
@@ -85,22 +109,9 @@
(define guix-checkout
(assq-ref arguments 'guix))
(let ((file (assq-ref guix-checkout 'file-name)))
(let ((guix (assq-ref guix-checkout 'file-name)))
(format (current-error-port) "using checkout ~s (~s)~%"
guix-checkout file)
guix-checkout guix)
`((tarball . ,(cute package->alist store
(dist-package guix file)
(%current-system)))
,@(map (lambda (system)
(let ((name (string->symbol
(string-append "guix." system))))
`(,name
. ,(cute package->alist store
(package
(inherit guix)
(version "latest")
(source file))
system))))
%hydra-supported-systems))))
(tarball-package guix)
(%current-system))))))
+7 -4
View File
@@ -2,7 +2,6 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2017 Eric Bavier <bavier@cray.com>
#
# This file is part of GNU Guix.
#
@@ -51,9 +50,13 @@ NIX_LIBEXEC_DIR="@abs_top_builddir@/nix/scripts" # for 'guix-authenticate'
export NIX_ROOT_FINDER NIX_SUBSTITUTERS NIX_LIBEXEC_DIR
NIX_BUILD_HOOK="$abs_top_builddir/nix/scripts/offload"
@BUILD_DAEMON_OFFLOAD_TRUE@export NIX_BUILD_HOOK
@BUILD_DAEMON_OFFLOAD_FALSE@# No offloading support.
@BUILD_DAEMON_OFFLOAD_FALSE@unset NIX_BUILD_HOOK
if [ -x "$NIX_BUILD_HOOK" ]
then
export NIX_BUILD_HOOK
else
# No offloading support.
unset NIX_BUILD_HOOK
fi
# The 'guix-register' program.
GUIX_REGISTER="$abs_top_builddir/guix-register"
+6 -8
View File
@@ -8,7 +8,7 @@ AC_INIT([GNU Guix],
[https://www.gnu.org/software/guix/])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([1.14 gnu silent-rules subdir-objects \
AM_INIT_AUTOMAKE([1.12 gnu silent-rules subdir-objects \
color-tests parallel-tests -Woverride -Wno-portability])
# Enable silent rules by default.
@@ -52,7 +52,7 @@ AC_MSG_CHECKING([for the store directory])
AC_MSG_RESULT([$storedir])
AC_ARG_ENABLE([daemon],
[AS_HELP_STRING([--disable-daemon], [do not build the Nix daemon (C++)])],
[AS_HELP_STRING([--disable-daemon], [build the Nix daemon (C++)])],
[guix_build_daemon="$enableval"],
[guix_build_daemon="yes"])
@@ -100,12 +100,6 @@ if test "x$have_gnutls" != "xyes"; then
AC_MSG_ERROR([The Guile bindings of GnuTLS are missing; please install them.])
fi
dnl Check for Guile-Git.
GUILE_MODULE_AVAILABLE([have_guile_git], [(git)])
if test "x$have_guile_git" != "xyes"; then
AC_MSG_ERROR([Guile-Git is missing; please install it.])
fi
dnl Guile-JSON is used in various places.
GUILE_MODULE_AVAILABLE([have_guile_json], [(json)])
AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"])
@@ -113,6 +107,10 @@ AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"])
dnl Make sure we have a full-fledged Guile.
GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads])
dnl Check whether (srfi srfi-37) works, and provide our own if it doesn't.
GUIX_CHECK_SRFI_37
AM_CONDITIONAL([INSTALL_SRFI_37], [test "x$ac_cv_guix_srfi_37_broken" = xyes])
dnl Decompressors, for use by the substituter and other modules.
AC_PATH_PROG([GZIP], [gzip])
AC_PATH_PROG([BZIP2], [bzip2])
+10 -36
View File
@@ -31,13 +31,7 @@ choice.
@section Building from Git
If you want to hack Guix itself, it is recommended to use the latest
version from the Git repository:
@example
git clone https://git.savannah.gnu.org/git/guix.git
@end example
When building Guix from a checkout,
version from the Git repository. When building Guix from a checkout,
the following packages are required in addition to those mentioned in
the installation instructions (@pxref{Requirements}).
@@ -298,7 +292,11 @@ This mailing list is backed by a Debbugs instance accessible at
of submissions. Each message sent to that mailing list gets a new
tracking number assigned; people can then follow up on the submission by
sending email to @code{@var{NNN}@@debbugs.gnu.org}, where @var{NNN} is
the tracking number (@pxref{Sending a Patch Series}).
the tracking number. When sending a patch series, please first send one
message to @email{guix-patches@@gnu.org}, and then send subsequent
patches to @email{@var{NNN}@@debbugs.gnu.org} to make sure they are kept
together. See @uref{https://debbugs.gnu.org/Advanced.html, the Debbugs
documentation}, for more information.
Please write commit logs in the ChangeLog format (@pxref{Change Logs,,,
standards, GNU Coding Standards}); you can check the commit history for
@@ -308,12 +306,6 @@ Before submitting a patch that adds or modifies a package definition,
please run through this check list:
@enumerate
@item
If the authors of the packaged software provide a cryptographic
signature for the release tarball, make an effort to verify the
authenticity of the archive. For a detached GPG signature file this
would be done with the @code{gpg --verify} command.
@item
Take some time to provide an adequate synopsis and description for the
package. @xref{Synopses and Descriptions}, for some guidelines.
@@ -430,25 +422,7 @@ Please follow our code formatting rules, possibly running the
When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as
a subject. You may use your email client or the @command{git
send-email} command (@pxref{Sending a Patch Series}). We prefer to get
patches in plain text messages, either inline or as MIME attachments.
You are advised to pay attention if your email client changes anything
like line breaks or indentation which could potentially break the
patches.
When a bug is resolved, please close the thread by sending an email to
@email{@var{NNN}-done@@debbugs.gnu.org}.
@unnumberedsubsec Sending a Patch Series
@anchor{Sending a Patch Series}
@cindex patch series
@cindex @code{git send-email}
@cindex @code{git-send-email}
When sending a patch series (e.g., using @code{git send-email}), please
first send one message to @email{guix-patches@@gnu.org}, and then send
subsequent patches to @email{@var{NNN}@@debbugs.gnu.org} to make sure
they are kept together. See
@uref{https://debbugs.gnu.org/Advanced.html, the Debbugs documentation}
for more information.
@c Debbugs bug: https://debbugs.gnu.org/db/15/15361.html
send-email} command. We prefer to get patches in plain text messages,
either inline or as MIME attachments. You are advised to pay attention if
your email client changes anything like line breaks or indentation which
could potentially break the patches.
+479 -3520
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -221,7 +221,7 @@ easejs node ${GS}/easejs/manual/
EMACS_GUIX = https://alezost.github.io/guix.el/manual/latest
emacs-guix mono ${EMACS_GUIX}/emacs-guix.html
emacs-guix node ${EMACS_GUIX}/html_node/
emacs-guix node ${EMACS_GUIX}/html_node/index.html
emacs-muse node ${GS}/emacs-muse/manual/muse.html
emacs-muse node ${GS}/emacs-muse/manual/html_node/
-3
View File
@@ -158,9 +158,6 @@ _guix_complete ()
else
_guix_complete_available_package "$word_at_point"
fi
elif _guix_is_command "download"
then
_guix_complete_file
elif _guix_is_command "system"
then
case $COMP_CWORD in
+2
View File
@@ -7,4 +7,6 @@ start on runlevel [2345]
stop on runlevel [016]
task
exec @localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild
+5 -99
View File
@@ -1,7 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Joshua S. Grant <jgrant@parenthetical.io>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,14 +18,6 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu)
#:use-module (guix i18n)
#:use-module (guix utils)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (ice-9 match)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu services)
#:export (use-package-modules
use-service-modules
use-system-modules))
@@ -43,8 +34,7 @@
'((gnu system)
(gnu system mapped-devices)
(gnu system file-systems)
(gnu bootloader)
(gnu bootloader grub)
(gnu system grub) ; 'grub-configuration'
(gnu system pam)
(gnu system shadow) ; 'user-account'
(gnu system linux-initrd)
@@ -60,97 +50,13 @@
(module-use! i (resolve-interface m))))
%public-modules)))
(define (%try-use-modules modules location make-hint)
"Attempt to load all of MODULES. Report errors as coming from LOCATION, a
<location> record, and use MAKE-HINT to produce a fix hint."
(define (location->string loc)
(match loc
(#f "")
(($ <location> file line column)
(format #f "~a:~a:~a: " file line column))))
(for-each (lambda (module)
(catch 'misc-error
(lambda ()
(process-use-modules `((,module))))
(lambda _
(raise
(apply
make-compound-condition
(condition
(&message
(message (format #f (G_ "module ~a not found")
module))))
(condition
(&error-location (location location)))
(or (and=> (make-hint module) list)
'()))))))
modules))
(define (package-module-hint module)
(define last-name
(match module
((_ ... last)
(symbol->string last))))
(match (find-packages-by-name last-name)
(()
(condition
(&fix-hint
(hint (G_ "\
You may use @command{guix package --show=foo | grep location} to search
for the location of package @code{foo}.
If you get the line @code{location: gnu/packages/bar.scm:174:2},
add @code{bar} to the @code{use-package-modules} form.")))))
((package _ ...)
(condition
(&fix-hint
(hint (format #f (G_ "\
Try adding @code{(use-package-modules ~a)}.")
(basename (location-file (package-location package))
".scm"))))))))
(define (service-module-hint module)
(define last-name
(match module
((_ ... last)
last)))
(match (lookup-service-types last-name)
(()
(condition
(&fix-hint
(hint (format #f (G_ "\
You may use @command{guix system search ~a} to search for a service
matching @code{~a}.
If you get the line @code{location: gnu/services/foo.scm:188:2},
add @code{foo} to the @code{use-service-modules} form.")
last-name last-name)))))
((package _ ...)
(condition
(&fix-hint
(hint (format #f (G_ "\
Try adding @code{(use-service-modules ~a)}.")
(basename (location-file (service-type-location package))
".scm"))))))))
(define-syntax-rule (try-use-modules hint modules ...)
(eval-when (expand load eval)
(%try-use-modules '(modules ...)
(source-properties->location
(current-source-location))
hint)))
(define-syntax-rule (use-package-modules module ...)
(try-use-modules package-module-hint
(gnu packages module) ...))
(use-modules (gnu packages module) ...))
(define-syntax-rule (use-service-modules module ...)
(try-use-modules service-module-hint
(gnu services module) ...))
(use-modules (gnu services module) ...))
(define-syntax-rule (use-system-modules module ...)
(try-use-modules (const #f) ;no hint
(gnu system module) ...))
(use-modules (gnu system module) ...))
;;; gnu.scm ends here
+8 -12
View File
@@ -1,6 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,16 +28,13 @@
;;; Code:
(define %artwork-repository
(let ((commit "6998d30425289b087c64f63e7415df2241e591db"))
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.savannah.gnu.org/guix/guix-artwork.git")
(commit commit)))
(file-name (string-append "guix-artwork-" (string-take commit 7)
"-checkout"))
(sha256
(base32
"0k7j3pj9s3zqiqmfkapypssvzx3f12yr0cc2rbzxqfii0b4clp1j")))))
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.savannah.gnu.org/guix/guix-artwork.git")
(commit "6998d30")))
(sha256
(base32
"0k7j3pj9s3zqiqmfkapypssvzx3f12yr0cc2rbzxqfii0b4clp1j"))))
;;; artwork.scm ends here
-165
View File
@@ -1,165 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 David Craven <david@craven.ch>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu bootloader)
#:use-module (guix discovery)
#:use-module (guix records)
#:use-module (guix ui)
#:use-module (srfi srfi-1)
#:export (menu-entry
menu-entry?
menu-entry-label
menu-entry-device
menu-entry-linux
menu-entry-linux-arguments
menu-entry-initrd
menu-entry-device-mount-point
bootloader
bootloader?
bootloader-name
bootloader-package
bootloader-installer
bootloader-configuration-file
bootloader-configuration-file-generator
bootloader-configuration
bootloader-configuration?
bootloader-configuration-bootloader
bootloader-configuration-target
bootloader-configuration-menu-entries
bootloader-configuration-default-entry
bootloader-configuration-timeout
bootloader-configuration-theme
bootloader-configuration-terminal-outputs
bootloader-configuration-terminal-inputs
bootloader-configuration-serial-unit
bootloader-configuration-serial-speed
bootloader-configuration-additional-configuration
%bootloaders
lookup-bootloader-by-name))
;;;
;;; Menu-entry record.
;;;
(define-record-type* <menu-entry>
menu-entry make-menu-entry
menu-entry?
(label menu-entry-label)
(device menu-entry-device ; file system uuid, label, or #f
(default #f))
(device-mount-point menu-entry-device-mount-point
(default #f))
(linux menu-entry-linux)
(linux-arguments menu-entry-linux-arguments
(default '())) ; list of string-valued gexps
(initrd menu-entry-initrd)) ; file name of the initrd as a gexp
;;;
;;; Bootloader record.
;;;
;; The <bootloader> record contains fields expressing how the bootloader
;; should be installed. Every bootloader in gnu/bootloader/ directory
;; has to be described by this record.
(define-record-type* <bootloader>
bootloader make-bootloader
bootloader?
(name bootloader-name)
(package bootloader-package)
(installer bootloader-installer)
(configuration-file bootloader-configuration-file)
(configuration-file-generator bootloader-configuration-file-generator))
;;;
;;; Bootloader configuration record.
;;;
;; The <bootloader-configuration> record contains bootloader independant
;; configuration used to fill bootloader configuration file.
(define-record-type* <bootloader-configuration>
bootloader-configuration make-bootloader-configuration
bootloader-configuration?
(bootloader bootloader-configuration-bootloader) ; <bootloader>
(device bootloader-configuration-device ; string
(default #f))
(target %bootloader-configuration-target ; string
(default #f))
(menu-entries bootloader-configuration-menu-entries ; list of <boot-parameters>
(default '()))
(default-entry bootloader-configuration-default-entry ; integer
(default 0))
(timeout bootloader-configuration-timeout ; seconds as integer
(default 5))
(theme bootloader-configuration-theme ; bootloader-specific theme
(default #f))
(terminal-outputs bootloader-configuration-terminal-outputs ; list of symbols
(default '(gfxterm)))
(terminal-inputs bootloader-configuration-terminal-inputs ; list of symbols
(default '()))
(serial-unit bootloader-configuration-serial-unit ; integer | #f
(default #f))
(serial-speed bootloader-configuration-serial-speed ; integer | #f
(default #f))
(additional-configuration bootloader-configuration-additional-configuration ; record
(default #f)))
(define (bootloader-configuration-target config)
(or (%bootloader-configuration-target config)
(let ((device (bootloader-configuration-device config)))
(when device
(warning
(G_ "The 'device' field of bootloader configurations is deprecated.~%"))
(warning (G_ "Use 'target' instead.~%")))
device)))
;;;
;;; Bootloaders.
;;;
(define (bootloader-modules)
"Return the list of bootloader modules."
(all-modules (map (lambda (entry)
`(,entry . "gnu/bootloader"))
%load-path)))
(define %bootloaders
;; The list of publically-known bootloaders.
(delay (fold-module-public-variables (lambda (obj result)
(if (bootloader? obj)
(cons obj result)
result))
'()
(bootloader-modules))))
(define (lookup-bootloader-by-name name)
"Return the bootloader called NAME."
(or (find (lambda (bootloader)
(eq? name (bootloader-name bootloader)))
(force %bootloaders))
(leave (G_ "~a: no such bootloader~%") name)))
-132
View File
@@ -1,132 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 David Craven <david@craven.ch>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu bootloader extlinux)
#:use-module (gnu bootloader)
#:use-module (gnu system)
#:use-module (gnu packages bootloaders)
#:use-module (guix gexp)
#:use-module (guix monads)
#:use-module (guix records)
#:use-module (guix utils)
#:export (extlinux-bootloader
extlinux-bootloader-gpt))
(define* (extlinux-configuration-file config entries
#:key
(system (%current-system))
(old-entries '()))
"Return the U-Boot configuration file corresponding to CONFIG, a
<u-boot-configuration> object, and where the store is available at STORE-FS, a
<file-system> object. OLD-ENTRIES is taken to be a list of menu entries
corresponding to old generations of the system."
(define all-entries
(append entries (bootloader-configuration-menu-entries config)))
(define (menu-entry->gexp entry)
(let ((label (menu-entry-label entry))
(kernel (menu-entry-linux entry))
(kernel-arguments (menu-entry-linux-arguments entry))
(initrd (menu-entry-initrd entry)))
#~(format port "LABEL ~a
MENU LABEL ~a
KERNEL ~a
FDTDIR ~a/lib/dtbs
INITRD ~a
APPEND ~a
~%"
#$label #$label
#$kernel (dirname #$kernel) #$initrd
(string-join (list #$@kernel-arguments)))))
(define builder
#~(call-with-output-file #$output
(lambda (port)
(let ((timeout #$(bootloader-configuration-timeout config)))
(format port "# This file was generated from your GuixSD configuration. Any changes
# will be lost upon reconfiguration.
UI menu.c32
PROMPT ~a
TIMEOUT ~a~%"
(if (> timeout 0) 1 0)
;; timeout is expressed in 1/10s of seconds.
(* 10 timeout))
#$@(map menu-entry->gexp all-entries)
#$@(if (pair? old-entries)
#~((format port "~%")
#$@(map menu-entry->gexp old-entries)
(format port "~%"))
#~())))))
(gexp->derivation "extlinux.conf" builder))
;;;
;;; Install procedures.
;;;
(define dd
#~(lambda (bs count if of)
(zero? (system* "dd"
(string-append "bs=" (number->string bs))
(string-append "count=" (number->string count))
(string-append "if=" if)
(string-append "of=" of)))))
(define (install-extlinux mbr)
#~(lambda (bootloader device mount-point)
(let ((extlinux (string-append bootloader "/sbin/extlinux"))
(install-dir (string-append mount-point "/boot/extlinux"))
(syslinux-dir (string-append bootloader "/share/syslinux")))
(for-each (lambda (file)
(install-file file install-dir))
(find-files syslinux-dir "\\.c32$"))
(unless (and (zero? (system* extlinux "--install" install-dir))
(#$dd 440 1 (string-append syslinux-dir "/" #$mbr) device))
(error "failed to install SYSLINUX")))))
(define install-extlinux-mbr
(install-extlinux "mbr.bin"))
(define install-extlinux-gpt
(install-extlinux "gptmbr.bin"))
;;;
;;; Bootloader definitions.
;;;
(define extlinux-bootloader
(bootloader
(name 'extlinux)
(package syslinux)
(installer install-extlinux-mbr)
(configuration-file "/boot/extlinux/extlinux.conf")
(configuration-file-generator extlinux-configuration-file)))
(define extlinux-bootloader-gpt
(bootloader
(inherit extlinux-bootloader)
(installer install-extlinux-gpt)))
-47
View File
@@ -1,47 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 David Craven <david@craven.ch>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu bootloader u-boot)
#:use-module (gnu bootloader extlinux)
#:use-module (gnu bootloader)
#:use-module (gnu system)
#:use-module (gnu packages bootloaders)
#:use-module (guix gexp)
#:use-module (guix monads)
#:use-module (guix records)
#:use-module (guix utils)
#:export (u-boot-bootloader))
(define install-u-boot
#~(lambda (bootloader device mount-point)
(if bootloader
(error "Failed to install U-Boot"))))
;;;
;;; Bootloader definitions.
;;;
(define u-boot-bootloader
(bootloader
(inherit extlinux-bootloader)
(name 'u-boot)
(package #f)
(installer install-u-boot)))
+14 -5
View File
@@ -130,15 +130,14 @@ properties. Return #t on success."
;; 'useradd' fails with "Cannot determine your user name" if the root
;; account doesn't exist. Thus, for bootstrapping purposes, create that
;; one manually.
(let ((home (or home "/root")))
(begin
(call-with-output-file "/etc/shadow"
(cut format <> "~a::::::::~%" name))
(call-with-output-file "/etc/passwd"
(cut format <> "~a:x:~a:~a:~a:~a:~a~%"
name "0" "0" comment home shell))
(chmod "/etc/shadow" #o600)
(copy-account-skeletons home)
(chmod home #o700)
(copy-account-skeletons (or home "/root"))
#t)
;; Use 'useradd' from the Shadow package.
@@ -313,7 +312,6 @@ they already exist."
(false-if-exception (delete-file file)))
(format #t "populating /etc from ~a...~%" etc)
(mkdir-p "/etc")
;; Create the /etc/ssl -> /run/current-system/profile/etc/ssl symlink. This
;; symlink, to a target outside of the store, probably doesn't belong in the
@@ -353,13 +351,24 @@ they already exist."
;; Place where setuid programs are stored.
"/run/setuid-programs")
(define (link-or-copy source target)
"Attempt to make TARGET a hard link to SOURCE; if it fails, fall back to
copy SOURCE to TARGET."
(catch 'system-error
(lambda ()
(link source target))
(lambda args
;; Perhaps SOURCE and TARGET live in a different file system, so copy
;; SOURCE.
(copy-file source target))))
(define (activate-setuid-programs programs)
"Turn PROGRAMS, a list of file names, into setuid programs stored under
%SETUID-DIRECTORY."
(define (make-setuid-program prog)
(let ((target (string-append %setuid-directory
"/" (basename prog))))
(copy-file prog target)
(link-or-copy prog target)
(chown target 0 0)
(chmod target #o6555)))
+155 -114
View File
@@ -19,16 +19,15 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu build file-systems)
#:use-module (gnu system uuid)
#:use-module (gnu system file-systems)
#:use-module (guix build utils)
#:use-module (guix build bournish)
#:use-module ((guix build syscalls)
#:hide (file-system-type))
#:use-module (guix build syscalls)
#:use-module (rnrs io ports)
#:use-module (rnrs bytevectors)
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:use-module (ice-9 format)
#:use-module (ice-9 regex)
#:use-module (system foreign)
#:autoload (system repl repl) (start-repl)
#:use-module (srfi srfi-1)
@@ -42,6 +41,9 @@
find-partition-by-luks-uuid
canonicalize-device-spec
uuid->string
string->uuid
bind-mount
mount-flags->bit-mask
@@ -87,6 +89,20 @@ takes a bytevector and returns #t when it's a valid superblock."
(and (magic? block)
block)))))))))
(define (sub-bytevector bv start size)
"Return a copy of the SIZE bytes of BV starting from offset START."
(let ((result (make-bytevector size)))
(bytevector-copy! bv start result 0 size)
result))
(define (latin1->string bv terminator)
"Return a string of BV, a latin1 bytevector, or #f. TERMINATOR is a predicate
that takes a number and returns #t when a termination character is found."
(let ((bytes (take-while (negate terminator) (bytevector->u8-list bv))))
(if (null? bytes)
#f
(list->string (map integer->char bytes)))))
(define null-terminated-latin1->string
(cut latin1->string <> zero?))
@@ -174,6 +190,10 @@ if DEVICE does not contain a btrfs file system."
;; <http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-107.pdf>.
(define-syntax %fat32-endianness
;; Endianness of fat file systems.
(identifier-syntax (endianness little)))
(define (fat32-superblock? sblock)
"Return #t when SBLOCK is a fat32 superblock."
(bytevector=? (sub-bytevector sblock 82 8)
@@ -188,13 +208,19 @@ if DEVICE does not contain a btrfs file system."
"Return the Volume ID of a fat superblock SBLOCK as a 4-byte bytevector."
(sub-bytevector sblock 67 4))
(define (fat32-uuid->string uuid)
"Convert fat32 UUID, a 4-byte bytevector, to its string representation."
(let ((high (bytevector-uint-ref uuid 0 %fat32-endianness 2))
(low (bytevector-uint-ref uuid 2 %fat32-endianness 2)))
(format #f "~:@(~x-~x~)" low high)))
(define (fat32-superblock-volume-name sblock)
"Return the volume name of SBLOCK as a string of at most 11 characters, or
#f if SBLOCK has no volume name. The volume name is a latin1 string.
Trailing spaces are trimmed."
(string-trim-right (latin1->string (sub-bytevector sblock 71 11) (lambda (c) #f)) #\space))
(define (check-fat-file-system device)
(define (check-fat32-file-system device)
"Return the health of a fat file system on DEVICE."
(match (status:exit-val
(system* "fsck.vfat" "-v" "-a" device))
@@ -202,33 +228,6 @@ Trailing spaces are trimmed."
(1 'errors-corrected)
(_ 'fatal-error)))
;;;
;;; FAT16 file systems.
;;;
(define (fat16-superblock? sblock)
"Return #t when SBLOCK is a fat16 boot record."
(bytevector=? (sub-bytevector sblock 54 8)
(string->utf8 "FAT16 ")))
(define (read-fat16-superblock device)
"Return the raw contents of DEVICE's fat16 superblock as a bytevector, or
#f if DEVICE does not contain a fat16 file system."
(read-superblock device 0 62 fat16-superblock?))
(define (fat16-superblock-uuid sblock)
"Return the Volume ID of a fat superblock SBLOCK as a 4-byte bytevector."
(sub-bytevector sblock 39 4))
(define (fat16-superblock-volume-name sblock)
"Return the volume name of SBLOCK as a string of at most 11 characters, or
#f if SBLOCK has no volume name. The volume name is a latin1 string.
Trailing spaces are trimmed."
(string-trim-right (latin1->string (sub-bytevector sblock 43 11)
(lambda (c) #f))
#\space))
;;;
;;; ISO9660 file systems.
@@ -237,7 +236,7 @@ Trailing spaces are trimmed."
;; <http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-119.pdf>.
(define (iso9660-superblock? sblock)
"Return #t when SBLOCK is an iso9660 volume descriptor."
"Return #t when SBLOCK is a iso9660 superblock."
(bytevector=? (sub-bytevector sblock 1 6)
;; Note: "\x01" is the volume descriptor format version
(string->utf8 "CD001\x01")))
@@ -246,46 +245,43 @@ Trailing spaces are trimmed."
"Find and read the first primary volume descriptor, starting at OFFSET.
Return #f if not found."
(let* ((sblock (read-superblock device offset 2048 iso9660-superblock?))
(type-code (if sblock
(bytevector-u8-ref sblock 0)
(error (format #f
"Could not read ISO9660 primary
volume descriptor from ~s"
device)))))
(type-code (if sblock (array-ref sblock 0) 255)))
(match type-code
(255 #f) ; Volume Descriptor Set Terminator.
(1 sblock) ; Primary Volume Descriptor
(_ (read-iso9660-primary-volume-descriptor device (+ offset 2048))))))
(define (read-iso9660-superblock device)
"Return the raw contents of DEVICE's iso9660 primary volume descriptor
as a bytevector, or #f if DEVICE does not contain an iso9660 file system."
"Return the raw contents of DEVICE's iso9660 superblock as a bytevector, or
#f if DEVICE does not contain a iso9660 file system."
;; Start reading at sector 16.
;; Since we are not sure that the device contains an ISO9660 filesystem,
;; we have to find that out first.
(if (read-superblock device (* 2048 16) 2048 iso9660-superblock?)
(read-iso9660-primary-volume-descriptor device (* 2048 16))
#f)) ; Device does not contain an iso9660 filesystem.
(read-iso9660-primary-volume-descriptor device (* 2048 16)))
(define (iso9660-superblock-uuid sblock)
"Return the modification time of an iso9660 primary volume descriptor
SBLOCK as a bytevector. If that's not set, returns the creation time."
"Return the modification time of a iso9660 superblock SBLOCK as a bytevector."
;; Drops GMT offset for compatibility with Grub, blkid and /dev/disk/by-uuid.
;; Compare Grub: "2014-12-02-19-30-23-00".
;; Compare blkid result: "2014-12-02-19-30-23-00".
;; Compare /dev/disk/by-uuid entry: "2014-12-02-19-30-23-00".
(let* ((creation-time (sub-bytevector sblock 813 17))
(modification-time (sub-bytevector sblock 830 17))
(unset-time (make-bytevector 17 0))
(time (if (bytevector=? unset-time modification-time)
creation-time
modification-time)))
(sub-bytevector time 0 16))) ; strips GMT offset.
(sub-bytevector sblock 830 16))
(define (iso9660-uuid->string uuid)
"Given an UUID bytevector, return its timestamp string."
(define (digits->string bytes)
(latin1->string bytes (lambda (c) #f)))
(let* ((year (sub-bytevector uuid 0 4))
(month (sub-bytevector uuid 4 2))
(day (sub-bytevector uuid 6 2))
(hour (sub-bytevector uuid 8 2))
(minute (sub-bytevector uuid 10 2))
(second (sub-bytevector uuid 12 2))
(hundredths (sub-bytevector uuid 14 2))
(parts (list year month day hour minute second hundredths)))
(string-append (string-join (map digits->string parts)))))
(define (iso9660-superblock-volume-name sblock)
"Return the volume name of SBLOCK as a string. The volume name is an ASCII
string. Trailing spaces are trimmed."
;; Note: Valid characters are of the set "[0-9][A-Z]_" (ECMA-119 Appendix A)
(string-trim-right (latin1->string (sub-bytevector sblock 40 32)
(lambda (c) #f)) #\space))
@@ -333,16 +329,15 @@ not valid header was found."
(define (disk-partitions)
"Return the list of device names corresponding to valid disk partitions."
(define (last-character str)
(string-ref str (- (string-length str) 1)))
(define (partition? name major minor)
;; grub-mkrescue does some funny things for EFI support which
;; makes it a lot more difficult than one would expect to support
;; booting an ISO-9660 image from an USB flash drive.
;; For example there's a buggy (too small) hidden partition in it
;; which Linux mounts and then proceeds to fail while trying to
;; fall off the edge.
;; In any case, partition tables are supposed to be optional so
;; here we allow checking entire disks for file systems, too.
(> major 2)) ;ignore RAM disks and floppy disks
;; Select device names that end in a digit, like libblkid's 'probe_all'
;; function does. Checking for "/sys/dev/block/MAJOR:MINOR/partition"
;; doesn't work for partitions coming from mapped devices.
(and (char-set-contains? char-set:digit (last-character name))
(> major 2))) ;ignore RAM disks and floppy disks
(call-with-input-file "/proc/partitions"
(lambda (port)
@@ -381,10 +376,6 @@ warning and #f as the result."
#f)
((= ENOMEDIUM errno) ;for removable media
#f)
((= EIO errno) ;unreadable hardware like audio CDs
(format (current-error-port)
"warning: failed to read from device '~a'~%" device)
#f)
(else
(apply throw args))))))))
@@ -413,9 +404,7 @@ partition field reader that returned a value."
(partition-field-reader read-btrfs-superblock
btrfs-superblock-volume-name)
(partition-field-reader read-fat32-superblock
fat32-superblock-volume-name)
(partition-field-reader read-fat16-superblock
fat16-superblock-volume-name)))
fat32-superblock-volume-name)))
(define %partition-uuid-readers
(list (partition-field-reader read-iso9660-superblock
@@ -425,9 +414,7 @@ partition field reader that returned a value."
(partition-field-reader read-btrfs-superblock
btrfs-superblock-uuid)
(partition-field-reader read-fat32-superblock
fat32-superblock-uuid)
(partition-field-reader read-fat16-superblock
fat16-superblock-uuid)))
fat32-superblock-uuid)))
(define read-partition-label
(cut read-partition-field <> %partition-label-readers))
@@ -448,12 +435,12 @@ was READ is = to the given value."
(partition-predicate read-partition-label string=?))
(define partition-uuid-predicate
(partition-predicate read-partition-uuid uuid=?))
(partition-predicate read-partition-uuid bytevector=?))
(define luks-partition-uuid-predicate
(partition-predicate
(partition-field-reader read-luks-header luks-header-uuid)
uuid=?))
bytevector=?))
(define (find-partition predicate)
"Return the first partition found that matches PREDICATE, or #f if none
@@ -472,6 +459,60 @@ were found."
(define find-partition-by-luks-uuid
(find-partition luks-partition-uuid-predicate))
;;;
;;; UUIDs.
;;;
(define-syntax %network-byte-order
(identifier-syntax (endianness big)))
(define (uuid->string uuid)
"Convert UUID, a 16-byte bytevector, to its string representation, something
like \"6b700d61-5550-48a1-874c-a3d86998990e\"."
;; See <https://tools.ietf.org/html/rfc4122>.
(let ((time-low (bytevector-uint-ref uuid 0 %network-byte-order 4))
(time-mid (bytevector-uint-ref uuid 4 %network-byte-order 2))
(time-hi (bytevector-uint-ref uuid 6 %network-byte-order 2))
(clock-seq (bytevector-uint-ref uuid 8 %network-byte-order 2))
(node (bytevector-uint-ref uuid 10 %network-byte-order 6)))
(format #f "~8,'0x-~4,'0x-~4,'0x-~4,'0x-~12,'0x"
time-low time-mid time-hi clock-seq node)))
(define %uuid-rx
;; The regexp of a UUID.
(make-regexp "^([[:xdigit:]]{8})-([[:xdigit:]]{4})-([[:xdigit:]]{4})-([[:xdigit:]]{4})-([[:xdigit:]]{12})$"))
(define (string->uuid str)
"Parse STR as a DCE UUID (see <https://tools.ietf.org/html/rfc4122>) and
return its contents as a 16-byte bytevector. Return #f if STR is not a valid
UUID representation."
(and=> (regexp-exec %uuid-rx str)
(lambda (match)
(letrec-syntax ((hex->number
(syntax-rules ()
((_ index)
(string->number (match:substring match index)
16))))
(put!
(syntax-rules ()
((_ bv index (number len) rest ...)
(begin
(bytevector-uint-set! bv index number
(endianness big) len)
(put! bv (+ index len) rest ...)))
((_ bv index)
bv))))
(let ((time-low (hex->number 1))
(time-mid (hex->number 2))
(time-hi (hex->number 3))
(clock-seq (hex->number 4))
(node (hex->number 5))
(uuid (make-bytevector 16)))
(put! uuid 0
(time-low 4) (time-mid 2) (time-hi 2)
(clock-seq 2) (node 6)))))))
(define* (canonicalize-device-spec spec #:optional (title 'any))
"Return the device name corresponding to SPEC. TITLE is a symbol, one of
@@ -481,7 +522,8 @@ the following:
\"/dev/sda1\";
• 'label', in which case SPEC is known to designate a partition label--e.g.,
\"my-root-part\";
• 'uuid', in which case SPEC must be a UUID designating a partition;
• 'uuid', in which case SPEC must be a UUID (a 16-byte bytevector)
designating a partition;
• 'any', in which case SPEC can be anything.
"
(define max-trials
@@ -527,11 +569,9 @@ the following:
(resolve find-partition-by-label spec identity))
((uuid)
(resolve find-partition-by-uuid
(cond ((string? spec)
(string->uuid spec))
((uuid? spec)
(uuid-bytevector spec))
(else spec))
(if (string? spec)
(string->uuid spec)
spec)
uuid->string))
(else
(error "unknown device title" title))))
@@ -542,7 +582,7 @@ the following:
(cond
((string-prefix? "ext" type) check-ext2-file-system)
((string-prefix? "btrfs" type) check-btrfs-file-system)
((string-suffix? "fat" type) check-fat-file-system)
((string-suffix? "fat" type) check-fat32-file-system)
(else #f)))
(if check-procedure
@@ -586,8 +626,11 @@ corresponds to the symbols listed in FLAGS."
(()
0))))
(define* (mount-file-system fs #:key (root "/root"))
"Mount the file system described by FS, a <file-system> object, under ROOT.
(define* (mount-file-system spec #:key (root "/root"))
"Mount the file system described by SPEC under ROOT. SPEC must have the
form:
(DEVICE TITLE MOUNT-POINT TYPE (FLAGS ...) OPTIONS CHECK?)
DEVICE, MOUNT-POINT, and TYPE must be strings; OPTIONS can be a string or #f;
FLAGS must be a list of symbols. CHECK? is a Boolean indicating whether to
@@ -613,36 +656,34 @@ run a file system check."
(if options
(string-append "," options)
"")))))
(let ((type (file-system-type fs))
(options (file-system-options fs))
(source (canonicalize-device-spec (file-system-device fs)
(file-system-title fs)))
(mount-point (string-append root "/"
(file-system-mount-point fs)))
(flags (mount-flags->bit-mask (file-system-flags fs))))
(when (file-system-check? fs)
(check-file-system source type))
(match spec
((source title mount-point type (flags ...) options check?)
(let ((source (canonicalize-device-spec source title))
(mount-point (string-append root "/" mount-point))
(flags (mount-flags->bit-mask flags)))
(when check?
(check-file-system source type))
;; Create the mount point. Most of the time this is a directory, but
;; in the case of a bind mount, a regular file or socket may be needed.
(if (and (= MS_BIND (logand flags MS_BIND))
(not (file-is-directory? source)))
(unless (file-exists? mount-point)
(mkdir-p (dirname mount-point))
(call-with-output-file mount-point (const #t)))
(mkdir-p mount-point))
;; Create the mount point. Most of the time this is a directory, but
;; in the case of a bind mount, a regular file or socket may be needed.
(if (and (= MS_BIND (logand flags MS_BIND))
(not (file-is-directory? source)))
(unless (file-exists? mount-point)
(mkdir-p (dirname mount-point))
(call-with-output-file mount-point (const #t)))
(mkdir-p mount-point))
(cond
((string-prefix? "nfs" type)
(mount-nfs source mount-point type flags options))
(else
(mount source mount-point type flags options)))
(cond
((string-prefix? "nfs" type)
(mount-nfs source mount-point type flags options))
(else
(mount source mount-point type flags options)))
;; For read-only bind mounts, an extra remount is needed, as per
;; <http://lwn.net/Articles/281157/>, which still applies to Linux 4.0.
(when (and (= MS_BIND (logand flags MS_BIND))
(= MS_RDONLY (logand flags MS_RDONLY)))
(let ((flags (logior MS_BIND MS_REMOUNT MS_RDONLY)))
(mount source mount-point type flags #f)))))
;; For read-only bind mounts, an extra remount is needed, as per
;; <http://lwn.net/Articles/281157/>, which still applies to Linux 4.0.
(when (and (= MS_BIND (logand flags MS_BIND))
(= MS_RDONLY (logand flags MS_RDONLY)))
(let ((flags (logior MS_BIND MS_REMOUNT MS_RDONLY)))
(mount source mount-point type flags #f)))))))
;;; file-systems.scm ends here
+28 -8
View File
@@ -22,7 +22,8 @@
#:use-module (guix build store-copy)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:export (install-boot-config
#:export (install-grub
install-grub-config
evaluate-populate-directive
populate-root-file-system
reset-timestamps
@@ -38,17 +39,36 @@
;;;
;;; Code:
(define (install-boot-config bootcfg bootcfg-location mount-point)
"Atomically copy BOOTCFG into BOOTCFG-LOCATION on the MOUNT-POINT. Note
that the caller must make sure that BOOTCFG is registered as a GC root so
that the fonts, background images, etc. referred to by BOOTCFG are not GC'd."
(let* ((target (string-append mount-point bootcfg-location))
(define (install-grub grub.cfg device mount-point)
"Install GRUB with GRUB.CFG on DEVICE, which is assumed to be mounted on
MOUNT-POINT.
Note that the caller must make sure that GRUB.CFG is registered as a GC root
so that the fonts, background images, etc. referred to by GRUB.CFG are not
GC'd."
(install-grub-config grub.cfg mount-point)
;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or root
;; partition.
(setenv "GRUB_ENABLE_CRYPTODISK" "y")
(unless (zero? (system* "grub-install" "--no-floppy"
"--boot-directory"
(string-append mount-point "/boot")
device))
(error "failed to install GRUB")))
(define (install-grub-config grub.cfg mount-point)
"Atomically copy GRUB.CFG into boot/grub/grub.cfg on the MOUNT-POINT. Note
that the caller must make sure that GRUB.CFG is registered as a GC root so
that the fonts, background images, etc. referred to by GRUB.CFG are not GC'd."
(let* ((target (string-append mount-point "/boot/grub/grub.cfg"))
(pivot (string-append target ".new")))
(mkdir-p (dirname target))
;; Copy BOOTCFG instead of just symlinking it, because symlinks won't
;; Copy GRUB.CFG instead of just symlinking it, because symlinks won't
;; work when /boot is on a separate partition. Do that atomically.
(copy-file bootcfg pivot)
(copy-file grub.cfg pivot)
(rename-file pivot target)))
(define (evaluate-populate-directive directive target)
+40 -23
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 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -21,16 +21,15 @@
#:use-module (rnrs io ports)
#:use-module (system repl error-handling)
#:autoload (system repl repl) (start-repl)
#:autoload (system base compile) (compile-file)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:use-module (ice-9 ftw)
#:use-module (guix build utils)
#:use-module ((guix build syscalls)
#:hide (file-system-type))
#:use-module (guix build syscalls)
#:use-module (gnu build linux-modules)
#:use-module (gnu build file-systems)
#:use-module (gnu system file-systems)
#:export (mount-essential-file-systems
linux-command-line
find-long-option
@@ -240,10 +239,20 @@ the last argument of `mknod'."
(filter-map string->number (scandir "/proc")))))
(define* (mount-root-file-system root type
#:key volatile-root?)
#:key volatile-root? (unionfs "unionfs"))
"Mount the root file system of type TYPE at device ROOT. If VOLATILE-ROOT?
is true, mount ROOT read-only and make it a overlay with a writable tmpfs
using the kernel build-in overlayfs."
is true, mount ROOT read-only and make it a union with a writable tmpfs using
UNIONFS."
(define (mark-as-not-killable pid)
;; Tell the 'user-processes' shepherd service that PID must be kept alive
;; when shutting down.
(mkdir-p "/root/etc/shepherd")
(let ((port (open-file "/root/etc/shepherd/do-not-kill" "a")))
(chmod port #o600)
(write pid port)
(newline port)
(close-port port)))
(if volatile-root?
(begin
(mkdir-p "/real-root")
@@ -251,17 +260,24 @@ using the kernel build-in overlayfs."
(mkdir-p "/rw-root")
(mount "none" "/rw-root" "tmpfs")
;; Create the upperdir and the workdir of the overlayfs
(mkdir-p "/rw-root/upper")
(mkdir-p "/rw-root/work")
;; We want read-write /dev nodes.
(mkdir-p "/rw-root/upper/dev")
(mount "none" "/rw-root/upper/dev" "devtmpfs")
(mkdir-p "/rw-root/dev")
(mount "none" "/rw-root/dev" "devtmpfs")
;; Make /root an overlay of the tmpfs and the actual root.
(mount "none" "/root" "overlay" 0
"lowerdir=/real-root,upperdir=/rw-root/upper,workdir=/rw-root/work"))
;; Make /root a union of the tmpfs and the actual root. Use
;; 'max_files' to set a high RLIMIT_NOFILE for the unionfs process
;; itself. Failing to do that, we quickly run out of file
;; descriptors; see <http://bugs.gnu.org/17827>.
(unless (zero? (system* unionfs "-o"
"cow,allow_other,use_ino,suid,dev,max_files=65536"
"/rw-root=RW:/real-root=RO"
"/root"))
(error "unionfs failed"))
;; Make sure unionfs remains alive till the end. Because
;; 'fuse_daemonize' doesn't tell the PID of the forked daemon, we
;; have to resort to 'pidof' here.
(mark-as-not-killable (pidof unionfs)))
(begin
(check-file-system root type)
(mount root "/root" type)))
@@ -269,7 +285,6 @@ using the kernel build-in overlayfs."
;; Make sure /root/etc/mtab is a symlink to /proc/self/mounts.
(false-if-exception
(delete-file "/root/etc/mtab"))
(mkdir-p "/root/etc")
(symlink "/proc/self/mounts" "/root/etc/mtab"))
(define (switch-root root)
@@ -334,17 +349,19 @@ supports kernel command-line options '--load', '--root', and '--repl'.
Mount the root file system, specified by the '--root' command-line argument,
if any.
MOUNTS must be a list of <file-system> objects.
MOUNTS must be a list suitable for 'mount-file-system'.
When VOLATILE-ROOT? is true, the root file system is writable but any changes
to it are lost."
(define (root-mount-point? fs)
(string=? (file-system-mount-point fs) "/"))
(define root-mount-point?
(match-lambda
((device _ "/" _ ...) #t)
(_ #f)))
(define root-fs-type
(or (any (lambda (fs)
(and (root-mount-point? fs)
(file-system-type fs)))
(or (any (match-lambda
((device _ "/" type _ ...) type)
(_ #f))
mounts)
"ext4"))
+2 -1
View File
@@ -152,7 +152,8 @@ for the process."
;; Mount user-specified file systems.
(for-each (lambda (file-system)
(mount-file-system file-system #:root root))
(mount-file-system (file-system->spec file-system)
#:root root))
mounts)
;; Jail the process inside the container's root file system.
+4 -35
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,7 +25,6 @@
#:export (marionette?
make-marionette
marionette-eval
wait-for-file
marionette-control
marionette-screen-text
wait-for-screen-text
@@ -165,25 +164,6 @@ QEMU monitor and to the guest's backdoor REPL."
(newline repl)
(read repl))))
(define* (wait-for-file file marionette
#:key (timeout 10) (read 'read))
"Wait until FILE exists in MARIONETTE; READ its content and return it. If
FILE has not shown up after TIMEOUT seconds, raise an error."
(match (marionette-eval
`(let loop ((i ,timeout))
(cond ((file-exists? ,file)
(cons 'success (call-with-input-file ,file ,read)))
((> i 0)
(sleep 1)
(loop (- i 1)))
(else
'failure)))
marionette)
(('success . result)
result)
('failure
(error "file didn't show up" file))))
(define (marionette-control command marionette)
"Run COMMAND in the QEMU monitor of MARIONETTE. COMMAND is a string such as
\"sendkey ctrl-alt-f1\" or \"screendump foo.ppm\" (info \"(qemu-doc)
@@ -262,20 +242,9 @@ PREDICATE, whichever comes first. Raise an error when TIMEOUT is exceeded."
(#\. . "dot")
(#\, . "comma")
(#\; . "semicolon")
(#\' . "apostrophe")
(#\" . "shift-apostrophe")
(#\` . "grave_accent")
(#\bs . "backspace")
(#\tab . "tab")))
(define (character->keystroke chr keystrokes)
"Return the keystroke for CHR according to the keyboard layout defined by
KEYSTROKES."
(if (char-set-contains? char-set:upper-case chr)
(string-append "shift-" (string (char-downcase chr)))
(or (assoc-ref keystrokes chr)
(string chr))))
(define* (string->keystroke-commands str
#:optional
(keystrokes
@@ -284,9 +253,9 @@ KEYSTROKES."
to STR. KEYSTROKES is an alist specifying a mapping from characters to
keystrokes."
(string-fold-right (lambda (chr result)
(cons (string-append
"sendkey "
(character->keystroke chr keystrokes))
(cons (string-append "sendkey "
(or (assoc-ref keystrokes chr)
(string chr)))
result))
'()
str))
+4 -6
View File
@@ -60,13 +60,11 @@
(type "tmpfs")
(check? #f)))
(define accounts
(define passwd
;; This is for processes in the default user namespace but living in a
;; different mount namespace, so that they can lookup users.
(list (file-system-mapping
(source "/etc/passwd") (target source))
(file-system-mapping
(source "/etc/group") (target source))))
(file-system-mapping
(source "/etc/passwd") (target source)))
(define nscd-socket
(file-system-mapping
@@ -80,7 +78,7 @@
%network-file-mappings))
,@(if (and (memq 'mnt namespaces)
(not (memq 'user namespaces)))
accounts
(list passwd)
'())
,%store-mapping))) ;XXX: coarse-grain
(map file-system-mapping->bind-mount
+2 -2
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;;
;;; This file is part of GNU Guix.
@@ -50,7 +50,7 @@ dimensions of IN-SVG."
(define svg
(rsvg-handle-new-from-file in-svg))
(let-values (((origin-width origin-height em ex)
(let-values (((origin-width origin-height)
(rsvg-handle-get-dimensions svg)))
(let* ((surf (cairo-image-surface-create 'argb32
origin-width origin-height))
+38 -117
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 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -26,9 +26,7 @@
#:use-module (guix build syscalls)
#:use-module (gnu build linux-boot)
#:use-module (gnu build install)
#:use-module (gnu system uuid)
#:use-module (guix records)
#:use-module ((guix combinators) #:select (fold2))
#:use-module (ice-9 format)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
@@ -48,11 +46,9 @@
partition-flags
partition-initializer
estimated-partition-size
root-partition-initializer
initialize-partition-table
initialize-hard-disk
make-iso9660-image))
initialize-hard-disk))
;;; Commentary:
;;;
@@ -75,26 +71,19 @@
output
(qemu (qemu-command)) (memory-size 512)
linux initrd
make-disk-image?
single-file-output?
(disk-image-size (* 100 (expt 2 20)))
make-disk-image? (disk-image-size 100)
(disk-image-format "qcow2")
(references-graphs '()))
"Run BUILDER, a Scheme file, into a VM running LINUX with INITRD, and copy
the result to OUTPUT. If SINGLE-FILE-OUTPUT? is true, copy a single file from
/xchg to OUTPUT. Otherwise, copy the contents of /xchg to a new directory
OUTPUT.
the result to OUTPUT.
When MAKE-DISK-IMAGE? is true, OUTPUT will contain a VM image of
DISK-IMAGE-SIZE bytes resulting from the execution of BUILDER, which may
access it via /dev/hda.
DISK-IMAGE-SIZE MiB resulting from the execution of BUILDER, which may access
it via /dev/hda.
REFERENCES-GRAPHS can specify a list of reference-graph files as produced by
the #:references-graphs parameter of 'derivation'."
(when make-disk-image?
(format #t "creating ~a image of ~,2f MiB...~%"
disk-image-format (/ disk-image-size (expt 2 20)))
(force-output)
(unless (zero? (system* "qemu-img" "create" "-f" disk-image-format
output
(number->string disk-image-size)))
@@ -140,17 +129,8 @@ the #:references-graphs parameter of 'derivation'."
;; When MAKE-DISK-IMAGE? is true, the image is in OUTPUT already.
(unless make-disk-image?
(if single-file-output?
(let ((graph? (lambda (name stat)
(member (basename name) references-graphs))))
(match (find-files "xchg" (negate graph?))
((result)
(copy-file result output))
(x
(error "did not find a single result file" x))))
(begin
(mkdir output)
(copy-recursively "xchg" output)))))
(mkdir output)
(copy-recursively "xchg" output)))
;;;
@@ -163,15 +143,20 @@ the #:references-graphs parameter of 'derivation'."
(size partition-size)
(file-system partition-file-system (default "ext4"))
(label partition-label (default #f))
(uuid partition-uuid (default #f))
(flags partition-flags (default '()))
(initializer partition-initializer (default (const #t))))
(define (estimated-partition-size graphs)
"Return the estimated size of a partition that can store the store items
given by GRAPHS, a list of file names produced by #:references-graphs."
;; Simply add a 25% overhead.
(round (* 1.25 (closure-size graphs))))
(define (fold2 proc seed1 seed2 lst) ;TODO: factorize
"Like `fold', but with a single list and two seeds."
(let loop ((result1 seed1)
(result2 seed2)
(lst lst))
(if (null? lst)
(values result1 result2)
(call-with-values
(lambda () (proc (car lst) result1 result2))
(lambda (result1 result2)
(loop result1 result2 (cdr lst)))))))
(define* (initialize-partition-table device partitions
#:key
@@ -207,15 +192,8 @@ actual /dev name based on DEVICE."
(cons (partition-options head offset index)
result))))))
(format #t "creating partition table with ~a partitions (~a)...\n"
(length partitions)
(string-join (map (compose (cut string-append <> " MiB")
number->string
(lambda (size)
(round (/ size (expt 2. 20))))
partition-size)
partitions)
", "))
(format #t "creating partition table with ~a partitions...\n"
(length partitions))
(unless (zero? (apply system* "parted" "--script"
device "mklabel" label-type
(options partitions offset)))
@@ -237,26 +215,22 @@ actual /dev name based on DEVICE."
(define MS_BIND 4096) ; <sys/mounts.h> again!
(define* (create-ext-file-system partition type
#:key label uuid)
#:key label)
"Create an ext-family filesystem of TYPE on PARTITION. If LABEL is true,
use that as the volume name. If UUID is true, use it as the partition UUID."
use that as the volume name."
(format #t "creating ~a partition...\n" type)
(unless (zero? (apply system* (string-append "mkfs." type)
"-F" partition
`(,@(if label
`("-L" ,label)
'())
,@(if uuid
`("-U" ,(uuid->string uuid))
'()))))
(if label
`("-L" ,label)
'())))
(error "failed to create partition")))
(define* (create-fat-file-system partition
#:key label uuid)
#:key label)
"Create a FAT filesystem on PARTITION. The number of File Allocation Tables
will be determined based on filesystem size. If LABEL is true, use that as the
volume name."
;; FIXME: UUID is ignored!
(format #t "creating FAT partition...\n")
(unless (zero? (apply system* "mkfs.fat" partition
(if label
@@ -265,13 +239,13 @@ volume name."
(error "failed to create FAT partition")))
(define* (format-partition partition type
#:key label uuid)
#:key label)
"Create a file system TYPE on PARTITION. If LABEL is true, use that as the
volume name."
(cond ((string-prefix? "ext" type)
(create-ext-file-system partition type #:label label #:uuid uuid))
(create-ext-file-system partition type #:label label))
((or (string-prefix? "fat" type) (string= "vfat" type))
(create-fat-file-system partition #:label label #:uuid uuid))
(create-fat-file-system partition #:label label))
(else (error "Unsupported file system."))))
(define (initialize-partition partition)
@@ -280,8 +254,7 @@ it, run its initializer, and unmount it."
(let ((target "/fs"))
(format-partition (partition-device partition)
(partition-file-system partition)
#:label (partition-label partition)
#:uuid (partition-uuid partition))
#:label (partition-label partition))
(mkdir-p target)
(mount (partition-device partition) target
(partition-file-system partition))
@@ -337,11 +310,11 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
(unless register-closures?
(reset-timestamps target))))
(define (register-bootcfg-root target bootcfg)
(define (register-grub.cfg-root target bootcfg)
"On file system TARGET, register BOOTCFG as a GC root."
(let ((directory (string-append target "/var/guix/gcroots")))
(mkdir-p directory)
(symlink bootcfg (string-append directory "/bootcfg"))))
(symlink bootcfg (string-append directory "/grub.cfg"))))
(define (install-efi grub esp config-file)
"Write a self-contained GRUB EFI loader to the mounted ESP using CONFIG-FILE."
@@ -371,55 +344,9 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
(string-append "boot/grub/grub.cfg=" config-file)))
(error "failed to create GRUB EFI image"))))
(define* (make-iso9660-image grub config-file os-drv target
#:key (volume-id "GuixSD_image") (volume-uuid #f)
register-closures? (closures '()))
"Given a GRUB package, creates an iso image as TARGET, using CONFIG-FILE as
GRUB configuration and OS-DRV as the stuff in it."
(let ((grub-mkrescue (string-append grub "/bin/grub-mkrescue"))
(target-store (string-append "/tmp/root" (%store-directory))))
(populate-root-file-system os-drv "/tmp/root")
(mount (%store-directory) target-store "" MS_BIND)
(when register-closures?
(display "registering closures...\n")
(for-each (lambda (closure)
(register-closure
"/tmp/root"
(string-append "/xchg/" closure)
;; XXX: Using deduplication causes cross device link errors.
#:deduplicate? #f))
closures))
(unless (zero? (apply system*
`(,grub-mkrescue "-o" ,target
,(string-append "boot/grub/grub.cfg=" config-file)
,(string-append "gnu/store=" os-drv "/..")
"etc=/tmp/root/etc"
"var=/tmp/root/var"
"run=/tmp/root/run"
;; /mnt is used as part of the installation
;; process, as the mount point for the target
;; filesystem, so create it.
"mnt=/tmp/root/mnt"
"--"
"-volid" ,(string-upcase volume-id)
,@(if volume-uuid
`("-volume_date" "uuid"
,(string-filter (lambda (value)
(not (char=? #\- value)))
(iso9660-uuid->string
volume-uuid)))
`()))))
(error "failed to create ISO9660 image"))))
(define* (initialize-hard-disk device
#:key
bootloader-package
bootcfg
bootcfg-location
bootloader-installer
grub.cfg
(grub-efi #f)
(partitions '()))
"Initialize DEVICE as a disk containing all the <partition> objects listed
@@ -448,10 +375,7 @@ passing it a directory name where it is mounted."
(display "mounting root partition...\n")
(mkdir-p target)
(mount (partition-device root) target (partition-file-system root))
(install-boot-config bootcfg bootcfg-location target)
(when bootloader-installer
(display "installing bootloader...\n")
(bootloader-installer bootloader-package device target))
(install-grub grub.cfg device target)
(when esp
;; Mount the ESP somewhere and install GRUB UEFI image.
@@ -464,14 +388,11 @@ passing it a directory name where it is mounted."
;; Create a tiny configuration file telling the embedded grub
;; where to load the real thing.
;; XXX This is quite fragile, and can prevent the image from booting
;; when there's more than one volume with this label present.
;; Reproducible almost-UUIDs could reduce the risk (not eliminate it).
(call-with-output-file grub-config
(lambda (port)
(format port
"insmod part_msdos~@
search --set=root --label GuixSD_image~@
search --set=root --label gnu-disk-image~@
configfile /boot/grub/grub.cfg~%")))
(display "creating EFI firmware image...")
@@ -481,8 +402,8 @@ passing it a directory name where it is mounted."
(delete-file grub-config)
(umount mount-point)))
;; Register BOOTCFG as a GC root.
(register-bootcfg-root target bootcfg)
;; Register GRUB.CFG as a GC root.
(register-grub.cfg-root target grub.cfg)
(umount target)))
+111 -219
View File
@@ -2,20 +2,18 @@
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
# Copyright © 2013, 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
# Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
# Copyright © 2016, 2017 Kei Kebreau <kei@openmailbox.org>
# Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
# Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
# Copyright © 2016, 2017 Alex Vong <alexvong1995@gmail.com>
# Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
# Copyright © 2016, 2017 Jan Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
# Copyright © 2017 Clément Lassieur <clement@lassieur.org>
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
# Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
#
# This file is part of GNU Guix.
#
@@ -38,14 +36,9 @@
GNU_SYSTEM_MODULES = \
gnu.scm \
%D%/artwork.scm \
%D%/bootloader.scm \
%D%/bootloader/grub.scm \
%D%/bootloader/extlinux.scm \
%D%/bootloader/u-boot.scm \
%D%/packages.scm \
%D%/packages/abduco.scm \
%D%/packages/abiword.scm \
%D%/packages/accessibility.scm \
%D%/packages/acct.scm \
%D%/packages/acl.scm \
%D%/packages/admin.scm \
@@ -67,7 +60,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/autotools.scm \
%D%/packages/avahi.scm \
%D%/packages/avr.scm \
%D%/packages/axoloti.scm \
%D%/packages/backup.scm \
%D%/packages/base.scm \
%D%/packages/bash.scm \
@@ -89,9 +81,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/check.scm \
%D%/packages/chez.scm \
%D%/packages/ci.scm \
%D%/packages/cinnamon.scm \
%D%/packages/cmake.scm \
%D%/packages/cobol.scm \
%D%/packages/code.scm \
%D%/packages/commencement.scm \
%D%/packages/compression.scm \
@@ -101,9 +91,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/connman.scm \
%D%/packages/cook.scm \
%D%/packages/cpio.scm \
%D%/packages/cpp.scm \
%D%/packages/cppi.scm \
%D%/packages/cran.scm \
%D%/packages/cross-base.scm \
%D%/packages/crypto.scm \
%D%/packages/cryptsetup.scm \
@@ -133,7 +121,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/ebook.scm \
%D%/packages/ed.scm \
%D%/packages/education.scm \
%D%/packages/electronics.scm \
%D%/packages/elf.scm \
%D%/packages/elixir.scm \
%D%/packages/embedded.scm \
@@ -143,7 +130,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/enlightenment.scm \
%D%/packages/entr.scm \
%D%/packages/erlang.scm \
%D%/packages/fabric-management.scm \
%D%/packages/fcitx.scm \
%D%/packages/figlet.scm \
%D%/packages/file.scm \
@@ -156,7 +142,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/fonts.scm \
%D%/packages/fontutils.scm \
%D%/packages/fpga.scm \
%D%/packages/forth.scm \
%D%/packages/freedesktop.scm \
%D%/packages/freeipmi.scm \
%D%/packages/ftp.scm \
@@ -171,6 +156,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gdb.scm \
%D%/packages/geo.scm \
%D%/packages/gettext.scm \
%D%/packages/gforth.scm \
%D%/packages/ghostscript.scm \
%D%/packages/gimp.scm \
%D%/packages/gkrellm.scm \
@@ -189,7 +175,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gperf.scm \
%D%/packages/gprolog.scm \
%D%/packages/gps.scm \
%D%/packages/graph.scm \
%D%/packages/graphics.scm \
%D%/packages/graphviz.scm \
%D%/packages/groff.scm \
@@ -201,10 +186,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gv.scm \
%D%/packages/gxmessage.scm \
%D%/packages/haskell.scm \
%D%/packages/haskell-check.scm \
%D%/packages/haskell-crypto.scm \
%D%/packages/haskell-web.scm \
%D%/packages/ham-radio.scm \
%D%/packages/hexedit.scm \
%D%/packages/hugs.scm \
%D%/packages/hurd.scm \
@@ -222,7 +203,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/irc.scm \
%D%/packages/iso-codes.scm \
%D%/packages/java.scm \
%D%/packages/javascript.scm \
%D%/packages/jemalloc.scm \
%D%/packages/jrnl.scm \
%D%/packages/julia.scm \
@@ -270,19 +250,18 @@ GNU_SYSTEM_MODULES = \
%D%/packages/man.scm \
%D%/packages/mail.scm \
%D%/packages/make-bootstrap.scm \
%D%/packages/markup.scm \
%D%/packages/markdown.scm \
%D%/packages/marst.scm \
%D%/packages/mate.scm \
%D%/packages/maths.scm \
%D%/packages/mc.scm \
%D%/packages/mcrypt.scm \
%D%/packages/medical.scm \
%D%/packages/mes.scm \
%D%/packages/messaging.scm \
%D%/packages/mingw.scm \
%D%/packages/mg.scm \
%D%/packages/microcom.scm \
%D%/packages/moe.scm \
%D%/packages/motti.scm \
%D%/packages/monitoring.scm \
%D%/packages/mono.scm \
%D%/packages/moreutils.scm \
@@ -325,7 +304,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/pdf.scm \
%D%/packages/pem.scm \
%D%/packages/perl.scm \
%D%/packages/perl-check.scm \
%D%/packages/perl-web.scm \
%D%/packages/photo.scm \
%D%/packages/php.scm \
@@ -333,7 +311,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/plotutils.scm \
%D%/packages/polkit.scm \
%D%/packages/popt.scm \
%D%/packages/profiling.scm \
%D%/packages/pth.scm \
%D%/packages/pulseaudio.scm \
%D%/packages/pumpio.scm \
@@ -341,9 +318,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/protobuf.scm \
%D%/packages/pv.scm \
%D%/packages/python.scm \
%D%/packages/python-crypto.scm \
%D%/packages/python-web.scm \
%D%/packages/tryton.scm \
%D%/packages/qemu.scm \
%D%/packages/qt.scm \
%D%/packages/ragel.scm \
%D%/packages/rails.scm \
@@ -375,12 +350,10 @@ GNU_SYSTEM_MODULES = \
%D%/packages/shells.scm \
%D%/packages/shellutils.scm \
%D%/packages/simh.scm \
%D%/packages/simulation.scm \
%D%/packages/skarnet.scm \
%D%/packages/skribilo.scm \
%D%/packages/slang.scm \
%D%/packages/smalltalk.scm \
%D%/packages/sml.scm \
%D%/packages/speech.scm \
%D%/packages/spice.scm \
%D%/packages/ssh.scm \
@@ -391,7 +364,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/suckless.scm \
%D%/packages/swig.scm \
%D%/packages/sync.scm \
%D%/packages/syncthing.scm \
%D%/packages/synergy.scm \
%D%/packages/syndication.scm \
%D%/packages/task-management.scm \
@@ -416,8 +388,8 @@ GNU_SYSTEM_MODULES = \
%D%/packages/version-control.scm \
%D%/packages/video.scm \
%D%/packages/vim.scm \
%D%/packages/virtualization.scm \
%D%/packages/vpn.scm \
%D%/packages/vtk.scm \
%D%/packages/w3m.scm \
%D%/packages/wdiff.scm \
%D%/packages/web.scm \
@@ -438,13 +410,12 @@ GNU_SYSTEM_MODULES = \
%D%/packages/xorg.scm \
%D%/packages/xfce.scm \
%D%/packages/zile.scm \
%D%/packages/zip.scm \
\
%D%/services.scm \
%D%/services/admin.scm \
%D%/services/audio.scm \
%D%/services/avahi.scm \
%D%/services/base.scm \
%D%/services/certbot.scm \
%D%/services/configuration.scm \
%D%/services/cuirass.scm \
%D%/services/cups.scm \
@@ -452,10 +423,8 @@ GNU_SYSTEM_MODULES = \
%D%/services/dbus.scm \
%D%/services/desktop.scm \
%D%/services/dict.scm \
%D%/services/dns.scm \
%D%/services/kerberos.scm \
%D%/services/lirc.scm \
%D%/services/virtualization.scm \
%D%/services/mail.scm \
%D%/services/mcron.scm \
%D%/services/messaging.scm \
@@ -464,12 +433,9 @@ GNU_SYSTEM_MODULES = \
%D%/services/shepherd.scm \
%D%/services/herd.scm \
%D%/services/pm.scm \
%D%/services/rsync.scm \
%D%/services/sddm.scm \
%D%/services/spice.scm \
%D%/services/ssh.scm \
%D%/services/sysctl.scm \
%D%/services/telephony.scm \
%D%/services/version-control.scm \
%D%/services/vpn.scm \
%D%/services/web.scm \
@@ -477,6 +443,7 @@ GNU_SYSTEM_MODULES = \
\
%D%/system.scm \
%D%/system/file-systems.scm \
%D%/system/grub.scm \
%D%/system/install.scm \
%D%/system/linux-container.scm \
%D%/system/linux-initrd.scm \
@@ -485,7 +452,6 @@ GNU_SYSTEM_MODULES = \
%D%/system/nss.scm \
%D%/system/pam.scm \
%D%/system/shadow.scm \
%D%/system/uuid.scm \
%D%/system/vm.scm \
\
%D%/build/activation.scm \
@@ -497,29 +463,22 @@ GNU_SYSTEM_MODULES = \
%D%/build/linux-initrd.scm \
%D%/build/linux-modules.scm \
%D%/build/marionette.scm \
%D%/build/shepherd.scm \
%D%/build/vm.scm \
\
%D%/tests.scm \
%D%/tests/admin.scm \
%D%/tests/audio.scm \
%D%/tests/base.scm \
%D%/tests/databases.scm \
%D%/tests/desktop.scm \
%D%/tests/dict.scm \
%D%/tests/nfs.scm \
%D%/tests/install.scm \
%D%/tests/mail.scm \
%D%/tests/messaging.scm \
%D%/tests/networking.scm \
%D%/tests/rsync.scm \
%D%/tests/ssh.scm \
%D%/tests/version-control.scm \
%D%/tests/virtualization.scm \
%D%/tests/web.scm
# Modules that do not need to be compiled.
MODULES_NOT_COMPILED += \
%D%/build/shepherd.scm \
%D%/build/svg.scm
patchdir = $(guilemoduledir)/%D%/packages/patches
@@ -528,6 +487,7 @@ dist_patch_DATA = \
%D%/packages/patches/a2ps-CVE-2001-1593.patch \
%D%/packages/patches/a2ps-CVE-2014-0466.patch \
%D%/packages/patches/abiword-explictly-cast-bools.patch \
%D%/packages/patches/abiword-wmf-version-lookup-fix.patch \
%D%/packages/patches/abiword-black-drawing-with-gtk322.patch \
%D%/packages/patches/acl-hurd-path-max.patch \
%D%/packages/patches/aegis-constness-error.patch \
@@ -536,14 +496,13 @@ dist_patch_DATA = \
%D%/packages/patches/aegis-test-fixup-1.patch \
%D%/packages/patches/aegis-test-fixup-2.patch \
%D%/packages/patches/agg-am_c_prototype.patch \
%D%/packages/patches/ansible-wrap-program-hack.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
%D%/packages/patches/apr-skip-getservbyname-test.patch \
%D%/packages/patches/artanis-fix-Makefile.in.patch \
%D%/packages/patches/aspell-default-dict-dir.patch \
%D%/packages/patches/ath9k-htc-firmware-binutils.patch \
%D%/packages/patches/ath9k-htc-firmware-gcc.patch \
%D%/packages/patches/ath9k-htc-firmware-objcopy.patch \
%D%/packages/patches/audacity-build-with-system-portaudio.patch \
%D%/packages/patches/automake-skip-amhello-tests.patch \
%D%/packages/patches/automake-regexp-syntax.patch \
%D%/packages/patches/automake-test-gzip-warning.patch \
@@ -552,15 +511,14 @@ dist_patch_DATA = \
%D%/packages/patches/awesome-reproducible-png.patch \
%D%/packages/patches/azr3.patch \
%D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/bcftools-regidx-unsigned-char.patch \
%D%/packages/patches/bigloo-gc-shebangs.patch \
%D%/packages/patches/binutils-ld-new-dtags.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/blast+-fix-makefile.patch \
%D%/packages/patches/binutils-mips-bash-bug.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/cairo-CVE-2016-9082.patch \
%D%/packages/patches/calibre-drop-unrar.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/calibre-use-packaged-feedparser.patch \
%D%/packages/patches/catdoc-CVE-2017-11110.patch \
%D%/packages/patches/cdparanoia-fpic.patch \
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
%D%/packages/patches/ceph-disable-cpu-optimizations.patch \
@@ -568,11 +526,9 @@ dist_patch_DATA = \
%D%/packages/patches/ceph-skip-collect-sys-info-test.patch \
%D%/packages/patches/ceph-skip-unittest_blockdev.patch \
%D%/packages/patches/chicken-CVE-2017-6949.patch \
%D%/packages/patches/chicken-CVE-2017-11343.patch \
%D%/packages/patches/chmlib-inttypes.patch \
%D%/packages/patches/clang-libc-search-path.patch \
%D%/packages/patches/clang-3.8-libc-search-path.patch \
%D%/packages/patches/clisp-remove-failing-test.patch \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/clx-remove-demo.patch \
%D%/packages/patches/cmake-fix-tests.patch \
@@ -582,43 +538,36 @@ dist_patch_DATA = \
%D%/packages/patches/cool-retro-term-memory-leak-1.patch \
%D%/packages/patches/cool-retro-term-remove-non-free-fonts.patch \
%D%/packages/patches/coreutils-cut-huge-range-test.patch \
%D%/packages/patches/coreutils-fix-cross-compilation.patch \
%D%/packages/patches/cpio-CVE-2016-2037.patch \
%D%/packages/patches/cpufrequtils-fix-aclocal.patch \
%D%/packages/patches/cracklib-CVE-2016-6318.patch \
%D%/packages/patches/cracklib-fix-buffer-overflow.patch \
%D%/packages/patches/crawl-upgrade-saves.patch \
%D%/packages/patches/crda-optional-gcrypt.patch \
%D%/packages/patches/crossmap-allow-system-pysam.patch \
%D%/packages/patches/crypto++-fix-dos-in-asn.1-decoders.patch \
%D%/packages/patches/csound-header-ordering.patch \
%D%/packages/patches/clucene-contribs-lib.patch \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-2017-12836.patch \
%D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \
%D%/packages/patches/dblatex-remove-multirow.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
%D%/packages/patches/diffutils-gets-undeclared.patch \
%D%/packages/patches/doc++-include-directives.patch \
%D%/packages/patches/doc++-segfault-fix.patch \
%D%/packages/patches/doxygen-test.patch \
%D%/packages/patches/dtc-format-modifier.patch \
%D%/packages/patches/dtc-32-bits-check.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \
%D%/packages/patches/elfutils-tests-ptrace.patch \
%D%/packages/patches/elixir-disable-failing-tests.patch \
%D%/packages/patches/einstein-build.patch \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/erlang-man-path.patch \
%D%/packages/patches/eudev-rules-directory.patch \
%D%/packages/patches/eudev-conflicting-declaration.patch \
%D%/packages/patches/evilwm-lost-focus-bug.patch \
%D%/packages/patches/exiv2-CVE-2017-14860.patch \
%D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \
%D%/packages/patches/expat-CVE-2016-0718-fix-regression.patch \
%D%/packages/patches/fabric-tests.patch \
%D%/packages/patches/fastcap-mulGlobal.patch \
%D%/packages/patches/fastcap-mulSetup.patch \
%D%/packages/patches/fasthenry-spAllocate.patch \
@@ -628,104 +577,81 @@ dist_patch_DATA = \
%D%/packages/patches/fasthenry-spFactor.patch \
%D%/packages/patches/fcgi-2.4.0-gcc44-fixes.patch \
%D%/packages/patches/fcgi-2.4.0-poll.patch \
%D%/packages/patches/file-CVE-2017-1000249.patch \
%D%/packages/patches/findutils-localstatedir.patch \
%D%/packages/patches/findutils-gnulib-multi-core.patch \
%D%/packages/patches/findutils-test-xargs.patch \
%D%/packages/patches/flint-ldconfig.patch \
%D%/packages/patches/fltk-shared-lib-defines.patch \
%D%/packages/patches/fltk-xfont-on-demand.patch \
%D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \
%D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \
%D%/packages/patches/fontconfig-charwidth-symbol-conflict.patch \
%D%/packages/patches/fontconfig-path-max.patch \
%D%/packages/patches/fontforge-svg-modtime.patch \
%D%/packages/patches/freeimage-CVE-2015-0852.patch \
%D%/packages/patches/freeimage-CVE-2016-5684.patch \
%D%/packages/patches/freeimage-fix-build-with-gcc-5.patch \
%D%/packages/patches/freetype-CVE-2017-8105.patch \
%D%/packages/patches/freetype-CVE-2017-8287.patch \
%D%/packages/patches/fuse-overlapping-headers.patch \
%D%/packages/patches/gawk-shell.patch \
%D%/packages/patches/gcc-arm-bug-71399.patch \
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
%D%/packages/patches/gcc-asan-powerpc-missing-include.patch \
%D%/packages/patches/gcc-cross-environment-variables.patch \
%D%/packages/patches/gcc-libvtv-runpath.patch \
%D%/packages/patches/gcc-strmov-store-file-names.patch \
%D%/packages/patches/gcc-4-compile-with-gcc-5.patch \
%D%/packages/patches/gcc-4.6-gnu-inline.patch \
%D%/packages/patches/gcc-4.9.3-mingw-gthr-default.patch \
%D%/packages/patches/gcc-5.0-libvtv-runpath.patch \
%D%/packages/patches/gcc-5-source-date-epoch-1.patch \
%D%/packages/patches/gcc-5-source-date-epoch-2.patch \
%D%/packages/patches/gcc-6-arm-none-eabi-multilib.patch \
%D%/packages/patches/gcc-6-cross-environment-variables.patch \
%D%/packages/patches/gcc-6-source-date-epoch-1.patch \
%D%/packages/patches/gcc-6-source-date-epoch-2.patch \
%D%/packages/patches/gcr-disable-failing-tests.patch \
%D%/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch \
%D%/packages/patches/gcj-arm-mode.patch \
%D%/packages/patches/gdk-pixbuf-list-dir.patch \
%D%/packages/patches/gd-fix-gd2-read-test.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-freetype-test-failure.patch \
%D%/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch \
%D%/packages/patches/gegl-CVE-2012-4433.patch \
%D%/packages/patches/gemma-intel-compat.patch \
%D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/gettext-multi-core.patch \
%D%/packages/patches/gettext-gnulib-multi-core.patch \
%D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \
%D%/packages/patches/ghostscript-CVE-2013-5653.patch \
%D%/packages/patches/ghostscript-CVE-2015-3228.patch \
%D%/packages/patches/ghostscript-CVE-2016-7976.patch \
%D%/packages/patches/ghostscript-CVE-2016-7978.patch \
%D%/packages/patches/ghostscript-CVE-2016-7979.patch \
%D%/packages/patches/ghostscript-CVE-2016-8602.patch \
%D%/packages/patches/ghostscript-CVE-2017-8291.patch \
%D%/packages/patches/ghostscript-no-header-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/ghostscript-runpath.patch \
%D%/packages/patches/glib-networking-ssl-cert-file.patch \
%D%/packages/patches/glib-tests-timer.patch \
%D%/packages/patches/glibc-CVE-2015-5180.patch \
%D%/packages/patches/glibc-CVE-2015-7547.patch \
%D%/packages/patches/glibc-CVE-2016-3075.patch \
%D%/packages/patches/glibc-CVE-2016-3706.patch \
%D%/packages/patches/glibc-CVE-2016-4429.patch \
%D%/packages/patches/glibc-CVE-2017-1000366-pt1.patch \
%D%/packages/patches/glibc-CVE-2017-1000366-pt2.patch \
%D%/packages/patches/glibc-CVE-2017-1000366-pt3.patch \
%D%/packages/patches/glibc-CVE-2017-15670-15671.patch \
%D%/packages/patches/glibc-bootstrap-system.patch \
%D%/packages/patches/glibc-ldd-x86_64.patch \
%D%/packages/patches/glibc-locales.patch \
%D%/packages/patches/glibc-memchr-overflow-i686.patch \
%D%/packages/patches/glibc-o-largefile.patch \
%D%/packages/patches/glibc-vectorized-strcspn-guards.patch \
%D%/packages/patches/glibc-versioned-locpath.patch \
%D%/packages/patches/glusterfs-use-PATH-instead-of-hardcodes.patch \
%D%/packages/patches/glog-gcc-5-demangling.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnome-shell-CVE-2017-8288.patch \
%D%/packages/patches/gnome-tweak-tool-search-paths.patch \
%D%/packages/patches/gnucash-price-quotes-perl.patch \
%D%/packages/patches/gnutls-skip-trust-store-test.patch \
%D%/packages/patches/gnutls-skip-pkgconfig-test.patch \
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
%D%/packages/patches/gobject-introspection-cc.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \
%D%/packages/patches/graphicsmagick-CVE-2017-11403+CVE-2017-14103.patch \
%D%/packages/patches/graphicsmagick-CVE-2017-12935.patch \
%D%/packages/patches/graphicsmagick-CVE-2017-12936.patch \
%D%/packages/patches/graphicsmagick-CVE-2017-12937.patch \
%D%/packages/patches/graphicsmagick-CVE-2017-13775.patch \
%D%/packages/patches/graphicsmagick-CVE-2017-13776+CVE-2017-13777.patch \
%D%/packages/patches/graphicsmagick-CVE-2017-14042.patch \
%D%/packages/patches/graphicsmagick-CVE-2017-14165.patch \
%D%/packages/patches/graphicsmagick-CVE-2017-14649.patch \
%D%/packages/patches/graphite2-CVE-2017-5436.patch \
%D%/packages/patches/graphite2-check-code-point-limit.patch \
%D%/packages/patches/graphite2-ffloat-store.patch \
%D%/packages/patches/grep-gnulib-lock.patch \
%D%/packages/patches/graphite2-fix-32-bit-wrap-arounds.patch \
%D%/packages/patches/graphite2-non-linear-classes-even-number.patch \
%D%/packages/patches/grep-timing-sensitive-test.patch \
%D%/packages/patches/groff-source-date-epoch.patch \
%D%/packages/patches/gsl-test-i686.patch \
%D%/packages/patches/gspell-dash-test.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
%D%/packages/patches/guile-2.2-default-utf8.patch \
%D%/packages/patches/guile-bytestructures-name-clash.patch \
%D%/packages/patches/guile-default-utf8.patch \
%D%/packages/patches/guile-linux-syscalls.patch \
%D%/packages/patches/guile-present-coding.patch \
%D%/packages/patches/guile-relocatable.patch \
%D%/packages/patches/guile-rsvg-pkgconfig.patch \
%D%/packages/patches/guile-emacs-fix-configure.patch \
%D%/packages/patches/guile-ssh-rexec-bug.patch \
%D%/packages/patches/guile-ssh-double-free.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk2-theme-paths.patch \
@@ -744,31 +670,20 @@ dist_patch_DATA = \
%D%/packages/patches/hdf-eos5-remove-gctp.patch \
%D%/packages/patches/hdf-eos5-fix-szip.patch \
%D%/packages/patches/hdf-eos5-fortrantests.patch \
%D%/packages/patches/heimdal-CVE-2017-6594.patch \
%D%/packages/patches/heimdal-CVE-2017-11103.patch \
%D%/packages/patches/hmmer-remove-cpu-specificity.patch \
%D%/packages/patches/higan-remove-march-native-flag.patch \
%D%/packages/patches/httpd-CVE-2017-9798.patch \
%D%/packages/patches/hop-linker-flags.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
%D%/packages/patches/icecat-bug-1348660-pt5.patch \
%D%/packages/patches/icecat-bug-1415133.patch \
%D%/packages/patches/icu4c-CVE-2017-7867-CVE-2017-7868.patch \
%D%/packages/patches/icu4c-CVE-2017-14952.patch \
%D%/packages/patches/icu4c-reset-keyword-list-iterator.patch \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/jacal-fix-texinfo.patch \
%D%/packages/patches/java-powermock-fix-java-files.patch \
%D%/packages/patches/jasper-CVE-2017-6850.patch \
%D%/packages/patches/jbig2dec-ignore-testtest.patch \
%D%/packages/patches/jbig2dec-CVE-2016-9601.patch \
%D%/packages/patches/jbig2dec-CVE-2017-7885.patch \
%D%/packages/patches/jbig2dec-CVE-2017-7975.patch \
%D%/packages/patches/jbig2dec-CVE-2017-7976.patch \
%D%/packages/patches/jq-CVE-2015-8863.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/khmer-use-libraries.patch \
@@ -783,7 +698,6 @@ dist_patch_DATA = \
%D%/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch \
%D%/packages/patches/kobodeluxe-midicon-segmentation-fault.patch \
%D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \
%D%/packages/patches/ktexteditor-5.39.0-autotests-dependencies.patch \
%D%/packages/patches/laby-make-install.patch \
%D%/packages/patches/lcms-CVE-2016-10165.patch \
%D%/packages/patches/ldc-disable-tests.patch \
@@ -793,7 +707,6 @@ dist_patch_DATA = \
%D%/packages/patches/liba52-link-with-libm.patch \
%D%/packages/patches/liba52-set-soname.patch \
%D%/packages/patches/liba52-use-mtune-not-mcpu.patch \
%D%/packages/patches/libarchive-CVE-2017-14166.patch \
%D%/packages/patches/libbase-fix-includes.patch \
%D%/packages/patches/libbase-use-own-logging.patch \
%D%/packages/patches/libbonobo-activation-test-race.patch \
@@ -801,6 +714,7 @@ dist_patch_DATA = \
%D%/packages/patches/libcroco-CVE-2017-7960.patch \
%D%/packages/patches/libcroco-CVE-2017-7961.patch \
%D%/packages/patches/libdrm-symbol-check.patch \
%D%/packages/patches/libetonyek-build-with-mdds-1.2.patch \
%D%/packages/patches/libevent-dns-tests.patch \
%D%/packages/patches/libevent-2.0-CVE-2016-10195.patch \
%D%/packages/patches/libevent-2.0-CVE-2016-10196.patch \
@@ -808,10 +722,8 @@ dist_patch_DATA = \
%D%/packages/patches/libevent-2.0-evbuffer-add-use-last-with-datap.patch \
%D%/packages/patches/libevent-2.1-dns-tests.patch \
%D%/packages/patches/libevent-2.1-skip-failing-test.patch \
%D%/packages/patches/libgit2-0.25.1-mtime-0.patch \
%D%/packages/patches/libgdata-fix-tests.patch \
%D%/packages/patches/libgdata-glib-duplicate-tests.patch \
%D%/packages/patches/libffi-3.2.1-complex-alpha.patch \
%D%/packages/patches/libextractor-ffmpeg-3.patch \
%D%/packages/patches/libgit2-use-after-free.patch \
%D%/packages/patches/libjxr-fix-function-signature.patch \
%D%/packages/patches/libjxr-fix-typos.patch \
%D%/packages/patches/liboop-mips64-deplibs-fix.patch \
@@ -824,31 +736,48 @@ dist_patch_DATA = \
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \
%D%/packages/patches/libssh-hostname-parser-bug.patch \
%D%/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch \
%D%/packages/patches/libtar-CVE-2013-4420.patch \
%D%/packages/patches/libtasn1-CVE-2017-10790.patch \
%D%/packages/patches/libtar-CVE-2013-4420.patch \
%D%/packages/patches/libtheora-config-guess.patch \
%D%/packages/patches/libtiff-CVE-2016-10688.patch \
%D%/packages/patches/libtiff-CVE-2017-9936.patch \
%D%/packages/patches/libtiff-tiffgetfield-bugs.patch \
%D%/packages/patches/libtiff-tiffycbcrtorgb-integer-overflow.patch \
%D%/packages/patches/libtiff-tiffycbcrtorgbinit-integer-overflow.patch \
%D%/packages/patches/libtiff-CVE-2016-10092.patch \
%D%/packages/patches/libtiff-CVE-2016-10093.patch \
%D%/packages/patches/libtiff-CVE-2016-10094.patch \
%D%/packages/patches/libtiff-CVE-2017-5225.patch \
%D%/packages/patches/libtiff-CVE-2017-7593.patch \
%D%/packages/patches/libtiff-CVE-2017-7594.patch \
%D%/packages/patches/libtiff-multiple-UBSAN-crashes.patch \
%D%/packages/patches/libtiff-assertion-failure.patch \
%D%/packages/patches/libtiff-divide-by-zero-ojpeg.patch \
%D%/packages/patches/libtiff-divide-by-zero-tiffcp.patch \
%D%/packages/patches/libtiff-divide-by-zero-tiffcrop.patch \
%D%/packages/patches/libtiff-divide-by-zero.patch \
%D%/packages/patches/libtiff-heap-overflow-pixarlog-luv.patch \
%D%/packages/patches/libtiff-heap-overflow-tif-dirread.patch \
%D%/packages/patches/libtiff-heap-overflow-tiffcp.patch \
%D%/packages/patches/libtiff-heap-overflow-tiffcrop.patch \
%D%/packages/patches/libtiff-invalid-read.patch \
%D%/packages/patches/libtiff-null-dereference.patch \
%D%/packages/patches/libtiff-tiffcp-underflow.patch \
%D%/packages/patches/libtirpc-CVE-2017-8779.patch \
%D%/packages/patches/libtorrent-rasterbar-boost-compat.patch \
%D%/packages/patches/libtool-skip-tests2.patch \
%D%/packages/patches/libunistring-gnulib-multi-core.patch \
%D%/packages/patches/libusb-0.1-disable-tests.patch \
%D%/packages/patches/libusb-for-axoloti.patch \
%D%/packages/patches/libvirt-CVE-2017-1000256.patch \
%D%/packages/patches/libunwind-CVE-2015-3239.patch \
%D%/packages/patches/libvpx-CVE-2016-2818.patch \
%D%/packages/patches/libwmf-CAN-2004-0941.patch \
%D%/packages/patches/libwmf-CVE-2006-3376.patch \
%D%/packages/patches/libwmf-CVE-2007-0455.patch \
%D%/packages/patches/libwmf-CVE-2007-2756.patch \
%D%/packages/patches/libwmf-CVE-2007-3472.patch \
%D%/packages/patches/libwmf-CVE-2007-3473.patch \
%D%/packages/patches/libwmf-CVE-2007-3477.patch \
%D%/packages/patches/libwmf-CVE-2009-1364.patch \
%D%/packages/patches/libwmf-CVE-2009-3546.patch \
%D%/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch \
%D%/packages/patches/libwmf-CVE-2015-4695.patch \
%D%/packages/patches/libwmf-CVE-2015-4696.patch \
%D%/packages/patches/libxcb-python-3.5-compat.patch \
%D%/packages/patches/libxml2-CVE-2016-4658.patch \
%D%/packages/patches/libxml2-CVE-2016-5131.patch \
%D%/packages/patches/libxml2-CVE-2017-0663.patch \
%D%/packages/patches/libxml2-CVE-2017-7375.patch \
%D%/packages/patches/libxml2-CVE-2017-7376.patch \
%D%/packages/patches/libxml2-CVE-2017-9047+CVE-2017-9048.patch \
%D%/packages/patches/libxml2-CVE-2017-9049+CVE-2017-9050.patch \
%D%/packages/patches/libxslt-generated-ids.patch \
%D%/packages/patches/libxslt-CVE-2016-4738.patch \
%D%/packages/patches/libxt-guix-search-paths.patch \
@@ -874,6 +803,7 @@ dist_patch_DATA = \
%D%/packages/patches/lvm2-static-link.patch \
%D%/packages/patches/lxsession-use-gapplication.patch \
%D%/packages/patches/lxterminal-CVE-2016-10369.patch \
%D%/packages/patches/lz4-fix-test-failures.patch \
%D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/mars-install.patch \
%D%/packages/patches/mars-sfml-2.3.patch \
@@ -882,43 +812,40 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4409.patch \
%D%/packages/patches/mcrypt-CVE-2012-4426.patch \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
%D%/packages/patches/mesa-fix-32bit-test-failures.patch \
%D%/packages/patches/mesa-skip-disk-cache-test.patch \
%D%/packages/patches/mesa-wayland-egl-symbols-check-mips.patch \
%D%/packages/patches/meson-for-build-rpath.patch \
%D%/packages/patches/metabat-fix-compilation.patch \
%D%/packages/patches/metabat-remove-compilation-date.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/miniupnpc-CVE-2017-8798.patch \
%D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \
%D%/packages/patches/mpc123-initialize-ao.patch \
%D%/packages/patches/module-init-tools-moduledir.patch \
%D%/packages/patches/mongodb-support-unknown-linux-distributions.patch \
%D%/packages/patches/mozjs17-aarch64-support.patch \
%D%/packages/patches/mozjs24-aarch64-support.patch \
%D%/packages/patches/mozjs38-pkg-config-version.patch \
%D%/packages/patches/mozjs38-shell-version.patch \
%D%/packages/patches/mozjs38-tracelogger.patch \
%D%/packages/patches/mozjs38-version-detection.patch \
%D%/packages/patches/multiqc-fix-git-subprocess-error.patch \
%D%/packages/patches/mumps-build-parallelism.patch \
%D%/packages/patches/mupdf-build-with-openjpeg-2.1.patch \
%D%/packages/patches/mupdf-CVE-2017-14685.patch \
%D%/packages/patches/mupdf-CVE-2017-14686.patch \
%D%/packages/patches/mupdf-CVE-2017-14687.patch \
%D%/packages/patches/mupdf-CVE-2017-15587.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/musl-CVE-2016-8859.patch \
%D%/packages/patches/mutt-store-references.patch \
%D%/packages/patches/ncurses-CVE-2017-10684-10685.patch \
%D%/packages/patches/net-tools-bitrot.patch \
%D%/packages/patches/netcdf-date-time.patch \
%D%/packages/patches/netcdf-tst_h_par.patch \
%D%/packages/patches/netsurf-system-utf8proc.patch \
%D%/packages/patches/netsurf-y2038-tests.patch \
%D%/packages/patches/netsurf-longer-test-timeout.patch \
%D%/packages/patches/newsbeuter-CVE-2017-12904.patch \
%D%/packages/patches/newsbeuter-CVE-2017-14500.patch \
%D%/packages/patches/ngircd-handle-zombies.patch \
%D%/packages/patches/ninja-zero-mtime.patch \
%D%/packages/patches/node-test-http2-server-rst-stream.patch \
%D%/packages/patches/node-9077.patch \
%D%/packages/patches/nss-disable-long-b64-tests.patch \
%D%/packages/patches/nss-increase-test-timeout.patch \
%D%/packages/patches/nss-pkgconfig.patch \
%D%/packages/patches/ntfs-3g-CVE-2017-0358.patch \
%D%/packages/patches/nvi-assume-preserve-path.patch \
%D%/packages/patches/nvi-dbpagesize-binpower.patch \
%D%/packages/patches/nvi-db4.patch \
@@ -927,40 +854,33 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-CVE-2015-8869.patch \
%D%/packages/patches/ocaml-Add-a-.file-directive.patch \
%D%/packages/patches/ocaml-findlib-make-install.patch \
%D%/packages/patches/ocaml-graph-honor-source-date-epoch.patch \
%D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/ola-readdir-r.patch \
%D%/packages/patches/openscenegraph-ffmpeg3.patch \
%D%/packages/patches/openexr-missing-samples.patch \
%D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openldap-CVE-2017-9287.patch \
%D%/packages/patches/openjpeg-CVE-2016-9850-CVE-2016-9851.patch \
%D%/packages/patches/openjpeg-CVE-2016-9572-CVE-2016-9573.patch \
%D%/packages/patches/openocd-nrf52.patch \
%D%/packages/patches/openssl-runpath.patch \
%D%/packages/patches/openssl-1.1.0-c-rehash-in.patch \
%D%/packages/patches/openssl-c-rehash-in.patch \
%D%/packages/patches/optipng-CVE-2017-1000229.patch \
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \
%D%/packages/patches/osip-CVE-2017-7853.patch \
%D%/packages/patches/ots-no-include-missing-file.patch \
%D%/packages/patches/owncloud-disable-updatecheck.patch \
%D%/packages/patches/p7zip-CVE-2016-9296.patch \
%D%/packages/patches/p7zip-remove-unused-code.patch \
%D%/packages/patches/patchelf-page-size.patch \
%D%/packages/patches/patchelf-rework-for-arm.patch \
%D%/packages/patches/patchutils-xfail-gendiff-tests.patch \
%D%/packages/patches/patch-hurd-path-max.patch \
%D%/packages/patches/pcmanfm-CVE-2017-8934.patch \
%D%/packages/patches/pcre-CVE-2017-7186.patch \
%D%/packages/patches/pcre2-CVE-2017-7186.patch \
%D%/packages/patches/pcre2-CVE-2017-8786.patch \
%D%/packages/patches/perl-file-path-CVE-2017-6512.patch \
%D%/packages/patches/perl-autosplit-default-time.patch \
%D%/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch \
%D%/packages/patches/perl-deterministic-ordering.patch \
%D%/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \
%D%/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch \
%D%/packages/patches/perl-io-socket-ssl-openssl-1.0.2f-fix.patch \
%D%/packages/patches/perl-net-amazon-s3-moose-warning.patch \
%D%/packages/patches/perl-net-ssleay-disable-ede-test.patch \
%D%/packages/patches/perl-net-dns-resolver-programmable-fix.patch \
%D%/packages/patches/perl-no-sys-dirs.patch \
%D%/packages/patches/perl-module-pluggable-search.patch \
@@ -983,11 +903,7 @@ dist_patch_DATA = \
%D%/packages/patches/portmidi-modular-build.patch \
%D%/packages/patches/procmail-ambiguous-getline-debian.patch \
%D%/packages/patches/procmail-CVE-2014-3618.patch \
%D%/packages/patches/procmail-CVE-2017-16844.patch \
%D%/packages/patches/proot-test-fhs.patch \
%D%/packages/patches/psm-arch.patch \
%D%/packages/patches/psm-ldflags.patch \
%D%/packages/patches/psm-repro.patch \
%D%/packages/patches/pt-scotch-build-parallelism.patch \
%D%/packages/patches/pulseaudio-fix-mult-test.patch \
%D%/packages/patches/pulseaudio-longer-test-timeout.patch \
@@ -1006,43 +922,29 @@ dist_patch_DATA = \
%D%/packages/patches/python-3.5-fix-tests.patch \
%D%/packages/patches/python-3.5-getentropy-on-old-kernels.patch \
%D%/packages/patches/python-dendropy-fix-tests.patch \
%D%/packages/patches/python-file-double-encoding-bug.patch \
%D%/packages/patches/python-fix-tests.patch \
%D%/packages/patches/python-genshi-add-support-for-python-3.4-AST.patch \
%D%/packages/patches/python-genshi-buildable-on-python-2.7.patch \
%D%/packages/patches/python-genshi-disable-speedups-on-python-3.3.patch \
%D%/packages/patches/python-genshi-fix-tests-on-python-3.5.patch \
%D%/packages/patches/python-genshi-isstring-helper.patch \
%D%/packages/patches/python-genshi-stripping-of-unsafe-script-tags.patch \
%D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
%D%/packages/patches/python-networkx2-reproducible-build.patch \
%D%/packages/patches/python-nose-timer-drop-ordereddict.patch \
%D%/packages/patches/python-parse-too-many-fields.patch \
%D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
%D%/packages/patches/python-statsmodels-fix-tests.patch \
%D%/packages/patches/python-configobj-setuptools.patch \
%D%/packages/patches/python-cython-fix-tests-32bit.patch \
%D%/packages/patches/python-fake-factory-fix-build-32bit.patch \
%D%/packages/patches/python-faker-fix-build-32bit.patch \
%D%/packages/patches/python-pandas-skip-failing-tests.patch \
%D%/packages/patches/python-paste-remove-website-test.patch \
%D%/packages/patches/python-paste-remove-timing-test.patch \
%D%/packages/patches/python-pillow-freetype-2.7-test-failure.patch \
%D%/packages/patches/python-pygit2-disable-network-tests.patch \
%D%/packages/patches/python-pyopenssl-skip-network-test.patch \
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
%D%/packages/patches/python2-subprocess32-disable-input-test.patch \
%D%/packages/patches/python2-unittest2-remove-argparse.patch \
%D%/packages/patches/qemu-CVE-2017-15038.patch \
%D%/packages/patches/qemu-CVE-2017-15118.patch \
%D%/packages/patches/qemu-CVE-2017-15119.patch \
%D%/packages/patches/qemu-CVE-2017-15268.patch \
%D%/packages/patches/qemu-CVE-2017-15289.patch \
%D%/packages/patches/qemu-CVE-2017-7493.patch \
%D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quassel-fix-tls-check.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
%D%/packages/patches/rapicorn-isnan.patch \
%D%/packages/patches/raptor2-heap-overflow.patch \
%D%/packages/patches/ratpoison-shell.patch \
%D%/packages/patches/rcs-5.9.4-noreturn.patch \
%D%/packages/patches/readline-link-ncurses.patch \
@@ -1051,34 +953,34 @@ dist_patch_DATA = \
%D%/packages/patches/reptyr-fix-gcc-7.patch \
%D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rpm-CVE-2014-8118.patch \
%D%/packages/patches/rsem-makefile.patch \
%D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \
%D%/packages/patches/ruby-concurrent-test-arm.patch \
%D%/packages/patches/ruby-puma-ignore-broken-test.patch \
%D%/packages/patches/ruby-rack-ignore-failing-test.patch \
%D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
%D%/packages/patches/rxvt-unicode-escape-sequences.patch \
%D%/packages/patches/scheme48-tests.patch \
%D%/packages/patches/scotch-test-threading.patch \
%D%/packages/patches/screen-fix-info-syntax-error.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/shepherd-close-fds.patch \
%D%/packages/patches/shishi-fix-libgcrypt-detection.patch \
%D%/packages/patches/shadow-4.4-su-snprintf-fix.patch \
%D%/packages/patches/shadow-CVE-2017-2616.patch \
%D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \
%D%/packages/patches/slim-sigusr1.patch \
%D%/packages/patches/slim-reset.patch \
%D%/packages/patches/slim-login.patch \
%D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \
%D%/packages/patches/sooperlooper-build-with-wx-30.patch \
%D%/packages/patches/spice-CVE-2016-9577.patch \
%D%/packages/patches/spice-CVE-2016-9578-1.patch \
%D%/packages/patches/spice-CVE-2016-9578-2.patch \
%D%/packages/patches/spice-CVE-2017-7506.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/superlu-dist-scotchmetis.patch \
%D%/packages/patches/swish-e-search.patch \
%D%/packages/patches/swish-e-format-security.patch \
%D%/packages/patches/synfigstudio-fix-ui-with-gtk3.patch \
%D%/packages/patches/synfig-build-fix.patch \
%D%/packages/patches/t1lib-CVE-2010-2642.patch \
%D%/packages/patches/t1lib-CVE-2011-0764.patch \
%D%/packages/patches/t1lib-CVE-2011-1552+CVE-2011-1553+CVE-2011-1554.patch \
@@ -1090,6 +992,7 @@ dist_patch_DATA = \
%D%/packages/patches/tcsh-fix-out-of-bounds-read.patch \
%D%/packages/patches/teensy-loader-cli-help.patch \
%D%/packages/patches/teeworlds-use-latest-wavpack.patch \
%D%/packages/patches/texlive-texmf-CVE-2016-10243.patch \
%D%/packages/patches/texi2html-document-encoding.patch \
%D%/packages/patches/texi2html-i18n.patch \
%D%/packages/patches/thefuck-test-environ.patch \
@@ -1101,7 +1004,6 @@ dist_patch_DATA = \
%D%/packages/patches/ttf2eot-cstddef.patch \
%D%/packages/patches/ttfautohint-source-date-epoch.patch \
%D%/packages/patches/tophat-build-with-later-seqan.patch \
%D%/packages/patches/totem-meson-easy-codec.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/unrtf-CVE-2016-10091.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \
@@ -1121,16 +1023,16 @@ dist_patch_DATA = \
%D%/packages/patches/util-linux-tests.patch \
%D%/packages/patches/upower-builddir.patch \
%D%/packages/patches/valgrind-enable-arm.patch \
%D%/packages/patches/vinagre-revert-1.patch \
%D%/packages/patches/vinagre-revert-2.patch \
%D%/packages/patches/virglrenderer-CVE-2017-6386.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \
%D%/packages/patches/vorbis-tools-CVE-2015-6749.patch \
%D%/packages/patches/vsearch-unbundle-cityhash.patch \
%D%/packages/patches/vpnc-script.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt1.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt2.patch \
%D%/packages/patches/weechat-python.patch \
%D%/packages/patches/wget-CVE-2017-6508.patch \
%D%/packages/patches/wget-fix-504-test-timeout.patch \
%D%/packages/patches/wicd-bitrate-none-fix.patch \
%D%/packages/patches/wicd-get-selected-profile-fix.patch \
%D%/packages/patches/wicd-urwid-1.3.patch \
@@ -1141,20 +1043,16 @@ dist_patch_DATA = \
%D%/packages/patches/wordnet-CVE-2008-2149.patch \
%D%/packages/patches/wordnet-CVE-2008-3908-pt1.patch \
%D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch \
%D%/packages/patches/wpa-supplicant-CVE-2017-13082.patch \
%D%/packages/patches/wpa-supplicant-fix-key-reuse.patch \
%D%/packages/patches/wpa-supplicant-fix-zeroed-keys.patch \
%D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \
%D%/packages/patches/wpa-supplicant-krack-followups.patch \
%D%/packages/patches/xcb-proto-python3-print.patch \
%D%/packages/patches/xcb-proto-python3-whitespace.patch \
%D%/packages/patches/wxwidgets-fix-windowGTK.patch \
%D%/packages/patches/xdotool-fix-makefile.patch \
%D%/packages/patches/xf86-input-wacom-xorg-abi-25.patch \
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
%D%/packages/patches/xf86-video-ast-remove-mibstore.patch \
%D%/packages/patches/xf86-video-geode-glibc-2.20.patch \
%D%/packages/patches/xf86-video-i128-remove-mibstore.patch \
%D%/packages/patches/xf86-video-mach64-glibc-2.20.patch \
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
%D%/packages/patches/xf86-video-tga-remove-mibstore.patch \
%D%/packages/patches/xfce4-panel-plugins.patch \
%D%/packages/patches/xfce4-session-fix-xflock4.patch \
@@ -1163,13 +1061,7 @@ dist_patch_DATA = \
%D%/packages/patches/xinetd-CVE-2013-4342.patch \
%D%/packages/patches/xmodmap-asprintf.patch \
%D%/packages/patches/libyaml-CVE-2014-9130.patch \
%D%/packages/patches/zathura-plugindir-environment-variable.patch \
%D%/packages/patches/zziplib-CVE-2017-5974.patch \
%D%/packages/patches/zziplib-CVE-2017-5975.patch \
%D%/packages/patches/zziplib-CVE-2017-5976.patch \
%D%/packages/patches/zziplib-CVE-2017-5978.patch \
%D%/packages/patches/zziplib-CVE-2017-5979.patch \
%D%/packages/patches/zziplib-CVE-2017-5981.patch
%D%/packages/patches/zathura-plugindir-environment-variable.patch
MISC_DISTRO_FILES = \
%D%/packages/ld-wrapper.in
+8 -20
View File
@@ -29,7 +29,6 @@
#:use-module ((guix build utils)
#:select ((package-name->name+version
. hyphen-separated-name->name+version)))
#:autoload (guix profiles) (packages->manifest)
#:use-module (ice-9 vlist)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
@@ -54,8 +53,7 @@
find-newest-available-packages
specification->package
specification->package+output
specifications->manifest))
specification->package+output))
;;; Commentary:
;;;
@@ -140,19 +138,17 @@ for system '~a'")
directory))
%load-path)))
(define* (fold-packages proc init
#:optional
(modules (all-modules (%package-module-path)))
#:key (select? (negate hidden-package?)))
"Call (PROC PACKAGE RESULT) for each available package defined in one of
MODULES that matches SELECT?, using INIT as the initial value of RESULT. It
is guaranteed to never traverse the same package twice."
(define (fold-packages proc init)
"Call (PROC PACKAGE RESULT) for each available package, using INIT as
the initial value of RESULT. It is guaranteed to never traverse the
same package twice."
(fold-module-public-variables (lambda (object result)
(if (and (package? object) (select? object))
(if (and (package? object)
(not (hidden-package? object)))
(proc object result)
result))
init
modules))
(all-modules (%package-module-path))))
(define find-packages-by-name
(let ((packages (delay
@@ -282,11 +278,3 @@ version; if SPEC does not specify an output, return OUTPUT."
(leave (G_ "package `~a' lacks output `~a'~%")
(package-full-name package)
sub-drv))))))
(define (specifications->manifest specs)
"Given SPECS, a list of specifications such as \"emacs@25.2\" or
\"guile:debug\", return a profile manifest."
;; This procedure exists mostly so users of 'guix package -m' don't have to
;; fiddle with multiple-value returns.
(packages->manifest
(map (compose list specification->package+output) specs)))
+5 -4
View File
@@ -2,7 +2,6 @@
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -51,12 +50,13 @@
(origin
(method url-fetch)
(uri
(string-append "https://www.abisource.com/downloads/" name "/" version
(string-append "http://abisource.org/downloads/" name "/" version
"/source/" name "-" version ".tar.gz"))
(sha256
(base32 "08imry821g81apdwym3gcs4nss0l9j5blqk31j5rv602zmcd9gxg"))
(patches
(search-patches "abiword-explictly-cast-bools.patch"
(search-patches "abiword-wmf-version-lookup-fix.patch"
"abiword-explictly-cast-bools.patch"
"abiword-black-drawing-with-gtk322.patch"))))
(build-system glib-or-gtk-build-system)
@@ -97,6 +97,7 @@
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("librsvg" ,librsvg)
("libwmf" ,libwmf)
("libxml2" ,libxml2)
("libxslt" ,libxslt)
("ots" ,ots)
@@ -110,7 +111,7 @@
("glib:bin" ,glib "bin")
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(home-page "https://www.abisource.com/")
(home-page "http://abisource.org/")
(synopsis "Word processing program")
;; HACKERS: The comment below is here so that it shows up early in the
-121
View File
@@ -1,121 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages accessibility)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages)
#:use-module (gnu packages xml)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages libusb))
(define-public florence
(package
(name "florence")
(version "0.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/florence/florence/" version
"/" name "-" version ".tar.bz2"))
(sha256
(base32
"07h9qm22krlwayhzvc391lr23vicw81s48g7rirvx1fj0zyr4aa2"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags (list "--with-xtst"
"--without-docs"
"--with-notification")))
(inputs
`(("libxml2" ,libxml2)
("libglade" ,libglade)
("librsvg" ,librsvg)
("gstreamer" ,gstreamer)
("cairo" ,cairo)
("gtk+" ,gtk+)
("libxtst" ,libxtst)
("libxcomposite" ,libxcomposite)
("libnotify" ,libnotify)))
(native-inputs
`(("gettext-minimal" ,gettext-minimal)
("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(home-page "http://florence.sourceforge.net/")
(synopsis "Extensible, scalable virtual keyboard for X11")
(description
"Florence is an extensible scalable virtual keyboard for X11.
It is useful for people who can't use a real hardware keyboard (for
example for people with disabilities), but you must be able to use
a pointing device (as a mouse, a trackball, a touchscreen or opengazer).
Florence stays out of your way when you don't need it: it appears on the
screen only when you need it. A timer-based auto-click input method is
available to help to click.")
;; The documentation is under FDL1.2, but we do not install the
;; documentation.
(license license:gpl2+)))
(define-public footswitch
(let ((commit "7cb0a9333a150c27c7e4746ee827765d244e567a"))
(package
(name "footswitch")
(version (git-version "0.1" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rgerganov/footswitch")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0mg1vr4a9vls5y435w7wdnr1vb5059gy60lvrdfjgzhd2wwf47iw"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("hidapi" ,hidapi)))
(arguments
`(#:tests? #f ; no tests
#:make-flags (list "CC=gcc")
#:phases (modify-phases %standard-phases
(delete 'configure)
;; Install target in the Makefile does not work for Guix
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out")
"/bin")))
(mkdir-p bin)
(install-file "footswitch" bin)
#t))))))
(home-page "https://github.com/rgerganov/footswitch")
(synopsis "Command line utility for PCsensor foot switch")
(description
"Command line utility for programming foot switches sold by PCsensor.
It works for both single pedal devices and three pedal devices. All supported
devices have vendorId:productId = 0c45:7403 or 0c45:7404.")
(license license:expat))))
+2 -2
View File
@@ -25,7 +25,7 @@
(define-public acct
(package
(name "acct")
(version "6.6.4")
(version "6.6.3")
(source
(origin
(method url-fetch)
@@ -33,7 +33,7 @@
version ".tar.gz"))
(sha256
(base32
"0gv6m8giazshvgpvwbng98chpas09myyfw1zr2y7hqxib0mvy5ac"))))
"14x0zklwlg7cc7amlyzffqr8az3fqj1h9dyj0hvl1kpi7cr7kbjy"))))
(build-system gnu-build-system)
(home-page "https://gnu.org/software/acct/")
(synopsis "Standard login and process accounting utilities")
+209 -309
View File
@@ -6,14 +6,14 @@
;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Peter Feigl <peter.feigl@nexoid.at>
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
@@ -46,7 +46,6 @@
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
@@ -56,10 +55,8 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages tcl)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages tls)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages bison)
@@ -70,8 +67,6 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages groff)
#:use-module (gnu packages pciutils)
@@ -81,6 +76,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages python)
#:use-module (gnu packages man)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gnome)
@@ -162,19 +158,12 @@ and provides a \"top-like\" mode (monitoring).")
version ".tar.gz"))
(sha256
(base32
"174q1qg7yg6w1hfvlfv720hr6hid4h5xzw15y3ycfpspllzldhcb"))
(patches (search-patches "shepherd-close-fds.patch"))))
"174q1qg7yg6w1hfvlfv720hr6hid4h5xzw15y3ycfpspllzldhcb"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")))
(native-inputs
`(("pkg-config" ,pkg-config)
;; This is the Guile we use as a cross-compiler...
("guile" ,guile-2.2)))
(inputs
;; ... and this is the one that appears in shebangs when cross-compiling.
`(("guile" ,guile-2.2)))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("guile" ,guile-2.0)))
(synopsis "System service manager")
(description
"The GNU Shepherd is a daemon-managing daemon, meaning that it supervises
@@ -275,13 +264,7 @@ re-executing them as necessary.")
"05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--localstatedir=/var"
;; Make sure 'PATH_PROCNET_DEV' gets defined when
;; cross-compiling (by default it does not.)
,@(if (%current-target-system)
'("--with-path-procnet-dev=/proc/net/dev")
'()))
'(#:configure-flags '("--localstatedir=/var")
;; On some systems, 'libls.sh' may fail with an error such as:
;; "Failed to tell switch -a apart from -A".
#:parallel-tests? #f))
@@ -292,25 +275,26 @@ re-executing them as necessary.")
(synopsis "Basic networking utilities")
(description
"Inetutils is a collection of common network programs, such as an ftp
client and server, a telnet client and server, an rsh client and server, and
hostname.")
client and server, a telnet client and server, and an rsh client and server.")
(license license:gpl3+)))
(define-public shadow
(package
(name "shadow")
(version "4.5")
(version "4.4")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/shadow-maint/shadow/releases/"
"download/" version "/shadow-" version ".tar.xz"))
(patches (search-patches "shadow-4.4-su-snprintf-fix.patch"
"shadow-CVE-2017-2616.patch"))
(sha256
(base32
"0hdpai78n63l3v3fgr3kkiqzhd0awrpfnnzz4mf7lmxdh61qb37w"))))
"0g7hf55ar2pafg5g3ldx0fwzjk36wf4xb21p4ndanbjm3c2a9ab1"))))
(build-system gnu-build-system)
(arguments
`(;; Assume System V `setpgrp (void)', which is the default on GNU
'(;; Assume System V `setpgrp (void)', which is the default on GNU
;; variants (`AC_FUNC_SETPGRP' is not cross-compilation capable.)
#:configure-flags
'("--with-libpam" "ac_cv_func_setpgrp_void=yes")
@@ -320,10 +304,7 @@ hostname.")
(add-before 'build 'set-nscd-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; Use the right file name for nscd.
(let ((libc (assoc-ref inputs
,(if (%current-target-system)
"cross-libc"
"libc"))))
(let ((libc (assoc-ref inputs "libc")))
(substitute* "lib/nscd.c"
(("/usr/sbin/nscd")
(string-append libc "/sbin/nscd"))))))
@@ -337,11 +318,11 @@ hostname.")
(for-each delete-file (find-files man "^groups\\."))
#t))))))
(inputs (if (string-contains (or (%current-target-system)
(%current-system))
"-linux")
`(("linux-pam" ,linux-pam))
'()))
(inputs (if (string-suffix? "-linux"
(or (%current-target-system)
(%current-system)))
`(("linux-pam" ,linux-pam))
'()))
(home-page "http://pkg-shadow.alioth.debian.org/")
(synopsis "Authentication-related tools such as passwd, su, and login")
(description
@@ -365,31 +346,32 @@ login, passwd, su, groupadd, and useradd.")
"05yxrp44ky2kg6qknk1ih0kvwkgbn9fbz77r3vci7agslh5wjm8g"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man8 (string-append out "/share/man/man8"))
(sbin (string-append out "/sbin"))
(shadow (assoc-ref inputs "shadow"))
(login (string-append shadow "/bin/login")))
(substitute* "Makefile"
(("^SBINDIR.*")
(string-append "SBINDIR = " out
"/sbin\n"))
(("^MANDIR.*")
(string-append "MANDIR = " out
"/share/man/man8\n")))
`(#:phases (alist-replace 'configure
(lambda* (#:key inputs outputs
#:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man8 (string-append
out "/share/man/man8"))
(sbin (string-append out "/sbin"))
(shadow (assoc-ref inputs "shadow"))
(login (string-append shadow
"/bin/login")))
(substitute* "Makefile"
(("^SBINDIR.*")
(string-append "SBINDIR = " out
"/sbin\n"))
(("^MANDIR.*")
(string-append "MANDIR = " out
"/share/man/man8\n")))
;; Pick the right 'login' by default.
(substitute* "mingetty.c"
(("\"/bin/login\"")
(string-append "\"" login "\"")))
;; Pick the right 'login' by default.
(substitute* "mingetty.c"
(("\"/bin/login\"")
(string-append "\"" login "\"")))
(mkdir-p sbin)
(mkdir-p man8))
#t)))
(mkdir-p sbin)
(mkdir-p man8)))
%standard-phases)
#:tests? #f)) ; no tests
(inputs `(("shadow" ,shadow)))
@@ -500,9 +482,9 @@ connection alive.")
(define-public isc-dhcp
(let* ((bind-major-version "9")
(bind-minor-version "9")
(bind-patch-version "10")
(bind-patch-version "9")
(bind-release-type "-P") ; for patch release, use "-P"
(bind-release-version "3") ; for patch release, e.g. "6"
(bind-release-version "8") ; for patch release, e.g. "6"
(bind-version (string-append bind-major-version
"."
bind-minor-version
@@ -618,7 +600,7 @@ connection alive.")
"/bind-" bind-version ".tar.gz"))
(sha256
(base32
"00yh1d5shrq7y0kfwacax4f8dc0akaa2fha430j92n7mshms65m1"))))
"1f5i64f6y4rmy61y63r5if1lifw8dw8r8dh6ns3x4002hanzrpgz"))))
;; When cross-compiling, we need the cross Coreutils and sed.
;; Otherwise just use those from %FINAL-INPUTS.
@@ -664,14 +646,14 @@ network statistics collection, security monitoring, network debugging, etc.")
(define-public tcpdump
(package
(name "tcpdump")
(version "4.9.2")
(version "4.9.0")
(source (origin
(method url-fetch)
(uri (string-append "http://www.tcpdump.org/release/tcpdump-"
version ".tar.gz"))
(sha256
(base32
"0ygy0layzqaj838r5xd613iraz09wlfgpyh7pc6cwclql8v3b2vr"))))
"0pjsxsy8l71i813sa934cwf1ryp9xbr7nxwsvnzavjdirchq3sga"))))
(build-system gnu-build-system)
(inputs `(("libpcap" ,libpcap)
("openssl" ,openssl)))
@@ -728,25 +710,25 @@ by bandwidth they use.")
("perl-x11-protocol" ,perl-x11-protocol)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'set-load-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Put the perl-tk and perl-x11-protocol modules in the perl inc
;; path for PROG
(let* ((out (assoc-ref outputs "out"))
(prog (string-append out "/bin/cssh"))
(perl-ver ,(package-version perl))
(x11-inc (string-append
(assoc-ref inputs "perl-x11-protocol")
"/lib/perl5/site_perl/" perl-ver))
(tk-inc (string-append
(assoc-ref inputs "perl-tk")
"/lib/perl5/site_perl/" perl-ver
"/x86_64-linux")))
(wrap-program
prog
`("PERL5LIB" ":" prefix (,x11-inc ,tk-inc))))
#t)))))
(alist-cons-after
'install 'set-load-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Put the perl-tk and perl-x11-protocol modules in the perl inc
;; path for PROG
(let* ((out (assoc-ref outputs "out"))
(prog (string-append out "/bin/cssh"))
(perl-ver ,(package-version perl))
(x11-inc (string-append
(assoc-ref inputs "perl-x11-protocol")
"/lib/perl5/site_perl/" perl-ver))
(tk-inc (string-append
(assoc-ref inputs "perl-tk")
"/lib/perl5/site_perl/" perl-ver
"/x86_64-linux")))
(wrap-program
prog
`("PERL5LIB" ":" prefix (,x11-inc ,tk-inc)))))
%standard-phases)))
;; The clusterssh.sourceforge.net address requires login to view
(home-page "https://sourceforge.net/projects/clusterssh/")
(synopsis "Secure concurrent multi-server terminal control")
@@ -787,11 +769,6 @@ over ssh connections.")
"/etc"))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda _
(substitute* "rc/rc"
(("/usr/sbin/sendmail") "sendmail"))
#t))
(add-after 'build 'set-packdir
(lambda _
;; Set a default location for archived logs.
@@ -826,7 +803,7 @@ system administrator.")
(define-public sudo
(package
(name "sudo")
(version "1.8.21p2")
(version "1.8.19p1")
(source (origin
(method url-fetch)
(uri
@@ -836,10 +813,7 @@ system administrator.")
version ".tar.gz")))
(sha256
(base32
"0s33szq6q59v5s377l4v6ybsdy7pfq6sz7y364j4x09ssdn79ibl"))
(modules '((guix build utils)))
(snippet
'(delete-file-recursively "lib/zlib"))))
"14pwdwl03kdbbyjkvxrfx409x3c1fjqz8aqz2wgwddinhz7v3bxq"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -857,30 +831,29 @@ system administrator.")
;; Avoid non-determinism; see <http://bugs.gnu.org/21918>.
#:parallel-build? #f
#:phases
(modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda _
(substitute* "src/sudo_usage.h.in"
;; Do not capture 'configure' arguments since we would
;; unduly retain references, and also because the
;; CPPFLAGS above would close the string literal
;; prematurely.
(("@CONFIGURE_ARGS@") "\"\""))
(substitute* (find-files "." "Makefile\\.in")
(("-o [[:graph:]]+ -g [[:graph:]]+")
;; Allow installation as non-root.
"")
(("^install: (.*)install-sudoers(.*)" _ before after)
;; Don't try to create /etc/sudoers.
(string-append "install: " before after "\n"))
(("\\$\\(DESTDIR\\)\\$\\(rundir\\)")
;; Don't try to create /run/sudo.
"$(TMPDIR)/dummy")
(("\\$\\(DESTDIR\\)\\$\\(vardir\\)")
;; Don't try to create /var/db/sudo.
"$(TMPDIR)/dummy"))
#t)))
#:phases (alist-cons-before
'configure 'pre-configure
(lambda _
(substitute* "src/sudo_usage.h.in"
;; Do not capture 'configure' arguments since we would
;; unduly retain references, and also because the
;; CPPFLAGS above would close the string literal
;; prematurely.
(("@CONFIGURE_ARGS@") "\"\""))
(substitute* (find-files "." "Makefile\\.in")
(("-o [[:graph:]]+ -g [[:graph:]]+")
;; Allow installation as non-root.
"")
(("^install: (.*)install-sudoers(.*)" _ before after)
;; Don't try to create /etc/sudoers.
(string-append "install: " before after "\n"))
(("\\$\\(DESTDIR\\)\\$\\(rundir\\)")
;; Don't try to create /run/sudo.
"$(TMPDIR)/dummy")
(("\\$\\(DESTDIR\\)\\$\\(vardir\\)")
;; Don't try to create /var/db/sudo.
"$(TMPDIR)/dummy")))
%standard-phases)
;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
;; the chroot's /etc/passwd doesn't have it. Turn off the tests.
@@ -888,7 +861,6 @@ system administrator.")
(inputs
`(("groff" ,groff)
("linux-pam" ,linux-pam)
("zlib" ,zlib)
("coreutils" ,coreutils)))
(home-page "https://www.sudo.ws/")
(synopsis "Run commands as root")
@@ -911,24 +883,18 @@ commands and their arguments.")
"http://w1.fi/releases/wpa_supplicant-"
version
".tar.gz"))
(patches (search-patches "wpa-supplicant-CVE-2017-13082.patch"
"wpa-supplicant-fix-key-reuse.patch"
"wpa-supplicant-fix-zeroed-keys.patch"
"wpa-supplicant-fix-nonce-reuse.patch"
"wpa-supplicant-krack-followups.patch"))
(sha256
(base32
"0l0l5gz3d5j9bqjsbjlfcv4w4jwndllp9fmyai4x9kg6qhs6v4xl"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(chdir "wpa_supplicant")
(copy-file "defconfig" ".config")
(let ((port (open-file ".config" "al")))
(display "
'(#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(chdir "wpa_supplicant")
(copy-file "defconfig" ".config")
(let ((port (open-file ".config" "al")))
(display "
CONFIG_DEBUG_SYSLOG=y
# Choose GnuTLS (the default is OpenSSL.)
@@ -938,23 +904,26 @@ commands and their arguments.")
CFLAGS += $(shell pkg-config libnl-3.0 --cflags)
CONFIG_LIBNL32=y
CONFIG_READLINE=y\n" port)
(close-port port))))
(add-after 'install 'install-man-pages
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man (string-append out "/share/man"))
(man5 (string-append man "/man5"))
(man8 (string-append man "/man8")))
(define (copy-man-page target)
(lambda (file)
(install-file file target)))
(close-port port)))
(mkdir-p man5) (mkdir man8)
(for-each (copy-man-page man5)
(find-files "doc/docbook" "\\.5"))
(for-each (copy-man-page man8)
(find-files "doc/docbook" "\\.8"))
#t))))
(alist-cons-after
'install 'install-man-pages
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man (string-append out "/share/man"))
(man5 (string-append man "/man5"))
(man8 (string-append man "/man8")))
(define (copy-man-page target)
(lambda (file)
(install-file file target)))
(mkdir-p man5) (mkdir man8)
(for-each (copy-man-page man5)
(find-files "doc/docbook" "\\.5"))
(for-each (copy-man-page man8)
(find-files "doc/docbook" "\\.8"))
#t))
%standard-phases))
#:make-flags (list "CC=gcc"
(string-append "BINDIR=" (assoc-ref %outputs "out")
@@ -991,24 +960,25 @@ This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
(arguments
(substitute-keyword-arguments (package-arguments wpa-supplicant-minimal)
((#:phases phases)
`(modify-phases ,phases
(add-after 'configure 'configure-for-dbus
(lambda _
(let ((port (open-file ".config" "al")))
(display "
`(alist-cons-after
'configure 'configure-for-dbus
(lambda _
(let ((port (open-file ".config" "al")))
(display "
CONFIG_CTRL_IFACE_DBUS=y
CONFIG_CTRL_IFACE_DBUS_NEW=y
CONFIG_CTRL_IFACE_DBUS_INTRO=y\n" port)
(close-port port))
#t))
(add-after 'install-man-pages 'install-dbus-conf
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dir (string-append out "/etc/dbus-1/system.d")))
(mkdir-p dir)
(copy-file "dbus/dbus-wpa_supplicant.conf"
(string-append dir "/wpa_supplicant.conf")))
#t))))))))
(close-port port))
#t)
(alist-cons-after
'install-man-pages 'install-dbus-conf
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dir (string-append out "/etc/dbus-1/system.d")))
(mkdir-p dir)
(copy-file "dbus/dbus-wpa_supplicant.conf"
(string-append dir "/wpa_supplicant.conf"))))
,phases)))))))
(define-public wakelan
(package
@@ -1024,22 +994,22 @@ This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
"0vydqpf44146ir6k87gmqaq6xy66xhc1gkr3nsd7jj3nhy7ypx9x"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
(mkdir-p (string-append out "/share/man/man1"))
'(#:phases (alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
(mkdir-p (string-append out "/share/man/man1"))
;; It's an old configure script that doesn't understand
;; the extra options we pass.
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)
(string-append "--mandir=" out
"/share/man")))))))
;; It's an old configure script that doesn't understand
;; the extra options we pass.
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)
(string-append "--mandir=" out
"/share/man")))))
%standard-phases)
#:tests? #f))
(home-page "http://kernel.org") ; really, no home page
(synopsis "Send a wake-on-LAN packet")
@@ -1098,7 +1068,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
"HOST=_LINUX"
"OPT_CFLAGS=-Wall -fno-strict-aliasing")
#:tests? #f ; no 'check' target.
#:phases (modify-phases %standard-phases (delete 'configure))))
#:phases (alist-delete 'configure %standard-phases)))
(home-page "http://acpica.org/")
(synopsis "Tools for the development and debug of ACPI tables")
(description
@@ -1208,7 +1178,7 @@ recover lost partitions and/or make non-booting disks bootable again.")
(base32 "04kviw799qxly08zb8n5mgxfd96gyis6x69q2qiw86jnh87c4mv9"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases (delete 'configure))
'(#:phases (alist-delete 'configure %standard-phases)
#:tests? #f ; no check target
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list (string-append "prefix=" out)))))
@@ -1237,23 +1207,23 @@ environment variable is set and output is to tty.")
"#!$SHELL")))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'build 'patch-/bin/sh
(lambda* (#:key inputs #:allow-other-keys)
;; Use the right shell when executing the watcher and
;; user-provided shell commands.
(let ((bash (assoc-ref inputs "bash")))
(substitute* '("src/direvent.c" "src/progman.c")
(("\"/bin/sh\"")
(string-append "\"" bash "/bin/sh\"")))
'(#:phases (alist-cons-before
'build 'patch-/bin/sh
(lambda* (#:key inputs #:allow-other-keys)
;; Use the right shell when executing the watcher and
;; user-provided shell commands.
(let ((bash (assoc-ref inputs "bash")))
(substitute* '("src/direvent.c" "src/progman.c")
(("\"/bin/sh\"")
(string-append "\"" bash "/bin/sh\"")))
;; Adjust the 'shell.at' test accordingly.
(substitute* "tests/testsuite"
(("SHELL=/bin/sh")
(string-append "SHELL=" bash "/bin/sh")))
;; Adjust the 'shell.at' test accordingly.
(substitute* "tests/testsuite"
(("SHELL=/bin/sh")
(string-append "SHELL=" bash "/bin/sh")))
#t))))))
#t))
%standard-phases)))
(home-page "https://www.gnu.org/software/direvent/")
(synopsis "Daemon to monitor directories for events such as file removal")
(description
@@ -1295,7 +1265,7 @@ various ways that may be running with too much privilege.")
(define-public smartmontools
(package
(name "smartmontools")
(version "6.6")
(version "6.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1303,16 +1273,16 @@ various ways that may be running with too much privilege.")
version "/smartmontools-" version ".tar.gz"))
(sha256
(base32
"0m1hllbb78rr6cxkbalmz1gqkl0psgq8rrmv4gwcmz34n07kvx2i"))))
"1g25r6sx85b5lay5n6sbnqv05qxzj6xsafsp93hnrg1h044bps49"))))
(build-system gnu-build-system)
(inputs `(("libcap-ng" ,libcap-ng)))
(home-page "https://www.smartmontools.org/")
(home-page "http://www.smartmontools.org/")
(synopsis "S.M.A.R.T. harddisk control and monitoring tools")
(description
"The smartmontools package contains utility programs to control and
monitor storage systems using the Self-Monitoring, Analysis and Reporting
Technology System (@dfn{S.M.A.R.T.}) built into most modern ATA and SCSI hard
disks. In many cases, these utilities will provide advanced warning of disk
Technology System (S.M.A.R.T.) built into most modern ATA and SCSI harddisks.
In many cases, these utilities will provide advanced warning of disk
degradation and failure.")
(license license:gpl2+)))
@@ -1386,15 +1356,14 @@ of supported upstream metrics systems simultaneously.")
(define-public ansible
(package
(name "ansible")
(version "2.4.1.0")
(version "2.3.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ansible" version))
(sha256
(base32
"0spv0kjaicwss4q52s727b6grdizcxpa0bbsfg26pgf5kjrayqfs"))
(patches (search-patches "ansible-wrap-program-hack.patch"))))
"0n54h8g6a6hcp41sasvjqa4yz1pwd8mshbwlcghj0sjnrl3kk7r9"))))
(build-system python-build-system)
(native-inputs
`(("python2-pycrypto" ,python2-pycrypto)
@@ -1545,7 +1514,7 @@ displays a table of current bandwidth usage by pairs of hosts.")
(define-public munge
(package
(name "munge")
(version "0.5.13")
(version "0.5.12")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/dun/munge/releases/"
@@ -1553,7 +1522,7 @@ displays a table of current bandwidth usage by pairs of hosts.")
version ".tar.xz"))
(sha256
(base32
"1nj486bbg1adfg298zck96vgx57kchcypc1zdz1n7w540vyksxcr"))))
"1s0vlwgm3hcx75vcmjf2y3icy5nv8y07bx93w2cmm6a7x71y6wp9"))))
(inputs
`(("openssl" ,openssl)
("libgcrypt" ,libgcrypt)))
@@ -1610,14 +1579,14 @@ done with the @code{auditctl} utility.")
(define-public nmap
(package
(name "nmap")
(version "7.60")
(version "7.40")
(source (origin
(method url-fetch)
(uri (string-append "https://nmap.org/dist/nmap-" version
".tar.bz2"))
(sha256
(base32
"08bga42ipymmbxd7wy4x5sl26c0ir1fm3n9rc6nqmhx69z66wyd8"))
"121i9mgyc28ra2825akd0ix5qyssv4xc2qlx296mam6hzxgnc54y"))
(modules '((guix build utils)))
(snippet
'(map delete-file-recursively
@@ -1710,7 +1679,7 @@ results (ndiff), and a packet generation and response analysis tool (nping).")
(list (string-append "DESTDIR=" out)
"prefix=/"))
;; no configure script
#:phases (modify-phases %standard-phases (delete 'configure))))
#:phases (alist-delete 'configure %standard-phases)))
(inputs `(("python-2" ,python-2)))
(synopsis "Versatile resource statistics tool")
(description "Dstat is a versatile replacement for @command{vmstat},
@@ -1729,7 +1698,7 @@ throughput (in the same interval).")
(define-public thefuck
(package
(name "thefuck")
(version "3.19")
(version "3.16")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/nvbn/thefuck/archive/"
@@ -1737,7 +1706,7 @@ throughput (in the same interval).")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"191zbvkyc02h0wwd46xwj4zzg7jhlr8xv0ji6knqkgjnk0nvqq01"))
"0jrhfxmj2asx4jdix9ks3fpl364ph8w9prhwpk4488aj1a0q4rak"))
(patches (search-patches "thefuck-test-environ.patch"))))
(build-system python-build-system)
(arguments
@@ -1773,13 +1742,13 @@ a new command using the matched rule, and runs it.")
(define-public di
(package
(name "di")
(version "4.44")
(version "4.43")
(source
(origin
(method url-fetch)
(uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
(sha256
(base32 "0803lp8kd3mp1jcm17i019xiqxdy85hhs6xk67zib8gmvg500gcn"))))
(base32 "1q25jy51qfzsym9b2w0cqzscq2j492gn60dy6gbp88m8nwm4sdy8"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; Obscure test failures.
@@ -1804,14 +1773,14 @@ highly portable. Great for heterogeneous networks.")
(define-public cbatticon
(package
(name "cbatticon")
(version "1.6.6")
(version "1.6.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/valr/"
name "/archive/" version ".tar.gz"))
(sha256
(base32
"1rxlrwd817f2zl4fsc5ha43wjzfidq3yyagq4lgyi150qg36svv3"))
"0xzz1faqgm57bwlkw6sjdfbckf5hck81879zbfk18p7xn9vhvixv"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(arguments
@@ -1843,7 +1812,7 @@ the status of your battery in the system tray.")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/TrilbyWhite/interrobang")
(url "git://github.com/TrilbyWhite/interrobang")
(commit commit)))
(file-name (string-append name "-" version))
(sha256
@@ -1937,48 +1906,20 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
'(delete-file-recursively "bin"))
(file-name (string-append name "-" version ".tar.gz"))))
(native-inputs
`(("pkg-config" ,pkg-config)
("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"
#:xbinutils (cross-binutils "arm-linux-gnueabihf")
#:libc (cross-libc "arm-linux-gnueabihf")))
("cross-libc" ,(cross-libc "arm-linux-gnueabihf"))))
`(("pkg-config" ,pkg-config)))
(inputs
`(("libusb" ,libusb)))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests exist
`(#:tests? #f ; no tests exist
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out"))
(string-append "CROSS_COMPILE="
"arm-linux-gnueabihf-")
"CC=gcc")
"CROSS_COMPILE="
"CC=gcc"
"all")
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'set-environment-up
(lambda* (#:key make-flags #:allow-other-keys)
(define (cross? x)
(string-contains x "cross-arm-linux"))
(setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
(setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
(setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
(for-each
(lambda (env-name)
(let* ((env-value (getenv env-name))
(search-path (search-path-as-string->list env-value))
(new-search-path (filter (lambda (e) (not (cross? e)))
search-path))
(new-env-value (list->search-path-as-string
new-search-path ":")))
(setenv env-name new-env-value)))
'("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH" "LIBRARY_PATH"))
#t))
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* "make" "tools" "misc" make-flags))))
(add-after 'build 'build-armhf
(lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* "make" "target-tools" make-flags))))
(replace 'install
(lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* "make" "install-all" "install-misc"
@@ -2116,22 +2057,28 @@ Intel DRM Driver.")
(define-public fabric
(package
(name "fabric")
(version "1.13.2")
(version "1.13.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Fabric" version))
(sha256
(base32
"0k944dxr41whw7ib6380q9x15wyskx7fqni656icdn8rzshn9bwq"))))
"1z17hw0yiqp1blq217zxkg2jzkv8qd79saqhscgsw14mwlcqpwd0"))
(patches (search-patches "fabric-tests.patch"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2)) ; Python 2 only
`(#:python ,python-2)) ;Python 2 only
(native-inputs
`(("python2-fudge" ,python2-fudge)
("python2-jinja2" ,python2-jinja2)
("python2-nose" ,python2-nose)))
`(("python2-fudge" ,python2-fudge) ; Requires < 1.0
("python2-jinja2" ,python2-jinja2) ; Requires < 3.0
("python2-nose" ,python2-nose))) ; Requires < 2.0
(propagated-inputs
;; Required upgrading python-paramiko 1.17.4 to fix an incompatibility
;; between python-paramiko and newer python-pycrypto. Without this, the
;; `fab` command fails with "ValueError: CTR mode needs counter
;; parameter, not IV". See:
;; https://github.com/paramiko/paramiko/pull/714#issuecomment-281191548.
`(("python2-paramiko" ,python2-paramiko)))
(home-page "http://fabfile.org")
(synopsis "Simple Pythonic remote execution and deployment tool")
@@ -2148,7 +2095,7 @@ tool for remote execution and deployment.")
(define-public neofetch
(package
(name "neofetch")
(version "3.3.0")
(version "3.1.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/dylanaraps/neofetch/"
@@ -2156,10 +2103,10 @@ tool for remote execution and deployment.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"15p69q0jchfms1fpb4i7kq8b28w2xpgh2zmynln618qxv1myf228"))))
"1rgznkl7a5q7lnc6zxlwvinq20b7k46n949l1hiwifarv0jgwynv"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests
'(#:tests? #f ; there are no tests
#:make-flags
(list (string-append "PREFIX=" %output))
#:phases
@@ -2174,17 +2121,9 @@ tool for remote execution and deployment.")
(("\"/etc/neofetch")
(string-append "\"" out "/etc/neofetch"))
(("\"/usr/share/neofetch")
(string-append "\"" out "/share/neofetch"))))
(string-append "\"" out "/usr/share/neofetch"))))
#t))
(delete 'configure) ; no configure script
(replace 'install
(lambda* (#:key make-flags outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/" ,name "-" ,version))
(etc (string-append doc "/examples/etc")))
(zero? (apply system* `("make" ,@make-flags
,(string-append "SYSCONFDIR=" etc)
"install")))))))))
(delete 'configure))))
(home-page "https://github.com/dylanaraps/neofetch")
(synopsis "System info script")
(description "Neofetch is a CLI system information tool written in Bash.
@@ -2197,7 +2136,7 @@ you are running, what theme or icon set you are using, etc.")
(define-public nnn
(package
(name "nnn")
(version "1.5")
(version "1.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/jarun/nnn/"
@@ -2205,7 +2144,7 @@ you are running, what theme or icon set you are using, etc.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0zswf8lb29zr1z642i1d0zi1y2mxal8qjqdrpdiqjh197jamj3zm"))))
"1hww4385f81lyy30fx2rb4wchfi79dpgl7yylnfxvf27a4h2mkhm"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("readline" ,readline)))
@@ -2253,7 +2192,6 @@ make it a perfect utility on modern distros.")
(method url-fetch)
(uri (string-append "https://github.com/01org/thermal_daemon/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256 (base32
"14klz9fnvi9jdlaqwrp61xa5nh051n8ykrs1fh1wxd7j66qf2fn6"))))
(build-system gnu-build-system)
@@ -2293,42 +2231,4 @@ make it a perfect utility on modern distros.")
(synopsis "CPU scaling for thermal management")
(description "The Linux Thermal Daemon helps monitor and control temperature
on systems running the Linux kernel.")
;; arm and aarch64 don't have cpuid.h
(supported-systems '("i686-linux" "x86_64-linux"))
(license license:gpl2+)))
(define-public masscan
(package
(name "masscan")
(version "1.0.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/robertdavidgraham/masscan"
"/archive/" version ".tar.gz"))
(sha256
(base32
"1y9af345g00z83rliv6bmlqg37xwc7xpnx5xqdgmjikzcxgk9pji"))))
(build-system gnu-build-system)
(inputs
`(("libpcap" ,libpcap)))
(arguments
'(#:test-target "regress"
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure) ; There is no ./configure script
(add-after 'unpack 'patch-path
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(pcap (assoc-ref inputs "libpcap")))
(substitute* "src/rawsock-pcap.c"
(("libpcap.so") (string-append pcap "/lib/libpcap.so")))
#t))))))
(synopsis "TCP port scanner")
(description "MASSCAN is an asynchronous TCP port scanner. It can detect
open ports, and also complete the TCP connection and interact with the remote
application, collecting the information received.")
(home-page "https://github.com/robertdavidgraham/masscan")
;; 'src/siphash24.c' is the SipHash reference implementation, which
;; bears a CC0 Public Domain Dedication.
(license license:agpl3+)))
+2 -2
View File
@@ -59,7 +59,7 @@ scripts.")
(define-public c-ares
(package
(name "c-ares")
(version "1.13.0")
(version "1.12.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -67,7 +67,7 @@ scripts.")
".tar.gz"))
(sha256
(base32
"19qxhv9aiw903fr808y77r6l9js0fq9m3gcaqckan9jan7qhixq3"))))
"1yv5ygkd813glz8hbagykgp1hlb6450chig061hr7pyw7i0gk4l6"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
-23
View File
@@ -1,7 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darringon <jmd@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -70,25 +69,3 @@ a mobile phone with CCD. The capacity of QR Code is up to 7000 digits or 4000
characters, and is highly robust.")
(license license:lgpl2.1+)
(home-page "https://fukuchi.org/works/qrencode")))
(define-public libdmtx
(package
(name "libdmtx")
(version "0.7.4")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/libdmtx/" name "/" version "/"
name "-" version ".tar.bz2"))
(sha256
(base32 "0xnxx075ycy58n92yfda2z9zgd41h3d4ik5d9l197lzsqim5hb5n"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://libdmtx.sourceforge.net/")
(synopsis "Library for reading and writing Data Matrix 2D barcodes")
(description "libdmtx is software for reading and writing Data Matrix 2D
barcodes on Linux and Unix. At its core libdmtx is a shared library, allowing
C/C++ programs to use its capabilities without restrictions or overhead.")
(license license:bsd-3)))
+30 -22
View File
@@ -4,7 +4,6 @@
;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;;
@@ -133,7 +132,7 @@ solve the shortest vector problem.")
(define-public pari-gp
(package
(name "pari-gp")
(version "2.9.3")
(version "2.9.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -141,9 +140,9 @@ solve the shortest vector problem.")
version ".tar.gz"))
(sha256
(base32
"0qqal1lpggd6dvs19svnz0dil86xk0xkcj5s3b7104ibkmvjfsp7"))))
"0rq7wz9df1xs4acdzzb5dapx8vs6m5py39n2wynw2qv4d2b0ylfw"))))
(build-system gnu-build-system)
(native-inputs `(("texlive" ,texlive-tiny)))
(native-inputs `(("texlive" ,texlive-minimal)))
(inputs `(("gmp" ,gmp)
("libx11" ,libx11)
("perl" ,perl)
@@ -207,7 +206,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
(define-public giac-xcas
(package
(name "giac-xcas")
(version "1.4.9-33")
(version "1.2.3-37")
(source (origin
(method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly
@@ -219,7 +218,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
"source/giac_" version ".tar.gz"))
(sha256
(base32
"1f071j4l9ayri2cxka6bfdb6c0fsdl7q7wk345r7hxjfga69g9mv"))))
"180146rm8fxlbd6x25x81yscf6q8qjpzr35k203r25c2xkcb7h2x"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -229,6 +228,13 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
;; Some Makefiles contain hard-coded "/bin/cp".
(substitute* (find-files "doc" "^Makefile")
(("/bin/cp") (which "cp")))
#t))
(add-after 'unpack 'disable-broken-test
(lambda _
;; Disable failing test. Actually, the results are correct but
;; a sorting discrepancy prevents the test from being validated.
(substitute* "check/Makefile.in"
(("chk_fhan16") ""))
#t)))))
(inputs
`(("fltk" ,fltk)
@@ -249,7 +255,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
("perl" ,perl)
("pari-gp" ,pari-gp)
("tcsh" ,tcsh)
("texlive" ,texlive-tiny)))
("texlive" ,texlive-minimal)))
(native-inputs `(("readline" ,readline)))
(home-page "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html")
(synopsis "Computer algebra system")
@@ -327,21 +333,22 @@ fast arithmetic.")
("mpfr" ,mpfr)))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(flint (assoc-ref inputs "flint"))
(gmp (assoc-ref inputs "gmp"))
(mpfr (assoc-ref inputs "mpfr")))
;; do not pass "--enable-fast-install", which makes the
;; homebrew configure process fail
(zero? (system*
"./configure"
(string-append "--prefix=" out)
(string-append "--with-flint=" flint)
(string-append "--with-gmp=" gmp)
(string-append "--with-mpfr=" mpfr)))))))))
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(flint (assoc-ref inputs "flint"))
(gmp (assoc-ref inputs "gmp"))
(mpfr (assoc-ref inputs "mpfr")))
;; do not pass "--enable-fast-install", which makes the
;; homebrew configure process fail
(zero? (system*
"./configure"
(string-append "--prefix=" out)
(string-append "--with-flint=" flint)
(string-append "--with-gmp=" gmp)
(string-append "--with-mpfr=" mpfr)))))
%standard-phases)))
(synopsis "Arbitrary precision floating-point ball arithmetic")
(description
"Arb is a C library for arbitrary-precision floating-point ball
@@ -472,6 +479,7 @@ binary.")
(base32
"0amh9ik44jfg66csyvf4zz1l878c4755kjndq9j0270akflgrbb2"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)))
(native-inputs
`(("ed" ,ed)
("flex" ,flex)
-140
View File
@@ -3,8 +3,6 @@
;;; Copyright © 2015 Kai-Chung Yan <seamlikok@gmail.com>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,15 +23,8 @@
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages python)
#:use-module (gnu packages ssh)
#:use-module (gnu packages version-control)
#:use-module (gnu packages tls))
;; The Makefiles that we add are largely based on the Debian
@@ -307,134 +298,3 @@ with an emulator instance or connected Android device. It facilitates a variety
of device actions, such as installing and debugging apps, and it provides access
to a Unix shell that can run commands on the connected device or emulator.")
(license license:asl2.0)))
(define-public android-udev-rules
(package
(name "android-udev-rules")
(version "20170910")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/M0Rf30/android-udev-rules")
(commit version)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32 "0vic40n3si0dxag3dyc3hi3pn7cjpm5q378x8v2ys19n3iz9fp1g"))))
(build-system trivial-build-system)
(native-inputs `(("source" ,source)))
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((source (assoc-ref %build-inputs "source")))
(install-file (string-append source "/51-android.rules")
(string-append %output "/lib/udev/rules.d"))))))
(home-page "https://github.com/M0Rf30/android-udev-rules")
(synopsis "udev rules for Android devices")
(description "Provides a set of udev rules to allow using Android devices
with tools such as @command{adb} and @command{fastboot} without root
privileges. This package is intended to be added as a rule to the
@code{udev-service-type} in your @code{operating-system} configuration.
Additionally, an @code{adbusers} group must be defined and your user added to
it.
@emph{Simply installing this package will not have any effect.} It is meant
to be passed to the @code{udev} service.")
(license license:gpl3+)))
(define-public git-repo
(package
(name "git-repo")
(version "1.12.37")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gerrit.googlesource.com/git-repo")
(commit (string-append "v" version))))
(file-name (string-append "git-repo-" version "-checkout"))
(sha256
(base32 "0qp7jqhblv7xblfgpcq4n18dyjdv8shz7r60c3vnjxx2fngkj2jd"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; code says: "Python 3 support is … experimental."
#:phases
(modify-phases %standard-phases
(add-before 'build 'set-executable-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(git (assoc-ref inputs "git"))
(gpg (assoc-ref inputs "gnupg"))
(ssh (assoc-ref inputs "ssh")))
(substitute* '("repo" "git_command.py")
(("^GIT = 'git' ")
(string-append "GIT = '" git "/bin/git' ")))
(substitute* "repo"
((" cmd = \\['gpg',")
(string-append " cmd = ['" gpg "/bin/gpg',")))
(substitute* "git_config.py"
((" command_base = \\['ssh',")
(string-append " command_base = ['" ssh "/bin/ssh',")))
#t)))
(add-before 'build 'do-not-clone-this-source
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(repo-dir (string-append out "/share/" ,name)))
(substitute* "repo"
(("^def _FindRepo\\(\\):.*")
(format #f "
def _FindRepo():
'''Look for a repo installation, starting at the current directory.'''
# Use the installed version of git-repo.
repo_main = '~a/main.py'
curdir = os.getcwd()
olddir = None
while curdir != '/' and curdir != olddir:
dot_repo = os.path.join(curdir, repodir)
if os.path.isdir(dot_repo):
return (repo_main, dot_repo)
else:
olddir = curdir
curdir = os.path.dirname(curdir)
return None, ''
# The remaining of this function is dead code. It was used to
# find a git-checked-out version in the local project.\n" repo-dir))
;; Neither clone, check out, nor verify the git repository
(("(^\\s+)_Clone\\(.*\\)") "")
(("(^\\s+)_Checkout\\(.*\\)") "")
((" rev = _Verify\\(.*\\)") " rev = None"))
#t)))
(delete 'build) ; nothing to build
(replace 'check
(lambda _
(zero? (system* "python" "-m" "nose"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin-dir (string-append out "/bin"))
(repo-dir (string-append out "/share/" ,name)))
(mkdir-p bin-dir)
(mkdir-p repo-dir)
(copy-recursively "." repo-dir)
(delete-file-recursively (string-append repo-dir "/tests"))
(symlink (string-append repo-dir "/repo")
(string-append bin-dir "/repo"))
#t))))))
(inputs
;; TODO: Add git-remote-persistent-https once it is available in guix
`(("git" ,git)
("gnupg" ,gnupg)
("ssh", openssh)))
(native-inputs
`(("nose" ,python2-nose)))
(home-page "https://code.google.com/p/git-repo/")
(synopsis "Helps to manage many Git repositories.")
(description "Repo is a tool built on top of Git. Repo helps manage many
Git repositories, does the uploads to revision control systems, and automates
parts of the development workflow. Repo is not meant to replace Git, only to
make it easier to work with Git. The repo command is an executable Python
script that you can put anywhere in your path.")
(license license:asl2.0)))
+32 -107
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,12 +19,10 @@
(define-module (gnu packages animation)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
@@ -35,22 +33,20 @@
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages qt)
#:use-module (gnu packages video))
(define-public etl
(package
(name "etl")
(version "0.04.22")
(version "0.04.19")
(source (origin
(method url-fetch)
;; Keep this synchronized with the synfig release version.
(uri (string-append "mirror://sourceforge/synfig/releases/"
"1.2.0/source/ETL-" version ".tar.gz"))
"1.0.2/source/ETL-" version ".tar.gz"))
(sha256
(base32
"0ii73nsd3xzkhz6w1rnxwphl637j9w82xiy6apa9vin2isdynnmc"))))
"070c70slizrklq1gbgja8m49xfmq65wlcd6hz6418cpx0wd4r55s"))))
(build-system gnu-build-system)
(home-page "http://www.synfig.org")
(synopsis "Extended C++ template library")
@@ -63,7 +59,7 @@ C++ @dfn{Standard Template Library} (STL).")
(define-public synfig
(package
(name "synfig")
(version "1.2.0")
(version "1.0.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/synfig/releases/"
@@ -71,7 +67,8 @@ C++ @dfn{Standard Template Library} (STL).")
".tar.gz"))
(sha256
(base32
"1gqx4gn4c73rqwhsgzx0a460gr9hadmi28csp75rx30qavqsj7k1"))))
"1d3z2r78j3rkff47q3wl0ami69y3l4nyi5r9zclymb8ar7mgkk9l"))
(patches (search-patches "synfig-build-fix.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -81,16 +78,6 @@ C++ @dfn{Standard Template Library} (STL).")
"/lib"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-boost-build-error
;; A chain of Boost headers leads to this error: "make_array" is
;; not a member of "boost::serialization". This can be avoided by
;; loading the "array_wrapper" header first.
(lambda _
(substitute* "src/synfig/valuenodes/valuenode_dynamic.cpp"
(("#include <boost/numeric/odeint/integrate/integrate.hpp>" match)
(string-append
"#include <boost/serialization/array_wrapper.hpp>\n" match)))
#t))
(add-after 'unpack 'adapt-to-libxml++-changes
(lambda _
(substitute* "configure"
@@ -103,6 +90,16 @@ C++ @dfn{Standard Template Library} (STL).")
(("remove_child\\(") "remove_node("))
(substitute* "src/modules/mod_svg/svg_parser.cpp"
(("xmlpp::Node::NodeList") "xmlpp::Node::const_NodeList"))
#t))
(add-after 'unpack 'fix-isnan-error
(lambda _
(substitute* "src/synfig/time.cpp"
(("return !::isnan") "return !std::isnan"))
#t))
(add-before 'configure 'set-flags
(lambda _
;; Compile with C++11, required by libsigc++.
(setenv "CXXFLAGS" "-D__STDC_CONSTANT_MACROS -std=gnu++11")
#t)))))
(inputs
`(("boost" ,boost)
@@ -113,12 +110,11 @@ C++ @dfn{Standard Template Library} (STL).")
("libmng" ,libmng)
("zlib" ,zlib)))
;; synfig.pc lists the following as required: Magick++ freetype2
;; fontconfig fftw OpenEXR ETL glibmm-2.4 giomm-2.4 libxml++-3.0 sigc++-2.0
;; fontconfig OpenEXR ETL glibmm-2.4 giomm-2.4 libxml++-3.0 sigc++-2.0
;; cairo pango pangocairo mlt++
(propagated-inputs
`(("cairo" ,cairo)
("etl" ,etl)
("fftw" ,fftw)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("glibmm" ,glibmm)
@@ -141,7 +137,7 @@ for tweening, preventing the need to hand-draw each frame.")
(define-public synfigstudio
(package
(name "synfigstudio")
(version "1.2.0")
(version "1.0.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/synfig/releases/"
@@ -149,32 +145,29 @@ for tweening, preventing the need to hand-draw each frame.")
".tar.gz"))
(sha256
(base32
"0fbckfbw8dzf0m2wv7vlmw492k1dqa3zf510z019d0as3zpnp6qm"))
"1xa74dlgkpjn0gzdcs0x25z7wg0806v2wygvvi73f7sn1fm88ig4"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "src/synfigapp/pluginmanager.cpp"
(("xmlpp::Node\\* n =") "const xmlpp::Node* n =")
(("xmlpp::Node::NodeList") "xmlpp::Node::const_NodeList"))
#t))
(patches
(search-patches "synfigstudio-fix-ui-with-gtk3.patch"))))
;; Some files are ISO-8859-1 encoded.
(with-fluids ((%default-port-encoding #f))
(substitute* (find-files "src/" "\\.(cpp|h)$")
(("#include <sigc\\+\\+/retype\\.h>")
"#include <sigc++/adaptors/retype.h>")
(("#include <sigc\\+\\+/hide\\.h>")
"#include <sigc++/adaptors/hide.h>")
(("#include <sigc\\+\\+/object\\.h>")
"#include <sigc++/trackable.h>")))
#t))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; This fixes the file chooser crash that happens with GTK 3.
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(gtk (assoc-ref inputs "gtk+"))
(gtk-share (string-append gtk "/share")))
(wrap-program (string-append out "/bin/synfigstudio")
`("XDG_DATA_DIRS" ":" prefix (,gtk-share)))
#t))))))
`(#:configure-flags
(list "CXXFLAGS=-std=gnu++11")))
(inputs
`(("gtkmm" ,gtkmm)
("gtk+" ,gtk+)
("libsigc++" ,libsigc++)
("synfig" ,synfig)))
(native-inputs
@@ -188,71 +181,3 @@ be capable of producing feature-film quality animation. It eliminates the
need for tweening, preventing the need to hand-draw each frame. This package
contains the graphical user interface for synfig.")
(license license:gpl3+)))
(define-public papagayo
(let ((commit "e143684b30e59fe4a554f965cb655d23cbe93ee7")
(revision "1"))
(package
(name "papagayo")
(version (string-append "2.0b1-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LostMoho/Papagayo.git")
(commit commit)))
(sha256
(base32
"1p9gffjhbph34jhrvgpg93yha75bf88vkvlnk06x1r9601ph5321"))
(modules '((guix build utils)))
;; Delete bundled libsndfile sources.
(snippet
'(begin
(delete-file-recursively "libsndfile_1.0.19")
(delete-file-recursively "libsndfile_1.0.25")
#t))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((libsndfile (assoc-ref inputs "libsndfile")))
;; Do not use bundled libsndfile sources
(substitute* "Papagayo.pro"
(("else \\{")
(string-append "\nINCLUDEPATH += " libsndfile
"/include"
"\nLIBS +=" libsndfile
"/lib/libsndfile.so\n"
"win32 {"))))
(zero? (system* "qmake"
(string-append "DESTDIR="
(assoc-ref outputs "out")
"/bin")))))
;; Ensure that all required Qt plugins are found at runtime.
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(qt '("qt" "qtmultimedia")))
(wrap-program (string-append out "/bin/Papagayo")
`("QT_PLUGIN_PATH" ":" prefix
,(map (lambda (label)
(string-append (assoc-ref inputs label)
"/lib/qt5/plugins/"))
qt)))
#t))))))
(inputs
`(("qt" ,qtbase)
("qtmultimedia" ,qtmultimedia)
("libsndfile" ,libsndfile)))
(native-inputs
`(("qttools" ,qttools)))
(home-page "http://www.lostmarble.com/papagayo/")
(synopsis "Lip-syncing for animations")
(description
"Papagayo is a lip-syncing program designed to help you line up
phonemes with the actual recorded sound of actors speaking. Papagayo makes it
easy to lip sync animated characters by making the process very simple just
type in the words being spoken, then drag the words on top of the sounds
waveform until they line up with the proper sounds.")
(license license:gpl3+))))
+17 -16
View File
@@ -30,14 +30,14 @@
(define-public apr
(package
(name "apr")
(version "1.6.3")
(version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/apr/apr-"
version ".tar.bz2"))
(sha256
(base32
"0wiik6amxn6lkc55fv9yz5i3kbxnqbp36alrzabx1avsdp8hc7qk"))
"0ypn51xblix5ys9xy7da3ngdydip0qqh9rdq8nz54w9aq8lys0vx"))
(patches
(search-patches "apr-skip-getservbyname-test.patch"))
(patch-flags '("-p0"))))
@@ -65,14 +65,14 @@ around or take advantage of platform-specific deficiencies or features.")
(define-public apr-util
(package
(name "apr-util")
(version "1.6.1")
(version "1.5.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/apr/apr-util-"
version ".tar.bz2"))
(sha256
(base32
"0nq3s1yn13vplgl6qfm09f7n0wm08malff9s59bqf9nid9xjzqfk"))))
"0bn81pfscy9yjvbmyx442svf43s6dhrdfcsnkpxz43fai5qk5kx6"))))
(build-system gnu-build-system)
(inputs
`(("apr" ,apr)))
@@ -80,18 +80,19 @@ around or take advantage of platform-specific deficiencies or features.")
`(("expat" ,expat)))
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(apr (assoc-ref inputs "apr"))
(expat (assoc-ref inputs "expat")))
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)
(string-append "--with-apr=" apr)
(string-append "--with-expat=" expat)))))))
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(apr (assoc-ref inputs "apr"))
(expat (assoc-ref inputs "expat")))
(setenv "CONFIG_SHELL" (which "bash"))
(zero?
(system* "./configure"
(string-append "--prefix=" out)
(string-append "--with-apr=" apr)
(string-append "--with-expat=" expat)))))
%standard-phases)
;; There are race conditions during 'make check'. Typically, the
;; 'testall' executable is not built yet by the time 'make check' tries
+5 -117
View File
@@ -4,8 +4,7 @@
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Andersson <christopher@8bits.nu>
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,9 +27,8 @@
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages perl))
#:use-module (gnu packages perl)
#:use-module (gnu packages base))
(define-public aspell
(package
@@ -116,13 +114,6 @@ dictionaries, including personal ones.")
(home-page "http://aspell.net/")))
(define-public aspell-dict-ca
(aspell-dictionary "ca" "Catalan"
#:version "2.1.5-1"
#:sha256
(base32
"1fb5y5kgvk25nlsfvc8cai978hg66x3pbp9py56pldc7vxzf9npb")))
(define-public aspell-dict-de
(aspell-dictionary "de" "German"
#:version "20030222-1"
@@ -132,10 +123,10 @@ dictionaries, including personal ones.")
(define-public aspell-dict-en
(aspell-dictionary "en" "English"
#:version "2017.01.22-0"
#:version "2016.11.20-0"
#:sha256
(base32
"1qamzpw1fsnn5n9jpsnnnzqj1a0m0xvsikmkdp5a6pmb7sp3ziwk")))
"1496jnhh2jvhkzcj0p4vy89bcs4g5wz6a76m33vw4dhchn5xm9jw")))
(define-public aspell-dict-eo
(aspell-dictionary "eo" "Esperanto"
@@ -218,106 +209,3 @@ dictionaries, including personal ones.")
#:sha256
(base32
"1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p")))
;;;
;;; Hunspell packages made from the Aspell word lists.
;;;
(define* (aspell-word-list language synopsis
#:optional
(nick (string-map (lambda (chr)
(if (char=? #\_ chr)
#\-
chr))
(string-downcase language))))
(package
(name (string-append "hunspell-dict-" nick))
(version "2017.08.24")
(source (origin
(method url-fetch)
(uri (string-append
"http://downloads.sourceforge.net/wordlist/scowl-"
version ".tar.gz"))
(sha256
(base32
"1kdhydzg5z5x20ad2j1x5hbdhvy08ljkfdi2v3gbyvghbagxm15s"))))
(native-inputs
`(("tar" ,tar)
("gzip" ,gzip)
("perl" ,perl)
("aspell" ,aspell)))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(replace 'build
(lambda _
(substitute* "speller/make-hunspell-dict"
(("zip -9 .*$")
"return\n"))
(mkdir "speller/hunspell")
;; XXX: This actually builds all the dictionary variants.
(zero? (system* "make" "-C" "speller" "hunspell"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref %outputs "out"))
(hunspell (string-append out "/share/hunspell"))
(myspell (string-append out "/share/myspell"))
(doc (string-append out "/share/doc/"
,name)))
(mkdir-p myspell)
(install-file ,(string-append "speller/" language ".dic")
hunspell)
(install-file ,(string-append "speller/" language ".aff")
hunspell)
(symlink hunspell (string-append myspell "/dicts"))
(for-each (lambda (file)
(install-file file doc))
(find-files "."
"^(Copyright|.*\\.(txt|org|md))$"))
#t))))))
(synopsis synopsis)
(description
"This package provides a dictionary for the Hunspell spell-checking
library.")
(home-page "http://wordlist.aspell.net/")
(license (non-copyleft "file://Copyright"
"Word lists come from several sources, all
under permissive licensing terms. See the 'Copyright' file."))))
(define-syntax define-word-list-dictionary
(syntax-rules (synopsis)
((_ name language (synopsis text))
(define-public name
(aspell-word-list language text)))
((_ name language nick (synopsis text))
(define-public name
(aspell-word-list language text nick)))))
(define-word-list-dictionary hunspell-dict-en
"en"
(synopsis "Hunspell dictionary for English"))
(define-word-list-dictionary hunspell-dict-en-au
"en_AU"
(synopsis "Hunspell dictionary for Australian English"))
(define-word-list-dictionary hunspell-dict-en-ca
"en_CA"
(synopsis "Hunspell dictionary for Canadian English"))
(define-word-list-dictionary hunspell-dict-en-gb
"en_GB-ise" "en-gb"
(synopsis "Hunspell dictionary for British English, with -ise endings"))
(define-word-list-dictionary hunspell-dict-en-gb-ize
"en_GB-ize"
(synopsis "Hunspell dictionary for British English, with -ize endings"))
(define-word-list-dictionary hunspell-dict-en-us
"en_US"
(synopsis "Hunspell dictionary for United States English"))
+8 -8
View File
@@ -34,14 +34,14 @@
(define-public nasm
(package
(name "nasm")
(version "2.13.01")
(version "2.12.02")
(source (origin
(method url-fetch)
(uri (string-append "http://www.nasm.us/pub/nasm/releasebuilds/"
version "/" name "-" version ".tar.xz"))
(sha256
(base32
"0plsvcwxc7q3llr3bz10prwq1gn4ll38aqmv0yzfqcq4iw0160ma"))))
"08a3ah791cl7xdyrlz33mwv4xzs08rxh0p902p3ypi5iq1h6p1jc"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl) ;for doc and test target
("texinfo" ,texinfo)))
@@ -52,10 +52,10 @@
(add-after 'unpack 'dont-build-ps-pdf-outputs
(lambda _
(substitute* "doc/Makefile.in"
(("html nasmdoc.txt nasmdoc.pdf")
"html nasmdoc.txt")
(("\\$\\(INSTALL_DATA\\) nasmdoc.pdf")
"$(INSTALL_DATA)"))
(("info html nasmdoc.txt nasmdoc.ps nasmdoc.pdf")
"info html nasmdoc.txt")
(("nasmdoc.ps nasmdoc.pdf nasmdoc.txt \\$\\(INSTALLROOT\\)\\$\\(docdir\\)")
"nasmdoc.txt $(INSTALLROOT)$(docdir)"))
#t))
(add-after 'install 'install-info
(lambda _
@@ -103,14 +103,14 @@ debugging information in STABS, DWARF 2, and CodeView 8 formats.")
(define-public lightning
(package
(name "lightning")
(version "2.1.2")
(version "2.1.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/lightning/lightning-"
version ".tar.gz"))
(sha256
(base32
"0sbs2lm8b9in2m8d52zf0x9gpp40x6r7sl6sha92yq3pr78rwa4v"))))
"19j9nwl88k660045s40cbz5zrl1wpd2mcxnnc8qqnnaj311a58qz"))))
(build-system gnu-build-system)
(native-inputs `(("zlib" ,zlib)))
(synopsis "Library for generating assembly code at runtime")
+8 -18
View File
@@ -64,7 +64,7 @@ in FITS files.")
(define-public wcslib
(package
(name "wcslib")
(version "5.17")
(version "5.16")
(source
(origin
(method url-fetch)
@@ -72,7 +72,7 @@ in FITS files.")
"ftp://ftp.atnf.csiro.au/pub/software/wcslib/" name "-" version
".tar.bz2"))
(sha256
(base32 "0v23x1fw01arhmqdrzfd9n593mjglhzfyx4793v065z0dg4bb72w"))))
(base32 "1vwrzkznpig2q40m11j12hsfqvsjz8z44l66pz5fkh6fy461w0zd"))))
(inputs
`(("cfitsio" ,cfitsio)))
(build-system gnu-build-system)
@@ -83,7 +83,7 @@ in FITS files.")
(substitute* "makedefs.in"
(("/bin/sh") "sh"))
#t)))))
(home-page "https://www.atnf.csiro.au/people/mcalabre/WCS")
(home-page "http://www.atnf.csiro.au/people/mcalabre/WCS")
(synopsis "Library which implements the FITS WCS standard")
(description "The FITS \"World Coordinate System\" (WCS) standard defines
keywords and usage that provide for the description of astronomical coordinate
@@ -93,7 +93,7 @@ systems in a FITS image header.")
(define-public gnuastro
(package
(name "gnuastro")
(version "0.4")
(version "0.2")
(source
(origin
(method url-fetch)
@@ -101,19 +101,15 @@ systems in a FITS image header.")
version ".tar.gz"))
(sha256
(base32
"1n30zz4kg89ic5h30b7nrxp0bk0ls2m3xnfi81mja56bxxwpihrs"))))
"0099g7zqg1gr9y94ybhyjgx9pkn9zv4rj1xb00fkybfw8w6ij9iv"))))
(inputs
`(("cfitsio" ,cfitsio)
("gsl" ,gsl)
("libjpeg" ,libjpeg-8)
("wcslib" ,wcslib)))
(build-system gnu-build-system)
(arguments
;; Reduce the number of required type conversions by enabling arithmetic
;; with all the supported types.
`(#:configure-flags '("--enable-bin-op-alltypes")))
(home-page "https://www.gnu.org/software/gnuastro/")
(synopsis "Astronomy utilities")
(synopsis "Astronomical data manipulation programs")
(description "The GNU Astronomy Utilities (Gnuastro) is a suite of
programs for the manipulation and analysis of astronomical data.")
(license license:gpl3+)))
@@ -121,7 +117,7 @@ programs for the manipulation and analysis of astronomical data.")
(define-public stellarium
(package
(name "stellarium")
(version "0.16.0")
(version "0.15.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/stellarium/"
@@ -129,11 +125,10 @@ programs for the manipulation and analysis of astronomical data.")
version "/stellarium-" version ".tar.gz"))
(sha256
(base32
"1krxj51lix096xbz64lys166a8zdwhill5vvs7dlxdn14amc8d98"))))
"04avigz8i8mi2x6x71bqr9np85n1p9qnvbj2hxr947f1jv22zr8g"))))
(build-system cmake-build-system)
(inputs
`(("qtbase" ,qtbase)
("qtlocation" ,qtlocation)
("qtmultimedia" ,qtmultimedia)
("qtscript" ,qtscript)
("qtserialport" ,qtserialport)
@@ -146,11 +141,6 @@ programs for the manipulation and analysis of astronomical data.")
(arguments
`(#:test-target "tests"
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
(substitute* "src/tests/testStelSphereGeometry.cpp"
(("Vec3d v[(]0[)]") "Vec3d v(0.0)"))
#t))
(add-before 'check 'set-offscreen-display
(lambda _
;; make Qt render "offscreen", required for tests
+184 -365
View File
@@ -36,7 +36,6 @@
#:use-module (guix build-system trivial)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
@@ -80,11 +79,8 @@
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages music)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
#:use-module (gnu packages zip)
#:use-module (srfi srfi-1))
(define-public alsa-modular-synth
(package
@@ -191,11 +187,11 @@ streams from live audio.")
(define-public ardour
(package
(name "ardour")
(version "5.12")
(version "5.8")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.ardour.org/ardour/ardour.git")
(url "git://git.ardour.org/ardour/ardour.git")
(commit version)))
(snippet
;; Ardour expects this file to exist at build time. The revision
@@ -208,7 +204,7 @@ streams from live audio.")
namespace ARDOUR { const char* revision = \"" version "\" ; }")))))
(sha256
(base32
"0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr"))
"1lcvslrcw6g4kp9w0h1jx46x6ilz4nzz0k2yrw4gd545k1rwx0c1"))
(file-name (string-append name "-" version))))
(build-system waf-build-system)
(arguments
@@ -277,42 +273,20 @@ engineers, musicians, soundtrack editors and composers.")
(define-public audacity
(package
(name "audacity")
(version "2.2.0")
(version "2.1.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/audacity/audacity/archive"
"/Audacity-" version ".tar.gz"))
(sha256
(base32 "09xpr4bjnainz1xmc35v3qg3dadjr9wv8bmn1p4y91aqyihnhjry"))
(patches (search-patches "audacity-build-with-system-portaudio.patch"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
'(begin
(for-each
(lambda (dir)
(delete-file-recursively (string-append "lib-src/" dir)))
'("expat" "ffmpeg" "libflac" "libid3tag" "libmad" "libogg"
"libsndfile" "libsoxr" "libvamp" "libvorbis" "lv2"
"portaudio-v19" "portmidi" "soundtouch" "twolame"
;; FIXME: these libraries have not been packaged yet:
;; "libnyquist"
;; "libscorealign"
;; "libwidgetextra"
;; "portburn"
;; "portsmf"
;; "portmixer"
;; FIXME: we have this library, but it differs in that the Slide
;; class does not have a member "getInverseStretchedTime".
;; "sbsms"
))
#t))))
(base32 "11mx7gb4dbqrgfp7hm0154x3m76ddnmhf2675q5zkxn7jc5qfc6b"))))
(build-system gnu-build-system)
(inputs
`(("wxwidgets" ,wxwidgets)
("gtk" ,gtk+)
;; TODO: Add portSMF and libwidgetextra once they're packaged. In-tree
;; versions shipping with Audacity are used for now.
`(("wxwidgets" ,wxwidgets-gtk2)
("gtk" ,gtk+-2)
("alsa-lib" ,alsa-lib)
("jack" ,jack-1)
("expat" ,expat)
@@ -321,7 +295,7 @@ engineers, musicians, soundtrack editors and composers.")
("flac" ,flac)
("libid3tag" ,libid3tag)
("libmad" ,libmad)
;;("libsbsms" ,libsbsms) ;bundled version is modified
("libsbsms" ,libsbsms)
("libsndfile" ,libsndfile)
("soundtouch" ,soundtouch)
("soxr" ,soxr) ;replaces libsamplerate
@@ -329,10 +303,8 @@ engineers, musicians, soundtrack editors and composers.")
("vamp" ,vamp)
("libvorbis" ,libvorbis)
("lv2" ,lv2)
("lilv" ,lilv) ;for lv2
("suil" ,suil) ;for lv2
("portaudio" ,portaudio)
("portmidi" ,portmidi)))
("lilv" ,lilv)
("portaudio" ,portaudio)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -342,63 +314,24 @@ engineers, musicians, soundtrack editors and composers.")
("python" ,python-2)
("which" ,which)))
(arguments
`(#:configure-flags
'(#:configure-flags
(let ((libid3tag (assoc-ref %build-inputs "libid3tag"))
(libmad (assoc-ref %build-inputs "libmad"))
(portmidi (assoc-ref %build-inputs "portmidi")))
(libmad (assoc-ref %build-inputs "libmad")))
(list
;; Loading FFmpeg dynamically is problematic.
"--disable-dynamic-loading"
;; SSE instructions are available on Intel systems only.
,@(if (any (cute string-prefix? <> (or (%current-target-system)
(%current-system)))
'("x64_64" "i686"))
'()
'("--enable-sse=no"))
;; portmidi, libid3tag and libmad provide no .pc files, so
;; pkg-config fails to find them. Force their inclusion.
;; libid3tag and libmad provide no .pc files, so pkg-config fails to
;; find them. Force their inclusion.
(string-append "ID3TAG_CFLAGS=-I" libid3tag "/include")
(string-append "ID3TAG_LIBS=-L" libid3tag "/lib -lid3tag -lz")
(string-append "LIBMAD_CFLAGS=-I" libmad "/include")
(string-append "LIBMAD_LIBS=-L" libmad "/lib -lmad")
(string-append "PORTMIDI_CFLAGS=-I" portmidi "/include")
(string-append "PORTMIDI_LIBS=-L" portmidi "/lib -lportmidi")
"EXPAT_USE_SYSTEM=yes"
"FFMPEG_USE_SYSTEM=yes"
"LAME_USE_SYSTEM=yes"
"LIBFLAC_USE_SYSTEM=yes"
"LIBID3TAG_USE_SYSTEM=yes"
"LIBMAD_USE_SYSTEM=yes"
"USE_LOCAL_LIBNYQUIST=" ;not packaged yet
;;"LIBSBSMS_USE_SYSTEM=yes" ;bundled version is patched
"LIBSNDFILE_USE_SYSTEM=yes"
"LIBSOUNDTOUCH_USE_SYSTEM=yes"
"LIBSOXR_USE_SYSTEM=yes"
"LIBTWOLAME_USE_SYSTEM=yes"
"LIBVAMP_USE_SYSTEM=yes"
"LIBVORBIS_USE_SYSTEM=yes"
"LV2_USE_SYSTEM=yes"
"PORTAUDIO_USE_SYSTEM=yes"))
(string-append "LIBMAD_LIBS=-L" libmad "/lib -lmad")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-sbsms-check
;; FFmpeg is only detected if autoreconf runs.
(add-before 'configure 'autoreconf
(lambda _
;; This check is wrong: there is no 2.2.0 release; not even the
;; bundled sources match this release string.
(substitute* '("m4/audacity_checklib_libsbsms.m4"
"configure")
(("sbsms >= 2.2.0") "sbsms >= 2.0.0"))
#t))
(add-after 'unpack 'use-upstream-headers
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("src/NoteTrack.cpp"
"src/AudioIO.cpp"
"src/AudioIO.h")
(("../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h")
(("../lib-src/portmidi/porttime/porttime.h") "porttime.h"))
(substitute* "src/prefs/MidiIOPrefs.cpp"
(("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h"))
#t)))
(zero? (system* "autoreconf" "-vfi")))))
;; 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,14 +386,14 @@ plugins are provided.")
(define-public calf
(package
(name "calf")
(version "0.90.0")
(version "0.0.60")
(source (origin
(method url-fetch)
(uri (string-append "http://calf-studio-gear.org/files/calf-"
version ".tar.gz"))
(sha256
(base32
"0dijv2j7vlp76l10s4v8gbav26ibaqk8s24ci74vrc398xy00cib"))))
"019fwg00jv217a5r767z7szh7vdrarybac0pr2sk26xp81kibrx9"))))
(build-system gnu-build-system)
(inputs
`(("fluidsynth" ,fluidsynth)
@@ -636,17 +569,23 @@ emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.")
(define-public csound
(package
(name "csound")
(version "6.09.1")
(version "6.05")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/csound/csound/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
"mirror://sourceforge/csound/csound6/Csound"
version "/Csound" version ".tar.gz"))
(sha256
(base32
"0xqpqws4jsv7fyawcjzwaw544qbfh29xq164kdf30a9v1n3yklp4"))))
"0a1sni6lr7qpwywpggbkp0ia3h9bwwgf9i87gsag8ra2h30v82hd"))
(patches (search-patches "csound-header-ordering.patch"))))
(build-system cmake-build-system)
(arguments
;; Work around this error on x86_64 with libc 2.22+:
;; libmvec.so.1: error adding symbols: DSO missing from command line
(if (string-prefix? "x86_64" (or (%current-target-system) (%current-system)))
'(#:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-lmvec"))
'()))
(inputs
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
@@ -685,21 +624,23 @@ language and software synthesizer.")
`(#:tests? #f ; no "check" target
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-makefile-and-enter-directory
(lambda _
(substitute* "libs/Makefile"
(("/sbin/ldconfig") "true")
(("^LIBDIR =.*") "LIBDIR = lib\n"))
(chdir "libs")
#t))
(add-after 'install 'install-symlink
(lambda _
(symlink "libclalsadrv.so"
(string-append (assoc-ref %outputs "out")
"/lib/libclalsadrv.so.2"))))
(alist-cons-after
'unpack 'patch-makefile-and-enter-directory
(lambda _
(substitute* "libs/Makefile"
(("/sbin/ldconfig") "true")
(("^LIBDIR =.*") "LIBDIR = lib\n"))
(chdir "libs")
#t)
(alist-cons-after
'install
'install-symlink
(lambda _
(symlink "libclalsadrv.so"
(string-append (assoc-ref %outputs "out")
"/lib/libclalsadrv.so.2")))
;; no configure script
(delete 'configure))))
(alist-delete 'configure %standard-phases)))))
(inputs
`(("alsa-lib" ,alsa-lib)
("fftw" ,fftw)))
@@ -1026,27 +967,23 @@ follower.")
(define-public fluidsynth
(package
(name "fluidsynth")
(version "1.1.8")
(version "1.1.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/FluidSynth/fluidsynth.git")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(method url-fetch)
(uri (string-append
"mirror://sourceforge/fluidsynth/fluidsynth-"
version "/fluidsynth-" version ".tar.gz"))
(sha256
(base32
"12q7hv0zvgylsdj1ipssv5zr7ap2y410dxsd63dz22y05fa2hwwd"))))
(build-system cmake-build-system)
"070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check phase
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-libdir
(lambda _
(substitute* "CMakeLists.txt"
(("LIB_SUFFIX \\$\\{_init_lib_suffix\\}")
"LIB_SUFFIX \"\""))
#t)))))
`(#:phases
(alist-cons-after
'unpack
'remove-broken-symlinks
(lambda _ (delete-file-recursively "m4") #t)
%standard-phases)))
(inputs
`(("libsndfile" ,libsndfile)
("alsa-lib" ,alsa-lib)
@@ -1064,7 +1001,7 @@ follower.")
specifications. FluidSynth reads and handles MIDI events from the MIDI input
device. It is the software analogue of a MIDI synthesizer. FluidSynth can
also play midifiles using a Soundfont.")
(license license:lgpl2.1+)))
(license license:gpl2+)))
(define-public faad2
(package
@@ -1085,11 +1022,12 @@ also play midifiles using a Soundfont.")
("unzip" ,unzip)))
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'bootstrap
(lambda _
(substitute* "bootstrap" (("\r\n") "\n"))
(zero? (system* "sh" "bootstrap")))))))
(alist-cons-after
'unpack 'bootstrap
(lambda _
(substitute* "bootstrap" (("\r\n") "\n"))
(zero? (system* "sh" "bootstrap")))
%standard-phases)))
(home-page "http://www.audiocoding.com/faad2.html")
(synopsis "MPEG-4 and MPEG-2 AAC decoder")
(description
@@ -1100,19 +1038,17 @@ PS, and DAB+.")
(define-public faust
(package
(name "faust")
(version "0.9.90")
(version "0.9.67")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/grame-cncm/faust.git")
(commit (string-append "v"
(string-map (lambda (c)
(if (char=? c #\.) #\- c))
version)))))
(file-name (string-append "faust-" version "-checkout"))
(method url-fetch)
(uri (string-append
"mirror://sourceforge/faudiostream/faust-" version ".zip"))
(sha256
(base32
"0qc6iwjd3i80jdyjc186c6ywipmjzl8wlsp4050pbr56q4rlkd4z"))))
"068vl9536zn0j4pknwfcchzi90rx5pk64wbcbd67z32w0csx8xm1"))
(snippet
;; Remove prebuilt library
'(delete-file "architecture/android/libs/armeabi-v7a/libfaust_dsp.so"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
@@ -1120,16 +1056,7 @@ PS, and DAB+.")
#:phases
(modify-phases %standard-phases
;; no "configure" script
(delete 'configure)
;; Files appear under $out/share/faust that are read-only. The
;; install phase tries to overwrite them and fails, so we change
;; the permissions first.
(add-before 'install 'fix-permissions
(lambda _
(for-each (lambda (file)
(chmod file #o644))
(find-files "architecture/max-msp" ".*"))
#t)))))
(delete 'configure))))
(native-inputs
`(("unzip" ,unzip)))
(home-page "http://faust.grame.fr/")
@@ -1141,18 +1068,14 @@ PS, and DAB+.")
(define-public faust-2
(package
(inherit faust)
(version "2.1.0")
(version "2.0.a51")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/grame-cncm/faust.git")
(commit (string-append "v"
(string-map (lambda (c)
(if (char=? c #\.) #\- c))
version)))))
(method url-fetch)
(uri (string-append
"mirror://sourceforge/faudiostream/faust-" version ".tgz"))
(sha256
(base32
"06km0ygwxxwgw1lqldccqidxhmjfz8ck0wnbd95qk5sg8sbpc068"))))
"1yryjqfqmxs7lxy95hjgmrncvl9kig3rcsmg0v49ghzz7vs7haxf"))))
(build-system gnu-build-system)
(arguments
(substitute-keyword-arguments (package-arguments faust)
@@ -1162,7 +1085,7 @@ PS, and DAB+.")
(native-inputs
`(("llvm" ,llvm-with-rtti)
("which" ,which)
("xxd" ,xxd)
("xxd" ,vim)
("ctags" ,emacs-minimal) ; for ctags
("pkg-config" ,pkg-config)))
(inputs
@@ -1214,7 +1137,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
(define-public guitarix
(package
(name "guitarix")
(version "0.36.1")
(version "0.35.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1222,7 +1145,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
version ".tar.xz"))
(sha256
(base32
"1g5949jwh2n755xjs3kcbdb8a1wxr5mn0m115wdnk27dxcdn93b0"))))
"0pvw4ijkq6lcn45vrif9b4mqmgzi0qg1dp5b33kb5zan6n1aci4j"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no "check" target
@@ -1274,7 +1197,9 @@ auto-wah.")
(arguments
(substitute-keyword-arguments (package-arguments guitarix)
((#:configure-flags flags)
`(cons "--lv2-only" ,flags))))))
`(cons "--lv2-only" ,flags))))
(inputs
(alist-delete "webkitgtk/gtk+-2" (package-inputs guitarix)))))
(define-public rakarrack
(package
@@ -1416,16 +1341,17 @@ synchronous execution of all clients, and low latency operation.")
(define-public jack-2
(package (inherit jack-1)
(name "jack2")
(version "1.9.11-RC1")
(version "1.9.10")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/jackaudio/jack2/releases/"
"download/v" version "/jack2-"
version ".tar.gz"))
(uri (string-append
"https://github.com/jackaudio/jack2/archive/v"
version
".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0ks72xxv8qrpwjc2ksr74rnp178h62g5vdplb2rn4vhkw86yw3kk"))))
"03b0iiyk3ng3vh5s8gaqwn565vik7910p56mlbk512bw3dhbdwc8"))))
(build-system waf-build-system)
(arguments
`(#:python ,python-2
@@ -1573,16 +1499,6 @@ to be plugged into a wide range of audio synthesis and recording packages.")
(base32
"12z1vx3krrzsfccpah9xjs68900xvr7bw92wx8np5871i2yv47iw"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
;; lashd embeds an ancient version of sigsegv so we just skip it
(add-after 'unpack 'skip-lashd
(lambda _
(substitute* '("Makefile.am" "Makefile.in")
(("lashd ") ""))
#t)))
#:configure-flags '("--disable-static")))
(inputs
`(("bdb" ,bdb)
("gtk" ,gtk+-2)
@@ -1749,21 +1665,6 @@ add functionality to support the needs of increasingly powerful audio
software.")
(license license:isc)))
(define-public lv2-devel
(let ((commit "39c7c726cd52b2863fcea356cafe1bcab2ba7f37")
(revision "1"))
(package (inherit lv2)
(name "lv2-devel")
(version (string-append "1.15.3-" revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "http://lv2plug.in/git/lv2.git")
(commit commit)))
(sha256
(base32
"1gp2rd99dfmpibvpixrqn115mrhybzf3if3h8bssf6siyi13f29r")))))))
(define-public lv2-mda-piano
(package
(name "lv2-mda-piano")
@@ -1782,7 +1683,7 @@ software.")
"TYPE=mdaPiano"
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:tests? #f ; no check target
#:phases (modify-phases %standard-phases (delete 'configure))))
#:phases (alist-delete 'configure %standard-phases)))
(inputs
`(("lv2" ,lv2)
("lvtk" ,lvtk)))
@@ -1805,7 +1706,7 @@ software.")
"TYPE=mdaEPiano"
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:tests? #f ; no check target
#:phases (modify-phases %standard-phases (delete 'configure))))
#:phases (alist-delete 'configure %standard-phases)))
(home-page "http://elephly.net/lv2/mdaepiano.html")
(synopsis "LV2 port of the mda EPiano plugin")
(description "An LV2 port of the mda EPiano VSTi.")))
@@ -2020,11 +1921,11 @@ aimed at audio/musical applications.")
(license license:gpl2+)))
(define-public raul-devel
(let ((commit "4db870b2b20b0a608ec0283139056b836c5b1624")
(let ((commit "f8bf77d3c3b77830aedafb9ebb5cdadfea7ed07a")
(revision "1"))
(package (inherit raul)
(name "raul")
(version (string-append "0.8.9-" revision "."
(version (string-append "0.8.4-" revision "."
(string-take commit 9)))
(source (origin
(method git-fetch)
@@ -2034,7 +1935,7 @@ aimed at audio/musical applications.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"04fajrass3ymr72flx5js5vxc601ccrmx8ny8scp0rw7j0igyjdr")))))))
"1lby508fb0n8ks6iz959sh18fc37br39d6pbapwvbcw5nckdrxwj")))))))
(define-public rubberband
(package
@@ -2081,8 +1982,8 @@ tempo and pitch of an audio recording independently of one another.")
(arguments
`(#:tests? #f ;no "check" target
#:phases (modify-phases %standard-phases
(add-after
'unpack 'autoconf
(add-before
'configure 'autoconf
(lambda _ (zero? (system* "autoreconf" "-vfi"))))
(add-before
'build 'fix-makefile
@@ -2144,24 +2045,20 @@ the Turtle syntax.")
(define-public suil
(package
(name "suil")
(version "0.10.0")
(version "0.8.4")
(source (origin
(method url-fetch)
(uri (string-append "http://download.drobilla.net/suil-"
version ".tar.bz2"))
(sha256
(base32
"0j489gm3fhnmwmbgw30bvd4byw1vsy4yazdlnji8jzhcz0qwb5cq"))))
"1kji3lhha26qr6xm9j8ic5c40zbrrb5qnwm2qxzmsfxgmrz29wkf"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
#:configure-flags
'("CXXFLAGS=-std=gnu++11")))
(arguments `(#:tests? #f)) ; no check target
(inputs
`(("lv2" ,lv2)
("gtk+" ,gtk+-2)
("gtk+" ,gtk+)
("qt" ,qtbase)))
("gtk+-2" ,gtk+-2)
("qt-4" ,qt-4)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://drobilla.net/software/suil/")
@@ -2174,7 +2071,7 @@ toolkit. The API is designed such that hosts do not need to explicitly
support specific toolkits if Suil supports a particular toolkit, then UIs in
that toolkit will work in all hosts that use Suil automatically.
Suil currently supports every combination of Gtk, Qt, and X11.")
Suil currently supports every combination of Gtk 2, Qt 4, and X11.")
(license license:isc)))
(define-public timidity++
@@ -2199,19 +2096,19 @@ Suil currently supports every combination of Gtk, Qt, and X11.")
(string-append "--with-default-path="
(assoc-ref %outputs "out") "/etc/timidity"))
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-config
(lambda _
(let ((out (string-append (assoc-ref %outputs "out")
"/etc/timidity")))
(mkdir-p out)
(call-with-output-file
(string-append out "/timidity.cfg")
(lambda (port)
(format port (string-append "source "
(assoc-ref %build-inputs "freepats")
"/share/freepats/freepats.cfg")))))
#t)))))
(alist-cons-after
'install 'install-config
(lambda _
(let ((out (string-append (assoc-ref %outputs "out")
"/etc/timidity")))
(mkdir-p out)
(call-with-output-file
(string-append out "/timidity.cfg")
(lambda (port)
(format port (string-append "source "
(assoc-ref %build-inputs "freepats")
"/share/freepats/freepats.cfg"))))))
%standard-phases)))
(inputs
`(("alsa-lib" ,alsa-lib)
("ao" ,ao)
@@ -2250,15 +2147,16 @@ disks as various audio file formats.")
(arguments
`(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(add-after 'install 'remove-libvamp-hostsdk.la
(lambda* (#:key outputs #:allow-other-keys)
;; https://bugs.launchpad.net/ubuntu/+source/vamp-plugin-sdk/+bug/1253656
(for-each delete-file
(let ((out (assoc-ref outputs "out")))
(list (string-append out "/lib/libvamp-sdk.la")
(string-append out "/lib/libvamp-hostsdk.la"))))
#t)))))
(alist-cons-after
'install 'remove-libvamp-hostsdk.la
(lambda* (#:key outputs #:allow-other-keys)
;; https://bugs.launchpad.net/ubuntu/+source/vamp-plugin-sdk/+bug/1253656
(for-each delete-file
(let ((out (assoc-ref outputs "out")))
(list (string-append out "/lib/libvamp-sdk.la")
(string-append out "/lib/libvamp-hostsdk.la"))))
#t)
%standard-phases)))
(inputs
`(("libsndfile" ,libsndfile)))
(native-inputs
@@ -2420,10 +2318,11 @@ Tracker 3 S3M and Impulse Tracker IT files.")
("file" ,file)))
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'bootstrap
(lambda _
(zero? (system* "sh" "bootstrap")))))))
(alist-cons-after
'unpack 'bootstrap
(lambda _
(zero? (system* "sh" "bootstrap")))
%standard-phases)))
(home-page "http://www.surina.net/soundtouch/")
(synopsis
"Audio processing library for changing tempo, pitch and playback rate")
@@ -2557,10 +2456,11 @@ portions of LAME.")
'(#:phases
;; Autoreconf is necessary because the audacity-compat patch modifies
;; .in files.
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vif")))))
(alist-cons-after
'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vif")))
%standard-phases)
#:tests? #f)) ;no 'check' target
(home-page "http://www.portaudio.com/")
(synopsis "Audio I/O library")
@@ -2624,13 +2524,14 @@ synthesizer written in C++.")
("pulseaudio" ,pulseaudio)))
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(setenv "CC" "gcc")
(zero?
(system* "./configure"
(string-append "--prefix=" (assoc-ref outputs "out")))))))
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(setenv "CC" "gcc")
(zero?
(system* "./configure"
(string-append "--prefix=" (assoc-ref outputs "out")))))
%standard-phases)
;; No 'check' target.
#:tests? #f))
(home-page "http://themaister.net/rsound.html")
@@ -2697,20 +2598,22 @@ result.")
`(#:tests? #f ; no "check" target
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-makefile-and-enter-directory
(lambda _
(substitute* "libs/Makefile"
(("ldconfig") "true")
(("^LIBDIR =.*") "LIBDIR = lib\n"))
(chdir "libs") #t))
(add-after 'install 'install-symlink
(lambda _
(symlink "libzita-convolver.so"
(string-append (assoc-ref %outputs "out")
"/lib/libzita-convolver.so.3"))))
(alist-cons-after
'unpack 'patch-makefile-and-enter-directory
(lambda _
(substitute* "libs/Makefile"
(("ldconfig") "true")
(("^LIBDIR =.*") "LIBDIR = lib\n"))
(chdir "libs") #t)
(alist-cons-after
'install
'install-symlink
(lambda _
(symlink "libzita-convolver.so"
(string-append (assoc-ref %outputs "out")
"/lib/libzita-convolver.so.3")))
;; no configure script
(delete 'configure))))
(alist-delete 'configure %standard-phases)))))
(inputs `(("fftwf" ,fftwf)))
(home-page "http://kokkinizita.linuxaudio.org")
(synopsis "Fast, partitioned convolution engine library")
@@ -2785,21 +2688,23 @@ provide high-quality sample rate conversion.")
`(#:tests? #f ; no "check" target
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-makefile-and-enter-directory
(lambda _
(substitute* "libs/Makefile"
(("ldconfig") "true")
(("^LIBDIR =.*") "LIBDIR = lib\n"))
(chdir "libs")
#t))
(add-after 'install 'install-symlink
(lambda _
(symlink "libzita-alsa-pcmi.so"
(string-append (assoc-ref %outputs "out")
"/lib/libzita-alsa-pcmi.so.0"))))
;; no configure script
(delete 'configure))))
(alist-cons-after
'unpack 'patch-makefile-and-enter-directory
(lambda _
(substitute* "libs/Makefile"
(("ldconfig") "true")
(("^LIBDIR =.*") "LIBDIR = lib\n"))
(chdir "libs")
#t)
(alist-cons-after
'install
'install-symlink
(lambda _
(symlink "libzita-alsa-pcmi.so"
(string-append (assoc-ref %outputs "out")
"/lib/libzita-alsa-pcmi.so.0")))
;; no configure script
(alist-delete 'configure %standard-phases)))))
(inputs
`(("alsa-lib" ,alsa-lib)
("fftw" ,fftw)))
@@ -2861,8 +2766,7 @@ machine-readable ASCII format.")
(description "shntool is a multi-purpose WAVE data processing and reporting
utility. File formats are abstracted from its core, so it can process any file
that contains WAVE data, compressed or not---provided there exists a format
module to handle that particular file type. It can also generate CUE files, and
use them split WAVE data into multiple files.")
module to handle that particular file type.")
(home-page "http://etree.org/shnutils/shntool/")
;; 'install-sh' bears the x11 license
(license (list license:gpl2+ license:x11))))
@@ -3001,88 +2905,3 @@ code, used in @code{libtoxcore}.")
06.10 RPE-LTP lossy speech compression algorithm.")
(home-page "http://quut.com/gsm/")
(license (license:non-copyleft "file://COPYRIGHT"))))
(define-public python-pyalsaaudio
(package
(name "python-pyalsaaudio")
(version "0.8.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "pyalsaaudio" version))
(sha256
(base32
"1180ypn9596rq4b7y7dyv627j1q0fqilmkkrckclnzsdakdgis44"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; tests require access to ALSA devices.
(inputs
`(("alsa-lib" ,alsa-lib)))
(home-page "http://larsimmisch.github.io/pyalsaaudio/")
(synopsis "ALSA wrappers for Python")
(description
"This package contains wrappers for accessing the ALSA API from Python.
It is currently fairly complete for PCM devices, and has some support for
mixers.")
(license license:psfl)))
(define-public python2-pyalsaaudio
(package-with-python2 python-pyalsaaudio))
(define-public snd
(package
(name "snd")
(version "17.7")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
"snd-" version ".tar.gz"))
(sha256
(base32
"1vm0dy5qlycqkima7y5ajzvazyjybifa803fabjcpncjz08c26vp"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:tests? #f ; no tests
#:out-of-source? #f ; for the 'install-doc' phase
#:configure-flags
(let* ((out (assoc-ref %outputs "out"))
(docdir (string-append out "/share/doc/snd")))
(list "--with-alsa" "--with-jack" "--with-gmp"
(string-append "--with-doc-dir=" docdir)))
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(docdir (string-append out "/share/doc/snd")))
(mkdir-p docdir)
(for-each
(lambda (f)
(install-file f docdir))
(find-files "." "\\.html$|COPYING"))
(copy-recursively "pix" (string-append docdir "/pix"))
#t))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("alsa-lib" ,alsa-lib)
("fftw" ,fftw)
("flac" ,flac)
("gmp" ,gmp)
("gsl" ,gsl)
("gtk+" ,gtk+)
("jack" ,jack-1)
("libsamplerate" ,libsamplerate)
("mpc" ,mpc)
("mpfr" ,mpfr)
("mpg123" ,mpg123)
("speex" ,speex)
("timidity++" ,timidity++)
("vorbis-tools" ,vorbis-tools)
("wavpack" ,wavpack)))
(synopsis "Sound editor")
(home-page "https://ccrma.stanford.edu/software/snd/")
(description
"Snd is a sound editor modelled loosely after Emacs. It can be
customized and extended using either the s7 Scheme implementation (included in
the Snd sources), Ruby, or Forth.")
(license (license:non-copyleft "file://COPYING"))))
+2 -3
View File
@@ -1,6 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,14 +30,14 @@
(define-public augeas
(package
(name "augeas")
(version "1.8.1")
(version "1.8.0")
(source (origin
(method url-fetch)
(uri (string-append "http://download.augeas.net/augeas-"
version ".tar.gz"))
(sha256
(base32
"1yf93fqwav1zsl8dpyfkf0g11w05mmfckqy6qsjy5zkklnspbkv5"))))
"1iac5lwi1q10r343ii9v5p2fdplvh06yv9svsi8zz6cd2c2fjp2i"))))
(build-system gnu-build-system)
;; Marked as "required" in augeas.pc
(propagated-inputs
+4 -22
View File
@@ -1,12 +1,11 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2015, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 ng0 <ng0@libertad.pw>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -195,7 +194,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
(define-public autoconf-archive
(package
(name "autoconf-archive")
(version "2017.09.28")
(version "2017.03.21")
(source
(origin
(method url-fetch)
@@ -203,7 +202,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
version ".tar.xz"))
(sha256
(base32
"00gsh9hkrgg291my98plkrwlcpxkfrpq64pglf18kciqbf2bb7sw"))))
"0rfpapadka2023qhy8294ca5awxpb8d4904js6kv7piby5ax8siq"))))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/autoconf-archive/")
(synopsis "Collection of freely reusable Autoconf macros")
@@ -238,7 +237,6 @@ output is indexed in many ways to simplify browsing.")
(license gpl3+)))
(define-public automake
;; Replace with 'automake/latest' on the next rebuild cycle.
(package
(name "automake")
(version "1.15")
@@ -317,22 +315,6 @@ intuitive format and then Automake works with Autoconf to produce a robust
Makefile, simplifying the entire process for the developer.")
(license gpl2+))) ; some files are under GPLv3+
(define-public automake/latest
;; Merge with 'automake' on the next rebuild cycle.
(package
(inherit automake)
(version "1.15.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/automake/automake-"
version ".tar.xz"))
(sha256
(base32
"1bzd9g32dfm4rsbw93ld9x7b5nc1y6i4m6zp032qf1i28a8s6sxg"))
(patches
(search-patches "automake-skip-amhello-tests.patch"))))))
(define-public libtool
(package
(name "libtool")
+3 -6
View File
@@ -1,7 +1,6 @@
;;; guix-emacs.el --- Emacs packages installed with Guix
;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
;; This file is part of GNU Guix.
@@ -88,11 +87,9 @@ profiles.
(interactive (list (if (fboundp 'guix-read-package-profile)
(funcall 'guix-read-package-profile)
guix-user-profile)))
(let* ((env (getenv "GUIX_ENVIRONMENT"))
(profiles (or profiles
(append (list "/run/current-system/profile"
guix-user-profile)
(and env (list env))))))
(let ((profiles (or profiles
(list "/run/current-system/profile"
guix-user-profile))))
(dolist (profile profiles)
(let ((dirs (guix-emacs-directories profile)))
(when dirs
File diff suppressed because it is too large Load Diff
+5 -5
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
@@ -27,11 +27,11 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages flashing-tools)
#:use-module (gnu packages gcc)
#:use-module (gnu packages vim))
#:use-module (gnu packages vim)
#:use-module (gnu packages zip))
(define-public avr-binutils
(package
@@ -39,7 +39,7 @@
(name "avr-binutils")))
(define-public avr-gcc-4.9
(let ((xgcc (cross-gcc "avr" #:xgcc gcc-4.9 #:xbinutils avr-binutils)))
(let ((xgcc (cross-gcc "avr" avr-binutils)))
(package
(inherit xgcc)
(name "avr-gcc")
@@ -157,7 +157,7 @@ C++.")
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))))
(native-inputs
`(("unzip" ,unzip)
("xxd" ,xxd)))
("vim" ,vim))) ; for xxd
(home-page "http://microscheme.org/")
(synopsis "Scheme subset for Atmel microcontrollers")
(description
-352
View File
@@ -1,352 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages axoloti)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix build-system ant)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages embedded)
#:use-module (gnu packages flashing-tools)
#:use-module (gnu packages java)
#:use-module (gnu packages libusb)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages textutils)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xml))
(define libusb-for-axoloti
(package (inherit libusb)
(name "axoloti-libusb")
(version (package-version libusb))
(source
(origin
(inherit (package-source libusb))
(patches (list (search-patch "libusb-for-axoloti.patch")))))))
(define dfu-util-for-axoloti
(package (inherit dfu-util)
(name "axoloti-dfu-util")
(version "0.8")
(source
(origin
(method url-fetch)
(uri (string-append "http://dfu-util.sourceforge.net/releases/"
"dfu-util-" version ".tar.gz"))
(sha256
(base32
"0n7h08avlzin04j93m6hkq9id6hxjiiix7ff9gc2n89aw6dxxjsm"))))
(inputs
`(("libusb" ,libusb-for-axoloti)))))
(define-public axoloti-runtime
(package
(name "axoloti-runtime")
(version "1.0.12")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/axoloti/axoloti/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1dynk6h0nixp4zihpirpqa4vi8fq1lhm443jsmvhk135ykhf364p"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove pre-built Java binaries.
(delete-file-recursively "lib/")
#t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match)
(ice-9 regex))
#:imported-modules ((guix build syscalls)
,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
;; prepare ChibiOS
(and (zero? (system* "unzip" "-o" (assoc-ref inputs "chibios")))
(zero? (system* "mv" "ChibiOS_2.6.9" "chibios"))
(with-directory-excursion "chibios/ext"
(zero? (system* "unzip" "-o" "fatfs-0.9-patched.zip"))))
;; Remove source of non-determinism in ChibiOS
(substitute* "chibios/os/various/shell.c"
(("#ifdef __DATE__") "#if 0"))
;; Patch shell paths
(substitute* '("src/main/java/qcmds/QCmdCompileFirmware.java"
"src/main/java/qcmds/QCmdCompilePatch.java"
"src/main/java/qcmds/QCmdFlashDFU.java")
(("/bin/sh") (which "sh")))
;; Override cross compiler base name
(substitute* "firmware/Makefile.patch"
(("arm-none-eabi-(gcc|g\\+\\+|objcopy|objdump)" tool)
(which tool)))
;; Hardcode full path to compiler tools
(substitute* '("firmware/Makefile"
"firmware/flasher/Makefile"
"firmware/mounter/Makefile")
(("TRGT =.*")
(string-append "TRGT = "
(assoc-ref inputs "cross-toolchain")
"/bin/arm-none-eabi-\n")))
;; Hardcode path to "make"
(substitute* '("firmware/compile_firmware_linux.sh"
"firmware/compile_patch_linux.sh")
(("make") (which "make")))
;; Hardcode path to "dfu-util"
(substitute* "platform_linux/upload_fw_dfu.sh"
(("-f \"\\$\\{platformdir\\}/bin/dfu-util\"") "-z \"\"")
(("\\./dfu-util") (which "dfu-util")))
#t))
(delete 'configure)
(replace 'build
;; Build Axoloti firmware with cross-compiler
(lambda* (#:key inputs #:allow-other-keys)
(let* ((toolchain (assoc-ref inputs "cross-toolchain"))
(headers (string-append
toolchain
"/arm-none-eabi/include:"
toolchain
"/arm-none-eabi/include/arm-none-eabi/armv7e-m")))
(setenv "CROSS_CPATH" headers)
(setenv "CROSS_CPLUS_INCLUDE_PATH" headers)
(setenv "CROSS_LIBRARY_PATH"
(string-append toolchain
"/arm-none-eabi/lib")))
(with-directory-excursion "platform_linux"
(zero? (system* "sh" "compile_firmware.sh")))))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/axoloti/"))
(doc (string-append share "doc"))
(dir (getcwd))
(pats '("/doc/[^/]+$"
"/patches/[^/]+/[^/]+$"
"/objects/[^/]+/[^/]+$"
"/firmware/.+"
"/chibios/[^/]+$"
"/chibios/boards/ST_STM32F4_DISCOVERY/[^/]+$"
"/chibios/(ext|os|docs)/.+"
"/CMSIS/[^/]+/[^/]+$"
"/patch/[^/]+/[^/]+$"
"/[^/]+\\.txt$"))
(pattern (string-append
"(" (string-join
(map (cut string-append dir <>)
pats)
"|") ")"))
(files (find-files dir
(lambda (file stat)
(and (eq? 'regular (stat:type stat))
(string-match pattern file))))))
(for-each (lambda (file)
(install-file file
(string-append
share
(regexp-substitute
#f
(string-match dir (dirname file))
'pre 'post))))
files)
#t))))))
(inputs
`(("chibios"
,(origin
(method url-fetch)
(uri "mirror://sourceforge/chibios/ChibiOS_RT%20stable/Version%202.6.9/ChibiOS_2.6.9.zip")
(sha256
(base32
"0lb5s8pkj80mqhsy47mmq0lqk34s2a2m3xagzihalvabwd0frhlj"))))
;; for compiling patches
("make" ,gnu-make)
;; for compiling firmware
("cross-toolchain" ,arm-none-eabi-nano-toolchain-4.9)
;; for uploading compiled patches and firmware
("dfu-util" ,dfu-util-for-axoloti)))
(native-inputs
`(("unzip" ,unzip)))
(home-page "http://www.axoloti.com/")
(synopsis "Audio development environment for the Axoloti core board")
(description
"The Axoloti patcher offers a “patcher” environment similar to Pure Data
for sketching digital audio algorithms. The patches run on a standalone
powerful microcontroller board: Axoloti Core. This package provides the
runtime.")
(license license:gpl3+)))
(define-public axoloti-patcher
(package (inherit axoloti-runtime)
(name "axoloti-patcher")
(version (package-version axoloti-runtime))
(arguments
`(#:tests? #f ; no check target
#:modules ((guix build gnu-build-system)
((guix build ant-build-system) #:prefix ant:)
(guix build utils)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match)
(ice-9 regex)
(sxml simple)
(sxml xpath)
(sxml transform))
#:imported-modules ((guix build ant-build-system)
(guix build syscalls)
,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
(setenv "JAVA_HOME" (assoc-ref inputs "icedtea"))
;; We want to use our own jar files instead of the pre-built
;; stuff in lib. So we replace the zipfileset tags in the
;; build.xml with new ones that reference our jars.
(let* ((build.xml (with-input-from-file "build.xml"
(lambda _
(xml->sxml #:trim-whitespace? #t))))
(jars (append-map (match-lambda
(((? (cut string-prefix? "java-" <>)
label) . directory)
(find-files directory "\\.jar$"))
(_ '()))
inputs))
(classpath (string-join jars ":"))
(fileset (map (lambda (jar)
`(zipfileset (@ (excludes "META-INF/*.SF")
(src ,jar))))
jars)))
(call-with-output-file "build.xml"
(lambda (port)
(sxml->xml
(pre-post-order
build.xml
`(;; Remove all zipfileset tags from the "jar" tree and
;; inject our own tags.
(jar . ,(lambda (tag . kids)
`(jar ,@(append-map
(filter (lambda (e)
(not (eq? 'zipfileset (car e)))))
kids)
,@fileset)))
;; Skip the "bundle" target (and the "-post-jar" target
;; that depends on it), because we don't need it and it
;; confuses sxml->xml.
(target . ,(lambda (tag . kids)
(let ((name ((sxpath '(name *text*))
(car kids))))
(if (or (member "bundle" name)
(member "-post-jar" name))
'() ; skip
`(,tag ,@kids)))))
(*default* . ,(lambda (tag . kids) `(,tag ,@kids)))
(*text* . ,(lambda (_ txt)
(match txt
;; Remove timestamp.
("${TODAY}" "(unknown)")
(_ txt))))))
port)))
;; Build it!
(zero? (system* "ant"
(string-append "-Djavac.classpath=" classpath)
"-Dbuild.runtime=true"
"-Dbuild.time=01/01/1970 00:00:00"
"-Djavac.source=1.7"
"-Djavac.target=1.7"
(string-append "-Dtag.short.version="
,version))))))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/axoloti/")))
(install-file "dist/Axoloti.jar" share)
;; We do this to ensure that this package retains references to
;; other Java packages' jar files.
(install-file "build.xml" share)
;; Create a launcher script
(mkdir (string-append out "/bin"))
(let ((target (string-append out "/bin/Axoloti")))
(with-output-to-file target
(lambda ()
(let* ((dir (string-append (assoc-ref outputs "out")
"/share/axoloti"))
(runtime (string-append (assoc-ref inputs "axoloti-runtime")
"/share/axoloti"))
(toolchain (assoc-ref inputs "cross-toolchain"))
(includes (string-append
toolchain
"/arm-none-eabi/include:"
toolchain
"/arm-none-eabi/include/arm-none-eabi/armv7e-m")))
(display
(string-append "#!" (which "sh") "\n"
"export CROSS_CPATH=" includes "\n"
"export CROSS_CPLUS_INCLUDE_PATH=" includes "\n"
"export CROSS_LIBRARY_PATH="
toolchain "/arm-none-eabi/lib" "\n"
(which "java")
" -Daxoloti_release=" runtime
" -Daxoloti_runtime=" runtime
" -jar " dir "/Axoloti.jar")))))
(chmod target #o555))
#t)))
(add-after 'install 'strip-jar-timestamps
(assoc-ref ant:%standard-phases 'strip-jar-timestamps)))))
(inputs
`(("icedtea" ,icedtea "jdk")
("cross-toolchain" ,arm-none-eabi-nano-toolchain-4.9)
("java-simple-xml" ,java-simple-xml)
("java-rsyntaxtextarea" ,java-rsyntaxtextarea)
("java-usb4java" ,java-usb4java)
("java-jsch" ,java-jsch)
("java-slf4j-api" ,java-slf4j-api)
("java-jgit" ,java-jgit-4.2)
("axoloti-runtime" ,axoloti-runtime)))
(native-inputs
`(("ant" ,ant)
("zip" ,zip) ; for repacking the jar
("unzip" ,unzip)))
(description
"The Axoloti patcher offers a “patcher” environment similar to Pure Data
for sketching digital audio algorithms. The patches run on a standalone
powerful microcontroller board: Axoloti Core. This package provides the
patcher application.")))
+45 -162
View File
@@ -1,12 +1,11 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2017 Kei Kebreau <kei@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,7 +33,6 @@
#:use-module (gnu packages acl)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages dejagnu)
@@ -50,8 +48,6 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages rsync)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
@@ -122,7 +118,7 @@ spying and/or modification by the server.")
(define-public par2cmdline
(package
(name "par2cmdline")
(version "0.7.4")
(version "0.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/Parchive/par2cmdline/archive/v"
@@ -130,25 +126,21 @@ spying and/or modification by the server.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0iwwskiag3262mvhinvnbk6n0qh6sh56m86y4d0m285v0jl0y9pa"))))
"1m9vnv3pg0nds47raq2rd2kfpaad1sc10hv40hll5byksqlbfxyq"))))
(native-inputs
`(("automake" ,automake)
("autoconf" ,autoconf)))
(build-system gnu-build-system)
(arguments
`(#:phases
`(#:parallel-tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _ (zero? (system* "autoreconf" "-vfi")))))))
(synopsis "File verification and repair tools")
(description "Par2cmdline uses Reed-Solomon error-correcting codes to
generate and verify PAR2 recovery files. These files can be distributed
alongside the source files or stored together with back-ups to protect against
transmission errors or @dfn{bit rot}, the degradation of storage media over
time.
Unlike a simple checksum, PAR2 doesn't merely detect errors: as long as the
damage isn't too extensive (and smaller than the size of the recovery file), it
can even repair them.")
(synopsis "File verification and repair tool")
(description "Par2cmdline is a tool for generating RAID-like PAR2 recovery
files using Reed-Solomon coding. PAR2 files can be stored along side backups
or distributed files for recovering from bitrot.")
(home-page "https://github.com/Parchive/par2cmdline")
(license license:gpl3+)))
@@ -188,8 +180,8 @@ backups (called chunks) to allow easy burning to CD/DVD.")
(define-public libarchive
(package
(name "libarchive")
(replacement libarchive-3.3.2)
(version "3.3.1")
(replacement libarchive-3.3.1)
(version "3.2.2")
(source
(origin
(method url-fetch)
@@ -197,7 +189,7 @@ backups (called chunks) to allow easy burning to CD/DVD.")
version ".tar.gz"))
(sha256
(base32
"1rr40hxlm9vy5z2zb5w7pyfkgd1a4s061qapm83s19accb8mpji9"))))
"03q6y428rg723c9fj1vidzjw46w1vf8z0h95lkvz1l9jw571j739"))))
(build-system gnu-build-system)
;; TODO: Add -L/path/to/nettle in libarchive.pc.
(inputs
@@ -244,19 +236,19 @@ archive. In particular, note that there is currently no built-in support for
random access nor for in-place modification.")
(license license:bsd-2)))
(define libarchive-3.3.2
(define libarchive-3.3.1
(package
(inherit libarchive)
(version "3.3.2")
(name "libarchive")
(version "3.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://libarchive.org/downloads/libarchive-"
version ".tar.gz"))
(patches (search-patches "libarchive-CVE-2017-14166.patch"))
(sha256
(base32
"1km0mzfl6in7l5vz9kl09a88ajx562rw93ng9h2jqavrailvsbgd"))))))
"1rr40hxlm9vy5z2zb5w7pyfkgd1a4s061qapm83s19accb8mpji9"))))))
(define-public rdup
(package
@@ -297,20 +289,20 @@ random access nor for in-place modification.")
("nettle" ,nettle)))
(arguments
`(#:parallel-build? #f ;race conditions
#:phases
(modify-phases %standard-phases
(add-before 'build 'remove-Werror
;; rdup uses a deprecated function from libarchive
(lambda _
(substitute* "GNUmakefile"
(("^(CFLAGS=.*)-Werror" _ front) front))
#t))
(add-before 'check 'pre-check
(lambda _
(setenv "HOME" (getcwd))
(substitute* "testsuite/rdup/rdup.rdup-up-t-with-file.exp"
(("/bin/cat") (which "cat")))
#t)))))
#:phases (alist-cons-before
'build 'remove-Werror
;; rdup uses a deprecated function from libarchive
(lambda _
(substitute* "GNUmakefile"
(("^(CFLAGS=.*)-Werror" _ front) front)))
(alist-cons-before
'check 'pre-check
(lambda _
(setenv "HOME" (getcwd))
(substitute* "testsuite/rdup/rdup.rdup-up-t-with-file.exp"
(("/bin/cat") (which "cat"))))
%standard-phases))))
(home-page "http://archive.miek.nl/projects/rdup/index.html")
(synopsis "Provide a list of files to backup")
(description
@@ -340,9 +332,9 @@ list and implement the backup strategy.")
"CC=gcc")
#:tests? #f ;test input not distributed
#:phases
;; no configure phase
(modify-phases %standard-phases
(delete 'configure))))
(alist-delete
'configure ;no configure phase
%standard-phases)))
(home-page "http://viric.name/cgi-bin/btar/doc/trunk/doc/home.wiki")
(synopsis "Tar-compatible archiver")
(description
@@ -466,13 +458,13 @@ detection, and lossless compression.")
(define-public borg
(package
(name "borg")
(version "1.1.3")
(version "1.0.10")
(source (origin
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
(sha256
(base32
"1rvn8b6clzd1r317r9jkvk34r31risi0dxfjc7jffhnwasck4anc"))
"1sarmpzwr8dhbg0hsvaclcsjfax36ssb32d9klhhah4j8kqji3wp"))
(modules '((guix build utils)))
(snippet
'(for-each
@@ -509,7 +501,6 @@ detection, and lossless compression.")
(string-append
;; These tests need to write to '/var'.
"not test_get_cache_dir "
"and not test_get_config_dir "
"and not test_get_keys_dir "
"and not test_get_security_dir "
;; These tests assume there is a root user in
@@ -521,10 +512,9 @@ detection, and lossless compression.")
"and not benchmark "
;; These tests assume the kernel supports FUSE.
"and not test_fuse "
"and not test_fuse_allow_damaged_files "
"and not test_mount_hardlinks"))))))
"and not test_fuse_allow_damaged_files"))))))
(add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man (string-append out "/share/man/man1"))
(misc (string-append out "/share/borg/misc")))
@@ -532,11 +522,11 @@ detection, and lossless compression.")
'("docs/misc/create_chunker-params.txt"
"docs/misc/internals-picture.txt"
"docs/misc/prune-example.txt"))
(add-installed-pythonpath inputs outputs)
(and
(zero? (system* "python3" "setup.py" "build_man"))
(zero? (system* "python3" "setup.py" "build_ext" "--inplace"))
(zero? (system* "make" "-C" "docs" "man"))
(begin
(copy-recursively "docs/man" man)
(install-file "docs/_build/man/borg.1" man)
#t))))))))
(native-inputs
`(("python-cython" ,python-cython)
@@ -546,7 +536,7 @@ detection, and lossless compression.")
("python-pytest" ,python-pytest-3.0)
;; For generating the documentation.
("python-sphinx" ,python-sphinx)
("python-guzzle-sphinx-theme" ,python-guzzle-sphinx-theme)))
("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)))
(inputs
`(("acl" ,acl)
("lz4" ,lz4)
@@ -560,7 +550,7 @@ provide an efficient and secure way to backup data. The data deduplication
technique used makes Borg suitable for daily backups since only changes are
stored. The authenticated encryption technique makes it suitable for backups
to not fully trusted targets. Borg is a fork of Attic.")
(home-page "https://www.borgbackup.org/")
(home-page "https://borgbackup.github.io/borgbackup/")
(license license:bsd-3)))
(define-public attic
@@ -612,14 +602,14 @@ changes are stored.")
(define-public wimlib
(package
(name "wimlib")
(version "1.12.0")
(version "1.10.0")
(source (origin
(method url-fetch)
(uri (string-append "https://wimlib.net/downloads/"
name "-" version ".tar.gz"))
(sha256
(base32
"0ks6hq7vwq13ljkzxp3a490bf8dnracgl2azf57rg49ad2fzab45"))))
"0mbz03smlc054i2m9q2sbqymml9m897kfs84q7g81i26y811p6wq"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -696,110 +686,3 @@ using GnuPG. Backups can be stored on local hard disks, or online via
the SSH SFTP protocol. The backup server, if used, does not require
any special software, on top of SSH.")
(license license:gpl3+)))
(define-public dirvish
(package
(name "dirvish")
(version "1.2.1")
(build-system gnu-build-system)
(source (origin
(method url-fetch)
(uri (string-append
"http://dirvish.org/dirvish-" version ".tgz"))
(sha256
(base32
"1kbxa1irszp2zw8hd5qzqnrrzb4vxfivs1vn64yxnj0lak1jjzvb"))))
(arguments
`(#:modules ((ice-9 match) (ice-9 rdelim)
,@%gnu-build-system-modules)
#:phases
;; This mostly mirrors the steps taken in the install.sh that ships
;; with dirvish, but simplified because we aren't prompting interactively
(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(delete 'check)
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
;; These are mostly the same steps the install.sh that comes with
;; dirvish does
(let* (;; Files we'll be copying
(executables
'("dirvish" "dirvish-runall"
"dirvish-expire" "dirvish-locate"))
(man-pages
'(("dirvish" "8") ("dirvish-runall" "8")
("dirvish-expire" "8") ("dirvish-locate" "8")
("dirvish.conf" "5")))
(output-dir
(assoc-ref outputs "out"))
;; Just a default... not so useful on guixsd though
;; You probably want to a service with file(s) to point to.
(confdir "/etc/dirvish")
(perl (string-append (assoc-ref %build-inputs "perl")
"/bin/perl"))
(loadconfig.pl (call-with-input-file "loadconfig.pl"
read-string)))
(define (write-pl filename)
(define pl-header
(string-append "#!" perl "\n\n"
"$CONFDIR = \"" confdir "\";\n\n"))
(define input-file-location
(string-append filename ".pl"))
(define target-file-location
(string-append output-dir "/bin/" filename ".pl"))
(define text-to-write
(string-append pl-header
(call-with-input-file input-file-location
read-string)
"\n" loadconfig.pl))
(with-output-to-file target-file-location
(lambda ()
(display text-to-write)))
(chmod target-file-location #o755)
(wrap-program target-file-location
`("PERL5LIB" ":" prefix
,(map (lambda (l) (string-append (assoc-ref %build-inputs l)
"/lib/perl5/site_perl"))
'("perl-libtime-period"
"perl-libtime-parsedate")))))
(define write-man
(match-lambda
((file-base man-num)
(let* ((filename
(string-append file-base "." man-num))
(output-path
(string-append output-dir
"/share/man/man" man-num
"/" filename)))
(copy-file filename output-path)))))
;; Make directories
(mkdir-p (string-append output-dir "/bin/"))
(mkdir-p (string-append output-dir "/share/man/man8/"))
(mkdir-p (string-append output-dir "/share/man/man5/"))
;; Write out executables
(for-each write-pl executables)
;; Write out man pages
(for-each write-man man-pages)
#t))))))
(inputs
`(("perl" ,perl)
("rsync" ,rsync)
("perl-libtime-period" ,perl-libtime-period)
("perl-libtime-parsedate" ,perl-libtime-parsedate)))
(home-page "http://dirvish.org/")
(synopsis "Fast, disk based, rotating network backup system")
(description
"With dirvish you can maintain a set of complete images of your
filesystems with unattended creation and expiration. A dirvish backup vault
is like a time machine for your data. ")
(license (license:fsf-free "file://COPYING"
"Open Software License 2.0"))))
+185 -99
View File
@@ -5,10 +5,8 @@
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -89,8 +87,7 @@ command-line arguments, multiple languages, and so on.")
(sha256
(base32
"1dcasjp3a578nrvzrcn38mpizb8w1q6mvfzhjmcqqgkf0nsivj72"))
(patches (search-patches "grep-timing-sensitive-test.patch"
"grep-gnulib-lock.patch"))))
(patches (search-patches "grep-timing-sensitive-test.patch"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl))) ;some of the tests require it
(arguments
@@ -231,14 +228,14 @@ differences.")
(define-public diffutils
(package
(name "diffutils")
(version "3.6")
(version "3.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/diffutils/diffutils-"
version ".tar.xz"))
(sha256
(base32
"1mivg0fy3a6fcn535ln8nkgfj6vxh5hsxxs5h6692wxmsjyyh8fn"))))
"0csmqfz8ks23kdjsq0v2ll1acqiz8lva06dj19mwmymrsp69ilys"))))
(build-system gnu-build-system)
(synopsis "Comparing and merging files")
(description
@@ -261,13 +258,8 @@ interactive means to merge two files.")
(sha256
(base32
"178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y"))
(patches (search-patches
"findutils-localstatedir.patch"
"findutils-test-xargs.patch"
;; test-lock has performance issues on multi-core
;; machines, it hangs or takes a long time to complete.
;; This is a commit from gnulib to fix this issue.
"findutils-gnulib-multi-core.patch"))))
(patches (search-patches "findutils-localstatedir.patch"
"findutils-test-xargs.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list
@@ -293,15 +285,15 @@ used to apply commands with arbitrarily long arguments.")
(define-public coreutils
(package
(name "coreutils")
(version "8.27")
(version "8.26")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/coreutils/coreutils-"
version ".tar.xz"))
(sha256
(base32
"0sv547572iq8ayy8klir4hnngnx92a9nsazmf1wgzfc7xr4x74c8"))
(patches (search-patches "coreutils-cut-huge-range-test.patch"))))
"13lspazc7xkviy93qz7ks9jv4sldvgmwpq36ghrbrqpq93br8phm"))
(patches (search-patches "coreutils-fix-cross-compilation.patch"))))
(build-system gnu-build-system)
(inputs `(("acl" ,acl) ; TODO: add SELinux
("gmp" ,gmp) ;bignums in 'expr', yay!
@@ -316,12 +308,21 @@ used to apply commands with arbitrarily long arguments.")
;; copy of help2man. However, don't pass it when cross-compiling since
;; that would lead it to try to run programs to get their '--help' output
;; for help2man.
(if (%current-target-system)
'()
`(("perl" ,perl))))
`(,@(if (%current-target-system)
'()
`(("perl" ,perl)))
;; Apply this patch only on ARM to avoid a full rebuild.
;; TODO: Move to 'patches' in the next update cycle.
,@(if (string-prefix? "arm" (or (%current-target-system)
(%current-system)))
`(("cut-test.patch"
,(search-patch "coreutils-cut-huge-range-test.patch")))
'())))
(outputs '("out" "debug"))
(arguments
`(#:parallel-build? #f ; help2man may be called too early
#:parallel-tests? #f ; race condition fixed after 8.26
#:phases (alist-cons-before
'build 'patch-shell-references
(lambda* (#:key inputs #:allow-other-keys)
@@ -336,7 +337,22 @@ used to apply commands with arbitrarily long arguments.")
(substitute* (find-files "tests" "\\.sh$")
(("#!/bin/sh")
(format #f "#!~a/bin/sh" bash)))))
%standard-phases)))
,@(if (string-prefix? "arm" (or (%current-target-system)
(%current-system)))
'((alist-cons-before
'build 'patch-cut-test
(lambda* (#:key inputs native-inputs
#:allow-other-keys)
(let ((patch (or (assoc-ref inputs
"cut-test.patch")
(assoc-ref native-inputs
"cut-test.patch"))))
(zero?
(system* "patch" "-p1" "--force"
"--input" patch))))
%standard-phases))
'(%standard-phases)))))
(synopsis "Core GNU utilities (file, text, shell)")
(description
"GNU Coreutils includes all of the basic command-line tools that are
@@ -346,6 +362,29 @@ functionality beyond that which is outlined in the POSIX standard.")
(license gpl3+)
(home-page "https://www.gnu.org/software/coreutils/")))
;; We add version 8.27 here for use in (gnu system) due to a time
;; zone bug in `date' versions 8.25 - 8.26.
;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23035
;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26238
(define-public coreutils-8.27
(package
(inherit coreutils)
(version "8.27")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/coreutils/coreutils-"
version ".tar.xz"))
(sha256
(base32
"0sv547572iq8ayy8klir4hnngnx92a9nsazmf1wgzfc7xr4x74c8"))))
(arguments
(if (string-prefix? "arm" (or (%current-target-system)
(%current-system)))
(substitute-keyword-arguments (package-arguments coreutils)
((#:phases phases)
`(alist-delete 'patch-cut-test ,phases)))
(package-arguments coreutils)))))
(define-public coreutils-minimal
;; Coreutils without its optional dependencies.
(package
@@ -394,18 +433,18 @@ change. GNU make offers many powerful extensions over the standard utility.")
(define-public binutils
(package
(replacement binutils/fixed)
(name "binutils")
(version "2.28")
(version "2.27")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/binutils/binutils-"
version ".tar.bz2"))
(sha256
(base32
"0wiasgns7i8km8nrxas265sh2dfpsw93b3qw195ipc90w4z475v2"))
"125clslv17xh1sab74343fg6v31msavpmaa1c1394zsqa773g5rn"))
(patches (search-patches "binutils-ld-new-dtags.patch"
"binutils-loongson-workaround.patch"))))
"binutils-loongson-workaround.patch"
"binutils-mips-bash-bug.patch"))))
(build-system gnu-build-system)
;; TODO: Add dependency on zlib + those for Gold.
@@ -417,6 +456,10 @@ change. GNU make offers many powerful extensions over the standard utility.")
;; Don't search under /usr/lib & co.
"--with-lib-path=/no-ld-lib-path"
;; Glibc 2.17 has a "comparison of unsigned
;; expression >= 0 is always true" in wchar.h.
"--disable-werror"
;; Install BFD. It ends up in a hidden directory,
;; but it's here.
"--enable-install-libbfd"
@@ -436,23 +479,10 @@ included.")
(license gpl3+)
(home-page "https://www.gnu.org/software/binutils/")))
(define binutils/fixed
(package
(inherit binutils)
;; 2.28.1 is two characters longer than 2.28, so grafting fails due to
;; mismatched lengths of filenames, so we have to force it to the same length.
(version "2281")
(source
(origin (inherit (package-source binutils))
(uri "mirror://gnu/binutils/binutils-2.28.1.tar.bz2")
(sha256
(base32
"1sj234nd05cdgga1r36zalvvdkvpfbr12g5mir2n8i1dwsdrj939"))))))
(define* (make-ld-wrapper name #:key
(target (const #f))
binutils
(guile (canonical-package guile-2.2))
(guile (canonical-package guile-2.0))
(bash (canonical-package bash))
(guile-for-build guile))
"Return a package called NAME that contains a wrapper for the 'ld' program
@@ -528,7 +558,6 @@ store.")
(package
(name "glibc")
(version "2.25")
(replacement glibc/fixed)
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/glibc/glibc-"
@@ -546,12 +575,7 @@ store.")
(modules '((guix build utils)))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-versioned-locpath.patch"
"glibc-o-largefile.patch"
"glibc-memchr-overflow-i686.patch"
"glibc-vectorized-strcspn-guards.patch"
"glibc-CVE-2017-1000366-pt1.patch"
"glibc-CVE-2017-1000366-pt2.patch"
"glibc-CVE-2017-1000366-pt3.patch"))))
"glibc-o-largefile.patch"))))
(build-system gnu-build-system)
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
@@ -563,6 +587,10 @@ store.")
(arguments
`(#:out-of-source? #t
;; In version 2.21, there a race in the 'elf' directory, see
;; <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00709.html>.
#:parallel-build? #f
;; The libraries have an empty RUNPATH, but some, such as the versioned
;; libraries (libdl-2.24.so, etc.) have ld.so marked as NEEDED. Since
;; these libraries are always going to be found anyway, just skip
@@ -638,6 +666,19 @@ store.")
;; 4.7.1.
((" -lgcc_s") ""))
;; Apply patch only on i686.
;; TODO: Move the patch to 'patches' in the next update cycle.
,@(if (string-prefix? "i686" (or (%current-target-system)
(%current-system)))
`((unless (zero? (system* "patch" "-p1" "--force"
"--input"
(or (assoc-ref native-inputs
"glibc-memchr-overflow-i686.patch")
(assoc-ref inputs
"glibc-memchr-overflow-i686.patch"))))
(error "patch failed for glibc-memchr-overflow-i686.patch")))
'())
;; Have `system' use that Bash.
(substitute* "sysdeps/posix/system.c"
(("#define[[:blank:]]+SHELL_PATH.*$")
@@ -681,7 +722,15 @@ store.")
;; install the message catalogs, with 'msgfmt'.
(native-inputs `(("texinfo" ,texinfo)
("perl" ,perl)
("gettext" ,gettext-minimal)))
("gettext" ,gettext-minimal)
;; Apply this patch only on i686 to avoid a full rebuild.
;; TODO: Move to 'patches' in the next update cycle.
,@(if (string-prefix? "i686" (or (%current-target-system)
(%current-system)))
`(("glibc-memchr-overflow-i686.patch"
,(search-patch "glibc-memchr-overflow-i686.patch")))
'())))
(native-search-paths
;; Search path for packages that provide locale data. This is useful
@@ -730,6 +779,71 @@ with the Linux kernel.")
;; Add libmachuser.so and libhurduser.so to libc.so's search path.
;; See <http://lists.gnu.org/archive/html/bug-hurd/2015-07/msg00051.html>.
`(modify-phases ,original-phases
;; TODO: This is almost an exact copy of the phase of the same name
;; in glibc/linux. The only difference is that the i686 patch is
;; not applied here. In the next update cycle the patch moves to
;; the patches field and this overwritten phase won't be needed any
;; more.
(replace 'pre-configure
(lambda* (#:key inputs native-inputs outputs
#:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
;; FIXME: Normally we would look it up only in INPUTS
;; but cross-base uses it as a native input.
(bash (or (assoc-ref inputs "static-bash")
(assoc-ref native-inputs "static-bash"))))
;; Install the rpc data base file under `$out/etc/rpc'.
;; FIXME: Use installFlags = [ "sysconfdir=$(out)/etc" ];
(substitute* "sunrpc/Makefile"
(("^\\$\\(inst_sysconfdir\\)/rpc(.*)$" _ suffix)
(string-append out "/etc/rpc" suffix "\n"))
(("^install-others =.*$")
(string-append "install-others = " out "/etc/rpc\n")))
(substitute* "Makeconfig"
;; According to
;; <http://www.linuxfromscratch.org/lfs/view/stable/chapter05/glibc.html>,
;; linking against libgcc_s is not needed with GCC
;; 4.7.1.
((" -lgcc_s") ""))
;; Have `system' use that Bash.
(substitute* "sysdeps/posix/system.c"
(("#define[[:blank:]]+SHELL_PATH.*$")
(format #f "#define SHELL_PATH \"~a/bin/bash\"\n"
bash)))
;; Same for `popen'.
(substitute* "libio/iopopen.c"
(("/bin/sh")
(string-append bash "/bin/sh")))
;; Same for the shell used by the 'exec' functions for
;; scripts that lack a shebang.
(substitute* (find-files "." "^paths\\.h$")
(("#define[[:blank:]]+_PATH_BSHELL[[:blank:]].*$")
(string-append "#define _PATH_BSHELL \""
bash "/bin/sh\"\n")))
;; Nscd uses __DATE__ and __TIME__ to create a string to
;; make sure the client and server come from the same
;; libc. Use something deterministic instead.
(substitute* "nscd/nscd_stat.c"
(("static const char compilation\\[21\\] =.*$")
(string-append
"static const char compilation[21] = \""
(string-take (basename out) 20) "\";\n")))
;; Make sure we don't retain a reference to the
;; bootstrap Perl.
(substitute* "malloc/mtrace.pl"
(("^#!.*")
;; The shebang can be omitted, because there's the
;; "bilingual" eval/exec magic at the top of the file.
"")
(("exec @PERL@")
"exec perl")))))
(add-after 'install 'augment-libc.so
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
@@ -787,15 +901,6 @@ GLIBC/HURD for a Hurd host"
(define-syntax glibc
(identifier-syntax (glibc-for-target)))
(define glibc/fixed
(package
(inherit glibc)
(source (origin
(inherit (package-source glibc))
(patches (append
(origin-patches (package-source glibc))
(search-patches "glibc-CVE-2017-15670-15671.patch")))))))
;; Below are old libc versions, which we use mostly to build locale data in
;; the old format (which the new libc cannot cope with.)
@@ -809,16 +914,7 @@ GLIBC/HURD for a Hurd host"
version ".tar.xz"))
(sha256
(base32
"1lxmprg9gm73gvafxd503x70z32phwjzcy74i0adfi6ixzla7m4r"))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-versioned-locpath.patch"
"glibc-o-largefile.patch"
"glibc-vectorized-strcspn-guards.patch"
"glibc-CVE-2015-5180.patch"
"glibc-CVE-2017-15670-15671.patch"
"glibc-CVE-2017-1000366-pt1.patch"
"glibc-CVE-2017-1000366-pt2.patch"
"glibc-CVE-2017-1000366-pt3.patch"))))))
"1lxmprg9gm73gvafxd503x70z32phwjzcy74i0adfi6ixzla7m4r"))))))
(define-public glibc-2.23
(package
@@ -830,19 +926,7 @@ GLIBC/HURD for a Hurd host"
version ".tar.xz"))
(sha256
(base32
"1s8krs3y2n6pzav7ic59dz41alqalphv7vww4138ag30wh0fpvwl"))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-versioned-locpath.patch"
"glibc-o-largefile.patch"
"glibc-vectorized-strcspn-guards.patch"
"glibc-CVE-2015-5180.patch"
"glibc-CVE-2016-3075.patch"
"glibc-CVE-2016-3706.patch"
"glibc-CVE-2016-4429.patch"
"glibc-CVE-2017-15670-15671.patch"
"glibc-CVE-2017-1000366-pt1.patch"
"glibc-CVE-2017-1000366-pt2.patch"
"glibc-CVE-2017-1000366-pt3.patch"))))))
"1s8krs3y2n6pzav7ic59dz41alqalphv7vww4138ag30wh0fpvwl"))))))
(define-public glibc-2.22
(package
@@ -855,27 +939,29 @@ GLIBC/HURD for a Hurd host"
(sha256
(base32
"0j49682pm2nh4qbdw35bas82p1pgfnz4d2l7iwfyzvrvj0318wzb"))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-vectorized-strcspn-guards.patch"
"glibc-CVE-2015-5180.patch"
"glibc-CVE-2015-7547.patch"
"glibc-CVE-2016-3075.patch"
"glibc-CVE-2016-3706.patch"
"glibc-CVE-2016-4429.patch"
"glibc-CVE-2017-15670-15671.patch"
"glibc-CVE-2017-1000366-pt1.patch"
"glibc-CVE-2017-1000366-pt2.patch"
"glibc-CVE-2017-1000366-pt3.patch"))))
(patches (search-patches "glibc-ldd-x86_64.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments glibc)
((#:phases phases)
`(modify-phases ,phases
(add-before 'configure 'fix-pwd
(lambda _
;; Use `pwd' instead of `/bin/pwd' for glibc-2.22.
;; Use `pwd' instead of `/bin/pwd' for glibc-2.21
(substitute* "configure"
(("/bin/pwd") "pwd"))
#t))))))))
(("/bin/pwd") "pwd"))))))))))
(define-public glibc-2.21
(package
(inherit glibc-2.22)
(version "2.21")
(source (origin
(inherit (package-source glibc))
(uri (string-append "mirror://gnu/glibc/glibc-"
version ".tar.xz"))
(sha256
(base32
"1f135546j34s9bfkydmx2nhh9vwxlx60jldi80zmsnln6wj3dsxf"))
(patches (search-patches "glibc-ldd-x86_64.patch"))))))
(define-public glibc-locales
(package
@@ -896,12 +982,12 @@ the 'share/locale' sub-directory of this package.")
,@(package-arguments glibc))))
(substitute-keyword-arguments args
((#:phases phases)
`(modify-phases ,phases
(replace 'build
(lambda _
(zero? (system* "make" "localedata/install-locales"
"-j" (number->string (parallel-job-count))))))
(delete 'install)))
`(alist-replace
'build
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "make" "localedata/install-locales"
"-j" (number->string (parallel-job-count)))))
(alist-delete 'install ,phases)))
((#:configure-flags flags)
`(append ,flags
;; Use $(libdir)/locale/X.Y as is the case by default.
+27 -27
View File
@@ -211,33 +211,33 @@ without modification.")
(outputs (delete "include" (package-outputs bash)))
(arguments
(substitute-keyword-arguments (package-arguments bash)
((#:modules _ '())
'((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1)
(srfi srfi-26)))
((#:configure-flags flags '())
`(list "--without-bash-malloc"
"--disable-readline"
"--disable-history"
"--disable-help-builtin"
"--disable-progcomp"
"--disable-net-redirections"
"--disable-nls"
(let ((args `(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1)
(srfi srfi-26))
,@(package-arguments bash))))
(substitute-keyword-arguments args
((#:configure-flags flags)
`(list "--without-bash-malloc"
"--disable-readline"
"--disable-history"
"--disable-help-builtin"
"--disable-progcomp"
"--disable-net-redirections"
"--disable-nls"
;; Pretend 'dlopen' is missing so we don't build loadable
;; modules and related code.
"ac_cv_func_dlopen=no"
;; Pretend 'dlopen' is missing so we don't build loadable
;; modules and related code.
"ac_cv_func_dlopen=no"
,@(if (%current-target-system)
'("bash_cv_job_control_missing=no"
"bash_cv_getcwd_malloc=yes")
'())))
((#:phases phases)
`(modify-phases ,phases
;; No loadable modules.
(delete 'move-development-files)))))))
,@(if (%current-target-system)
'("bash_cv_job_control_missing=no"
"bash_cv_getcwd_malloc=yes")
'())))
((#:phases phases)
`(modify-phases ,phases
;; No loadable modules.
(delete 'move-development-files))))))))
(define-public static-bash
;; Statically-linked Bash that contains nothing but the 'bash' binary and
@@ -263,7 +263,7 @@ without modification.")
(define-public bash-completion
(package
(name "bash-completion")
(version "2.7")
(version "2.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -271,7 +271,7 @@ without modification.")
version "/" name "-" version ".tar.xz"))
(sha256
(base32
"07j484vb3k90f4989xh1g1x99g01akrp69p3dml4lza27wnqkfj1"))
"1kwmii1z1ljx5i4z702ynsr8jgrq64bj9w9hl3n2aa2kcl659fdh"))
(patches
(search-patches "bash-completion-directories.patch"))))
(build-system gnu-build-system)
+4 -28
View File
@@ -1,8 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,8 +23,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages hurd))
#:use-module (gnu packages pkg-config))
(define-public libgc
(package
@@ -40,20 +38,8 @@
"143x7g0d0k6250ai6m2x3l4y352mzizi4wbgrmahxscv2aqjhjm1"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list
;; Install gc_cpp.h et al.
"--enable-cplusplus"
;; In GNU/Hurd systems during the 'Check' phase,
;; there is a deadlock caused by the 'gctest' test.
;; To disable the error set "--disable-gcj-support"
;; to configure script. See bug report and discussion:
;; <https://lists.opendylan.org/pipermail/bdwgc/2017-April/006275.html>
;; <https://lists.gnu.org/archive/html/bug-hurd/2017-01/msg00008.html>
,@(if (hurd-triplet? (or (%current-system)
(%current-target-system)))
'("--disable-gcj-support")
'()))))
'(#:configure-flags '(;; Install gc_cpp.h et al.
"--enable-cplusplus")))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("libatomic-ops" ,libatomic-ops)))
(outputs '("out" "debug"))
@@ -78,16 +64,6 @@ C or C++ programs, though that is not its primary goal.")
(license (x11-style (string-append home-page "license.txt")))))
(define-public libgc/back-pointers
(package
(inherit libgc)
(name "libgc-back-pointers")
(arguments
`(#:make-flags
(list "CPPFLAGS=-DKEEP_BACK_PTRS=1")
,@(package-arguments libgc)))
(synopsis "The BDW garbage collector, with back-pointer tracking")))
(define-public libatomic-ops
(package
(name "libatomic-ops")
+5 -70
View File
@@ -1,6 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Dave Love <fx@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,15 +24,13 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages linux)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages python)
#:use-module (gnu packages storage)
#:use-module (ice-9 match))
#:use-module (gnu packages storage))
(define-public fio
(package
(name "fio")
(version "3.2")
(version "2.19")
(source (origin
(method url-fetch)
(uri (string-append
@@ -41,7 +38,7 @@
"fio-" version ".tar.bz2"))
(sha256
(base32
"1f5vina9bxn99drda8dhbxng8ypj4ny72xh6mp8rq955d0f8sq0z"))))
"0dwx2dpbsg3xyd8jzm64gazy6ij4zirlfdrbgcxr1a0z5smcmcw1"))))
(build-system gnu-build-system)
(arguments
'(#:test-target "test"
@@ -81,8 +78,8 @@
(dst (string-append newbin "/" file)))
(link src dst)
(delete-file src)))
'("fio2gnuplot" "fiologparser_hist.py"
"fiologparser.py"))
'("fio2gnuplot" "fio_latency2csv.py"
"fiologparser_hist.py" "fiologparser.py"))
;; Make sure numpy et.al is found.
(wrap-program (string-append newbin "/fiologparser_hist.py")
`("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
@@ -106,65 +103,3 @@ is to write a job file matching the I/O load one wants to simulate.")
;; are covered by other licenses.
(license (list license:gpl2 license:gpl2+ license:bsd-2
license:public-domain))))
;; Parameterized in anticipation of m(va)pich support
(define (imb mpi)
(package
(name (string-append "imb-" (package-name mpi)))
(version "2017.2")
(source
(origin
(method url-fetch)
(uri (match (string-split version #\.)
((major minor)
(string-append
"https://software.intel.com/sites/default/files/managed/76/6c/IMB_"
major "_Update" minor ".tgz"))))
(sha256 (base32 "11nczxm686rsppmw9gjc2p2sxc0jniv5kv18yxm1lzp5qfh5rqyb"))))
(build-system gnu-build-system)
(inputs
`(("mpi" ,mpi)))
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
(let ((mpi-home (assoc-ref inputs "mpi")))
(zero?
;; Not safe for parallel build
(system* "make" "-C" "imb/src" "-f" "make_mpich" "SHELL=sh"
(string-append "MPI_HOME=" mpi-home))))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/" ,name))
(bin (string-append out "/bin")))
(with-directory-excursion "imb/src"
(for-each
(lambda (file)
(install-file file bin))
'("IMB-IO" "IMB-EXT" "IMB-MPI1" "IMB-NBC" "IMB-RMA")))
(mkdir-p doc)
(with-directory-excursion "imb"
(copy-recursively "license" doc)))
#t)))))
(home-page "https://software.intel.com/en-us/articles/intel-mpi-benchmarks")
(synopsis "Intel MPI Benchmarks")
(description
"This package provides benchmarks for implementations of the @dfn{Message
Passing Interface} (MPI). It contains MPI performance measurements for
point-to-point and global communication, and file, operations for a range of
message sizes. The generated benchmark data fully characterize:
@itemize
@item
Performance of a cluster system, including node performance, network latency,
and throughput;
@item
Efficiency of the MPI implementation.
@end itemize")
(license license:cpl1.0)))
(define-public imb-openmpi (imb openmpi))
File diff suppressed because it is too large Load Diff
+27 -27
View File
@@ -5,7 +5,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
;;;
;;; This file is part of GNU Guix.
@@ -74,24 +74,23 @@
"gui")) ; graphical user interface
(arguments
'(#:glib-or-gtk-wrap-excluded-outputs '("out")
#:phases
(modify-phases %standard-phases
(add-after 'install 'move-gui
(lambda* (#:key outputs #:allow-other-keys)
;; Move the GUI to its own output, so that "out" doesn't
;; depend on GTK+.
(let ((out (assoc-ref outputs "out"))
(gui (assoc-ref outputs "gui")))
(mkdir-p (string-append gui "/bin"))
(rename-file (string-append out "/bin/transmission-gtk")
(string-append gui
"/bin/transmission-gtk"))
#:phases (alist-cons-after
'install 'move-gui
(lambda* (#:key outputs #:allow-other-keys)
;; Move the GUI to its own output, so that "out" doesn't
;; depend on GTK+.
(let ((out (assoc-ref outputs "out"))
(gui (assoc-ref outputs "gui")))
(mkdir-p (string-append gui "/bin"))
(rename-file (string-append out "/bin/transmission-gtk")
(string-append gui
"/bin/transmission-gtk"))
;; Move the '.desktop' file as well.
(mkdir (string-append gui "/share"))
(rename-file (string-append out "/share/applications")
(string-append gui "/share/applications")))
#t)))))
;; Move the '.desktop' file as well.
(mkdir (string-append gui "/share"))
(rename-file (string-append out "/share/applications")
(string-append gui "/share/applications"))))
%standard-phases)))
(inputs
`(("inotify-tools" ,inotify-tools)
("libevent" ,libevent)
@@ -177,21 +176,20 @@ XML-RPC over SCGI.")
(license l:gpl2+)))
(define-public tremc
(let ((commit "9755b50e9444566cff02c977edafdbb3e9750cbb")
(revision "1"))
(let ((commit "401f2303c9b5a6e2e7b0808617d794576d4aa29e")
(revision "0"))
(package
(name "tremc")
(version (git-version "0.9.0" revision commit))
(version (string-append "0.9.0-" revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/louipc/tremc.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"05259qss5jka5ygwrh7cngyp6cgazbynji5pshgfzrd2d43pyfq5"))))
"1h2720zn35iggmf9av65g119b0bhskwm1ng0zbkjryaf38nfzpin"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no test suite
@@ -266,7 +264,7 @@ maintained upstream.")
(define-public aria2
(package
(name "aria2")
(version "1.33.1")
(version "1.31.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/tatsuhiro-t/aria2/"
@@ -274,7 +272,7 @@ maintained upstream.")
name "-" version ".tar.xz"))
(sha256
(base32
"06syqxia701dk96rcbhnd4x0arjj6d22gm3aqksz38am9y2f8f95"))))
"131zh75fqw9a1j0igl8gx3lwmhhbicdmp2p387r0cd5j928631bv"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--enable-libaria2"
@@ -382,7 +380,7 @@ and will take advantage of multiple processor cores where possible.")
(define-public libtorrent-rasterbar
(package
(name "libtorrent-rasterbar")
(version "1.1.5")
(version "1.1.2")
(source (origin
(method url-fetch)
(uri
@@ -390,9 +388,11 @@ and will take advantage of multiple processor cores where possible.")
"https://github.com/arvidn/libtorrent/releases/download/libtorrent-"
(string-join (string-split version #\.) "_")
"/libtorrent-rasterbar-" version ".tar.gz"))
(patches
(search-patches "libtorrent-rasterbar-boost-compat.patch"))
(sha256
(base32
"0c398b7hsa5dvj4m0jc8h7mn0m3nawmagb6c5c7ml5c9hc338c8h"))))
"16im9qsmfrmmkhfjpij9739nqpn4s6wgc9cikdxbcyshfhimzra5"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
+5 -7
View File
@@ -28,15 +28,14 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages shells))
#:use-module (gnu packages shells)
#:use-module (gnu packages perl))
(define-public boost
(package
(name "boost")
(version "1.64.0")
(version "1.63.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -45,10 +44,9 @@
".tar.bz2"))
(sha256
(base32
"0cikd35xfkpg9nnl76yqqnqxnf3hyfjjww8xjd4akflprsm5rk3v"))))
"1c5kzhcqahnic55dxcnw7r80qvwx5sfa2sa97yzv7xjrywljbbmy"))))
(build-system gnu-build-system)
(inputs `(("icu4c" ,icu4c)
("zlib" ,zlib)))
(inputs `(("zlib" ,zlib)))
(native-inputs
`(("perl" ,perl)
("python" ,python-2)
+56 -217
View File
@@ -6,7 +6,6 @@
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -38,21 +37,17 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
#:use-module (gnu packages mtools)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages qemu)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages swig)
#:use-module (gnu packages virtualization)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
#:use-module (guix utils))
(define unifont
;; GNU Unifont, <http://gnu.org/s/unifont>.
@@ -77,7 +72,7 @@
"03vvdfhdmf16121v7xs8is2krwnv15wpkhkf16a4yf8nsfc3f2w1"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-stuff
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "grub-core/Makefile.in"
@@ -96,19 +91,7 @@
;; Make the font visible.
(copy-file (assoc-ref inputs "unifont") "unifont.bdf.gz")
(system* "gunzip" "unifont.bdf.gz")
#t))
(add-before 'check 'disable-flaky-test
(lambda _
;; This test is unreliable. For more information, see:
;; <https://bugs.gnu.org/26936>.
(substitute* "Makefile.in"
(("grub_cmd_date grub_cmd_set_date grub_cmd_sleep")
"grub_cmd_date grub_cmd_sleep"))
#t)))
;; Disable tests on ARM and AARCH64 platforms.
#:tests? ,(not (any (cute string-prefix? <> (or (%current-target-system)
(%current-system)))
'("arm" "aarch64")))))
#t)))))
(inputs
`(("gettext" ,gettext-minimal)
@@ -129,7 +112,7 @@
("bison" ,bison)
;; Due to a bug in flex >= 2.6.2, GRUB must be built with an older flex:
;; <http://lists.gnu.org/archive/html/grub-devel/2017-02/msg00133.html>
;; TODO Try building with flex > 2.6.4.
;; TODO Try building with flex > 2.6.3.
("flex" ,flex-2.6.1)
("texinfo" ,texinfo)
("help2man" ,help2man)
@@ -158,14 +141,13 @@ menu to select one of the installed operating systems.")
(synopsis "GRand Unified Boot loader (UEFI version)")
(inputs
`(("efibootmgr" ,efibootmgr)
("mtools", mtools)
,@(package-inputs grub)))
(arguments
`(;; TODO: Tests need a UEFI firmware for qemu. There is one at
;; https://github.com/tianocore/edk2/tree/master/OvmfPkg .
;; Search for 'OVMF' in "tests/util/grub-shell.in".
#:tests? #f
,@(substitute-keyword-arguments (package-arguments grub)
((#:tests? _ #f) #f)
((#:configure-flags flags ''())
`(cons "--with-platform=efi" ,flags))
((#:phases phases)
@@ -176,52 +158,7 @@ menu to select one of the installed operating systems.")
(("efibootmgr")
(string-append (assoc-ref inputs "efibootmgr")
"/sbin/efibootmgr")))
#t))
(add-after 'patch-stuff 'use-absolute-mtools-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((mtools (assoc-ref inputs "mtools")))
(substitute* "util/grub-mkrescue.c"
(("\"mformat\"")
(string-append "\"" mtools
"/bin/mformat\"")))
(substitute* "util/grub-mkrescue.c"
(("\"mcopy\"")
(string-append "\"" mtools
"/bin/mcopy\"")))
#t))))))))))
;; Because grub searches hardcoded paths it's easiest to just build grub
;; again to make it find both grub-pc and grub-efi. There is a command
;; line argument which allows you to specify ONE platform - but
;; grub-mkrescue will use multiple platforms if they are available
;; in the installation directory (without command line argument).
(define-public grub-hybrid
(package
(inherit grub-efi)
(name "grub-hybrid")
(synopsis "GRand Unified Boot loader (hybrid version)")
(inputs
`(("grub" ,grub)
,@(package-inputs grub-efi)))
(arguments
(substitute-keyword-arguments (package-arguments grub-efi)
((#:modules modules `((guix build utils) (guix build gnu-build-system)))
`((ice-9 ftw) ,@modules))
((#:phases phases)
`(modify-phases ,phases
(add-after 'install 'install-non-efi
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((input-dir (string-append (assoc-ref inputs "grub")
"/lib/grub"))
(output-dir (string-append (assoc-ref outputs "out")
"/lib/grub")))
(for-each
(lambda (basename)
(if (not (string-prefix? "." basename))
(symlink (string-append input-dir "/" basename)
(string-append output-dir "/" basename))))
(scandir input-dir))
#t)))))))))
#t)))))))))
(define-public syslinux
(let ((commit "bb41e935cc83c6242de24d2271e067d76af3585c"))
@@ -243,8 +180,7 @@ menu to select one of the installed operating systems.")
("perl" ,perl)
("python-2" ,python-2)))
(inputs
`(("libuuid" ,util-linux)
("mtools" ,mtools)))
`(("libuuid" ,util-linux)))
(arguments
`(#:parallel-build? #f
#:make-flags
@@ -259,17 +195,11 @@ menu to select one of the installed operating systems.")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-files
(lambda* (#:key inputs #:allow-other-keys)
(lambda _
(substitute* (find-files "." "Makefile.*|ppmtolss16")
(("/bin/pwd") (which "pwd"))
(("/bin/echo") (which "echo"))
(("/usr/bin/perl") (which "perl")))
(let ((mtools (assoc-ref inputs "mtools")))
(substitute* (find-files "." "\\.c$")
(("mcopy")
(string-append mtools "/bin/mcopy"))
(("mattrib")
(string-append mtools "/bin/mattrib"))))
#t))
(delete 'configure)
(add-before 'build 'set-permissions
@@ -294,7 +224,7 @@ menu to select one of the installed operating systems.")
(define-public dtc
(package
(name "dtc")
(version "1.4.5")
(version "1.4.4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -302,23 +232,15 @@ menu to select one of the installed operating systems.")
"dtc-" version ".tar.xz"))
(sha256
(base32
"08gnl39i4xy3dm8iqwlz2ygx0ml1bgc5kpiys5ll1wvah1j72b04"))
;; Fix build and tests on 32 bits platforms.
;; Will probably be fixed in 1.4.6 release.
(patches (search-patches "dtc-format-modifier.patch"
"dtc-32-bits-check.patch"))))
"1yygyvnnpdh241hl90n9p3kxcdvk3jxmsr4ndb961c8mq3ak21s7"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
("flex" ,flex)
("swig" ,swig)))
(inputs
`(("python-2" ,python-2)))
("flex" ,flex-2.6.1))) ; A bug in flex prevents building with flex-2.6.3.
(arguments
`(#:make-flags
(list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out"))
(string-append "SETUP_PREFIX=" (assoc-ref %outputs "out"))
"INSTALL=install")
#:phases
(modify-phases %standard-phases
@@ -333,7 +255,7 @@ tree binary files. These are board description files used by Linux and BSD.")
(define u-boot
(package
(name "u-boot")
(version "2017.11")
(version "2017.03")
(source (origin
(method url-fetch)
(uri (string-append
@@ -341,7 +263,7 @@ tree binary files. These are board description files used by Linux and BSD.")
"u-boot-" version ".tar.bz2"))
(sha256
(base32
"01bcsah5imy6m3fbjwhqywxg0pfk5fl8ks9ylb7kv3zmrb9qy0ba"))))
"0gqihplap05dlpwdb971wsqyv01nz2vabwq5g5649gr5jczsyjzm"))))
(native-inputs
`(("bc" ,bc)
("dtc" ,dtc)
@@ -355,59 +277,48 @@ also initializes the boards (RAM etc).")
(define (make-u-boot-package board triplet)
"Returns a u-boot package for BOARD cross-compiled for TRIPLET."
(let ((same-arch? (if (string-prefix? (%current-system)
(gnu-triplet->nix-system triplet))
`#t
`#f)))
(package
(inherit u-boot)
(name (string-append "u-boot-" (string-downcase board)))
(native-inputs
`(,@(if (not same-arch?)
`(("cross-gcc" ,(cross-gcc triplet))
("cross-binutils" ,(cross-binutils triplet)))
'())
,@(package-native-inputs u-boot)))
(arguments
`(#:modules ((ice-9 ftw) (guix build utils) (guix build gnu-build-system))
#:test-target "test"
#:make-flags
(list "HOSTCC=gcc"
,@(if (not same-arch?)
`((string-append "CROSS_COMPILE=" ,triplet "-"))
'()))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs make-flags #:allow-other-keys)
(let ((config-name (string-append ,board "_defconfig")))
(if (file-exists? (string-append "configs/" config-name))
(zero? (apply system* "make" `(,@make-flags ,config-name)))
(begin
(display "Invalid board name. Valid board names are:")
(let ((suffix-len (string-length "_defconfig")))
(scandir "configs"
(lambda (file-name)
(when (string-suffix? "_defconfig" file-name)
(format #t
"- ~A\n"
(string-drop-right file-name
suffix-len))))))
#f)))))
(replace 'install
(lambda* (#:key outputs make-flags #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(libexec (string-append out "/libexec"))
(uboot-files (append
(find-files "." ".*\\.(bin|efi|img|spl)$")
(find-files "." "^MLO$"))))
(mkdir-p libexec)
(for-each
(lambda (file)
(let ((target-file (string-append libexec "/" file)))
(mkdir-p (dirname target-file))
(copy-file file target-file)))
uboot-files))))))))))
(package
(inherit u-boot)
(name (string-append "u-boot-" (string-downcase board)))
(native-inputs
`(("cross-gcc" ,(cross-gcc triplet))
("cross-binutils" ,(cross-binutils triplet))
,@(package-native-inputs u-boot)))
(arguments
`(#:modules ((ice-9 ftw) (guix build utils) (guix build gnu-build-system))
#:test-target "test"
#:make-flags
(list "HOSTCC=gcc" (string-append "CROSS_COMPILE=" ,triplet "-"))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs make-flags #:allow-other-keys)
(let ((config-name (string-append ,board "_defconfig")))
(if (file-exists? (string-append "configs/" config-name))
(zero? (apply system* "make" `(,@make-flags ,config-name)))
(begin
(display "Invalid board name. Valid board names are:")
(let ((suffix-len (string-length "_defconfig")))
(scandir "configs"
(lambda (file-name)
(when (string-suffix? "_defconfig" file-name)
(format #t
"- ~A\n"
(string-drop-right file-name
suffix-len))))))
#f)))))
(replace 'install
(lambda* (#:key outputs make-flags #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(libexec (string-append out "/libexec"))
(uboot-files (find-files "." ".*\\.(bin|efi|spl)$")))
(mkdir-p libexec)
(for-each
(lambda (file)
(let ((target-file (string-append libexec "/" file)))
(mkdir-p (dirname target-file))
(copy-file file target-file)))
uboot-files)))))))))
(define-public u-boot-vexpress
(make-u-boot-package "vexpress_ca9x4" "arm-linux-gnueabihf"))
@@ -417,75 +328,3 @@ also initializes the boards (RAM etc).")
(define-public u-boot-beagle-bone-black
(make-u-boot-package "am335x_boneblack" "arm-linux-gnueabihf"))
(define-public u-boot-odroid-c2
(make-u-boot-package "odroid-c2" "aarch64-linux-gnu"))
(define-public os-prober
(package
(name "os-prober")
(version "1.76")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://debian/pool/main/o/os-prober/os-prober_"
version ".tar.xz"))
(sha256
(base32
"1vb45i76bqivlghrq7m3n07qfmmq4wxrkplqx8gywj011rhq19fk"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 regex) ; for string-match
(srfi srfi-26)) ; for cut
#:make-flags (list "CC=gcc")
#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (find-files ".")
(("/usr") (assoc-ref outputs "out")))
(substitute* (find-files "." "50mounted-tests$")
(("mkdir") "mkdir -p"))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(define (find-files-non-recursive directory)
(find-files directory
(lambda (file stat)
(string-match (string-append "^" directory "/[^/]*$")
file))
#:directories? #t))
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(lib (string-append out "/lib"))
(share (string-append out "/share")))
(for-each (cut install-file <> bin)
(list "linux-boot-prober" "os-prober"))
(install-file "newns" (string-append lib "/os-prober"))
(install-file "common.sh" (string-append share "/os-prober"))
(install-file "os-probes/mounted/powerpc/20macosx"
(string-append lib "/os-probes/mounted"))
(for-each
(lambda (directory)
(for-each
(lambda (file)
(let ((destination (string-append lib "/" directory
"/" (basename file))))
(mkdir-p (dirname destination))
(copy-recursively file destination)))
(append (find-files-non-recursive (string-append directory "/common"))
(find-files-non-recursive (string-append directory "/x86")))))
(list "os-probes" "os-probes/mounted" "os-probes/init"
"linux-boot-probes" "linux-boot-probes/mounted"))
#t))))))
(home-page "https://joeyh.name/code/os-prober")
(synopsis "Detect other operating systems")
(description "os-prober probes disks on the system for other operating
systems so that they can be added to the bootloader. It also works out how to
boot existing GNU/Linux systems and detects what distribution is installed in
order to add a suitable bootloader menu entry.")
(license license:gpl2+)))
-2
View File
@@ -162,7 +162,6 @@ successful, or false to signal an error."
gnu-triplet->nix-system)
(%current-system))))
"Return the name of Glibc's dynamic linker for SYSTEM."
;; See the 'SYSDEP_KNOWN_INTERPRETER_NAMES' cpp macro in libc.
(cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2")
((string=? system "i686-linux") "/lib/ld-linux.so.2")
((string=? system "armhf-linux") "/lib/ld-linux-armhf.so.3")
@@ -171,7 +170,6 @@ successful, or false to signal an error."
((string=? system "i686-gnu") "/lib/ld.so.1")
((string=? system "aarch64-linux") "/lib/ld-linux-aarch64.so.1")
((string=? system "powerpc-linux") "/lib/ld.so.1")
((string=? system "powerpc64le-linux") "/lib/ld64.so.2")
((string=? system "alpha-linux") "/lib/ld-linux.so.2")
;; XXX: This one is used bare-bones, without a libc, so add a case
+4 -58
View File
@@ -23,7 +23,6 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages python)
#:use-module (gnu packages ninja)
#:use-module (guix build-system gnu)
@@ -70,18 +69,17 @@ makes a few sacrifices to acquire fast full and incremental build times.")
(define-public meson
(package
(name "meson")
(version "0.43.0")
(version "0.40.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
"releases/download/" version "/meson-"
version ".tar.gz"))
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0h3k0m45004ay1hzz9r66fkl1kwizaigxahyrlabyw0d1slyq4y5"))))
"0yl6iryh89nn6hzhwv7kg16ki1chh9h0x1yk1y130h87iq42a35r"))))
(build-system python-build-system)
(inputs `(("ninja", ninja)))
(propagated-inputs `(("python" ,python)))
(home-page "https://mesonbuild.com/")
(synopsis "Build system designed to be fast and user-friendly")
(description
@@ -92,55 +90,3 @@ Autoconf/Automake/make combo. Build specifications, also known as @dfn{Meson
files}, are written in a custom domain-specific language (DSL) that resembles
Python.")
(license license:asl2.0)))
(define-public meson-for-build
(package
(inherit meson)
(name "meson-for-build")
(version "0.42.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1494hdnd40g2v6pky34j0f2iwc6kwn51vck37qwz7nl2xr17b18q"))
(patches (search-patches "meson-for-build-rpath.patch"))))
;; People should probably install "meson", not "meson-for-build".
(properties `((hidden? . #t)))))
(define-public premake4
(package
(name "premake")
(version "4.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/premake/Premake/"
version "/premake-" version "-src.zip"))
(sha256
(base32
"1017rd0wsjfyq2jvpjjhpszaa7kmig6q1nimw76qx3cjz2868lrn"))))
(build-system gnu-build-system)
(native-inputs
`(("unzip" ,unzip))) ; for unpacking the source
(arguments
`(#:make-flags '("CC=gcc")
#:tests? #f ; No test suite
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'enter-source
(lambda _ (chdir "build/gmake.unix") #t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(install-file "../../bin/release/premake4"
(string-append (assoc-ref outputs "out") "/bin"))
#t)))))
(synopsis "Portable software build tool")
(description "@code{premake4} is a command line utility that reads a
scripted definition of a software project and outputs @file{Makefile}s or
other lower-level build files.")
(home-page "https://premake.github.io")
(license license:bsd-3)))
+26 -26
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,13 +24,13 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages compression)
#:use-module (gnu packages perl))
#:use-module (gnu packages perl)
#:use-module (gnu packages zip))
(define-public busybox
(package
(name "busybox")
(version "1.26.2")
(version "1.26.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -38,44 +38,44 @@
version ".tar.bz2"))
(sha256
(base32
"05mg6rh5smkzfwqfcazkpwy6h6555llsazikqnvwkaf17y8l8gns"))))
"0k0g3hk58m99c2sfq97ngnixb2rv2wzyhv3z00lxaw78bqvjglis"))))
(build-system gnu-build-system)
(arguments
'(#:phases
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _ (zero? (system* "make" "defconfig"))))
(replace 'check
(lambda _
(substitute* '("testsuite/du/du-s-works"
"testsuite/du/du-works")
(substitute* '("testsuite/du/du-s-works"
"testsuite/du/du-works")
(("/bin") "/etc")) ; there is no /bin but there is a /etc
;; There is no /usr/bin or /bin - replace it with /gnu/store
(substitute* "testsuite/cpio.tests"
;; There is no /usr/bin or /bin - replace it with /gnu/store
(substitute* "testsuite/cpio.tests"
(("/usr/bin") (%store-directory))
(("usr") (car (filter (negate string-null?)
(string-split (%store-directory) #\/)))))
(string-split (%store-directory) #\/)))))
(substitute* "testsuite/date/date-works-1"
(substitute* "testsuite/date/date-works-1"
(("/bin/date") (which "date")))
;; The pidof tests assume that pid 1 is called "init" but that is not
;; true in guix build environment
(substitute* "testsuite/pidof.tests"
;; The pidof tests assume that pid 1 is called "init" but that is not
;; true in guix build environment
(substitute* "testsuite/pidof.tests"
(("-s init") "-s $(cat /proc/1/comm)"))
;; This test cannot possibly pass.
;; It is trying to test that "which ls" returns "/bin/ls" when PATH is not set.
;; However, this relies on /bin/ls existing. Which it does not in guix.
(delete-file "testsuite/which/which-uses-default-path")
(rmdir "testsuite/which")
(zero? (system* "make"
;; "V=1"
"SKIP_KNOWN_BUGS=1"
"SKIP_INTERNET_TESTS=1"
"check"))))
;; This test cannot possibly pass.
;; It is trying to test that "which ls" returns "/bin/ls" when PATH is not set.
;; However, this relies on /bin/ls existing. Which it does not in guix.
(delete-file "testsuite/which/which-uses-default-path")
(rmdir "testsuite/which")
(zero? (system* "make"
;; "V=1"
"SKIP_KNOWN_BUGS=1"
"SKIP_INTERNET_TESTS=1"
"check"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
+4 -17
View File
@@ -1,6 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,13 +22,12 @@
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages ncurses))
(define-public calcurse
(package
(name "calcurse")
(version "4.2.2")
(version "4.0.0")
(source
(origin
(method url-fetch)
@@ -37,25 +35,14 @@
version ".tar.gz"))
(sha256
(base32
"0il0y06akdqgy0f9p40m4x6arn66nh7sr1w1i41bszycs7div266"))))
"0d33cpkbhyidvm3xx6iw9ljqdvl6477c2kcwix3bs63nj0ch06v2"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(native-inputs `(("tzdata" ,tzdata-2017a)))
(arguments
;; The ical tests all want to create a ".calcurse" directory, and may
;; fail with "cannot create directory '.calcurse': File exists" if run
;; concurently.
`(#:parallel-tests? #f
;; Since this tzdata is only used for tests and not referenced by the
;; built package, used the "fixed" obsolete version of tzdata and ensure
;; it does not sneak in to the closure.
#:disallowed-references (,tzdata-2017a)
#:phases (modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda* (#:key inputs #:allow-other-keys)
(setenv "TZDIR" ;for test/ical-007.sh
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo")))))))
'(#:parallel-tests? #f))
(home-page "http://www.calcurse.org")
(synopsis "Text-based calendar and scheduling")
(description
+17 -24
View File
@@ -1,8 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016 Stefan Reichoer <stefan@xsteve.at>
;;;
@@ -31,14 +31,12 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages dav)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages time)
#:use-module (srfi srfi-26))
(define-public libical
@@ -57,8 +55,9 @@
(arguments
'(#:tests? #f ; test suite appears broken
#:configure-flags
(list (string-append "-DCMAKE_INSTALL_LIBDIR="
(assoc-ref %outputs "out") "/lib"))
(list (string-append "-DCMAKE_INSTALL_RPATH="
(assoc-ref %outputs "out") "/lib:"
(assoc-ref %outputs "out") "/lib64"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-paths
@@ -86,13 +85,13 @@ data units.")
(define-public khal
(package
(name "khal")
(version "0.9.8")
(version "0.9.5")
(source (origin
(method url-fetch)
(uri (pypi-uri "khal" version))
(sha256
(base32
"1blx3gxnv7sj302biqphfw7i6ilzl2xlmvzp130n3113scg9w17y"))))
"0fvv0kjym9q8v20zbpr5m8ig65b8hva4p0c935qsdvgdni68jidr"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -101,33 +100,26 @@ data units.")
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Make installed package available for running the tests
(add-installed-pythonpath inputs outputs)
(and
(zero? (system* "make" "--directory=doc/" "man"))
(install-file
"doc/build/man/khal.1"
(string-append (assoc-ref outputs "out") "/share/man/man1")))))
(zero? (system* "make" "--directory=doc/" "man"))
(install-file
"doc/build/man/khal.1"
(string-append (assoc-ref outputs "out") "/share/man/man1"))))
;; The tests require us to choose a timezone.
(replace 'check
(lambda* (#:key inputs #:allow-other-keys)
;; The tests require us to choose a timezone.
(setenv "TZ"
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo/Zulu"))
(zero? (system* "py.test" "tests" "-k"
(string-append
;; These tests are known to fail in when not
;; running in a TTY:
;; https://github.com/pimutils/khal/issues/683
"not test_printics_read_from_stdin "
"and not test_import_from_stdin"))))))))
(zero? (system* "py.test" "tests")))))))
(native-inputs
;; XXX Uses tmpdir_factory, introduced in pytest 2.8.
`(("python-pytest" ,python-pytest-3.0)
("python-pytest-cov" ,python-pytest-cov)
("python-setuptools-scm" ,python-setuptools-scm)
;; Required for tests
("python-freezegun" ,python-freezegun)
("tzdata" ,tzdata)
("vdirsyncer" ,vdirsyncer)
("python-freezegun" ,python-freezegun)
;; Required to build manpage
("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed)
("python-sphinx" ,python-sphinx)))
@@ -139,7 +131,8 @@ data units.")
("python-icalendar" ,python-icalendar)
("python-tzlocal" ,python-tzlocal)
("python-urwid" ,python-urwid)
("python-pyxdg" ,python-pyxdg)))
("python-pyxdg" ,python-pyxdg)
("vdirsyncer" ,vdirsyncer)))
(synopsis "Console calendar program")
(description "Khal is a standards based console calendar program,
able to synchronize with CalDAV servers through vdirsyncer.")
+4 -3
View File
@@ -37,6 +37,7 @@
#:use-module (gnu packages audio)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages zip)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
@@ -147,14 +148,14 @@ libcdio.")
(define-public xorriso
(package
(name "xorriso")
(version "1.4.8")
(version "1.4.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/xorriso/xorriso-"
version ".tar.gz"))
(sha256
(base32
"10c44yr3dpmwxa7rf23mwfsy1bahny3jpcg9ig0xjv090jg0d0pc"))))
"112p0ghwzxrcjbsir1n2jxhq103ckrw93wzvd55qqvzfgs674vsj"))))
(build-system gnu-build-system)
(inputs
`(("acl" ,acl)
@@ -454,7 +455,7 @@ the data.")
(build-system gnu-build-system)
(arguments
'(#:tests? #f
#:phases (modify-phases %standard-phases (delete 'configure))
#:phases (alist-delete 'configure %standard-phases)
#:make-flags (list "CC=gcc"
(string-append "PREFIX="
(assoc-ref %outputs "out")))))
+5 -19
View File
@@ -1,9 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -75,7 +74,7 @@
(define-public nss-certs
(package
(name "nss-certs")
(version "3.34.1")
(version "3.30.2")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@@ -86,7 +85,7 @@
"nss-" version ".tar.gz")))
(sha256
(base32
"186x33wsk4mzjz7dzbn8p0py9a0nzkgzpfkdv4rlyy5gghv5vhd3"))))
"096frzvyp3z257x84rxknscfgsbavzh2a0gyibx7kvmw4vzpfjhd"))))
(build-system gnu-build-system)
(outputs '("out"))
(native-inputs
@@ -156,26 +155,13 @@ taken from the NSS package and thus ultimately from the Mozilla project.")
(let ((root (assoc-ref %build-inputs "isrgrootx1.pem"))
(intermediate (assoc-ref %build-inputs "letsencryptauthorityx3.pem"))
(backup (assoc-ref %build-inputs "letsencryptauthorityx4.pem"))
(out (string-append (assoc-ref %outputs "out") "/etc/ssl/certs"))
(openssl (assoc-ref %build-inputs "openssl"))
(perl (assoc-ref %build-inputs "perl")))
(out (string-append (assoc-ref %outputs "out") "/etc/ssl/certs")))
(mkdir-p out)
(for-each
(lambda (cert)
(copy-file cert (string-append out "/"
(strip-store-file-name cert))))
(list root intermediate backup))
;; Create hash symlinks suitable for OpenSSL ('SSL_CERT_DIR' and
;; similar.)
(chdir (string-append %output "/etc/ssl/certs"))
(unless (zero? (system* (string-append perl "/bin/perl")
(string-append openssl "/bin/c_rehash")
"."))
(error "'c_rehash' failed" openssl))))))
(native-inputs
`(("openssl" ,openssl)
("perl" ,perl))) ;for 'c_rehash'
(list root intermediate backup))))))
(inputs
`(; The Let's Encrypt root certificate, "ISRG Root X1".
("isrgrootx1.pem"
+19 -1565
View File
File diff suppressed because it is too large Load Diff
+12 -35
View File
@@ -3,7 +3,6 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -40,6 +39,7 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages zip)
#:use-module (guix build-system gnu))
(define-public hydra
@@ -187,8 +187,8 @@ their dependencies.")
(license l:gpl3+))))
(define-public cuirass
(let ((commit "9cfea9fe2e3ca6a3d1b832a6ec217426ec973c93")
(revision "10"))
(let ((commit "870e8d6ad3415ac61c52e57095fcc6164023a0fc")
(revision "6"))
(package
(name "cuirass")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@@ -200,7 +200,7 @@ their dependencies.")
(file-name (string-append name "-" version))
(sha256
(base32
"177klidmsw12kjk9dzawc0bqcwqlplgx45m87qpgjfx3cnk28i2b"))))
"0lp5a5p42k7lml15lbmmd7az9i0gw5kips3sh3awd2z79h0w2knw"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)
@@ -216,12 +216,7 @@ their dependencies.")
(substitute* "Makefile.am"
(("tests/repo.scm \\\\") "\\"))
#t))
(add-after 'disable-repo-tests 'patch-/bin/sh
(lambda _
(substitute* "build-aux/git-version-gen"
(("#!/bin/sh") (string-append "#!" (which "sh"))))
#t))
(add-after 'patch-/bin/sh 'bootstrap
(add-before 'configure 'bootstrap
(lambda _ (zero? (system* "sh" "bootstrap"))))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -229,8 +224,7 @@ their dependencies.")
(let* ((out (assoc-ref outputs "out"))
(json (assoc-ref inputs "guile-json"))
(sqlite (assoc-ref inputs "guile-sqlite3"))
(git (assoc-ref inputs "guile-git"))
(bytes (assoc-ref inputs "guile-bytestructures"))
(git (assoc-ref inputs "git"))
(guix (assoc-ref inputs "guix"))
(guile (assoc-ref %build-inputs "guile"))
(effective (read-line
@@ -238,19 +232,16 @@ their dependencies.")
(string-append guile "/bin/guile")
"-c" "(display (effective-version))")))
(mods (string-append json "/share/guile/site/"
effective ":"
git "/share/guile/site/"
effective ":"
bytes "/share/guile/site/"
effective ":"
sqlite "/share/guile/site/"
effective ":"
guix "/share/guile/site/"
effective)))
;; Make sure 'cuirass' can find the 'evaluate' command, as
;; well as the relevant Guile modules.
;; Make sure 'cuirass' can find the 'git' and 'evaluate'
;; commands, as well as the relevant Guile modules.
(wrap-program (string-append out "/bin/cuirass")
`("PATH" ":" prefix (,(string-append out "/bin")))
`("PATH" ":" prefix (,(string-append out "/bin")
,(string-append git "/bin")))
`("GUILE_LOAD_PATH" ":" prefix (,mods))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (,mods)))
#t))))))
@@ -258,27 +249,13 @@ their dependencies.")
`(("guile" ,guile-2.2)
("guile-json" ,guile-json)
("guile-sqlite3" ,guile-sqlite3)
("guile-git" ,guile-git)
;; FIXME: this is propagated by "guile-git", but it needs to be among
;; the inputs to add it to GUILE_LOAD_PATH.
("guile-bytestructures" ,guile-bytestructures)
("guix" ,guix)))
("guix" ,guix)
("git" ,git)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
(native-search-paths
;; For HTTPS access, Cuirass itself honors these variables, with the
;; same semantics as Git and OpenSSL (respectively).
(list (search-path-specification
(variable "GIT_SSL_CAINFO")
(file-type 'regular)
(separator #f) ;single entry
(files '("etc/ssl/certs/ca-certificates.crt")))
(search-path-specification
(variable "SSL_CERT_DIR")
(files '("etc/ssl/certs")))))
(synopsis "Continuous integration system")
(description
"Cuirass is a continuous integration tool using GNU Guix. It is
-86
View File
@@ -1,86 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages cinnamon)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages xorg))
(define-public cinnamon-desktop
(package
(name "cinnamon-desktop")
(version "3.4.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/linuxmint/cinnamon-desktop/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1jf24csrbfi9aiza1g70jpvsbjiqwphk0i5wilxq9kpjjsl99maq"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(mkdir-p "m4")
(zero?
(and (system* "glib-gettextize" "--force" "--copy")
(system* "intltoolize" "--force" "--copy" "--automake")
(system* "autoreconf" "--verbose" "--force" "--install"))))))))
;; TODO: package 'libgsystem'.
(inputs
`(("accountsservice" ,accountsservice)
("gtk+" ,gtk+)
("glib" ,glib)
("gobject-introspection" ,gobject-introspection)
("gnome-common" ,gnome-common)
("libxkbfile" ,libxkbfile)
("libxrandr" ,libxrandr)
("python-2" ,python-2)
("pulseaudio" ,pulseaudio)
("xkeyboard-config" ,xkeyboard-config)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("gettext" ,gettext-minimal)
("glib" ,glib "bin") ; glib-gettextize
("intltool" ,intltool)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/linuxmint/cinnamon-desktop/")
(synopsis "Library for the Cinnamon Desktop")
(description
"The cinnamon-desktop package contains the libcinnamon-desktop library,
as well as some desktop-wide documents.")
(license (list license:gpl2+ license:lgpl2.0+
license:expat)))) ;display-name.c , edid-parse.c
-59
View File
@@ -1,59 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages cobol)
#:use-module (gnu packages)
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (gnu packages databases)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses))
(define-public gnucobol
(package
(name "gnucobol")
(version "2.2")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://gnu/gnucobol/gnucobol-"
version ".tar.xz"))
(sha256
(base32
"1814s1n95xax2dz938cf4fkcp0q94nkj1gjbdblbzpk9q92zq66w"))))
(arguments
'(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib"))))
(inputs
`(("bdb" ,bdb)
("gmp" ,gmp)
("ncurses" ,ncurses)))
(build-system gnu-build-system)
(home-page "https://savannah.gnu.org/projects/gnucobol/")
(synopsis "A modern COBOL compiler")
(description "GnuCOBOL is a free, modern COBOL compiler. GnuCOBOL
implements a substantial part of the COBOL 85, COBOL 2002 and COBOL 2014
standards and X/Open COBOL, as well as many extensions included in other
COBOL compilers (IBM COBOL, MicroFocus COBOL, ACUCOBOL-GT and others).
GnuCOBOL translates COBOL into C and compiles the translated code using
a native C compiler.")
(license gpl3+)))
+5 -65
View File
@@ -4,8 +4,6 @@
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -58,11 +56,7 @@
;; Needed to have cflow-mode.el installed.
(native-inputs `(("emacs" ,emacs-minimal)))
(arguments
'(#:configure-flags (list (string-append "CPPFLAGS="
"-D" "CFLOW_PREPROC=\\\""
(assoc-ref %build-inputs "gcc")
"/bin/cpp\\\""))))
(home-page "https://www.gnu.org/software/cflow/")
(synopsis "Create a graph of control flow within a program")
(description
@@ -99,14 +93,14 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(define-public global ; a global variable
(package
(name "global")
(version "6.5.7")
(version "6.5.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/global/global-"
version ".tar.gz"))
(sha256
(base32
"0cnd7a7d1pl46yk15q6mnr9i9w3xi8pxgchw4ia9njgr4jjqzh6r"))))
"018m536k5y6lks1a6gqn3bsp7r8zk017znqj9kva1nm8d7x9lbqj"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("libltdl" ,libltdl)
@@ -194,64 +188,10 @@ effort, time, and money it would take to develop the software, using the
COCOMO model or user-provided parameters.")
(license license:gpl2+)))
(define-public cloc
(package
(name "cloc")
(version "1.74")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/AlDanial/cloc/releases/download/" version
"/cloc-" version ".tar.gz"))
(sha256
(base32
"0rq5xfiln1wlv3yr9mg18ax4gskbss786iqaf0v45iv6awyl5b2m"))))
(build-system gnu-build-system)
(inputs
`(("coreutils" ,coreutils)
("perl" ,perl)
("perl-algorithm-diff" ,perl-algorithm-diff)
("perl-regexp-common" ,perl-regexp-common)
("perl-digest-md5" ,perl-digest-md5)))
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(zero?
(system* "make" "-C" "Unix"
(string-append "prefix=" out)
(string-append "INSTALL="
(assoc-ref inputs "coreutils")
"/bin/install")
"install")))))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/cloc")
`("PERL5LIB" ":" =
,(string-split (getenv "PERL5LIB") #\:)))
#t))))
#:out-of-source? #t
;; Tests require some other packages.
#:tests? #f))
(home-page "https://github.com/AlDanial/cloc")
(synopsis "Count source lines of code (SLOC) and other source code metrics")
(description "cloc counts blank lines, comment lines, and physical lines
of source code in many programming languages. Given two versions of a code
base, cloc can compute differences in blank, comment, and source lines.
cloc contains code from David Wheeler's SLOCCount. Compared to SLOCCount,
cloc can handle a greater variety of programming languages.")
(license license:gpl2+)))
(define-public the-silver-searcher
(package
(name "the-silver-searcher")
(version "2.0.0")
(version "1.0.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -259,7 +199,7 @@ cloc can handle a greater variety of programming languages.")
version ".tar.gz"))
(sha256
(base32
"04wm3r5p2mgv8mdkvysak0d5199h5y0yzl032624brfxpzmqfcq0"))))
"0v54himv65w294l0k4lhdyc6kvpgijn8b9g5356479fzy7hphjkg"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
+30 -25
View File
@@ -2,8 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -295,6 +294,7 @@
(let ((perl (package
(inherit perl)
(name "perl-boot0")
(replacement #f)
(arguments
;; At the very least, this must not depend on GCC & co.
(let ((args `(#:disallowed-references
@@ -467,7 +467,7 @@ the bootstrap environment."
;; built just below; the only difference is that this one uses the
;; bootstrap Bash.
(package-with-bootstrap-guile
(package/inherit glibc
(package (inherit glibc)
(name "glibc-intermediate")
(arguments
`(#:guile ,%bootstrap-guile
@@ -510,7 +510,14 @@ the bootstrap environment."
(propagated-inputs `(("kernel-headers" ,(kernel-headers-boot0))))
(native-inputs
`(("texinfo" ,texinfo-boot0)
("perl" ,perl-boot0)))
("perl" ,perl-boot0)
;; Apply this patch only on i686 to avoid a full rebuild.
;; TODO: Remove in the next update cycle.
,@(if (string-prefix? "i686" (or (%current-target-system)
(%current-system)))
`(("glibc-memchr-overflow-i686.patch"
,(search-patch "glibc-memchr-overflow-i686.patch")))
'())))
(inputs
`(;; The boot inputs. That includes the bootstrap libc. We don't want
;; it in $CPATH, hence the 'pre-configure' phase above.
@@ -633,7 +640,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define glibc-final
;; The final glibc, which embeds the statically-linked Bash built above.
(package/inherit glibc-final-with-bootstrap-bash
(package (inherit glibc-final-with-bootstrap-bash)
(name "glibc")
(inputs `(("static-bash" ,static-bash-for-glibc)
,@(alist-delete
@@ -669,7 +676,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define binutils-final
(package-with-bootstrap-guile
(package/inherit binutils
(package (inherit binutils)
(arguments
`(#:guile ,%bootstrap-guile
#:implicit-inputs? #f
@@ -800,14 +807,13 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define bash-final
;; Link with `-static-libgcc' to make sure we don't retain a reference
;; to the bootstrap GCC. Use "bash-minimal" to avoid an extra dependency
;; on Readline and ncurses.
;; to the bootstrap GCC.
(let ((bash (package
(inherit bash-minimal)
(inherit bash)
(arguments
`(#:disallowed-references
,(assoc-ref %boot3-inputs "coreutils&co")
,@(package-arguments bash-minimal))))))
,@(package-arguments bash))))))
(package-with-bootstrap-guile
(package-with-explicit-inputs (static-libgcc-package bash)
%boot3-inputs
@@ -823,7 +829,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; This package must be public because other modules refer to it. However,
;; mark it as hidden so that 'fold-packages' ignores it.
(package-with-bootstrap-guile
(package-with-explicit-inputs (hidden-package guile-2.2/fixed)
(package-with-explicit-inputs (hidden-package guile-2.0/fixed)
%boot4-inputs
(current-source-location)
#:guile %bootstrap-guile)))
@@ -844,10 +850,12 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define-public ld-wrapper
;; The final 'ld' wrapper, which uses the final Guile and Binutils.
(make-ld-wrapper "ld-wrapper"
#:binutils binutils-final
#:guile guile-final
#:bash bash-final))
(package (inherit ld-wrapper-boot3)
(name "ld-wrapper")
(inputs `(("guile" ,guile-final)
("bash" ,bash-final)
,@(fold alist-delete (package-inputs ld-wrapper-boot3)
'("guile" "bash"))))))
(define %boot5-inputs
;; Now with UTF-8 locales. Remember that the bootstrap binaries were built
@@ -940,7 +948,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
the implicit inputs of 'gnu-build-system', return that one, otherwise return
PACKAGE.
The goal is to avoid duplication in cases like GUILE-FINAL vs. GUILE-2.2,
The goal is to avoid duplication in cases like GUILE-FINAL vs. GUILE-2.0,
COREUTILS-FINAL vs. COREUTILS, etc."
;; XXX: This doesn't handle dependencies of the final inputs, such as
;; libunistring, GMP, etc.
@@ -960,7 +968,7 @@ COREUTILS-FINAL vs. COREUTILS, etc."
;;; GCC toolchain.
;;;
(define (make-gcc-toolchain gcc)
(define (gcc-toolchain gcc)
"Return a complete toolchain for GCC."
(package
(name "gcc-toolchain")
@@ -1006,21 +1014,18 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
("libc-debug" ,glibc-final "debug")))))
(define-public gcc-toolchain-4.8
(make-gcc-toolchain gcc-4.8))
(gcc-toolchain gcc-4.8))
(define-public gcc-toolchain-4.9
(make-gcc-toolchain gcc-4.9))
(define-public gcc-toolchain
(make-gcc-toolchain gcc-final))
(gcc-toolchain gcc-4.9))
(define-public gcc-toolchain-5
gcc-toolchain)
(gcc-toolchain gcc-final))
(define-public gcc-toolchain-6
(make-gcc-toolchain gcc-6))
(gcc-toolchain gcc-6))
(define-public gcc-toolchain-7
(make-gcc-toolchain gcc-7))
(gcc-toolchain gcc-7))
;;; commencement.scm ends here
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -29,7 +29,7 @@
(define-public conkeror
(package
(name "conkeror")
(version "1.1.0")
(version "1.0.3")
(source (origin
(method url-fetch)
(uri
@@ -38,7 +38,7 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0jz216mjwis7f03j98s4wkcrrq2j3f41fb2y47a5qszc340zhdzv"))))
"0ybmincxw3msnrfpby9gnckbq2x94c7fra2m66zham54cjc7mav3"))))
(build-system gnu-build-system)
(inputs `(("icecat" ,icecat)))
(arguments
+16 -15
View File
@@ -50,21 +50,22 @@
;; TODO: add 'ncurses.pc' to the ncurses package.
"-DBUILD_NCURSES=false")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'add-freetype-to-search-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "cmake/ConkyPlatformChecks.cmake"
(("set\\(INCLUDE_SEARCH_PATH")
(string-append
"set(INCLUDE_SEARCH_PATH "
(assoc-ref inputs "freetype") "/include/freetype2 ")))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(mkdir-p bin)
(install-file "src/conky" bin))
#t)))))
(alist-cons-after
'unpack 'add-freetype-to-search-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "cmake/ConkyPlatformChecks.cmake"
(("set\\(INCLUDE_SEARCH_PATH")
(string-append
"set(INCLUDE_SEARCH_PATH "
(assoc-ref inputs "freetype") "/include/freetype2 ")))
#t)
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(mkdir-p bin)
(install-file "src/conky" bin)))
%standard-phases))))
(inputs
`(("freetype" ,freetype)
("ncurses" ,ncurses)
+5 -9
View File
@@ -1,8 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -42,7 +41,7 @@
(define-public connman
(package
(name "connman")
(version "1.35")
(version "1.34")
(source
(origin
(method url-fetch)
@@ -50,7 +49,7 @@
name "-" version ".tar.xz"))
(sha256
(base32
"1apj5j25kj7v1bsfv3nh54aiq873nfrsjfbj85p5qm3ihfwxxmv6"))))
"07n71wcy1c4cc01ca4dl9k1jpdqr5nsyr33dqf7k87wwfa681859"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -114,9 +113,6 @@ sharing) to clients via USB, ethernet, WiFi, cellular and Bluetooth.")
`(#:configure-flags '("--localstatedir=/var")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'set-home-directory
;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2
(lambda _ (setenv "HOME" "/tmp") #t))
(add-after 'install 'wrap-binary
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -149,9 +145,9 @@ sharing) to clients via USB, ethernet, WiFi, cellular and Bluetooth.")
(sha256
(base32 "16g9byxr1rkmrnzi6sjplpmkr8h6pqj7418jz30czqviw5qlkqwl"))))
(inputs
`(("qtbase" ,qtbase)))
`(("qt" ,qt)))
(native-inputs
`(("qttools" ,qttools)))
`(("qmake" ,qt)))
(build-system gnu-build-system)
(arguments
'(#:phases
-59
View File
@@ -1,59 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages cpp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages autotools))
(define-public libzen
(package
(name "libzen")
(version "0.4.35")
(source (origin
(method url-fetch)
(uri (string-append "https://mediaarea.net/download/source/"
name "/" version "/"
name "_" version ".tar.bz2"))
(sha256
(base32
"12a1icgcffgv503ii2k1453kxg5hfly09mf4zjcc80aq8a6rf8by"))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(build-system gnu-build-system)
(arguments
'(#:phases
;; build scripts not in root of archive
(modify-phases %standard-phases
(add-after 'unpack 'pre-configure
(lambda _
(chdir "Project/GNU/Library")))
(add-after 'pre-configure 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
(home-page "https://github.com/MediaArea/ZenLib")
(synopsis "C++ utility library")
(description "ZenLib is a C++ utility library. It includes classes for handling
strings, configuration, bit streams, threading, translation, and cross-platform
operating system functions.")
(license license:zlib)))
File diff suppressed because it is too large Load Diff
+17 -24
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 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
@@ -40,13 +40,10 @@
cross-gcc
cross-newlib?))
(define-syntax %xgcc
(define %xgcc
;; GCC package used as the basis for cross-compilation. It doesn't have to
;; be 'gcc' and can be a specific variant such as 'gcc-4.8'.
;;
;; Note: This is a macro so that we do not refer to 'gcc' from the top
;; level, which would lead to circular-dependency issues.
(identifier-syntax gcc))
gcc)
(define %gcc-include-paths
;; Environment variables for header search paths.
@@ -103,9 +100,9 @@
binutils)
target)))
(define (cross-gcc-arguments target xgcc libc)
"Return build system arguments for a cross-gcc for TARGET, using XGCC as the
base compiler and using LIBC (which may be either a libc package or #f.)"
(define (cross-gcc-arguments target libc)
"Return build system arguments for a cross-gcc for TARGET, using LIBC (which
may be either a libc package or #f.)"
;; Set the current target system so that 'glibc-dynamic-linker' returns the
;; right name.
(parameterize ((%current-target-system target))
@@ -114,7 +111,7 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
;; <http://lists.fedoraproject.org/pipermail/arm/2010-August/000663.html>
;; for instance.
(let ((args `(#:strip-binaries? #f
,@(package-arguments xgcc))))
,@(package-arguments %xgcc))))
(substitute-keyword-arguments args
((#:configure-flags flags)
`(append (list ,(string-append "--target=" target)
@@ -186,22 +183,18 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
(else #f)))
(define* (cross-gcc target
#:key
(xgcc %xgcc)
(xbinutils (cross-binutils target))
(libc #f))
#:optional (xbinutils (cross-binutils target)) libc)
"Return a cross-compiler for TARGET, where TARGET is a GNU triplet. Use
XGCC as the base compiler. Use XBINUTILS as the associated cross-Binutils.
If LIBC is false, then build a GCC that does not target a libc; otherwise,
target that libc."
(package (inherit xgcc)
XBINUTILS as the associated cross-Binutils. If LIBC is false, then build a
GCC that does not target a libc; otherwise, target that libc."
(package (inherit %xgcc)
(name (string-append "gcc-cross-"
(if libc "" "sans-libc-")
target))
(source (origin (inherit (package-source xgcc))
(source (origin (inherit (package-source %xgcc))
(patches
(append
(origin-patches (package-source xgcc))
(origin-patches (package-source %xgcc))
(cons (search-patch "gcc-cross-environment-variables.patch")
(cross-gcc-patches target))))
(modules '((guix build utils)))
@@ -223,7 +216,7 @@ target that libc."
(srfi srfi-26)
(ice-9 regex))
,@(cross-gcc-arguments target xgcc libc)))
,@(cross-gcc-arguments target libc)))
(native-inputs
`(("ld-wrapper-cross" ,(make-ld-wrapper
@@ -237,7 +230,7 @@ target that libc."
("libc-native" ,@(assoc-ref (%final-inputs) "libc"))
;; Remaining inputs.
,@(let ((inputs (append (package-inputs xgcc)
,@(let ((inputs (append (package-inputs %xgcc)
(alist-delete "libc" (%final-inputs)))))
(cond
((target-mingw? target)
@@ -497,8 +490,8 @@ XBINUTILS and the cross tool chain."
;; (define-public xgcc-armhf
;; (let ((triplet "arm-linux-gnueabihf"))
;; (cross-gcc triplet
;; #:xbinutils (cross-binutils triplet)
;; #:libc (cross-libc triplet))))
;; (cross-binutils triplet)
;; (cross-libc triplet))))
;;
;;; We don't do that here because we'd be referring to bindings from (gnu
;;; packages gcc) from the top level, which doesn't play well with circular
+17 -208
View File
@@ -1,12 +1,11 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2016, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,19 +29,16 @@
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages image)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages nettle)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages readline)
#:use-module (gnu packages search)
#:use-module (gnu packages serialization)
@@ -55,67 +51,35 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl))
#:use-module (guix build-system gnu))
(define-public libsodium
(package
(name "libsodium")
(version "1.0.15")
(version "1.0.12")
(source (origin
(method url-fetch)
(uri (list (string-append
"https://download.libsodium.org/libsodium/"
"http://download.libsodium.org/libsodium/"
"releases/libsodium-" version ".tar.gz")
(string-append
"https://download.libsodium.org/libsodium/"
"releases/old/libsodium-" version ".tar.gz")))
(sha256
(base32
"1x3qw7lsz44vcxpcn1dvwig410phg6gmv31jwj94arrgka3rwspv"))))
"159givfh5jgli3cifxgssivkklfyfq6lzyjgrx8h4jx5ncdqyr5q"))))
(build-system gnu-build-system)
(synopsis "Portable NaCl-based crypto library")
(description
"Sodium is a new easy-to-use high-speed software library for network
communication, encryption, decryption, signatures, etc.")
(license license:isc)
(home-page "https://libsodium.org")))
(define-public libmd
(package
(name "libmd")
(version "0.0.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://archive.hadrons.org/software/libmd/libmd-"
version
".tar.xz"))
(sha256
(base32
"121s73pgbqsnmy6xblbrkj9y44c5zzzpf2hcmh6zvcvg4dk26gzx"))))
(build-system gnu-build-system)
(synopsis "Message Digest functions from BSD systems")
(description
"The currently provided message digest algorithms are:
@itemize
@item MD2
@item MD4
@item MD5
@item RIPEMD-160
@item SHA-1
@item SHA-2 (SHA-256, SHA-384 and SHA-512)
@end itemize")
(license (list license:bsd-3
license:bsd-2
license:isc
license:public-domain))
(home-page "https://www.hadrons.org/software/libmd/")))
(home-page "http://libsodium.org")))
(define-public signify
(package
(name "signify")
(version "23")
(version "20")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/aperezdc/signify/"
@@ -123,7 +87,7 @@ communication, encryption, decryption, signatures, etc.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0c70mzawgahsvmsv4xdrass4pgyynd67ipd9lij0fgi8wkq0ns8w"))))
"08my2kbbjdal9z6c1fykgr9zpixh694fw42lyiaci01a7i50zp4r"))))
(build-system gnu-build-system)
;; TODO Build with libwaive (described in README.md), to implement something
;; like OpenBSD's pledge().
@@ -195,7 +159,7 @@ OpenBSD tool of the same name.")
(arguments
`(#:configure-flags '("--disable-tools" "--disable-python")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'autoconf
(add-before 'configure 'autoconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
(home-page "https://github.com/savoirfairelinux/opendht/")
@@ -350,18 +314,18 @@ no man page, refer to the home page for usage details.")
(define-public tomb
(package
(name "tomb")
(version "2.4")
(version "2.3")
(source (origin
(method url-fetch)
(uri (string-append "https://files.dyne.org/tomb/"
"Tomb-" version ".tar.gz"))
(sha256
(base32
"1hv1w79as7swqj0n137vz8n8mwvcgwlvd91sdyssz41jarg7f1vr"))))
"1j90ab8x4cf10167yw4cs4frz694gb0qwkhgqiz1ly7mnr8ysmby"))))
(build-system gnu-build-system)
(native-inputs `(("sudo" ,sudo))) ;presence needed for 'check' phase
(inputs
`(("zsh" ,zsh)
("sudo" ,sudo)
("gnupg" ,gnupg)
("cryptsetup" ,cryptsetup)
("e2fsprogs" ,e2fsprogs) ;for mkfs.ext4
@@ -369,7 +333,8 @@ no man page, refer to the home page for usage details.")
("mlocate" ,mlocate)
("pinentry" ,pinentry)
("qrencode" ,qrencode)
("steghide" ,steghide)))
("steghide" ,steghide)
("swish-e" ,swish-e)))
(arguments
`(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
;; TODO: Build and install gtk and qt trays
@@ -392,7 +357,7 @@ no man page, refer to the home page for usage details.")
(error "program not found:" program)))
'("seq" "mkfs.ext4" "pinentry" "sudo"
"gpg" "cryptsetup" "gettext"
"qrencode" "steghide")))))
"qrencode" "steghide" "swish-e")))))
#t)))
(delete 'check)
(add-after 'wrap 'check
@@ -449,159 +414,3 @@ utility as a demonstration of the @code{scrypt} key derivation function.
@code{Scrypt} is designed to be far more resistant against hardware brute-force
attacks than alternative functions such as @code{PBKDF2} or @code{bcrypt}.")
(license license:bsd-2)))
(define-public perl-math-random-isaac-xs
(package
(name "perl-math-random-isaac-xs")
(version "1.004")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/J/JA/JAWNSY/"
"Math-Random-ISAAC-XS-" version ".tar.gz"))
(sha256
(base32
"0yxqqcqvj51fn7b7j5xqhz65v74arzgainn66c6k7inijbmr1xws"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)
("perl-test-nowarnings" ,perl-test-nowarnings)))
(home-page "http://search.cpan.org/dist/Math-Random-ISAAC-XS")
(synopsis "C implementation of the ISAAC PRNG algorithm")
(description "ISAAC (Indirection, Shift, Accumulate, Add, and Count) is a
fast pseudo-random number generator. It is suitable for applications where a
significant amount of random data needs to be produced quickly, such as
solving using the Monte Carlo method or for games. The results are uniformly
distributed, unbiased, and unpredictable unless you know the seed.
This package implements the same interface as @code{Math::Random::ISAAC}.")
(license license:public-domain)))
(define-public perl-math-random-isaac
(package
(name "perl-math-random-isaac")
(version "1.004")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/J/JA/JAWNSY/"
"Math-Random-ISAAC-" version ".tar.gz"))
(sha256
(base32
"0z1b3xbb3xz71h25fg6jgsccra7migq7s0vawx2rfzi0pwpz0wr7"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-nowarnings" ,perl-test-nowarnings)))
(propagated-inputs
`(("perl-math-random-isaac-xs" ,perl-math-random-isaac-xs)))
(home-page "http://search.cpan.org/dist/Math-Random-ISAAC")
(synopsis "Perl interface to the ISAAC PRNG algorithm")
(description "ISAAC (Indirection, Shift, Accumulate, Add, and Count) is a
fast pseudo-random number generator. It is suitable for applications where a
significant amount of random data needs to be produced quickly, such as
solving using the Monte Carlo method or for games. The results are uniformly
distributed, unbiased, and unpredictable unless you know the seed.
This package provides a Perl interface to the ISAAC pseudo random number
generator.")
(license license:public-domain)))
(define-public perl-crypt-random-source
(package
(name "perl-crypt-random-source")
(version "0.12")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
"Crypt-Random-Source-" version ".tar.gz"))
(sha256
(base32
"00mw5m52sbz9nqp3f6axyrgcrihqxn7k8gv0vi1kvm1j1nc9g29h"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build-tiny" ,perl-module-build-tiny)
("perl-test-exception" ,perl-test-exception)))
(propagated-inputs
`(("perl-capture-tiny" ,perl-capture-tiny)
("perl-module-find" ,perl-module-find)
("perl-module-runtime" ,perl-module-runtime)
("perl-moo" ,perl-moo)
("perl-namespace-clean" ,perl-namespace-clean)
("perl-sub-exporter" ,perl-sub-exporter)
("perl-type-tiny" ,perl-type-tiny)))
(home-page "http://search.cpan.org/dist/Crypt-Random-Source")
(synopsis "Get weak or strong random data from pluggable sources")
(description "This module provides implementations for a number of
byte-oriented sources of random data.")
(license license:perl-license)))
(define-public perl-math-random-secure
(package
(name "perl-math-random-secure")
(version "0.080001")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/F/FR/FREW/"
"Math-Random-Secure-" version ".tar.gz"))
(sha256
(base32
"0dgbf4ncll4kmgkyb9fsaxn0vf2smc9dmwqzgh3259zc2zla995z"))))
(build-system perl-build-system)
(native-inputs
`(("perl-list-moreutils" ,perl-list-moreutils)
("perl-test-leaktrace" ,perl-test-leaktrace)
("perl-test-sharedfork" ,perl-test-sharedfork)
("perl-test-warn" ,perl-test-warn)))
(inputs
`(("perl-crypt-random-source" ,perl-crypt-random-source)
("perl-math-random-isaac" ,perl-math-random-isaac)
("perl-math-random-isaac-xs" ,perl-math-random-isaac-xs)
("perl-moo" ,perl-moo)))
(home-page "http://search.cpan.org/dist/Math-Random-Secure")
(synopsis "Cryptographically secure replacement for rand()")
(description "This module is intended to provide a
cryptographically-secure replacement for Perl's built-in @code{rand} function.
\"Crytographically secure\", in this case, means:
@enumerate
@item No matter how many numbers you see generated by the random number
generator, you cannot guess the future numbers, and you cannot guess the seed.
@item There are so many possible seeds that it would take decades, centuries,
or millenia for an attacker to try them all.
@item The seed comes from a source that generates relatively strong random
data on your platform, so the seed itself will be as random as possible.
@end enumerate\n")
(license license:artistic2.0)))
(define-public crypto++
(package
(name "crypto++")
(version "5.6.5")
(source (origin
(method url-fetch/zipbomb)
(uri (string-append "https://cryptopp.com/cryptopp"
(string-join (string-split version #\.) "")
".zip"))
(sha256
(base32
"0d1cqdz369ivi082k59025wvxzywvkizw7i0pf5h0a1izs3g8pm7"))
(patches
(search-patches "crypto++-fix-dos-in-asn.1-decoders.patch"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
`(("unzip" ,unzip)))
(home-page "https://cryptopp.com/")
(synopsis "C++ class library of cryptographic schemes")
(description "Crypto++ is a C++ class library of cryptographic schemes.")
;; The compilation is distributed under the Boost license; the individual
;; files in the compilation are in the public domain.
(license (list license:boost1.0 license:public-domain))))
+24 -206
View File
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Mark H Weaver <mhw@netris.org>
@@ -27,14 +27,10 @@
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages compression)
#:use-module (gnu packages groff)
#:use-module (gnu packages libusb)
#:use-module (gnu packages perl)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages autotools)
#:use-module (gnu packages python)
#:use-module (gnu packages scanner)
#:use-module (gnu packages image)
@@ -46,18 +42,26 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls))
;; Delay to avoid module circularity problems.
(define ghostscript/cups
(delay
(package/inherit ghostscript
(name "ghostscript-with-cups")
(inputs `(("cups" ,cups-minimal)
,@(package-inputs ghostscript))))))
(define-public cups-filters
(package
(name "cups-filters")
(version "1.17.7")
(version "1.13.1")
(source(origin
(method url-fetch)
(uri
(string-append "https://openprinting.org/download/cups-filters/"
(string-append "http://openprinting.org/download/cups-filters/"
"cups-filters-" version ".tar.xz"))
(sha256
(base32
"1mg397kgfx0rs9j852f8ppmvaz2al5l75ildbgiqg6j3gwq5jssw"))
"0s7hylp2lcvc1vrqpywpv7lspkrh4xf7cyi4nbg10cf38rshj474"))
(modules '((guix build utils)))
(snippet
;; install backends, banners and filters to cups-filters output
@@ -85,13 +89,6 @@
#:configure-flags
`("--disable-driverless" ; TODO: enable this
"--disable-mutool" ; depends on yet another PDF library (mupdf)
;; Look for the "domain socket of CUPS" in /var/run/cups.
"--localstatedir=/var"
;; Free software for the win.
"--with-acroread-path=evince"
,(string-append "--with-test-font-path="
(assoc-ref %build-inputs "font-dejavu")
"/share/fonts/truetype/DejaVuSans.ttf")
@@ -102,34 +99,7 @@
(assoc-ref %build-inputs "bash")
"/bin/bash")
,(string-append "--with-rcdir="
(assoc-ref %outputs "out") "/etc/rc.d"))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-foomatic-hardcoded-file-names
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Foomatic has hardcoded file names we need to fix.
(let ((out (assoc-ref outputs "out"))
(gs (assoc-ref inputs "ghostscript")))
(substitute* "filter/foomatic-rip/foomaticrip.c"
(("/usr/local/lib/cups/filter")
(string-append out "/lib/cups/filter")))
#t)))
(add-after 'install 'wrap-filters
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Some filters expect to find 'gs' in $PATH. We cannot
;; just hard-code its absolute file name in the source
;; because foomatic-rip, for example, has tests like
;; 'startswith(cmd, "gs")'.
(let ((out (assoc-ref outputs "out"))
(ghostscript (assoc-ref inputs "ghostscript")))
(for-each (lambda (file)
(wrap-program file
`("PATH" ":" prefix
(,(string-append ghostscript
"/bin")))))
(find-files (string-append
out "/lib/cups/filter")))
#t))))))
(assoc-ref %outputs "out") "/etc/rc.d"))))
(native-inputs
`(("glib" ,glib "bin") ; for gdbus-codegen
("pkg-config" ,pkg-config)))
@@ -138,7 +108,7 @@
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("font-dejavu" ,font-dejavu) ; also needed by test suite
("ghostscript" ,ghostscript/cups)
("ghostscript" ,(force ghostscript/cups))
("ijs" ,ijs)
("dbus" ,dbus)
("lcms" ,lcms)
@@ -171,7 +141,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
(define-public cups-minimal
(package
(name "cups-minimal")
(version "2.2.4")
(version "2.2.1")
(source
(origin
(method url-fetch)
@@ -179,7 +149,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
version "/cups-" version "-source.tar.gz"))
(sha256
(base32
"1k4qxafmapq6hzbkh273fdyzkj9alw6ppwz5k933bhsi4svlsvar"))))
"1m8rwhbk0l8n19iwm51r2569jj15d0x6mpqhfig0bk3pm4577f43"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -218,13 +188,13 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
(home-page "https://www.cups.org")
(synopsis "The Common Unix Printing System")
(description
"CUPS is a printing system that uses the Internet Printing Protocol
(@dfn{IPP}). It provides System V and BSD command-line interfaces, as well
"CUPS is a printing system that uses the Internet Printing
Protocol (IPP). It provides System V and BSD command-line interfaces, as well
as a Web interface and a C programming interface to manage printers and print
jobs. It supports printing to both local (parallel, serial, USB) and
networked printers, and printers can be shared from one computer to another.
Internally, CUPS uses PostScript Printer Description (@dfn{PPD}) files to
describe printer capabilities and features, and a wide variety of generic and
Internally, CUPS uses PostScript Printer Description (PPD) files to describe
printer capabilities and features and a wide variety of generic and
device-specific programs to convert and print many types of files.")
(license license:gpl2)))
@@ -369,14 +339,14 @@ device-specific programs to convert and print many types of files.")
(define-public hplip
(package
(name "hplip")
(version "3.17.10")
(version "3.16.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/hplip/hplip/" version
"/hplip-" version ".tar.gz"))
(sha256
(base32
"0v27hg856b5z2rilczcbfgz8ksxn0n810g1glac3mxkj8qbl8wqg"))))
"094vkyr0rjng72m13dgr824cdl7q20x23qjxzih4w7l9njn0rqpn"))))
(build-system gnu-build-system)
(home-page "http://hplipopensource.com/")
(synopsis "HP Printer Drivers")
@@ -475,155 +445,3 @@ device-specific programs to convert and print many types of files.")
;; TODO: Make hp-setup find python-dbus.
("python-dbus" ,python-dbus)))
(native-inputs `(("pkg-config" ,pkg-config)))))
(define-public foomatic-filters
(package
(name "foomatic-filters")
(version "4.0.12")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.openprinting.org/download/foomatic/"
name "-" version ".tar.gz"))
(sha256
(base32
"17w26r15094j4fqifa7f7i7jad4gsy9zdlq69kffrykcw31qx3q8"))
(patches
(search-patches "foomatic-filters-CVE-2015-8327.patch"
"foomatic-filters-CVE-2015-8560.patch"))))
(build-system gnu-build-system)
(home-page
"https://wiki.linuxfoundation.org/openprinting/database/foomatic")
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)))
(inputs
`(("dbus" ,dbus)
("a2ps" ,a2ps)))
(arguments
'( ;; Specify the installation directories.
#:configure-flags (list (string-append "ac_cv_path_CUPS_BACKENDS="
(assoc-ref %outputs "out")
"/lib/cups/backend")
(string-append "ac_cv_path_CUPS_FILTERS="
(assoc-ref %outputs "out")
"/lib/cups/filter")
(string-append "ac_cv_path_PPR_INTERFACES="
(assoc-ref %outputs "out")
"/lib/ppr/interfaces")
(string-append "ac_cv_path_PPR_LIB="
(assoc-ref %outputs "out")
"/lib/ppr/lib")
;; For some reason these are misdiagnosed.
"ac_cv_func_malloc_0_nonnull=yes"
"ac_cv_func_realloc_0_nonnull=yes")
#:test-target "tests"))
(synopsis "Convert PostScript to the printer's native format")
(description
"This package contains filter scripts used by the printer spoolers to
convert the incoming PostScript data into the printer's native format using a
printer/driver specific, but spooler-independent PPD file.")
(license license:gpl2+)))
(define-public foo2zjs
(package
;; The tarball is called "foo2zjs", but the web page talks about
;; "foo2xqx". Go figure!
(name "foo2zjs")
(version "201709")
(source (origin
(method url-fetch)
;; XXX: This is an unversioned URL!
(uri "http://foo2zjs.rkkda.com/foo2zjs.tar.gz")
(sha256
(base32
"0amjj3jr6s6h7crzxyx11v31sj0blz7k5c2vycz4gn8cxlmk3c7w"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (find-files "." "^Makefile$")
;; Set the installation directory.
(("^PREFIX[[:blank:]]*=.*$")
(string-append "PREFIX = "
(assoc-ref outputs "out")
"\n"))
(("^UDEVBIN[[:blank:]]*=.*$")
"UDEVBIN = $(PREFIX)/bin\n")
;; Don't try to chown/chgrp the installed files.
(("-oroot")
"")
(("-glp")
"")
;; Placate the dependency checks.
(("/usr/include/stdio.h")
"/etc/passwd")
(("/usr/")
"$(PREFIX)/")
;; Ensure fixed timestamps in man pages.
(("^MODTIME[[:blank:]]*=.*$")
"MODTIME = echo Thu Jan 01 01:00:00 1970\n"))
#t))
(add-after 'install 'remove-pdf
(lambda* (#:key outputs #:allow-other-keys)
;; Remove 'manual.pdf' which is (1) useless (it's a
;; concatenation of man pages), and (2) not
;; bit-reproducible due to <https://bugs.gnu.org/27593>.
(let ((out (assoc-ref outputs "out")))
(for-each delete-file
(find-files out "^manual\\.pdf$"))
#t))))
#:parallel-build? #f ;broken makefile
#:tests? #f ;no tests
#:make-flags '("CC=gcc")))
(inputs
`(("ghostscript" ,ghostscript)
("foomatic-filters" ,foomatic-filters))) ;for 'foomatic-rip'
(native-inputs
`(("bc" ,bc)
("groff" ,groff)))
(home-page "http://foo2xqx.rkkda.com/")
(synopsis "Printer driver for XQX stream protocol")
(description
"This package provides a printer driver notably for the ZJS and XQX
protocols, which cover printers made by Konica, HP (LaserJet), Oki, Samsung,
and more. See @file{README} for details.")
(license license:gpl2+)))
(define-public escpr
(package
(name "escpr")
(version "1.6.17")
;; 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
;; available.
(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/06/66/09/"
"4ac2bf69bb1ddf4a9ad525596615cbb40fe4dad5/"
"epson-inkjet-printer-escpr-1.6.17-1lsb3.2.tar.gz"))
(sha256
(base32
"0m6v1wdavw4r25jfywqchsx0v9ss1l5fr8vq9d0d8cmjnz8mqblv"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
`(,(string-append "--prefix="
(assoc-ref %outputs "out"))
,(string-append "--with-cupsfilterdir="
(assoc-ref %outputs "out") "/lib/cups/filter")
,(string-append "--with-cupsppddir="
(assoc-ref %outputs "out") "/share/ppd"))))
(inputs `(("cups" ,cups-minimal)))
(synopsis "ESC/P-R printer driver")
(description
"This package provides a filter for the Common UNIX Printing
System (CUPS). It offers high-quality printing with Seiko Epson color ink jet
printers. It can only be used with printers that support the Epson ESC/P-R
language.")
(home-page "http://download.ebz.epson.net/dsc/search/01/search")
(license license:gpl2+)))
+8 -10
View File
@@ -4,7 +4,6 @@
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,7 +24,6 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
@@ -42,15 +40,15 @@
(define-public curl
(package
(name "curl")
(version "7.55.1")
(replacement curl-7.57.0)
(replacement curl-7.54.0)
(version "7.53.0")
(source (origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.xz"))
version ".tar.lzma"))
(sha256
(base32
"1dvbcwcar3dv488h9378hy145ma3ws2fwpbr6mgszd7chipcmbry"))))
"1k0i31xygb804c61llhin5wbpcscg4gfqmbxcfkpdr1alwh7igrq"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;1.2 MiB of man3 pages
@@ -123,15 +121,15 @@ tunneling, and so on.")
"See COPYING in the distribution."))
(home-page "https://curl.haxx.se/")))
(define-public curl-7.57.0
(define curl-7.54.0
(package
(inherit curl)
(version "7.57.0")
(version "7.54.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.xz"))
version ".tar.lzma"))
(sha256
(base32
"0y3qbjjcxhcvm1yawp3spfssjbskv0g6gyzld6ckif5pf8ygvxpm"))))))
"02h7qhl8ynp75g1vcaw18ks0gp7nahvvkqck19pb1q0kkw1scsnd"))))))
+1 -1
View File
@@ -65,4 +65,4 @@ library makes supporting various SASL mechanisms easy for both client and
server writers.")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))
(home-page "https://cyrusimap.org/sasl/")))
(home-page "http://cyrusimap.web.cmu.edu")))
+96 -1114
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,7 +28,7 @@
(define-public datamash
(package
(name "datamash")
(version "1.2")
(version "1.1.1")
(source
(origin
(method url-fetch)
@@ -36,7 +36,7 @@
version ".tar.gz"))
(sha256
(base32
"15jrv3ly0vgvwwi2qjmhi39n7wrklwifdk961wwfaxyc5jr6zm78"))))
"06w0pc828qsabmrlh7bc2zwc823xzxy89paaf37f6bipsyrij222"))))
(native-inputs
`(("which" ,which) ;for tests
("perl" ,perl))) ;for help2man
+2 -2
View File
@@ -97,14 +97,14 @@ in between these sequences may be different in both content and length.")
(define-public liburcu
(package
(name "liburcu")
(version "0.10.0")
(version "0.9.3")
(source (origin
(method url-fetch)
(uri (string-append "https://www.lttng.org/files/urcu/"
"userspace-rcu-" version ".tar.bz2"))
(sha256
(base32
"141imnd1s4bcd4wz0wk7sp3fj649kp8whp82gw49h48mlmxqmdbw"))))
"01j0xp3f0w147yfyzybkjvb7i67i7prsvnkssgvgwry9lvk35khv"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl))) ; for tests
+4 -7
View File
@@ -22,9 +22,7 @@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web))
#:use-module (gnu packages python))
(define-public radicale
(package
@@ -57,13 +55,13 @@ clients.")
(define-public vdirsyncer
(package
(name "vdirsyncer")
(version "0.16.3")
(version "0.15.0")
(source (origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
"0dpwbfi97ksijqng191659m8k0v215y8ld95w8gb126m4m96qpzw"))))
"08aa5yxcj7ziz2r0hz4p554q8hgpfl2bh8r6r85f4g24mg6arxsj"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -91,7 +89,6 @@ clients.")
("python-pytest" ,python-pytest)
("python-pytest-localserver" ,python-pytest-localserver)
("python-pytest-subtesthack" ,python-pytest-subtesthack)
("python-urllib3" ,python-urllib3)
("python-wsgi-intercept" ,python-wsgi-intercept)
("radicale" ,radicale)))
(propagated-inputs
@@ -107,4 +104,4 @@ synchronize a CalDAV or CardDAV server with a local folder or file. The
local data can then be accessed via a variety of programs, none of which
have to know or worry about syncing to a server.")
(home-page "https://github.com/untitaker/vdirsyncer")
(license bsd-3)))
(license expat)))
+56 -79
View File
@@ -1,6 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,7 +32,7 @@
#:use-module (gnu packages llvm)
#:use-module (gnu packages perl)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages qemu)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
@@ -58,24 +57,23 @@
`(("perl" ,perl)))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
;; Makefile contains no install target
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(doc (string-append out "/share/doc/delta-" ,version)))
(begin
(mkdir-p bin)
(mkdir-p doc)
(for-each (lambda (h)
(install-file h doc))
`("License.txt" ,@(find-files "www" ".*\\.html")))
(for-each (lambda (b)
(install-file b bin))
`("delta" "multidelta" "topformflat"))))
#t))
(delete 'configure))))
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
;; Makefile contains no install target
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(doc (string-append out "/share/doc/delta-" ,version)))
(begin
(mkdir-p bin)
(mkdir-p doc)
(for-each (lambda (h)
(install-file h doc))
`("License.txt" ,@(find-files "www" ".*\\.html")))
(for-each (lambda (b)
(install-file b bin))
`("delta" "multidelta" "topformflat")))))
(alist-delete 'configure %standard-phases))))
(home-page "http://delta.tigris.org/")
(synopsis "Heuristical file minimizer")
(description
@@ -115,24 +113,23 @@ program to exhibit a bug.")
("sys-cpu" ,perl-sys-cpu)
("term-readkey" ,perl-term-readkey)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'set-load-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Tell creduce where to find the perl modules it needs.
(let* ((out (assoc-ref outputs "out"))
(prog (string-append out "/bin/creduce")))
(wrap-program
prog
`("PERL5LIB" ":" prefix
,(map (lambda (p)
(string-append (assoc-ref inputs p)
"/lib/perl5/site_perl/"
,(package-version perl)))
'("term-readkey" "exporter-lite"
"file-which" "getopt-tabular"
"regex-common" "sys-cpu")))))
#t)))))
`(#:phases (alist-cons-after
'install 'set-load-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Tell creduce where to find the perl modules it needs.
(let* ((out (assoc-ref outputs "out"))
(prog (string-append out "/bin/creduce")))
(wrap-program
prog
`("PERL5LIB" ":" prefix
,(map (lambda (p)
(string-append (assoc-ref inputs p)
"/lib/perl5/site_perl/"
,(package-version perl)))
'("term-readkey" "exporter-lite"
"file-which" "getopt-tabular"
"regex-common" "sys-cpu"))))))
%standard-phases)))
(home-page "http://embed.cs.utah.edu/creduce")
(synopsis "Reducer for interesting code")
(description
@@ -169,15 +166,12 @@ tools that process C/C++ code.")
(%current-system))
("x86_64-linux" "x86_64")
("i686-linux" "i386")
("aarch64-linux" "aarch64")
("armhf-linux" "arm")
("mips64el-linux" "mips64el")
;; Prevent errors when querying this package on unsupported
;; platforms, e.g. when running "guix package --search="
(_ "UNSUPPORTED"))))
(package
(name "american-fuzzy-lop")
(version "2.49b") ;It seems all releases have the 'b' suffix
(version "2.15b") ;It seems all releases have the 'b' suffix
(source
(origin
(method url-fetch)
@@ -185,7 +179,7 @@ tools that process C/C++ code.")
"afl-" version ".tgz"))
(sha256
(base32
"1lc8mpwlbyb1iil9961yfysp8l2l4nw0s07781m1haiz4jq2rigp"))))
"04n2jfkchpz6a07w694b0im1vcmc3220ryqcaasa7vix7784wzs2"))))
(build-system gnu-build-system)
(inputs
`(("custom-qemu"
@@ -240,20 +234,6 @@ tools that process C/C++ code.")
"CC=gcc")
#:phases (modify-phases %standard-phases
(delete 'configure)
,@(if (string=? (%current-system) (or "x86_64-linux"
"i686-linux"))
'()
'((add-before 'build 'set-afl-flag
(lambda _ (setenv "AFL_NO_X86" "1") #t))
(add-after 'install 'remove-x86-programs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/")))
(delete-file (string-append bin "afl-gcc"))
(delete-file (string-append bin "afl-g++"))
(delete-file (string-append bin "afl-clang"))
(delete-file (string-append bin "afl-clang++")))
#t))))
(add-after
;; TODO: Build and install the afl-llvm tool.
'install 'install-qemu
@@ -263,7 +243,10 @@ tools that process C/C++ code.")
(symlink (string-append qemu "/bin/qemu-" ,machine)
(string-append out "/bin/afl-qemu-trace"))
#t)))
(delete 'check)))) ; Tests are run during 'install phase.
(delete 'check))))
(supported-systems (fold delete
%supported-systems
'("armhf-linux" "mips64el-linux")))
(home-page "http://lcamtuf.coredump.cx/afl")
(synopsis "Security-oriented fuzzer")
(description
@@ -304,26 +287,20 @@ down the road.")
;; not accept a directory name instead. To let the gnu-build-system's
;; patch-* phases work properly, we unpack the source first, then
;; repack before the configure phase.
(let ((make-dir (string-append "make-" (package-version gnu-make))))
`(#:configure-flags '("--with-make-tar=./make.tar.xz")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-make
(lambda* (#:key inputs #:allow-other-keys)
(zero? (system* "tar" "xf" (assoc-ref inputs "make-source")))))
(add-after 'unpack-make 'set-default-shell
(lambda _
;; Taken mostly directly from (@ (gnu packages base) gnu-make)
(substitute* (string-append ,make-dir "/job.c")
(("default_shell = .*$")
(format #f "default_shell = \"~a\";\n"
(which "sh"))))))
(add-before 'configure 'repack-make
(lambda _
(zero? (system* "tar" "cJf" "./make.tar.xz" ,make-dir))))
(add-after 'unpack 'bootstrap
(lambda _
(zero? (system* "autoreconf" "-vfi"))))))))
`(#:configure-flags '("--with-make-tar=./make.tar.xz")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-make
(lambda* (#:key inputs #:allow-other-keys)
(zero? (system* "tar" "xf" (assoc-ref inputs "make-source")))))
(add-before 'configure 'repack-make
(lambda _
(zero? (system* "tar" "cJf" "./make.tar.xz"
(string-append "make-"
,(package-version gnu-make))))))
(add-before 'configure 'bootstrap
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
(home-page "https://github.com/losalamos/stress-make")
(synopsis "Expose race conditions in Makefiles")
(description
+3 -3
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flasher.co.il>
;;; Copyright © 2016 Efraim Flashner <efraim@flasher.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,7 +27,7 @@
(define-public dejagnu
(package
(name "dejagnu")
(version "1.6.1")
(version "1.6")
(source
(origin
(method url-fetch)
@@ -35,7 +35,7 @@
version ".tar.gz"))
(sha256
(base32
"14hnq1mh91vqprc43xdy4f15sycw6fbajrh7zi6cw2kyg6xjhnxz"))))
"0qypaakd2065jgpcv84zcsibl8gph3p334gb2qdmhsrbirhlmdh0"))))
(build-system gnu-build-system)
(inputs `(("expect" ,expect)))
(arguments
+1 -53
View File
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -25,11 +25,6 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages base)
#:use-module (gnu packages curl)
#:use-module (gnu packages emacs)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages linux)
#:use-module (gnu packages readline)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages compression)
#:use-module (gnu packages tcl))
@@ -205,50 +200,3 @@ work, such as sentence length and other readability measures.")
It comes with a German-English dictionary with approximately 270,000 entries.")
(home-page "http://www-user.tu-chemnitz.de/~fri/ding/")
(license gpl2+)))
(define-public translate-shell
(package
(name "translate-shell")
(version "0.9.6.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/soimort/" name "/archive/v"
version ".tar.gz"))
(sha256
(base32
"1fg6nf1plvgimc57fsdr9rcjbf7jvmk5jrlj5ya509vpdcdgvj2s"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure phase
(add-after 'install 'emacs-install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dest (string-append out "/share/emacs/site-lisp"))
(emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs")))
(install-file "google-translate-mode.el" dest)
(emacs-generate-autoloads ,name dest)))))
#:make-flags (list (string-append "PREFIX=" %output))
#:imported-modules (,@%gnu-build-system-modules (guix build emacs-utils))
#:modules ((guix build gnu-build-system)
(guix build emacs-utils)
(guix build utils))
#:test-target "test"))
(propagated-inputs
`(("curl" ,curl)
("fribidi" ,fribidi)
("rlwrap" ,rlwrap)))
(native-inputs
`(("emacs" ,emacs-minimal)
("util-linux" ,util-linux))) ; hexdump, for the test
(home-page "https://www.soimort.org/translate-shell")
(synopsis "Translations from the command line")
(description
"Translate Shell (formerly Google Translate CLI) is a command-line
translator powered by Google Translate (default), Bing Translator,
Yandex.Translate and Apertium. It gives you easy access to one of these
translation engines from your terminal.")
(license public-domain)))
+19 -6
View File
@@ -17,7 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages direct-connect)
#:use-module (guix build-system scons)
#:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@@ -44,11 +44,23 @@
(sha256
(base32
"12i92hirmwryl1qy0n3jfrpziwzb82f61xca9jcjwyilx502f0b6"))))
(build-system scons-build-system)
(build-system python-build-system)
(arguments
`(#:scons ,scons-python2
#:scons-flags (list (string-append "PREFIX=" %output))
#:tests? #f)) ; no tests
`(#:python ,python-2
#:tests? #f ; no tests
#:phases
;; TODO: Add scons-build-system and use it here.
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p out)
(zero? (system* "scons" (string-append "PREFIX=" out)
"-j" (number->string (parallel-job-count)))))))
(replace 'install
(lambda _
(zero? (system* "scons" "install")))))))
(inputs
`(("boost" ,boost)
("bzip2" ,bzip2)
@@ -59,7 +71,8 @@
(native-inputs
`(("bazaar" ,bazaar)
("gettext-minimal" ,gettext-minimal)
("pkg-config" ,pkg-config)))
("pkg-config" ,pkg-config)
("scons" ,scons)))
(home-page "https://launchpad.net/linuxdcpp/")
(synopsis "Direct Connect client")
(description "LinuxDC++ is a Direct Connect (DC) client. Direct Connect

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