Merge branch 'master' into core-updates

This commit is contained in:
Marius Bakke 2018-12-11 22:18:05 +01:00
commit b03e4fd526
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
383 changed files with 114393 additions and 25684 deletions

2
.gitignore vendored
View File

@ -90,7 +90,7 @@
/nix/config.h.in
/nix/nix-daemon/nix-daemon.cc
/nix/nix-setuid-helper/nix-setuid-helper.cc
/nix/scripts/guix-authenticate
/nix/scripts/authenticate
/nix/scripts/list-runtime-roots
/nix/scripts/offload
/nix/scripts/substitute

View File

@ -12,6 +12,7 @@
# Copyright © 2018 Nils Gillmann <ng0@n0.is>
# Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
# Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
#
# This file is part of GNU Guix.
#
@ -61,7 +62,9 @@ MODULES = \
guix/base16.scm \
guix/base32.scm \
guix/base64.scm \
guix/ci.scm \
guix/cpio.scm \
guix/docker.scm \
guix/records.scm \
guix/pki.scm \
guix/progress.scm \
@ -74,6 +77,7 @@ MODULES = \
guix/discovery.scm \
guix/git-download.scm \
guix/hg-download.scm \
guix/swh.scm \
guix/monads.scm \
guix/monad-repl.scm \
guix/gexp.scm \
@ -100,6 +104,7 @@ MODULES = \
guix/build-system/android-ndk.scm \
guix/build-system/ant.scm \
guix/build-system/cargo.scm \
guix/build-system/clojure.scm \
guix/build-system/cmake.scm \
guix/build-system/dub.scm \
guix/build-system/emacs.scm \
@ -172,6 +177,8 @@ MODULES = \
guix/build/syscalls.scm \
guix/build/gremlin.scm \
guix/build/debug-link.scm \
guix/build/clojure-build-system.scm \
guix/build/clojure-utils.scm \
guix/build/emacs-utils.scm \
guix/build/java-utils.scm \
guix/build/lisp-utils.scm \
@ -181,15 +188,24 @@ 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 \
guix/import/cabal.scm \
guix/import/cpan.scm \
guix/import/cran.scm \
guix/import/hackage.scm \
guix/import/crate.scm \
guix/import/elpa.scm \
guix/import/gem.scm \
guix/import/github.scm \
guix/import/gnome.scm \
guix/import/gnu.scm \
guix/import/hackage.scm \
guix/import/json.scm \
guix/import/opam.scm \
guix/import/print.scm \
guix/import/pypi.scm \
guix/import/snix.scm \
guix/import/stackage.scm \
guix/import/texlive.scm \
guix/import/utils.scm \
guix/scripts.scm \
guix/scripts/download.scm \
guix/scripts/perform-download.scm \
@ -201,6 +217,7 @@ MODULES = \
guix/scripts/hash.scm \
guix/scripts/pack.scm \
guix/scripts/pull.scm \
guix/scripts/processes.scm \
guix/scripts/substitute.scm \
guix/scripts/authenticate.scm \
guix/scripts/refresh.scm \
@ -210,46 +227,29 @@ MODULES = \
guix/scripts/system/search.scm \
guix/scripts/lint.scm \
guix/scripts/challenge.scm \
guix/scripts/import/crate.scm \
guix/scripts/import/cran.scm \
guix/scripts/import/gnu.scm \
guix/scripts/import/nix.scm \
guix/scripts/import/hackage.scm \
guix/scripts/import/elpa.scm \
guix/scripts/import/gem.scm \
guix/scripts/import/gnu.scm \
guix/scripts/import/hackage.scm \
guix/scripts/import/json.scm \
guix/scripts/import/nix.scm \
guix/scripts/import/opam.scm \
guix/scripts/import/pypi.scm \
guix/scripts/import/stackage.scm \
guix/scripts/import/texlive.scm \
guix/scripts/environment.scm \
guix/scripts/publish.scm \
guix/scripts/edit.scm \
guix/scripts/size.scm \
guix/scripts/graph.scm \
guix/scripts/weather.scm \
guix/scripts/container.scm \
guix/scripts/container/exec.scm \
guix.scm \
$(GNU_SYSTEM_MODULES)
if HAVE_GUILE_JSON
MODULES += \
guix/ci.scm \
guix/docker.scm \
guix/import/cpan.scm \
guix/import/crate.scm \
guix/import/gem.scm \
guix/import/github.scm \
guix/import/gnome.scm \
guix/import/json.scm \
guix/import/opam.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/opam.scm \
guix/scripts/import/pypi.scm \
guix/scripts/import/stackage.scm \
guix/scripts/weather.scm
endif
if HAVE_GUILE_SSH
MODULES += \
@ -279,10 +279,10 @@ 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.18-arm.conf \
gnu/packages/aux-files/linux-libre/4.18-arm64.conf \
gnu/packages/aux-files/linux-libre/4.18-i686.conf \
gnu/packages/aux-files/linux-libre/4.18-x86_64.conf \
gnu/packages/aux-files/linux-libre/4.19-arm.conf \
gnu/packages/aux-files/linux-libre/4.19-arm64.conf \
gnu/packages/aux-files/linux-libre/4.19-i686.conf \
gnu/packages/aux-files/linux-libre/4.19-x86_64.conf \
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 \
@ -329,7 +329,11 @@ SCM_TESTS = \
tests/base16.scm \
tests/base32.scm \
tests/base64.scm \
tests/channels.scm \
tests/cpan.scm \
tests/cpio.scm \
tests/crate.scm \
tests/gem.scm \
tests/pki.scm \
tests/print.scm \
tests/sets.scm \
@ -343,6 +347,7 @@ SCM_TESTS = \
tests/ui.scm \
tests/status.scm \
tests/records.scm \
tests/processes.scm \
tests/upstream.scm \
tests/combinators.scm \
tests/discovery.scm \
@ -382,28 +387,22 @@ SCM_TESTS = \
tests/services.scm \
tests/scripts-build.scm \
tests/containers.scm \
tests/opam.scm \
tests/pack.scm \
tests/pypi.scm \
tests/import-utils.scm \
tests/store-database.scm \
tests/store-deduplication.scm
if HAVE_GUILE_JSON
SCM_TESTS += \
tests/pypi.scm \
tests/opam.scm \
tests/cpan.scm \
tests/gem.scm \
tests/crate.scm
endif
SH_TESTS = \
tests/guix-build.sh \
tests/guix-build-branch.sh \
tests/guix-download.sh \
tests/guix-gc.sh \
tests/guix-hash.sh \
tests/guix-pack.sh \
tests/guix-pack-localstatedir.sh \
tests/guix-pack-relocatable.sh \
tests/guix-package.sh \
tests/guix-package-net.sh \
tests/guix-system.sh \
@ -460,8 +459,9 @@ check-system: $(GOBJECTS)
# Public key used to sign substitutes from hydra.gnu.org & co.
dist_pkgdata_DATA = \
hydra.gnu.org.pub \
berlin.guixsd.org.pub
etc/substitutes/hydra.gnu.org.pub \
etc/substitutes/berlin.guixsd.org.pub \
etc/substitutes/ci.guix.info.pub
# Bash completion file.
dist_bashcompletion_DATA = etc/completion/bash/guix \
@ -593,18 +593,17 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
--enable-daemon \
ac_cv_guix_test_root="$(GUIX_TEST_ROOT)"
# The self-contained tarball. Add 'glibc-utf8-locales' along with glibc just
# so 'etc/profile' defines 'GUIX_LOCPATH' pointing to a valid set of locales.
# The self-contained tarball.
guix-binary.%.tar.xz:
$(AM_V_GEN)GUIX_PACKAGE_PATH= \
tarball=`$(top_builddir)/pre-inst-env guix pack -K -C xz \
-s "$*" --localstatedir guix glibc-utf8-locales \
-e '(@@ (gnu packages commencement) glibc-final)'` ; \
-s "$*" --localstatedir --profile-name=current-guix guix` ; \
cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@"
dist-hook: $(distdir)/ChangeLog gen-AUTHORS gen-tarball-version
dist-hook: assert-no-store-file-names
dist-hook: doc-po-update
distcheck-hook: assert-binaries-available assert-final-inputs-self-contained
@ -765,7 +764,7 @@ assert-no-store-file-names: $(distdir)/ChangeLog
exit 1 ; \
fi
# Make sure hydra.gnu.org has the important binaries.
# Make sure important substitutes are available.
assert-binaries-available: $(GOBJECTS)
$(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \
"$(top_srcdir)/build-aux/check-available-binaries.scm"

96
NEWS
View File

@ -11,15 +11,109 @@ Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
Please send Guix bug reports to bug-guix@gnu.org.
* Changes since 0.15.0
* Changes in 0.16.0 (since 0.15.0)
** Package management
*** Default substitute URL changed to https://ci.guix.info
*** guix pull -l lists new and upgraded packages
*** guix pull now supports channels via ~/.config/guix/channels.scm
*** New --profile or -p option for guix pull
*** ~/.config/guix/current is now a symlink to /var/guix/profiles
*** New guix describe command
*** guix package no longer shows build logs by default
*** guix commands now produce colored output by default
*** User interface now reports grafts separately
*** Manifests can now refer to arbitrary Guix commits using “inferiors”
*** New --with-branch and --with-commit package transformation options
*** guix build -f now accepts any kind of “file-like object”
*** Git checkouts may now be fetched from Software Heritage
*** New guix repl command for use by inferiors
*** New guix processes command
*** guix pack now honors --localstatedir for all its backends
*** New opam importer for guix import
*** guix import pypi has a new --recursive option
*** guix import hackage has a new --recursive option
*** guix import stackage has a new --recursive option
The short option for --lts-version is now -l (used to be -r).
*** guix refresh now stores upstream keys in ~/.config/guix/upstream
*** Guix now depends on Guile-Gcrypt
*** Guix now requires Guile-JSON
** Distribution
*** Rust is now bootstrapped from mrustc
*** The GNU Shepherd was upgraded to 0.5.0
*** guix system reconfigure now loads Shepherd service replacements
*** herd schedule mcron now displays mcrons job schedule
*** herd statistics nscd now displays nscd statistics
*** herd invalidate nscd TABLE instructs nscd to invalidate TABLE
*** New services
ddclient, gitolite, iptables, pcscd, prometheus-node-exporter, varnish
*** 985 new packages
*** 1945 package updates
Noteworthy updates:
bash 4.4.23, binutils 2.31.1, cups 2.2.8, enlightenment 0.22.4, gcc 8.2.0,
gdb 8.2, ghc 8.4.3, gimp 2.10.6, glibc 2.28, gnupg 2.2.11, go 1.11.1,
guile 2.2.4, icecat 60.3.0-gnu1, icedtea 3.7.0, libreoffice 6.1.3.2,
linux-libre 4.19.6, ocaml 4.07.1, octave 4.4.1, perl 5.28.0,
python2 2.7.15, python 3.7.0, racket 7.0, rust 1.28.0, r 3.5.1,
sbcl 1.4.13, shepherd 0.5.0, xorg-server 1.20.3
** Programming interfaces
*** New (guix channels) module, see “Channels” in the manual
*** New (guix inferior) module, see “Inferiors” in the manual
*** New (guix describe) module, used by guix describe
*** New (guix status) module, for build progress reporting
*** packages->manifest now accepts inferior packages
*** New build systems: clojure, guile
*** New git-checkout record constructor in (guix git)
*** Shepherd services can now declare custom actions
*** More of the (gnu system …) APIs are now non-monadic
*** New add-file-tree-to-store procedure in (guix store)
*** New (guix swh) module to access Software Heritage
*** New (guix build debug-link) module, for ELF .gnu_debuglink sections
** Noteworthy bug fixes
*** Fix GCC crashes caused by a patch of ours (<https://bugs.gnu.org/31708>)
*** guix import hackage now supports custom-setup field
(<https://bugs.gnu.org/23961>)
*** guix-daemon taken from guix pull looks up guix in the right place
(<https://bugs.gnu.org/32183>)
*** Try several file names when looking up kernel modules
(<https://bugs.gnu.org/31714>)
*** file-system-* services are now always started after udev
(<https://bugs.gnu.org/32313>)
*** Racket now ignores bytecode checksums for files in the store
(<https://bugs.gnu.org/30680>)
*** Grafting now updates CRCs in .gnu_debuglink ELF sections
(<https://bugs.gnu.org/19973>)
*** UUID computation for VMs is now deterministic (<https://bugs.gnu.org/32652>)
*** git-predicate from (guix git) now uses Guile-Git, which fixes corner cases
(<https://bugs.gnu.org/27925>)
*** (guix store database) registers each store item only once
(<https://bugs.gnu.org/32600>)
*** The File > Open dialog in LibreOffice no longer triggers a crash
(<https://bugs.gnu.org/30642>)
*** Account home directory is always honored (<https://bugs.gnu.org/33422>)
** Native language support
*** The manual is now partially translated into German, in addition to French
To read the German manual, just type “info guix.de” or read it on-line at
<https://gnu.org/s/guix/manual/de/html_node>. Consider translating the manual
to your native language by joining the Translation Project:
<https://translationproject.org/domain/guix-manual.html>.
*** Updated translations:
*** New translations:
* Changes in 0.15.0 (since 0.14.0)

4
README
View File

@ -24,10 +24,10 @@ GNU Guix currently depends on the following packages:
- [[https://notabug.org/cwebber/guile-gcrypt][Guile-Gcrypt]] 0.1.0 or later
- [[https://www.gnu.org/software/make/][GNU Make]]
- [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled
- [[https://notabug.org/civodul/guile-sqlite3][Guile-SQLite3]], version 0.1.0 or later
- [[https://notabug.org/guile-sqlite3/guile-sqlite3][Guile-SQLite3]], version 0.1.0 or later
- [[https://gitlab.com/guile-git/guile-git][Guile-Git]]
- [[http://www.zlib.net/][zlib]]
- optionally [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command
- [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]]
Unless `--disable-daemon' was passed, the following packages are needed:

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -17,7 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;;
;;; Check whether important binaries are available at hydra.gnu.org.
;;; Check whether important binaries are available.
;;;
(use-modules (guix store)

View File

@ -17,7 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;;
;;; Check whether important binaries are available at hydra.gnu.org.
;;; Check whether important binaries are available.
;;;
(use-modules (guix store)

View File

@ -187,14 +187,14 @@ system.")
(bootloader u-boot-bootloader)
(target #f))))
#:disk-image-size
(* 1024 MiB))))))
(* 1500 MiB))))))
(list (->job 'usb-image
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(system-disk-image installation-os
#:disk-image-size
(* 1024 MiB)))))
(* 1500 MiB)))))
(->job 'iso9660-image
(run-with-store store
(mbegin %store-monad

View File

@ -30,6 +30,7 @@
(ice-9 match)
(ice-9 rdelim)
(ice-9 regex)
(ice-9 vlist)
(ice-9 pretty-print))
(define %header-rx
@ -98,31 +99,60 @@ paragraph."
(lambda (match port)
(let ((stars (match:substring match 1)))
(format port
"~a ~a new packages~%~%~a~%~%"
stars (length added)
(enumeration->paragraph added)))))))))
"~a ~a new packages~%~%"
stars (length added)))))))))
(define (write-packages-updates news-file old new)
"Write to NEWS-FILE the list of packages upgraded between OLD and NEW."
(let ((upgraded (filter-map (match-lambda
((package . new-version)
(match (assoc package old)
((_ . old-version)
(and (version>? new-version old-version)
(string-append package "@"
new-version)))
(_ #f))))
new)))
(define important
'("gcc" "glibc" "binutils" "gdb" ;toolchain
"shepherd" "linux-libre" "xorg-server" "cups" ;OS
"gnome" "xfce" "enlightenment" "lxde" "mate" ;desktop env.
"guile" "bash" "python" "python2" "perl" ;languages
"ghc" "rust" "go" "julia" "r" "ocaml"
"icedtea" "openjdk" "clojure" "sbcl" "racket"
"emacs" "gimp" "inkscape" "libreoffice" ;applications
"octave" "icecat" "gnupg"))
(let* ((table (fold (lambda (package table)
(match package
((name . version)
(vhash-cons name version table))))
vlist-null
new))
(latest (lambda (name)
(let ((versions (vhash-fold* cons '() name table)))
(match (sort versions version>?)
((latest . _) latest)))))
(upgraded (filter-map (match-lambda
((package . new-version)
(match (assoc package old)
((_ . old-version)
(and (string=? new-version
(latest package))
(version>? new-version old-version)
(cons package new-version)))
(_ #f))))
new))
(noteworthy (filter (match-lambda
((package . version)
(member package important)))
upgraded)))
(with-atomic-file-replacement news-file
(lambda (input output)
(rewrite-org-section input output
(make-regexp "^(\\*+) (.*) package updates")
(lambda (match port)
(let ((stars (match:substring match 1)))
(let ((stars (match:substring match 1))
(lst (map (match-lambda
((package . version)
(string-append package " "
version)))
noteworthy)))
(format port
"~a ~a package updates~%~%~a~%~%"
"~a ~a package updates~%~%Noteworthy updates:~%~a~%~%"
stars (length upgraded)
(enumeration->paragraph upgraded)))))))))
(enumeration->paragraph lst)))))))))
(define (main . args)
@ -138,6 +168,8 @@ paragraph."
(let-values (((previous-version new-version)
(call-with-input-file news-file NEWS->versions)))
(format (current-error-port) "Updating NEWS for ~a to ~a...~%"
previous-version new-version)
(let* ((old (call-with-input-file (package-file previous-version)
read))
(new (fold-packages (lambda (p r)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -133,7 +133,8 @@ COMMIT."
;; Add an indirect GC root for SOURCE in the current directory.
(false-if-exception (delete-file root))
(symlink source root)
(add-indirect-root store root)
(add-indirect-root store
(string-append (getcwd) "/" root))
(format #t "source code for commit ~a: ~a (GC root: ~a)~%"
commit source root)))))

View File

@ -120,15 +120,7 @@ if test "x$guix_build_daemon" = "xyes"; then
dnl Determine the appropriate default list of substitute URLs (GnuTLS
dnl is required so we can default to 'https'.)
case "x$host_cpu" in
xaarch64)
# Currently only berlin.guixsd.org provides aarch64 binaries.
guix_substitute_urls="https://berlin.guixsd.org"
;;
*)
guix_substitute_urls="https://mirror.hydra.gnu.org"
;;
esac
guix_substitute_urls="https://ci.guix.info"
AC_MSG_CHECKING([for default substitute URLs])
AC_MSG_RESULT([$guix_substitute_urls])
@ -163,8 +155,8 @@ if test "x$guix_build_daemon" = "xyes"; then
[chmod +x nix/scripts/download])
AC_CONFIG_FILES([nix/scripts/substitute],
[chmod +x nix/scripts/substitute])
AC_CONFIG_FILES([nix/scripts/guix-authenticate],
[chmod +x nix/scripts/guix-authenticate])
AC_CONFIG_FILES([nix/scripts/authenticate],
[chmod +x nix/scripts/authenticate])
AC_CONFIG_FILES([nix/scripts/offload],
[chmod +x nix/scripts/offload])
fi

View File

@ -122,9 +122,11 @@ 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.
dnl Check for Guile-JSON.
GUILE_MODULE_AVAILABLE([have_guile_json], [(json)])
AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"])
if test "x$have_guile_json" != "xyes"; then
AC_MSG_ERROR([Guile-JSON is missing; please install it.])
fi
dnl Guile-Sqlite3 is used by the (guix store ...) modules.
GUIX_CHECK_GUILE_SQLITE3

534
doc/contributing.de.texi Normal file
View File

@ -0,0 +1,534 @@
@node Mitwirken
@chapter Mitwirken
Dieses Projekt basiert auf Kooperation, daher benötigen wir Ihre Hilfe, um
es wachsen zu lassen! Bitte kontaktieren Sie uns auf
@email{guix-devel@@gnu.org} und @code{#guix} im Freenode-IRC-Netzwerk. Wir
freuen uns auf Ihre Ideen, Fehlerberichte, Patches und alles, was hilfreich
für das Projekt sein könnte. Besonders willkommen ist Hilfe bei der
Erstellung von Paketen (@pxref{Paketrichtlinien}).
@cindex Verhaltensregeln, für Mitwirkende
@cindex Verhaltenskodex für Mitwirkende
Wir möchten eine angenehme, freundliche und von Belästigungen freie Umgebung
bereitstellen, so dass jeder Beiträge nach seinen Fähigkeiten leisten
kann. Zu diesem Zweck verwendet unser Projekt einen »Verhaltenskodex für
Mitwirkende«, der von @url{http://contributor-covenant.org/} übernommen
wurde. Eine übersetzte Fassung finden Sie auf
@url{https://www.contributor-covenant.org/de/version/1/4/code-of-conduct}
sowie eine mitgelieferte, englische Fassung in der Datei
@file{CODE-OF-CONDUCT} im Quellbaum.
Von Mitwirkenden wird nicht erwartet, dass sie in Patches oder in der
Online-Kommunikation ihre echten Namen preisgeben. Sie können einen
beliebigen Namen oder ein Pseudonym ihrer Wahl verwenden.
@menu
* Erstellung aus dem Git:: Das Neueste und Beste.
* Guix vor der Installation ausführen:: Hacker-Tricks.
* Perfekt eingerichtet:: Die richtigen Werkzeuge.
* Code-Stil:: Wie Mitwirkende hygienisch arbeiten.
* Einreichen von Patches:: Teilen Sie Ihre Arbeit.
@end menu
@node Erstellung aus dem Git
@section Erstellung aus dem Git
Wenn Sie an Guix selbst hacken wollen, ist es empfehlenswert, dass Sie die
neueste Version aus dem Git-Softwarebestand verwenden:
@example
git clone https://git.savannah.gnu.org/git/guix.git
@end example
Wenn Sie Guix aus einem Checkout erstellen, sind außer den bereits in den
Installationsanweisungen genannten Paketen weitere nötig
(@pxref{Voraussetzungen}).
@itemize
@item @url{http://gnu.org/software/autoconf/, GNU Autoconf};
@item @url{http://gnu.org/software/automake/, GNU Automake};
@item @url{http://gnu.org/software/gettext/, GNU Gettext};
@item @url{http://gnu.org/software/texinfo/, GNU Texinfo};
@item @url{http://www.graphviz.org/, Graphviz};
@item @url{http://www.gnu.org/software/help2man/, GNU Help2man (optional)}.
@end itemize
Der einfachste Weg, eine Entwicklungsumgebung für Guix einzurichten, ist
natürlich, Guix zu benutzen! Der folgende Befehl startet eine neue Shell, in
der alle Abhängigkeiten und Umgebungsvariablen bereits eingerichtet sind, um
an Guix zu arbeiten:
@example
guix environment guix
@end example
In @xref{Aufruf von guix environment} finden Sie weitere Informationen zu
diesem Befehl. Zusätzliche Abhängigkeiten können mit @option{--ad-hoc}
hinzugefügt werden:
@example
guix environment guix --ad-hoc help2man git strace
@end example
Führen Sie @command{./bootstrap} aus, um die Infrastruktur des
Erstellungssystems mit Autoconf und Automake zu erstellen. Möglicherweise
erhalten Sie eine Fehlermeldung wie diese:
@example
configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES
@end example
@noindent
Das bedeutet wahrscheinlich, dass Autoconf @file{pkg.m4} nicht finden
konnte, welches von pkg-config bereitgestellt wird. Stellen Sie sicher, dass
@file{pkg.m4} verfügbar ist. Gleiches gilt für den von Guile
bereitgestellten Makrosatz @file{guile.m4}. Wenn Sie beispielsweise Automake
in @file{/usr/local} installiert haben, würde in @file{/usr/share} nicht
nach @file{.m4}-Dateien geschaut. In einem solchen Fall müssen Sie folgenden
Befehl aufrufen:
@example
export ACLOCAL_PATH=/usr/share/aclocal
@end example
In @xref{Macro Search Path,,, automake, The GNU Automake Manual} finden Sie
weitere Informationen.
Dann führen Sie wie gewohnt @command{./configure} aus. Achten Sie darauf,
@code{--localstatedir=@var{Verzeichnis}} zu übergeben, wobei
@var{Verzeichnis} der von Ihrer aktuellen Installation verwendete
@code{localstatedir}-Wert ist (weitere Informationen auf @pxref{Der Store}).
Zum Schluss müssen Sie @code{make check} aufrufen, um die Tests auszuführen
(@pxref{Die Testsuite laufen lassen}). Falls etwas fehlschlägt, werfen Sie einen
Blick auf die Installationsanweisungen (@pxref{Installation}) oder senden
Sie eine E-Mail an die @email{guix-devel@@gnu.org, Mailingliste}.
@node Guix vor der Installation ausführen
@section Guix vor der Installation ausführen
Um eine gesunde Arbeitsumgebung zu erhalten, ist es hilfreich, die im
lokalen Quellbaum vorgenommenen Änderungen zunächst zu testen, ohne sie
tatsächlich zu installieren. So können Sie zwischen Ihrem
Endnutzer-»Straßenanzug« und Ihrem »Faschingskostüm« unterscheiden.
To that end, all the command-line tools can be used even if you have not run
@code{make install}. To do that, you first need to have an environment with
all the dependencies available (@pxref{Erstellung aus dem Git}), and then simply
prefix each command with @command{./pre-inst-env} (the @file{pre-inst-env}
script lives in the top build tree of Guix; it is generated by
@command{./configure}), as in@footnote{The @option{-E} flag to
@command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set such
that @command{guix-daemon} and the tools it uses can find the Guile modules
they need.}:
@example
$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild
$ ./pre-inst-env guix build hello
@end example
@noindent
Entsprechend, um eine Guile-Sitzung zu öffnen, die die Guix-Module benutzt:
@example
$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'
;;; ("x86_64-linux")
@end example
@noindent
@cindex REPL
@cindex Lese-Auswerten-Schreiben-Schleife
@dots{} und auf einer REPL (@pxref{Using Guile Interactively,,, guile, Guile
Reference Manual}):
@example
$ ./pre-inst-env guile
scheme@@(guile-user)> ,use(guix)
scheme@@(guile-user)> ,use(gnu)
scheme@@(guile-user)> (define snakes
(fold-packages
(lambda (package lst)
(if (string-prefix? "python"
(package-name package))
(cons package lst)
lst))
'()))
scheme@@(guile-user)> (length snakes)
$1 = 361
@end example
Das @command{pre-inst-env}-Skript richtet alle Umgebungsvariablen ein, die
nötig sind, um dies zu ermöglichen, einschließlich @env{PATH} und
@env{GUILE_LOAD_PATH}.
Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the
local source tree; it simply updates the @file{~/.config/guix/current}
symlink (@pxref{Aufruf von guix pull}). Run @command{git pull} instead if you
want to upgrade your local source tree.
@node Perfekt eingerichtet
@section Perfekt eingerichtet
Um perfekt für das Hacken an Guix eingerichtet zu sein, brauchen Sie an sich
dasselbe wie um perfekt für das Hacken mit Guile (@pxref{Using Guile in
Emacs,,, guile, Guile Reference Manual}). Zunächst brauchen Sie mehr als
ein Textverarbeitungsprogramm, Sie brauchen
@url{http://www.gnu.org/software/emacs, Emacs}, ermächtigt vom wunderbaren
@url{http://nongnu.org/geiser/, Geiser}.
Geiser ermöglicht interaktive und inkrementelle Entwicklung aus Emacs
heraus: Code kann in Puffern kompiliert und ausgewertet werden. Zugang zu
Online-Dokumentation (Docstrings) steht ebenso zur Verfügung wie
kontextabhängige Vervollständigung, @kbd{M-.} um zu einer Objektdefinition
zu springen, eine REPL, um Ihren Code auszuprobieren, und mehr
(@pxref{Einführung,,, geiser, Geiser User Manual}). Zur bequemen
Guix-Entwicklung sollten Sie Guiles Ladepfad so ergänzen, dass die
Quelldateien in Ihrem Checkout gefunden werden.
@lisp
;; @r{Angenommen das Guix-Checkout ist in ~/src/guix.}
(with-eval-after-load 'geiser-guile
(add-to-list 'geiser-guile-load-path "~/src/guix"))
@end lisp
Um den Code tatsächlich zu bearbeiten, bietet Emacs schon einen netten
Scheme-Modus. Aber Sie dürfen auch
@url{http://www.emacswiki.org/emacs/ParEdit, Paredit} nicht verpassen. Es
bietet Hilfsmittel, um direkt mit dem Syntaxbaum zu arbeiten, und kann so
zum Beispiel einen S-Ausdruck hochheben oder ihn umhüllen, ihn verschlucken
oder den nachfolgenden S-Ausdruck verwerfen, etc.
@cindex Code-Schnipsel
@cindex Vorlagen
@cindex Tipparbeit sparen
Wir bieten auch Vorlagen für häufige Git-Commit-Nachrichten und
Paketdefinitionen im Verzeichnis @file{etc/snippets}. Diese Vorlagen können
mit @url{http://joaotavora.github.io/yasnippet/, YASnippet} zusammen benutzt
werden, um kurze Auslöse-Zeichenketten zu interaktiven Textschnipseln
umzuschreiben. Vielleicht möchten Sie das Schnipselverzeichnis zu Ihrer
@var{yas-snippet-dirs}-Variablen in Emacs hinzufügen.
@lisp
;; @r{Angenommen das Guix-Checkout ist in ~/src/guix.}
(with-eval-after-load 'yasnippet
(add-to-list 'yas-snippet-dirs "~/src/guix/etc/snippets"))
@end lisp
The commit message snippets depend on @url{https://magit.vc/, Magit} to
display staged files. When editing a commit message type @code{add}
followed by @kbd{TAB} to insert a commit message template for adding a
package; type @code{update} followed by @kbd{TAB} to insert a template for
updating a package; type @code{https} followed by @kbd{TAB} to insert a
template for changing the home page URI of a package to HTTPS.
Das Hauptschnipsel für @code{scheme-mode} wird ausgelöst, indem Sie
@code{package...} gefolgt von @kbd{TAB} eintippen. Dieses Snippet fügt auch
die Auslöse-Zeichenkette @code{origin...} ein, die danach weiter
umgeschrieben werden kann. Das @code{origin}-Schnipsel kann wiederum andere
Auslöse-Zeichenketten einfügen, die alle auf @code{...} enden, was selbst
wieder weiter umgeschrieben werden kann.
@node Code-Stil
@section Code-Stil
Im Allgemeinen folgt unser Code den GNU Coding Standards (@pxref{Top,,,
standards, GNU Coding Standards}). Da diese aber nicht viel über Scheme zu
sagen haben, folgen hier einige zusätzliche Regeln.
@menu
* Programmierparadigmen:: Wie Sie Ihre Elemente zusammenstellen.
* Module:: Wo Sie Ihren Code unterbringen.
* Datentypen und Mustervergleich:: Implementierung von Datenstrukturen.
* Formatierung von Code:: Schreibkonventionen.
@end menu
@node Programmierparadigmen
@subsection Programmierparadigmen
Scheme-Code wird in Guix auf rein funktionale Weise geschrieben. Eine
Ausnahme ist Code, der mit Ein- und Ausgabe zu tun hat, und Prozeduren, die
grundlegende Konzepte implementieren, wie zum Beispiel die Prozedur
@code{memoize}.
@node Module
@subsection Module
Guile-Module, die beim Erstellen nutzbar sein sollen, müssen im Namensraum
@code{(guix build @dots{})} leben. Sie dürfen auf keine anderen Guix- oder
GNU-Module Bezug nehmen. Jedoch ist es in Ordnung, wenn ein »wirtsseitiges«
Modul ein erstellungsseitiges Modul benutzt.
Module, die mit dem weiteren GNU-System zu tun haben, sollten im Namensraum
@code{(gnu @dots{})} und nicht in @code{(guix @dots{})} stehen.
@node Datentypen und Mustervergleich
@subsection Datentypen und Mustervergleich
Im klassischen Lisp gibt es die Tendenz, Listen zur Darstellung von allem zu
benutzen, und diese dann »händisch« zu durchlaufen mit @code{car},
@code{cdr}, @code{cadr} und so weiter. Dieser Stil ist aus verschiedenen
Gründen problematisch, insbesondere wegen der Tatsache, dass er schwer zu
lesen, schnell fehlerbehaftet und ein Hindernis beim Melden von Typfehlern
ist.
Guix-Code sollte angemessene Datentypen definieren (zum Beispiel mit
@code{define-record-type*}) statt Listen zu missbrauchen. Außerdem sollte er
das @code{(ice-9 match)}-Modul von Guile zum Mustervergleich benutzen,
besonders mit Listen.
@node Formatierung von Code
@subsection Formatierung von Code
@cindex Formatierung von Code
@cindex Code-Stil
Beim Schreiben von Scheme-Code halten wir uns an die üblichen
Gepflogenheiten unter Scheme-Programmierern. Im Allgemeinen bedeutet das,
dass wir uns an @url{http://mumble.net/~campbell/scheme/style.txt,
Riastradh's Lisp Style Rules} halten. Es hat sich ergeben, dass dieses
Dokument auch die Konventionen beschreibt, die im Code von Guile
hauptsächlich verwendet werden. Es ist gut durchdacht und schön geschrieben,
also lesen Sie es bitte.
Ein paar in Guix eingeführte Sonderformen, wie zum Beispiel das
@code{substitute*}-Makro, haben abweichende Regeln für die Einrückung. Diese
sind in der Datei @file{.dir-locals.el} definiert, die Emacs automatisch
benutzt. Beachten Sie auch, dass Emacs-Guix einen Modus namens
@code{guix-devel-mode} bereitstellt, der Guix-Code richtig einrückt und
hervorhebt (@pxref{Development,,, emacs-guix, The Emacs-Guix Reference
Manual}).
@cindex Einrückung, Code-
@cindex Formatierung, Code-
Falls Sie nicht Emacs verwenden, sollten Sie sicherstellen, dass Ihr Editor
diese Regeln kennt. Um eine Paketdefinition automatisch einzurücken, können
Sie auch Folgendes ausführen:
@example
./etc/indent-code.el gnu/packages/@var{Datei}.scm @var{Paket}
@end example
@noindent
Dadurch wird die Definition von @var{Paket} in
@file{gnu/packages/@var{Datei}.scm} automatisch eingerückt, indem Emacs im
Batch-Modus läuft. Um die Einrückung in einer gesamten Datei vorzunehmen,
lassen Sie das zweite Argument weg:
@example
./etc/indent-code.el gnu/services/@var{Datei}.scm
@end example
@cindex Vim, zum Editieren von Scheme-Code
Wenn Sie Code mit Vim bearbeiten, empfehlen wir, dass Sie @code{:set
autoindent} ausführen, damit Ihr Code automatisch eingerückt wird, während
Sie ihn schreiben. Außerdem könnte Ihnen
@uref{https://www.vim.org/scripts/script.php?script_id=3998,
@code{paredit.vim}} dabei helfen, mit all diesen Klammern fertigzuwerden.
Wir fordern von allen Prozeduren auf oberster Ebene, dass sie über einen
Docstring verfügen. Diese Voraussetzung kann jedoch bei einfachen, privaten
Prozeduren im Namensraum @code{(guix build @dots{})} aufgeweicht werden.
Prozeduren sollten nicht mehr als vier positionsbestimmte Parameter
haben. Benutzen Sie Schlüsselwort-Parameter für Prozeduren, die mehr als
vier Parameter entgegennehmen.
@node Einreichen von Patches
@section Einreichen von Patches
Die Entwicklung wird mit Hilfe des verteilten Versionskontrollsystems Git
durchgeführt. Daher ist eine ständige Verbindung zum Repository nicht
unbedingt erforderlich. Wir begrüßen Beiträge in Form von Patches, die
mittels @code{git format-patch} erstellt und an die Mailingliste
@email{guix-patches@@gnu.org} geschickt werden.
Diese Mailing-Liste setzt auf einer Debbugs-Instanz auf, die zugänglich ist
unter @uref{https://bugs.gnu.org/guix-patches}, wodurch wir den Überblick
über Eingereichtes behalten können. Jede an diese Mailing-Liste gesendete
Nachricht bekommt eine neue Folgenummer zugewiesen, so dass man eine
Folge-Email zur Einreichung an @code{@var{NNN}@@debbugs.gnu.org} senden
kann, wobei @var{NNN} für die Folgenummer steht (@pxref{Senden einer Patch-Reihe}).
Bitte schreiben Sie Commit-Logs im ChangeLog-Format (@pxref{Change Logs,,,
standards, GNU Coding Standards}); dazu finden Sie Beispiele unter den
bisherigen Commits.
Bevor Sie einen Patch einreichen, der eine Paketdefinition hinzufügt oder
verändert, gehen Sie bitte diese Prüfliste durch:
@enumerate
@item
Wenn die Autoren der verpackten Software eine kryptographische Signatur für
den Tarball der Veröffentlichung anbieten, so machen Sie sich bitte die
Mühe, die Echtheit des Archivs zu überprüfen. Für eine abgetrennte
GPG-Signaturdatei würden Sie das mit dem Befehl @code{gpg --verify} tun.
@item
Nehmen Sie sich die Zeit, eine passende Zusammenfassung und Beschreibung für
das Paket zu verfassen. Unter @xref{Zusammenfassungen und Beschreibungen} finden Sie
dazu einige Richtlinien.
@item
Verwenden Sie @code{guix lint @var{Paket}}, wobei @var{Paket} das neue oder
geänderte Paket bezeichnet, und beheben Sie alle gemeldeten Fehler
(@pxref{Aufruf von guix lint}).
@item
Stellen Sie sicher, dass das Paket auf Ihrer Plattform erstellt werden kann,
indem Sie @code{guix build @var{Paket}} ausführen.
@item
@cindex gebündelt
Achten Sie darauf, dass im Paket keine Software gebündelt mitgeliefert wird,
die bereits in separaten Paketen zur Verfügung steht.
Manchmal enthalten Pakete Kopien des Quellcodes ihrer Abhängigkeiten, um
Nutzern die Installation zu erleichtern. Als eine Distribution wollen wir
jedoch sicherstellen, dass solche Pakete die schon in der Distribution
verfügbare Fassung benutzen, sofern es eine gibt. Dadurch wird sowohl der
Ressourcenverbrauch optimiert (die Abhängigkeit wird so nur einmal erstellt
und gespeichert) als auch der Distribution die Möglichkeit gegeben,
ergänzende Änderungen durchzuführen, um beispielsweise
Sicherheitsaktualisierungen für ein bestimmtes Paket an nur einem Ort
einzuspielen, die aber das gesamte System betreffen — gebündelt
mitgelieferte Kopien würden dies verhindern.
@item
Schauen Sie sich das von @command{guix size} ausgegebene Profil an
(@pxref{Aufruf von guix size}). Dadurch können Sie Referenzen auf andere
Pakete finden, die ungewollt vorhanden sind. Dies kann auch dabei helfen, zu
entscheiden, ob das Paket aufgespalten werden sollte (@pxref{Pakete mit mehreren Ausgaben.}) und welche optionalen Abhängigkeiten verwendet werden
sollten.
@item
Achten Sie bei wichtigen Änderungen darauf, dass abhängige Pakete (falls
vorhanden) nicht von der Änderung beeinträchtigt werden; @code{guix refresh
--list-dependent @var{Paket}} hilft Ihnen dabei (@pxref{Aufruf von guix refresh}).
@c ===========================================================================
@c
@c This file was generated with po4a. Translate the source file.
@c
@c ===========================================================================
@c See <https://lists.gnu.org/archive/html/guix-devel/2016-10/msg00933.html>.
@cindex Branching-Strategie
@cindex Neuerstellungs-Zeitplan
Je nachdem, wieviele abhängige Pakete es gibt, und entsprechend wieviele
Neuerstellungen dadurch nötig würden, finden Commits auf anderen Branches
statt, nach ungefähr diesen Regeln:
@table @asis
@item 300 abhängige Pakete oder weniger
@code{master}-Branch (störfreie Änderungen).
@item zwischen 300 und 1200 abhängige Pakete
@code{staging}-Branch (störfreie Änderungen). Dieser Branch wird circa alle
3 Wochen in @code{master} gemerget. Themenbezogene Änderungen (z.B. eine
Aktualisierung der GNOME-Plattform) können stattdessen auch auf einem
eigenen Branch umgesetzt werden (wie @code{gnome-updates}).
@item mehr als 1200 abhängige Pakete
@code{core-updates}-Branch (kann auch größere und womöglich andere Software
beeinträchtigende Änderungen umfassen). Dieser Branch wird planmäßig in
@code{master} alle 2,5 Monate oder so gemerget.
@end table
All these branches are @uref{https://hydra.gnu.org/project/gnu, tracked by
our build farm} and merged into @code{master} once everything has been
successfully built. This allows us to fix issues before they hit users, and
to reduce the window during which pre-built binaries are not available.
@c TODO: It would be good with badges on the website that tracks these
@c branches. Or maybe even a status page.
Generally, branches other than @code{master} are considered @emph{frozen} if
there has been a recent evaluation, or there is a corresponding @code{-next}
branch. Please ask on the mailing list or IRC if unsure where to place a
patch.
@item
@cindex Determinismus, von Erstellungsprozessen
@cindex Reproduzierbare Erstellungen, Überprüfung
Überprüfen Sie, ob der Erstellungsprozess deterministisch ist. Dazu prüfen
Sie typischerweise, ob eine unabhängige Erstellung des Pakets genau dasselbe
Ergebnis wie Ihre Erstellung hat, Bit für Bit.
Dies können Sie leicht tun, indem Sie dasselbe Paket mehrere Male
hintereinander auf Ihrer Maschine erstellen (@pxref{Aufruf von guix build}):
@example
guix build --rounds=2 mein-paket
@end example
Dies reicht aus, um eine ganze Klasse häufiger Ursachen von
Nichtdeterminismus zu finden, wie zum Beispiel Zeitstempel oder
zufallsgenerierte Ausgaben im Ergebnis der Erstellung.
Eine weitere Möglichkeit ist, @command{guix challenge} (@pxref{Aufruf von guix challenge}) zu benutzen. Sie können es ausführen, sobald ein Paket commitet
und von @code{hydra.gnu.org} erstellt wurde, um zu sehen, ob dort dasselbe
Ergebnis wie bei Ihnen geliefert wurde. Noch besser: Finden Sie eine andere
Maschine, die das Paket erstellen kann, und führen Sie @command{guix
publish} aus. Da sich die entfernte Erstellungsmaschine wahrscheinlich von
Ihrer unterscheidet, können Sie auf diese Weise Probleme durch
Nichtdeterminismus erkennen, die mit der Hardware zu tun haben — zum
Beispiel die Nutzung anderer Befehlssatzerweiterungen — oder mit dem
Betriebssystem-Kernel — zum Beispiel, indem @code{uname} oder
@file{/proc}-Dateien verwendet werden.
@item
Beim Schreiben von Dokumentation achten Sie bitte auf eine
geschlechtsneutrale Wortwahl, wenn Sie sich auf Personen beziehen, wie
@uref{https://en.wikipedia.org/wiki/Singular_they, »they«@comma{}
»their«@comma{} »them« im Singular}, und so weiter.
@item
Stelllen Sie sicher, dass Ihr Patch nur einen Satz zusammengehöriger
Änderungen umfasst. Das Zusammenfassen nicht zusammengehöriger Änderungen
erschwert und bremst das Durchsehen Ihres Patches.
Beispiele für nicht zusammengehörige Änderungen sind das Hinzufügen mehrerer
Pakete auf einmal, oder das Aktualisieren eines Pakets auf eine neue Version
zusammen mit Fehlerbehebungen für das Paket.
@item
Bitte befolgen Sie unsere Richtlinien für die Code-Formatierung, womöglich
wollen Sie dies automatisch tun lassen durch das Skript
@command{etc/indent-code.el} (@pxref{Formatierung von Code}).
@item
When possible, use mirrors in the source URL (@pxref{Aufruf von guix download}). Use reliable URLs, not generated ones. For instance, GitHub
archives are not necessarily identical from one generation to the next, so
in this case it's often better to clone the repository. Don't use the
@command{name} field in the URL: it is not very useful and if the name
changes, the URL will probably be wrong.
@end enumerate
Bitte benutzen Sie @samp{[PATCH] @dots{}} als Betreff, wenn Sie einen Patch
an die Mailing-Liste schicken. Sie können dazu Ihr E-Mail-Programm oder den
Befehl @command{git send-email} benutzen (@pxref{Senden einer Patch-Reihe}). Wir bevorzugen es, Patches als reine Textnachrichten zu erhalten,
entweder eingebettet (inline) oder als MIME-Anhänge. Sie sind dazu
angehalten, zu überprüfen, ob Ihr Mail-Programm solche Dinge wie
Zeilenumbrüche oder die Einrückung verändert, wodurch die Patches womöglich
nicht mehr funktionieren.
Wenn dadurch ein Fehler behoben wurde, schließen Sie bitte den Thread, indem
Sie eine E-Mail an @email{@var{NNN}-done@@debbugs.gnu.org} senden.
@unnumberedsubsec Senden einer Patch-Reihe
@anchor{Senden einer Patch-Reihe}
@cindex Patch-Reihe
@cindex @code{git send-email}
@cindex @code{git-send-email}
@c Debbugs bug: https://debbugs.gnu.org/db/15/15361.html
Wenn Sie eine Patch-Reihe senden (z.B. mit @code{git send-email}), schicken
Sie bitte als Erstes eine Nachricht an @email{guix-patches@@gnu.org} und
dann nachfolgende Patches an @email{@var{NNN}@@debbugs.gnu.org}, um
sicherzustellen, dass sie zusammen bearbeitet werden. Siehe
@uref{https://debbugs.gnu.org/Advanced.html, die Debbugs-Dokumentation} für
weitere Informationen.

View File

@ -110,14 +110,15 @@ changement localement sans les installer pour de vrai. Pour pouvoir
distinguer votre rôle « d'utilisateur final » de celui parfois haut en
couleur de « développeur ».
To that end, all the command-line tools can be used even if you have not run
@code{make install}. To do that, you first need to have an environment with
all the dependencies available (@pxref{Construire depuis Git}), and then simply
prefix each command with @command{./pre-inst-env} (the @file{pre-inst-env}
script lives in the top build tree of Guix), as in@footnote{The @option{-E}
flag to @command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly
set such that @command{guix-daemon} and the tools it uses can find the Guile
modules they need.}:
Pour cela, tous les outils en ligne de commande sont utilisables même sans
avoir lancé @code{make install}. Pour cela, vous devez d'abord avoir un
environnement avec toutes les dépendances disponibles (@pxref{Construire depuis Git}), puis préfixer chaque commande par @command{./pre-inst-env} (le script
@file{pre-inst-env} se trouve dans le répertoire de plus haut niveau de
l'arborescence des sources de Guix ; il est généré par
@command{./configure}) comme cela@footnote{L'option @option{-E} de
@command{sudo} garantie que @code{GUILE_LOAD_PATH} est bien paramétré pour
@command{guix-daemon} et pour que les outils qu'il utilise puissent trouver
les modules Guile dont ils ont besoin.} :
@example
$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild
@ -213,12 +214,13 @@ variables @var{yas-snippet-dirs} d'Emacs.
(add-to-list 'yas-snippet-dirs "~/src/guix/etc/snippets"))
@end lisp
The commit message snippets depend on @url{https://magit.vc/, Magit} to
display staged files. When editing a commit message type @code{add}
followed by @kbd{TAB} to insert a commit message template for adding a
package; type @code{update} followed by @kbd{TAB} to insert a template for
updating a package; type @code{https} followed by @kbd{TAB} to insert a
template for changing the home page URI of a package to HTTPS.
Les extraits de messages de commit dépendent de @url{https://magit.vc/,
Magit} pour afficher les fichiers sélectionnés. Lors de la modification
d'un message de commit, tapez @code{add} suivi de @kbd{TAB} pour insérer un
modèle de message de commit pour ajouter un paquet ; tapez @code{update}
suivi de @kbd{TAB} pour insérer un modèle pour la mise à jour d'un paquet ;
tapez @code{https} suivi de @kbd{TAB} pour insérer un modèle pour le
changement à HTTPS de l'URI de la page d'accueil.
L'extrait principal pour @code{scheme-mode} est lancé en tapant
@code{package…} suivi par @kbd{TAB}. Cet extrait insère aussi la chaîne de
@ -487,6 +489,13 @@ Suivez nos règles de formatage de code, éventuellement en lançant le script
@command{et/indent-code.el} pour le faire automatiquement (@pxref{Formatage
du code}).
@item
Si possible, utilisez des miroirs dans l'URL des sources (@pxref{Invoquer guix download}). Utilisez des URL stable, pas des URL générées. Par
exemple, les archives GitHub ne sont pas nécessairement identiques d'une
génération à la suivante, donc il vaut mieux dans ce cas cloner le dépôt.
N'utilisez pas le champ @command{name} dans l'URL : ce n'est pas très utile
et si le nom change, l'URL sera probablement erronée.
@end enumerate
Lorsque vous envoyez un correctif à la liste de diffusion, utilisez

View File

@ -112,7 +112,8 @@ run @code{make install}. To do that, you first need to have an environment
with all the dependencies available (@pxref{Building from Git}), and then
simply prefix each command with
@command{./pre-inst-env} (the @file{pre-inst-env} script lives in the
top build tree of Guix), as in@footnote{The @option{-E} flag to
top build tree of Guix; it is generated by @command{./configure}),
as in@footnote{The @option{-E} flag to
@command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set
such that @command{guix-daemon} and the tools it uses can find the Guile
modules they need.}:
@ -442,7 +443,7 @@ as timestamps or randomly-generated output in the build result.
Another option is to use @command{guix challenge} (@pxref{Invoking guix
challenge}). You may run it once the package has been committed and
built by @code{hydra.gnu.org} to check whether it obtains the same
built by @code{@value{SUBSTITUTE-SERVER}} to check whether it obtains the same
result as you did. Better yet: Find another machine that can build it
and run @command{guix publish}. Since the remote build machine is
likely different from yours, this can catch non-determinism issues

24155
doc/guix.de.texi Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -22,7 +22,8 @@
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
info_TEXINFOS = %D%/guix.texi \
%D%/guix.fr.texi
%D%/guix.fr.texi \
%D%/guix.de.texi
%C%_guix_TEXINFOS = \
%D%/contributing.texi \
@ -55,7 +56,9 @@ OS_CONFIG_EXAMPLES_TEXI = \
%D%/os-config-lightweight-desktop.texi
TRANSLATED_INFO = \
%D%/guix.de.texi \
%D%/guix.fr.texi \
%D%/contributing.de.texi \
%D%/contributing.fr.texi
# Bundle this file so that makeinfo finds it in out-of-source-tree builds.

View File

@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
#
# This file is part of GNU Guix.
#
@ -172,6 +172,8 @@ _guix_complete ()
if _guix_is_dash_L
then
_guix_complete_file
else
_guix_complete_available_package "$word_at_point"
fi
elif _guix_is_command "download"
then

View File

@ -7,4 +7,4 @@ start on runlevel [2345]
stop on runlevel [016]
exec @localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild
exec @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild

View File

@ -6,8 +6,8 @@
Description=Build daemon for GNU Guix
[Service]
ExecStart=@localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild
Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale
ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild
Environment=GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale
RemainAfterExit=yes
StandardOutput=syslog
StandardError=syslog

View File

@ -269,12 +269,13 @@ sys_create_store()
fi
_msg "${INF}Linking the root user's profile"
ln -sf /var/guix/profiles/per-user/root/guix-profile \
"${ROOT_HOME}/.guix-profile"
mkdir -p "${ROOT_HOME}/.config/guix"
ln -sf /var/guix/profiles/per-user/root/current-guix \
"${ROOT_HOME}/.config/guix/current"
GUIX_PROFILE="${ROOT_HOME}/.guix-profile"
GUIX_PROFILE="${ROOT_HOME}/.config/guix/current"
source "${GUIX_PROFILE}/etc/profile"
_msg "${PAS}activated root profile at /root/.guix-profile"
_msg "${PAS}activated root profile at ${ROOT_HOME}/.config/guix/current"
}
sys_create_build_user()
@ -317,18 +318,18 @@ sys_enable_guix_daemon()
info_path="/usr/local/share/info"
local_bin="/usr/local/bin"
var_guix="/var/guix/profiles/per-user/root/guix-profile"
var_guix="/var/guix/profiles/per-user/root/current-guix"
case "$INIT_SYS" in
upstart)
{ initctl reload-configuration;
cp "${ROOT_HOME}/.guix-profile/lib/upstart/system/guix-daemon.conf" \
cp "${ROOT_HOME}/.config/guix/current/lib/upstart/system/guix-daemon.conf" \
/etc/init/ &&
start guix-daemon; } &&
_msg "${PAS}enabled Guix daemon via upstart"
;;
systemd)
{ cp "${ROOT_HOME}/.guix-profile/lib/systemd/system/guix-daemon.service" \
{ cp "${ROOT_HOME}/.config/guix/current/lib/systemd/system/guix-daemon.service" \
/etc/systemd/system/;
chmod 664 /etc/systemd/system/guix-daemon.service;
systemctl daemon-reload &&
@ -338,7 +339,7 @@ sys_enable_guix_daemon()
;;
NA|*)
_msg "${ERR}unsupported init system; run the daemon manually:"
echo " ${ROOT_HOME}/.guix-profile/bin/guix-daemon --build-users-group=guixbuild"
echo " ${ROOT_HOME}/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild"
;;
esac
@ -358,10 +359,10 @@ sys_authorize_build_farms()
while true; do
read -p "Permit downloading pre-built package binaries from the project's build farms? (yes/no) " yn
case $yn in
[Yy]*) guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/hydra.gnu.org.pub" &&
[Yy]*) guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/hydra.gnu.org.pub" &&
_msg "${PAS}Authorized public key for hydra.gnu.org";
guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/berlin.guixsd.org.pub" &&
_msg "${PAS}Authorized public key for berlin.guixsd.org";
guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/ci.guix.info.pub" &&
_msg "${PAS}Authorized public key for ci.guix.info";
break;;
[Nn]*) _msg "${INF}Skipped authorizing build farm public keys"
break;;

View File

@ -9,4 +9,4 @@ stop on runlevel [016]
task
exec @localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix publish --user=nobody --port=8181
exec @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix publish --user=nobody --port=8181

View File

@ -6,8 +6,8 @@
Description=Publish the GNU Guix store
[Service]
ExecStart=@localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix publish --user=nobody --port=8181
Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale
ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix publish --user=nobody --port=8181
Environment=GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale
RemainAfterExit=yes
StandardOutput=syslog
StandardError=syslog

View File

@ -0,0 +1 @@
berlin.guixsd.org.pub

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
@ -33,7 +33,7 @@
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.savannah.gnu.org/guix/guix-artwork.git")
(url "https://git.savannah.gnu.org/git/guix/guix-artwork.git")
(commit commit)))
(file-name (string-append "guix-artwork-" (string-take commit 7)
"-checkout"))

View File

@ -19,12 +19,8 @@
(define-module (gnu bootloader extlinux)
#:use-module (gnu bootloader)
#:use-module (gnu system)
#:use-module (gnu build bootloader)
#: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))
@ -78,7 +74,7 @@ TIMEOUT ~a~%"
(format port "~%"))
#~())))))
(gexp->derivation "extlinux.conf" builder))
(computed-file "extlinux.conf" builder))

View File

@ -20,26 +20,18 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu bootloader grub)
#:use-module (guix store)
#:use-module (guix packages)
#:use-module (guix derivations)
#:use-module (guix records)
#:use-module (guix monads)
#:use-module ((guix utils) #:select (%current-system))
#:use-module (guix gexp)
#:use-module (guix download)
#:use-module (gnu artwork)
#:use-module (gnu system)
#:use-module (gnu bootloader)
#:use-module (gnu system uuid)
#:use-module (gnu system file-systems)
#:autoload (gnu packages bootloaders) (grub)
#:autoload (gnu packages compression) (gzip)
#:autoload (gnu packages gtk) (guile-cairo guile-rsvg)
#:autoload (gnu packages guile) (guile-2.2)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module (srfi srfi-1)
#:use-module (rnrs bytevectors)
#:export (grub-image
grub-image?
grub-image-aspect-ratio
@ -121,14 +113,14 @@ otherwise."
(define* (svg->png svg #:key width height)
"Build a PNG of HEIGHT x WIDTH from SVG."
(gexp->derivation "grub-image.png"
(with-imported-modules '((gnu build svg))
(with-extensions (list guile-rsvg guile-cairo)
#~(begin
(use-modules (gnu build svg))
(svg->png #+svg #$output
#:width #$width
#:height #$height))))))
(computed-file "grub-image.png"
(with-imported-modules '((gnu build svg))
(with-extensions (list guile-rsvg guile-cairo)
#~(begin
(use-modules (gnu build svg))
(svg->png #+svg #$output
#:width #$width
#:height #$height))))))
(define* (grub-background-image config #:key (width 1024) (height 768))
"Return the GRUB background image defined in CONFIG with a ratio of
@ -138,15 +130,13 @@ WIDTH/HEIGHT, or #f if none was found."
(= (grub-image-aspect-ratio image) ratio))
(grub-theme-images
(bootloader-theme config)))))
(if image
(svg->png (grub-image-file image)
#:width width #:height height)
(with-monad %store-monad
(return #f)))))
(and image
(svg->png (grub-image-file image)
#:width width #:height height))))
(define* (eye-candy config store-device store-mount-point
#:key system port)
"Return in %STORE-MONAD a gexp that writes to PORT (a port-valued gexp) the
"Return a gexp that writes to PORT (a port-valued gexp) the
'grub.cfg' part concerned with graphics mode, background images, colors, and
all that. STORE-DEVICE designates the device holding the store, and
STORE-MOUNT-POINT is its mount point; these are used to determine where the
@ -194,9 +184,11 @@ fi~%" #$font-file)
(strip-mount-point store-mount-point
(file-append grub "/share/grub/unicode.pf2")))
(mlet* %store-monad ((image (grub-background-image config)))
(return (and image
#~(format #$port "
(define image
(grub-background-image config))
(and image
#~(format #$port "
function setup_gfxterm {~a}
# Set 'root' to the partition that contains /gnu/store.
@ -213,14 +205,14 @@ else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi~%"
#$setup-gfxterm-body
#$(grub-root-search store-device font-file)
#$(setup-gfxterm config font-file)
#$(grub-setup-io config)
#$setup-gfxterm-body
#$(grub-root-search store-device font-file)
#$(setup-gfxterm config font-file)
#$(grub-setup-io config)
#$(strip-mount-point store-mount-point image)
#$(theme-colors grub-theme-color-normal)
#$(theme-colors grub-theme-color-highlight))))))
#$(strip-mount-point store-mount-point image)
#$(theme-colors grub-theme-color-normal)
#$(theme-colors grub-theme-color-highlight))))
;;;
@ -331,36 +323,36 @@ entries corresponding to old generations of the system."
#$(grub-root-search device kernel)
#$kernel (string-join (list #$@arguments))
#$initrd))))
(mlet %store-monad ((sugar (eye-candy config
(menu-entry-device
(first all-entries))
(menu-entry-device-mount-point
(first all-entries))
#:system system
#:port #~port)))
(define builder
#~(call-with-output-file #$output
(lambda (port)
(format port
"# This file was generated from your GuixSD configuration. Any changes
(define sugar
(eye-candy config
(menu-entry-device (first all-entries))
(menu-entry-device-mount-point (first all-entries))
#:system system
#:port #~port))
(define builder
#~(call-with-output-file #$output
(lambda (port)
(format port
"# This file was generated from your GuixSD configuration. Any changes
# will be lost upon reconfiguration.
")
#$sugar
(format port "
#$sugar
(format port "
set default=~a
set timeout=~a~%"
#$(bootloader-configuration-default-entry config)
#$(bootloader-configuration-timeout config))
#$@(map menu-entry->gexp all-entries)
#$(bootloader-configuration-default-entry config)
#$(bootloader-configuration-timeout config))
#$@(map menu-entry->gexp all-entries)
#$@(if (pair? old-entries)
#~((format port "
#$@(if (pair? old-entries)
#~((format port "
submenu \"GNU system, old configurations...\" {~%")
#$@(map menu-entry->gexp old-entries)
(format port "}~%"))
#~()))))
#$@(map menu-entry->gexp old-entries)
(format port "}~%"))
#~()))))
(gexp->derivation "grub.cfg" builder)))
(computed-file "grub.cfg" builder))

View File

@ -20,13 +20,8 @@
(define-module (gnu bootloader u-boot)
#:use-module (gnu bootloader extlinux)
#:use-module (gnu bootloader)
#:use-module (gnu system)
#:use-module (gnu build bootloader)
#: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
u-boot-a20-olinuxino-lime-bootloader
u-boot-a20-olinuxino-lime2-bootloader
@ -37,6 +32,7 @@
u-boot-nintendo-nes-classic-edition-bootloader
u-boot-novena-bootloader
u-boot-pine64-plus-bootloader
u-boot-pinebook-bootloader
u-boot-puma-rk3399-bootloader
u-boot-wandboard-bootloader))
@ -173,6 +169,11 @@
(inherit u-boot-allwinner64-bootloader)
(package u-boot-pine64-plus)))
(define u-boot-pinebook-bootloader
(bootloader
(inherit u-boot-allwinner64-bootloader)
(package u-boot-pinebook)))
(define u-boot-puma-rk3399-bootloader
(bootloader
(inherit u-boot-bootloader)

View File

@ -148,11 +148,15 @@ properties. Return #t on success."
`("-G" ,(string-join supplementary-groups ","))
'())
,@(if comment `("-c" ,comment) '())
,@(if (and home create-home?)
(if (file-exists? home)
`("-d" ,home) ; avoid warning from 'useradd'
`("-d" ,home "--create-home"))
,@(if home `("-d" ,home) '())
;; Home directories of non-system accounts are created by
;; 'activate-user-home'.
,@(if (and home create-home? system?
(not (file-exists? home)))
'("--create-home")
'())
,@(if shell `("-s" ,shell) '())
,@(if password `("-p" ,password) '())
,@(if system? '("--system") '())
@ -229,10 +233,7 @@ numeric gid or #f."
#:supplementary-groups supplementary-groups
#:comment comment
#:home home
;; Home directories of non-system accounts are created by
;; 'activate-user-home'.
#:create-home? (and create-home? system?)
#:create-home? create-home?
#:shell shell
#:password password)

View File

@ -18,7 +18,6 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu build install)
#:use-module (guix store database)
#:use-module (guix build utils)
#:use-module (guix build store-copy)
#:use-module (srfi srfi-26)
@ -27,6 +26,7 @@
evaluate-populate-directive
populate-root-file-system
register-closure
install-database-and-gc-roots
populate-single-profile-directory))
;;; Commentary:
@ -141,41 +141,53 @@ includes /etc, /var, /run, /bin/sh, etc., and all the symlinks to SYSTEM."
(try))
(apply throw args)))))))
(define* (register-closure prefix closure
#:key
(deduplicate? #t) (reset-timestamps? #t)
(schema (sql-schema)))
"Register CLOSURE in PREFIX, where PREFIX is the directory name of the
target store and CLOSURE is the name of a file containing a reference graph as
produced by #:references-graphs.. As a side effect, if RESET-TIMESTAMPS? is
true, reset timestamps on store files and, if DEDUPLICATE? is true,
deduplicates files common to CLOSURE and the rest of PREFIX."
(let ((items (call-with-input-file closure read-reference-graph)))
(register-items items
#:prefix prefix
#:deduplicate? deduplicate?
#:reset-timestamps? reset-timestamps?
#:registration-time %epoch
#:schema schema)))
(define %root-profile
"/var/guix/profiles/per-user/root")
(define* (install-database-and-gc-roots root database profile
#:key (profile-name "guix-profile"))
"Install DATABASE, the store database, under directory ROOT. Create
PROFILE-NAME and have it link to PROFILE, a store item."
(define (scope file)
(string-append root "/" file))
(define (mkdir-p* dir)
(mkdir-p (scope dir)))
(define (symlink* old new)
(symlink old (scope new)))
(install-file database (scope "/var/guix/db/"))
(chmod (scope "/var/guix/db/db.sqlite") #o644)
(mkdir-p* "/var/guix/profiles")
(mkdir-p* "/var/guix/gcroots")
(symlink* "/var/guix/profiles" "/var/guix/gcroots/profiles")
;; Make root's profile, which makes it a GC root.
(mkdir-p* %root-profile)
(symlink* profile
(string-append %root-profile "/" profile-name "-1-link"))
(symlink* (string-append profile-name "-1-link")
(string-append %root-profile "/" profile-name)))
(define* (populate-single-profile-directory directory
#:key profile closure
deduplicate?
register? schema)
(profile-name "guix-profile")
database)
"Populate DIRECTORY with a store containing PROFILE, whose closure is given
in the file called CLOSURE (as generated by #:references-graphs.) DIRECTORY
is initialized to contain a single profile under /root pointing to PROFILE.
When REGISTER? is true, initialize DIRECTORY/var/guix/db to reflect the
contents of the store; DEDUPLICATE? determines whether to deduplicate files in
the store.
When DATABASE is true, copy it to DIRECTORY/var/guix/db and create
DIRECTORY/var/guix/gcroots and friends.
PROFILE-NAME is the name of the profile being created under
/var/guix/profiles, typically either \"guix-profile\" or \"current-guix\".
This is used to create the self-contained tarballs with 'guix pack'."
(define (scope file)
(string-append directory "/" file))
(define %root-profile
"/var/guix/profiles/per-user/root")
(define (mkdir-p* dir)
(mkdir-p (scope dir)))
@ -185,25 +197,20 @@ This is used to create the self-contained tarballs with 'guix pack'."
;; Populate the store.
(populate-store (list closure) directory)
(when register?
(register-closure (canonicalize-path directory) closure
#:deduplicate? deduplicate?
#:schema schema)
(when database
(install-database-and-gc-roots directory database profile
#:profile-name profile-name))
(mkdir-p* "/var/guix/profiles")
(mkdir-p* "/var/guix/gcroots")
(symlink* "/var/guix/profiles"
"/var/guix/gcroots/profiles"))
;; Make root's profile, which makes it a GC root.
(mkdir-p* %root-profile)
(symlink* profile
(string-append %root-profile "/guix-profile-1-link"))
(symlink* (string-append %root-profile "/guix-profile-1-link")
(string-append %root-profile "/guix-profile"))
(mkdir-p* "/root")
(symlink* (string-append %root-profile "/guix-profile")
"/root/.guix-profile"))
(match profile-name
("guix-profile"
(mkdir-p* "/root")
(symlink* (string-append %root-profile "/guix-profile")
"/root/.guix-profile"))
("current-guix"
(mkdir-p* "/root/.config/guix")
(symlink* (string-append %root-profile "/current-guix")
"/root/.config/guix/current"))
(_
#t)))
;;; install.scm ends here

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -72,11 +72,23 @@ COMPRESS? is true, compress it using GZIP. On success, return OUTPUT."
#:file->header cpio:file->cpio-header*)))
(or (not compress?)
;; Use '--no-name' so that gzip records neither a file name nor a time
;; stamp in its output.
(and (zero? (system* gzip "--best" "--no-name" output))
(rename-file (string-append output ".gz")
output))
;; Gzip insists on adding a '.gz' suffix and does nothing if the input
;; file already has that suffix. Shuffle files around to placate it.
(let* ((gz-suffix? (string-suffix? ".gz" output))
(sans-gz (if gz-suffix?
(string-drop-right output 3)
output)))
(when gz-suffix?
(rename-file output sans-gz))
;; Use '--no-name' so that gzip records neither a file name nor a time
;; stamp in its output.
(and (zero? (system* gzip "--best" "--no-name" sans-gz))
(begin
(unless gz-suffix?
(rename-file (string-append output ".gz") output))
output)))
output))
(define (cache-compiled-file-name file)
@ -139,6 +151,12 @@ REFERENCES-GRAPHS."
(write-cpio-archive output "." #:gzip gzip))
;; Make sure directories are writable so we can delete files.
(for-each make-file-writable
(find-files "contents"
(lambda (file stat)
(eq? 'directory (stat:type stat)))
#:directories? #t))
(delete-file-recursively "contents"))
;;; linux-initrd.scm ends here

View File

@ -25,7 +25,7 @@
#:use-module (guix build utils)
#:use-module (guix build store-copy)
#:use-module (guix build syscalls)
#:use-module ((guix store database) #:select (reset-timestamps))
#:use-module (guix store database)
#:use-module (gnu build linux-boot)
#:use-module (gnu build install)
#:use-module (gnu system uuid)
@ -191,6 +191,23 @@ the #:references-graphs parameter of 'derivation'."
(mkdir output)
(copy-recursively "xchg" output)))))
(define* (register-closure prefix closure
#:key
(deduplicate? #t) (reset-timestamps? #t)
(schema (sql-schema)))
"Register CLOSURE in PREFIX, where PREFIX is the directory name of the
target store and CLOSURE is the name of a file containing a reference graph as
produced by #:references-graphs.. As a side effect, if RESET-TIMESTAMPS? is
true, reset timestamps on store files and, if DEDUPLICATE? is true,
deduplicates files common to CLOSURE and the rest of PREFIX."
(let ((items (call-with-input-file closure read-reference-graph)))
(register-items items
#:prefix prefix
#:deduplicate? deduplicate?
#:reset-timestamps? reset-timestamps?
#:registration-time %epoch
#:schema schema)))
;;;
;;; Partitions.
@ -460,6 +477,11 @@ GRUB configuration and OS-DRV as the stuff in it."
"mnt=/tmp/root/mnt"
"-path-list" "-"
"--"
;; XXX: Add padding to avoid I/O errors on i686:
;; <https://bugs.gnu.org/33639>.
"-padding" "10m"
"-volid" (string-upcase volume-id)
(if volume-uuid
`("-volume_date" "uuid"

View File

@ -19,6 +19,7 @@
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
# Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
# Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
#
# This file is part of GNU Guix.
#
@ -60,6 +61,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/android.scm \
%D%/packages/animation.scm \
%D%/packages/anthy.scm \
%D%/packages/antivirus.scm \
%D%/packages/apl.scm \
%D%/packages/apr.scm \
%D%/packages/aspell.scm \
@ -99,6 +101,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/chez.scm \
%D%/packages/ci.scm \
%D%/packages/cinnamon.scm \
%D%/packages/clojure.scm \
%D%/packages/cluster.scm \
%D%/packages/cmake.scm \
%D%/packages/cobol.scm \
@ -143,6 +146,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/documentation.scm \
%D%/packages/dunst.scm \
%D%/packages/dvtm.scm \
%D%/packages/easyrpg.scm \
%D%/packages/ebook.scm \
%D%/packages/ed.scm \
%D%/packages/education.scm \
@ -234,6 +238,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/imagemagick.scm \
%D%/packages/inklingreader.scm \
%D%/packages/inkscape.scm \
%D%/packages/ipfs.scm \
%D%/packages/irc.scm \
%D%/packages/iso-codes.scm \
%D%/packages/java.scm \
@ -344,6 +349,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/perl-check.scm \
%D%/packages/perl-web.scm \
%D%/packages/photo.scm \
%D%/packages/phabricator.scm \
%D%/packages/php.scm \
%D%/packages/pkg-config.scm \
%D%/packages/plotutils.scm \
@ -570,6 +576,7 @@ dist_patch_DATA = \
%D%/packages/patches/aegis-test-fixup-1.patch \
%D%/packages/patches/aegis-test-fixup-2.patch \
%D%/packages/patches/aegisub-icu59-include-unistr.patch \
%D%/packages/patches/aegisub-boost68.patch \
%D%/packages/patches/agg-am_c_prototype.patch \
%D%/packages/patches/amule-crypto-6.patch \
%D%/packages/patches/ansible-wrap-program-hack.patch \
@ -594,25 +601,30 @@ dist_patch_DATA = \
%D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/bastet-change-source-of-unordered_set.patch \
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
%D%/packages/patches/beets-python-3.7-fix.patch \
%D%/packages/patches/beignet-correct-file-names.patch \
%D%/packages/patches/binutils-boot-2.20.1a.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/blast+-fix-makefile.patch \
%D%/packages/patches/blender-newer-ffmpeg.patch \
%D%/packages/patches/boost-fix-icu-build.patch \
%D%/packages/patches/borg-respect-storage-quota.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/cairo-CVE-2016-9082.patch \
%D%/packages/patches/cairo-setjmp-wrapper.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/calibre-use-packaged-feedparser.patch \
%D%/packages/patches/casync-renameat2-declaration.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-detect-rocksdb.patch \
%D%/packages/patches/ceph-disable-cpu-optimizations.patch \
%D%/packages/patches/ceph-rocksdb-compat.patch \
%D%/packages/patches/ceph-skip-collect-sys-info-test.patch \
%D%/packages/patches/ceph-skip-unittest_blockdev.patch \
%D%/packages/patches/ceph-volume-respect-PATH.patch \
%D%/packages/patches/chmlib-inttypes.patch \
%D%/packages/patches/clamav-config-llvm-libs.patch \
%D%/packages/patches/clamav-system-tomsfastmath.patch \
%D%/packages/patches/clang-3.5-libc-search-path.patch \
%D%/packages/patches/clang-3.5-libsanitizer-ustat-fix.patch \
%D%/packages/patches/clang-3.8-libc-search-path.patch \
@ -636,7 +648,6 @@ dist_patch_DATA = \
%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/clucene-contribs-lib.patch \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/cursynth-wave-rand.patch \
@ -645,7 +656,6 @@ dist_patch_DATA = \
%D%/packages/patches/datamash-arm-tests.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
%D%/packages/patches/delly-use-system-libraries.patch \
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
%D%/packages/patches/diffutils-gets-undeclared.patch \
%D%/packages/patches/diffutils-getopt.patch \
@ -657,14 +667,15 @@ dist_patch_DATA = \
%D%/packages/patches/dropbear-CVE-2018-15599.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \
%D%/packages/patches/elfutils-tests-ptrace.patch \
%D%/packages/patches/elogind-glibc-2.27.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-json-reformat-fix-tests.patch \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-pdf-tools-poppler.patch \
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/emacs-realgud-fix-configure-ac.patch \
%D%/packages/patches/enlightenment-fix-setuid-path.patch \
%D%/packages/patches/erlang-man-path.patch \
%D%/packages/patches/eudev-rules-directory.patch \
@ -706,7 +717,6 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-4.8-libsanitizer-fix.patch \
%D%/packages/patches/gcc-4.9-libsanitizer-fix.patch \
%D%/packages/patches/gcc-4.9-libsanitizer-ustat.patch \
%D%/packages/patches/gcc-libsanitizer-fix.patch \
%D%/packages/patches/gcc-libsanitizer-ustat.patch \
%D%/packages/patches/gcc-libvtv-runpath.patch \
%D%/packages/patches/gcc-strmov-store-file-names.patch \
@ -728,10 +738,10 @@ dist_patch_DATA = \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-freetype-test-failure.patch \
%D%/packages/patches/gdm-CVE-2018-14424.patch \
%D%/packages/patches/gemma-intel-compat.patch \
%D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
%D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \
%D%/packages/patches/ghc-haddock-library-unbundle.patch \
%D%/packages/patches/ghostscript-CVE-2018-16509.patch \
%D%/packages/patches/ghostscript-bug-699708.patch \
%D%/packages/patches/ghostscript-no-header-id.patch \
@ -803,7 +813,6 @@ dist_patch_DATA = \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gzdoom-search-in-installed-share.patch \
%D%/packages/patches/handbrake-pkg-config-path.patch \
%D%/packages/patches/haskell-mode-unused-variables.patch \
%D%/packages/patches/haskell-mode-make-check.patch \
%D%/packages/patches/hdf4-architectures.patch \
@ -820,9 +829,9 @@ dist_patch_DATA = \
%D%/packages/patches/higan-remove-march-native-flag.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \
%D%/packages/patches/hplip-remove-imageprocessor.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
%D%/packages/patches/icecat-CVE-2018-12383.patch \
%D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \
%D%/packages/patches/icecat-use-system-media-libs.patch \
%D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \
@ -844,7 +853,6 @@ dist_patch_DATA = \
%D%/packages/patches/java-xerces-xjavac_taskdef.patch \
%D%/packages/patches/jbig2dec-ignore-testtest.patch \
%D%/packages/patches/json-glib-fix-tests-32bit.patch \
%D%/packages/patches/jq-CVE-2015-8863.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/khmer-use-libraries.patch \
%D%/packages/patches/libziparchive-add-includes.patch \
@ -887,6 +895,7 @@ dist_patch_DATA = \
%D%/packages/patches/libexif-CVE-2016-6328.patch \
%D%/packages/patches/libexif-CVE-2017-7544.patch \
%D%/packages/patches/libgit2-mtime-0.patch \
%D%/packages/patches/libgit2-oom-test.patch \
%D%/packages/patches/libgdata-fix-tests.patch \
%D%/packages/patches/libgdata-glib-duplicate-tests.patch \
%D%/packages/patches/libgnome-encoding.patch \
@ -894,8 +903,8 @@ dist_patch_DATA = \
%D%/packages/patches/libffi-3.2.1-complex-alpha.patch \
%D%/packages/patches/libjxr-fix-function-signature.patch \
%D%/packages/patches/libjxr-fix-typos.patch \
%D%/packages/patches/libopenshot-tests-with-system-libs.patch \
%D%/packages/patches/libotr-test-auth-fix.patch \
%D%/packages/patches/liblxqt-include.patch \
%D%/packages/patches/libmad-armv7-thumb-pt1.patch \
%D%/packages/patches/libmad-armv7-thumb-pt2.patch \
%D%/packages/patches/libmad-frame-length.patch \
@ -933,6 +942,7 @@ dist_patch_DATA = \
%D%/packages/patches/lierolibre-try-building-other-arch.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/lirc-reproducible-build.patch \
%D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \
%D%/packages/patches/llvm-for-extempore.patch \
%D%/packages/patches/lm-sensors-hwmon-attrs.patch \
@ -948,7 +958,6 @@ dist_patch_DATA = \
%D%/packages/patches/lvm2-static-link.patch \
%D%/packages/patches/lxsession-use-gapplication.patch \
%D%/packages/patches/lyx-2.2.3-fix-test.patch \
%D%/packages/patches/mailutils-uninitialized-memory.patch \
%D%/packages/patches/make-glibc-compat.patch \
%D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/mariadb-client-test-32bit.patch \
@ -961,6 +970,7 @@ 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/meandmyshadow-define-paths-earlier.patch \
%D%/packages/patches/mesa-skip-disk-cache-test.patch \
%D%/packages/patches/mescc-tools-boot.patch \
%D%/packages/patches/meson-for-build-rpath.patch \
@ -971,6 +981,7 @@ dist_patch_DATA = \
%D%/packages/patches/module-init-tools-moduledir.patch \
%D%/packages/patches/monero-use-system-miniupnpc.patch \
%D%/packages/patches/mongodb-support-unknown-linux-distributions.patch \
%D%/packages/patches/mono-mdoc-timestamping.patch \
%D%/packages/patches/mozjs17-aarch64-support.patch \
%D%/packages/patches/mozjs24-aarch64-support.patch \
%D%/packages/patches/mozjs38-pkg-config-version.patch \
@ -983,7 +994,6 @@ dist_patch_DATA = \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
%D%/packages/patches/mutt-store-references.patch \
%D%/packages/patches/myrepos-CVE-2018-7032.patch \
%D%/packages/patches/m4-gnulib-libio.patch \
%D%/packages/patches/net-tools-bitrot.patch \
%D%/packages/patches/netcdf-date-time.patch \
@ -1014,6 +1024,7 @@ dist_patch_DATA = \
%D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \
%D%/packages/patches/opencascade-oce-glibc-2.26.patch \
%D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
%D%/packages/patches/openldap-CVE-2017-9287.patch \
%D%/packages/patches/openocd-nrf52.patch \
%D%/packages/patches/opensmtpd-fix-crash.patch \
@ -1030,7 +1041,7 @@ dist_patch_DATA = \
%D%/packages/patches/parted-glibc-compat.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/patchutils-test-perms.patch \
%D%/packages/patches/patch-hurd-path-max.patch \
%D%/packages/patches/perl-autosplit-default-time.patch \
%D%/packages/patches/perl-deterministic-ordering.patch \
@ -1050,12 +1061,16 @@ dist_patch_DATA = \
%D%/packages/patches/pinball-missing-separators.patch \
%D%/packages/patches/pinball-src-deps.patch \
%D%/packages/patches/pinball-system-ltdl.patch \
%D%/packages/patches/pinentry-efl.patch \
%D%/packages/patches/pingus-sdl-libs-config.patch \
%D%/packages/patches/pius.patch \
%D%/packages/patches/pixman-CVE-2016-5296.patch \
%D%/packages/patches/plink-1.07-unclobber-i.patch \
%D%/packages/patches/plink-endian-detection.patch \
%D%/packages/patches/plotutils-libpng-jmpbuf.patch \
%D%/packages/patches/podofo-cmake-3.12.patch \
%D%/packages/patches/polkit-CVE-2018-19788.patch \
%D%/packages/patches/poppler-CVE-2018-19149.patch \
%D%/packages/patches/portaudio-audacity-compat.patch \
%D%/packages/patches/portmidi-modular-build.patch \
%D%/packages/patches/potrace-tests.patch \
@ -1086,16 +1101,14 @@ dist_patch_DATA = \
%D%/packages/patches/python-CVE-2018-14647.patch \
%D%/packages/patches/python-axolotl-AES-fix.patch \
%D%/packages/patches/python-cairocffi-dlopen-path.patch \
%D%/packages/patches/python-cffi-x87-stack-clean.patch \
%D%/packages/patches/python-fix-tests.patch \
%D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
%D%/packages/patches/python-networkx2-reproducible-build.patch \
%D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
%D%/packages/patches/python-scikit-learn-fix-test-non-determinism.patch \
%D%/packages/patches/python-configobj-setuptools.patch \
%D%/packages/patches/python-faker-fix-build-32bit.patch \
%D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-testtools.patch \
%D%/packages/patches/python-paste-remove-website-test.patch \
%D%/packages/patches/python-paste-remove-timing-test.patch \
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
@ -1105,16 +1118,19 @@ dist_patch_DATA = \
%D%/packages/patches/python-unittest2-remove-argparse.patch \
%D%/packages/patches/python-waitress-fix-tests.patch \
%D%/packages/patches/qemu-glibc-2.27.patch \
%D%/packages/patches/qemu-CVE-2018-16847.patch \
%D%/packages/patches/qemu-CVE-2018-16867.patch \
%D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/qtbase-glibc-compat.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/qt-5-renameat2.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
%D%/packages/patches/quilt-test-fix-regex.patch \
%D%/packages/patches/quilt-compat-getopt-fix-second-separator.patch \
%D%/packages/patches/quilt-compat-getopt-fix-option-with-nondigit-param.patch \
%D%/packages/patches/quilt-getopt-nondigit-param.patch \
%D%/packages/patches/quilt-getopt-second-separator.patch \
%D%/packages/patches/qtwebkit-pbutils-include.patch \
%D%/packages/patches/randomjungle-disable-static-build.patch \
%D%/packages/patches/rapicorn-isnan.patch \
%D%/packages/patches/raptor2-heap-overflow.patch \
%D%/packages/patches/ratpoison-shell.patch \
@ -1138,12 +1154,14 @@ dist_patch_DATA = \
%D%/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch \
%D%/packages/patches/rust-bootstrap-stage0-test.patch \
%D%/packages/patches/rust-coresimd-doctest.patch \
%D%/packages/patches/rust-reproducible-builds.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/scotch-build-parallelism.patch \
%D%/packages/patches/scotch-graph-diam-64.patch \
%D%/packages/patches/scotch-graph-induce-type-64.patch \
%D%/packages/patches/scribus-poppler.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
@ -1177,6 +1195,7 @@ dist_patch_DATA = \
%D%/packages/patches/teeworlds-use-latest-wavpack.patch \
%D%/packages/patches/texinfo-perl-compat.patch \
%D%/packages/patches/texinfo-5-perl-compat.patch \
%D%/packages/patches/telegram-purple-adjust-test.patch \
%D%/packages/patches/texi2html-document-encoding.patch \
%D%/packages/patches/texi2html-i18n.patch \
%D%/packages/patches/thefuck-test-environ.patch \
@ -1187,10 +1206,16 @@ dist_patch_DATA = \
%D%/packages/patches/tk-find-library.patch \
%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/tomsfastmath-constness.patch \
%D%/packages/patches/totem-meson-easy-codec.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/twinkle-include-qregexpvalidator.patch \
%D%/packages/patches/u-boot-pinebook-a64-update-dts.patch \
%D%/packages/patches/u-boot-pinebook-mmc-calibration.patch \
%D%/packages/patches/u-boot-pinebook-r_i2c-controller.patch \
%D%/packages/patches/u-boot-pinebook-dts.patch \
%D%/packages/patches/u-boot-pinebook-syscon-node.patch \
%D%/packages/patches/u-boot-pinebook-video-bridge.patch \
%D%/packages/patches/unrtf-CVE-2016-10091.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \
%D%/packages/patches/unzip-CVE-2014-8140.patch \
@ -1240,9 +1265,8 @@ dist_patch_DATA = \
%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/wxmaxima-do-not-use-old-gnuplot-parameters.patch \
%D%/packages/patches/x265-arm-flags.patch \
%D%/packages/patches/x265-detect512-all-arches.patch \
%D%/packages/patches/xapian-revert-5489fb2f8.patch \
%D%/packages/patches/xboing-CVE-2004-0149.patch \
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
%D%/packages/patches/xf86-video-geode-glibc-2.20.patch \
@ -1258,7 +1282,6 @@ dist_patch_DATA = \
%D%/packages/patches/xinetd-fix-fd-leak.patch \
%D%/packages/patches/xinetd-CVE-2013-4342.patch \
%D%/packages/patches/xmodmap-asprintf.patch \
%D%/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch \
%D%/packages/patches/zathura-plugindir-environment-variable.patch
MISC_DISTRO_FILES = \

View File

@ -9,7 +9,7 @@
;;; Copyright © 2016, 2017 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, 2017, 2018 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 Nils Gillmann <ng0@n0.is>
@ -45,6 +45,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system emacs)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
@ -125,7 +126,9 @@
`(("libgcrypt" ,libgcrypt)
("libgpg-error" ,libgpg-error)
("libmhash" ,libmhash)
("pcre:static" ,pcre "static")
("pcre" ,pcre)
("zlib:static" ,zlib "static")
("zlib" ,zlib)))
(synopsis "File and directory integrity checker")
(description
@ -225,13 +228,15 @@ interface and is based on GNU Guile.")
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir ,(string-append name "-" version))))
(chdir ,(string-append name "-" version))
#t))
(delete 'configure)
(add-before 'build 'patch
(lambda _
(substitute* "src/error.h"
(("extern int errno;")
"#include <errno.h>"))))
"#include <errno.h>"))
#t))
(replace 'build
(lambda _
(invoke "package/compile")))
@ -241,7 +246,8 @@ interface and is based on GNU Guile.")
(bin (string-append out "/bin")))
(for-each (lambda (file)
(install-file file bin))
(find-files "command"))))))))
(find-files "command")))
#t)))))
(synopsis "Tools for managing UNIX style services")
(description
"@code{daemontools} is a collection of tools for managing UNIX
@ -963,7 +969,7 @@ at once based on a Perl regular expression.")
#t))
(add-after 'install 'install-info
(lambda _
(zero? (system* "make" "install-info")))))))
(invoke "make" "install-info"))))))
(native-inputs `(("texinfo" ,texinfo)
("util-linux" ,util-linux))) ; for 'cal'
(home-page "https://www.gnu.org/software/rottlog/")
@ -979,7 +985,7 @@ system administrator.")
(define-public sudo
(package
(name "sudo")
(version "1.8.25p1")
(version "1.8.26")
(source (origin
(method url-fetch)
(uri
@ -989,7 +995,7 @@ system administrator.")
version ".tar.gz")))
(sha256
(base32
"0nqri46d4dpycj96zin2f2wszmhm7q9mr68hhj9sp81pgmx9rjcx"))
"1qpyyfga8rs02p3186sns8qvh2bzwa48ka845nrcqh83dyd23nj0"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1094,7 +1100,8 @@ commands and their arguments.")
CFLAGS += $(shell pkg-config libnl-3.0 --cflags)
CONFIG_LIBNL32=y
CONFIG_READLINE=y\n" port)
(close-port port))))
(close-port port))
#t))
(add-after 'install 'install-man-pages
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -1233,11 +1240,10 @@ This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
;; 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")))))))
(invoke "./configure"
(string-append "--prefix=" out)
(string-append "--mandir=" out
"/share/man"))))))
#:tests? #f))
(home-page "https://www.kernel.org") ; really, no home page
(synopsis "Send a wake-on-LAN packet")
@ -1339,25 +1345,30 @@ system is under heavy load.")
(define-public detox
(package
(name "detox")
(version "1.2.0")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/detox/detox/" version
"/detox-" version ".tar.bz2"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/dharple/detox.git")
(commit (string-append "v" version))))
(sha256
(base32
"1y6vvjqsg54kl49cry73jbfhr04s7wjs779vrr9zrq6kww7dkymb"))))
"1dd608c7g65s5lj02cddvani3q9kzirddgkjqa22ap9d4f8b9xgr"))))
(build-system gnu-build-system)
;; Both flex and popt are used in this case for their runtime libraries
;; (libfl and libpopt).
(inputs
`(("flex" ,flex)
("popt" ,popt)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("flex" ,flex)))
(arguments
`(#:configure-flags `(,(string-append "--with-popt="
(assoc-ref %build-inputs "popt")))
#:tests? #f)) ;no 'check' target
(home-page "http://detox.sourceforge.net")
`(#:tests? #f ;no 'check' target
#:phases (modify-phases %standard-phases
(add-after 'unpack 'delete-configure
;; The "configure" script is present, but otherwise the
;; project is not bootstrapped: missing install-sh and
;; Makefile.in, so delete it so the bootstrap phase will
;; take over.
(lambda _ (delete-file "configure") #t)))))
(home-page "https://github.com/dharple/detox")
(synopsis "Clean up file names")
(description
"Detox is a program that renames files to make them easier to work with
@ -1589,14 +1600,14 @@ of supported upstream metrics systems simultaneously.")
(define-public ansible
(package
(name "ansible")
(version "2.5.7")
(version "2.7.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ansible" version))
(sha256
(base32
"0wbsjjx3xjlm8g50a9j9c6p9rn23jx32yn1234bf5rmj1qgy3p85"))
"0p1n6yyc632522fl2r247p0jg4mncc7z4hqngzbh1zxq3dcb12s9"))
(patches (search-patches "ansible-wrap-program-hack.patch"))))
(build-system python-build-system)
(native-inputs
@ -1622,6 +1633,34 @@ ad hoc task execution, and multinode orchestration---including trivializing
things like zero-downtime rolling updates with load balancers.")
(license license:gpl3+)))
(define-public emacs-ansible-doc
(let ((commit "86083a7bb2ed0468ca64e52076b06441a2f8e9e0"))
(package
(name "emacs-ansible-doc")
(version (git-version "0.4" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lunaryorn/ansible-doc.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0lap404ch74w99n3xip176jr42b38xhyzkfnkyqg0g3wk2cd3aq8"))))
(build-system emacs-build-system)
;; Unmaintained by upstream.
(home-page "https://github.com/lunaryorn/ansible-doc.el")
(synopsis "Ansible documentation for Emacs")
(description
"This package provides an Ansible documentation for GNU Emacs.
@code{ansible-doc} allows you to view the documentation of an Ansible
module and @code{ansible-doc-mode} minor mode adds documentation
lookup to YAML Mode. You could enable the mode with @code{(add-hook
'yaml-mode-hook #'ansible-doc-mode)}.")
(license license:gpl3+))))
(define-public cpulimit
(package
(name "cpulimit")
@ -1639,20 +1678,18 @@ things like zero-downtime rolling updates with load balancers.")
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure)
(replace
'build
(lambda _
(zero? (system* "make" "CC=gcc" "-Csrc"))))
(replace
'check
(lambda _
(zero? (system* "make" "CC=gcc" "-Ctests"))))
(replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(install-file "src/cpulimit" bin)))))))
(replace 'build
(lambda _
(invoke "make" "CC=gcc" "-Csrc")))
(replace 'check
(lambda _
(invoke "make" "CC=gcc" "-Ctests")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(install-file "src/cpulimit" bin))
#t)))))
(home-page "https://github.com/opsengine/cpulimit")
(synopsis "Limit CPU usage")
(description
@ -1861,10 +1898,9 @@ done with the @code{auditctl} utility.")
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(define (make out . args)
(unless (zero? (apply system* "make"
(string-append "prefix=" out)
args))
(error "make failed")))
(apply invoke "make"
(string-append "prefix=" out)
args))
(define (python-path dir)
(string-append dir "/lib/python2.7/site-packages"))
(let ((out (assoc-ref outputs "out"))
@ -1878,13 +1914,14 @@ done with the @code{auditctl} utility.")
(make ndiff "install-ndiff")
(wrap-program (string-append ndiff "/bin/ndiff")
`("PYTHONPATH" prefix
(,(python-path ndiff)))))))
(,(python-path ndiff)))))
#t))
;; These are the tests that do not require network access.
(replace 'check
(lambda _ (zero? (system* "make"
"check-nse"
"check-ndiff"
"check-dns")))))
(lambda _ (invoke "make"
"check-nse"
"check-ndiff"
"check-dns"))))
;; Nmap can't cope with out-of-source building.
#:out-of-source? #f))
(home-page "https://nmap.org/")
@ -2190,15 +2227,15 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
#t))
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* "make" "tools" "misc" make-flags))))
(apply invoke "make" "tools" "misc" make-flags)))
(add-after 'build 'build-armhf
(lambda* (#:key make-flags #:allow-other-keys)
(setenv "LIBRARY_PATH" #f)
(zero? (apply system* "make" "target-tools" make-flags))))
(apply invoke "make" "target-tools" make-flags)))
(replace 'install
(lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* "make" "install-all" "install-misc"
make-flags)))))))
(apply invoke "make" "install-all" "install-misc"
make-flags))))))
(home-page "https://github.com/linux-sunxi/sunxi-tools")
(synopsis "Hardware management tools for Allwinner computers")
(description "This package contains tools for Allwinner devices:
@ -2452,26 +2489,20 @@ make it a perfect utility on modern distros.")
(version "1.7.2")
(source
(origin
(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
"15a6vb67y5wsmf0irrq7sxam18yqpz64130k83ryf24mp40h661b"))))
(method git-fetch)
(uri (git-reference
(url "https://github.com/01org/thermal_daemon")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1cs2pq8xvfnsvrhg2bxawk4kn3z1qmfrnpnhs178pvfbglzh15hc"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'bootstrap
(lambda _
(invoke "sh" "autogen.sh")
#t)))
#:configure-flags
`(#:configure-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "--sysconfdir="
out "/etc")
(string-append "--with-udev-dir="
out "/lib/udev")
(string-append "--with-dbus-sys-dir="
out "/etc/dbus-1/system.d")
"--localstatedir=/var"))))
@ -2843,3 +2874,82 @@ support forum. It runs with the @code{/exec} command in most IRC clients.")
(description "This package provides tools to manage clients of the
Logitech Unifying Receiver.")
(license license:gpl2)))
(define-public lynis
(package
(name "lynis")
(version "2.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/CISOfy/lynis")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0rzc0y8lk22bymf56249jzmllki2lh0rz5in4lkrc5fkmp29c2wv"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove proprietary plugins. As of now, all plugins supplied with
;; lynis are proprietary. In the future, if free plugins are
;; provided, whitelist them from deletion.
(for-each delete-file (find-files "plugins"))
#t))))
(build-system gnu-build-system)
(native-inputs
`(;; For tests
("lynis-sdk"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/CISOfy/lynis-sdk")
(commit "3310aef4f2b3dd97d166c96ad0253c89c4ad390d")))
(file-name (git-file-name "lynis-sdk" version))
(sha256
(base32
"0sqsrm5wal742yrwps8bqb8a8lxd93n4b93n3kkm1b30nbs25g7y"))))))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "lynis"
(("/usr/share/lynis")
(string-append (assoc-ref outputs "out") "/share/lynis")))
(substitute* "include/functions"
(("/usr/local/etc/lynis")
(string-append (assoc-ref outputs "out") "/etc/lynis")))
#t))
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "lynis" (string-append out "/bin/"))
(install-file "default.prf" (string-append out "/etc/lynis"))
(for-each
(lambda (dir)
(copy-recursively dir (string-append out "/share/lynis/" dir)))
(list "db" "include" "plugins"))
(install-file "lynis.8" (string-append out "/share/man/man8"))
#t)))
(replace 'check
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "lynis-sdk") "../lynis-sdk")
(setenv "LANG" "en_US.UTF-8")
(let ((lynis-dir (getcwd)))
(with-directory-excursion "../lynis-sdk"
(substitute* "config"
(("\\.\\./lynis") lynis-dir))
(substitute* "unit-tests/tests-language-translations.sh"
(("\\.\\./lynis") lynis-dir))
(invoke "sh" "lynis-devkit" "run" "unit-tests"))))))))
(home-page "https://cisofy.com/lynis/")
(synopsis "Security auditing tool")
(description "Lynis is a security auditing tool. It performs an in-depth
security scan and runs on the system itself. The primary goal is to test
security defenses and provide tips for further system hardening. It will also
scan for general system information, vulnerable software packages, and
possible configuration issues.")
(license license:gpl3+)))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
@ -139,7 +139,7 @@ solve the shortest vector problem.")
(define-public pari-gp
(package
(name "pari-gp")
(version "2.11.0")
(version "2.11.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -147,7 +147,7 @@ solve the shortest vector problem.")
version ".tar.gz"))
(sha256
(base32
"18f9yj8ffn3dxignbxj1x36771zbxy4js0r18mv6831ymb6cld9q"))))
"1jfax92jpydjd02fwl30r6b8kfzqqd6sm4yx94gidyz9lqjb7a94"))))
(build-system gnu-build-system)
(native-inputs `(("texlive" ,texlive-tiny)))
(inputs `(("gmp" ,gmp)
@ -179,7 +179,7 @@ PARI is also available as a C library to allow for faster computations.")
(define-public gp2c
(package
(name "gp2c")
(version "0.0.11")
(version "0.0.11pl1")
(source (origin
(method url-fetch)
(uri (string-append
@ -187,7 +187,7 @@ PARI is also available as a C library to allow for faster computations.")
version ".tar.gz"))
(sha256
(base32
"1z69xj2dpd8yyi8108rz26c50xpv0k2j8qnk0bzy1c5lw3pd1adm"))))
"1c6f6vmncw032kfzrfyr8bynw6yd3faxpy2285r009fmr0zxfs5s"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(inputs `(("pari-gp" ,pari-gp)))
@ -210,10 +210,40 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
(license license:gpl2)
(home-page "https://pari.math.u-bordeaux.fr/")))
(define-public cmh
(package
(name "cmh")
(version "1.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://gforge.inria.fr/frs/download.php/33497/cmh-"
version ".tar.gz"))
(sha256
(base32
"1a28xr9bs0igms0ik99x0w8lnb0jyfcmvyi26pbyh9ggcdivd33p"))))
(build-system gnu-build-system)
(inputs
`(("gmp" ,gmp)
("mpfr" ,mpfr)
("mpc" ,mpc)
("mpfrcx" ,mpfrcx)
("fplll" ,fplll)
("pari-gp" ,pari-gp)))
(synopsis "Igusa class polynomial computations")
(description
"The CMH software computes Igusa (genus 2) class polynomials, which
parameterize the CM points in the moduli space of 2-dimensional abelian
varieties, i.e. Jacobians of hyperelliptic curves.
It can also be used to compute theta constants at arbitrary
precision.")
(license license:gpl3+)
(home-page "http://cmh.gforge.inria.fr/")))
(define-public giac-xcas
(package
(name "giac-xcas")
(version "1.4.9-59")
(version "1.5.0-19")
(source (origin
(method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly
@ -225,16 +255,48 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
"source/giac_" version ".tar.gz"))
(sha256
(base32
"0dv5p5y6gkrsmz3xa7fw87rjyabwdwk09mqb09kb7gai9n9dgayk"))))
"0ds1zh712sr20qh0fih8jnm4nlv90andllp8n263qs7rlhblz551"))))
(build-system gnu-build-system)
(outputs '("out" "doc")) ;77MiB of documentation
(arguments
`(#:phases
`(#:modules ((ice-9 ftw)
(guix build utils)
(guix build gnu-build-system))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-bin-cp
;; Some Makefiles contain hard-coded "/bin/cp".
(lambda _
;; Some Makefiles contain hard-coded "/bin/cp".
(substitute* (find-files "doc" "^Makefile")
(("/bin/cp") (which "cp")))
#t))
(add-after 'unpack 'disable-failing-test
;; FIXME: Test failing. Not sure why.
(lambda _
(substitute* "check/Makefile.in"
(("chk_fhan11") ""))
#t))
(add-after 'install 'install-doc
;; Setting --docdir to "doc" output isn't sufficient as
;; documentation and examples are scattered throughout the source.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc"))
(docdir (string-append doc
"/share/doc/"
(string-append ,name "-" ,version))))
;; For some reason, the install process moves
;; "share/giac/examples" instead of "share/giac/doc" to
;; "$(docdir)". Clean up the mess and start over.
(delete-file-recursively (string-append doc "/share"))
(mkdir-p docdir)
(with-directory-excursion out
(for-each (lambda (f)
(unless (member f '("." ".."))
(copy-recursively (string-append "share/giac/" f)
(string-append docdir "/" f))))
(scandir "share/giac"))
(delete-file-recursively "share/giac")))
#t)))))
(inputs
`(("fltk" ,fltk)
@ -314,47 +376,47 @@ fast arithmetic.")
(define-public arb
(package
(name "arb")
(version "2.14.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/fredrik-johansson/arb/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0ncr27nd20xxi18nj30cvpa6r52v59nq7gbi34x3l4xym3p8mlmx"))))
(build-system gnu-build-system)
(propagated-inputs
`(("flint" ,flint))) ; flint.h is included by arf.h
(inputs
`(("gmp" ,gmp)
("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
(invoke "./configure"
(string-append "--prefix=" out)
(string-append "--with-flint=" flint)
(string-append "--with-gmp=" gmp)
(string-append "--with-mpfr=" mpfr))))))))
(synopsis "Arbitrary precision floating-point ball arithmetic")
(description
"Arb is a C library for arbitrary-precision floating-point ball
(name "arb")
(version "2.14.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fredrik-johansson/arb.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1ndxg7h4xvccjgp5l9z2f8b66dsff6fhf86bn5n7f75a1ksd7554"))))
(build-system gnu-build-system)
(propagated-inputs
`(("flint" ,flint))) ; flint.h is included by arf.h
(inputs
`(("gmp" ,gmp)
("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
(invoke "./configure"
(string-append "--prefix=" out)
(string-append "--with-flint=" flint)
(string-append "--with-gmp=" gmp)
(string-append "--with-mpfr=" mpfr))))))))
(synopsis "Arbitrary precision floating-point ball arithmetic")
(description
"Arb is a C library for arbitrary-precision floating-point ball
arithmetic. It supports efficient high-precision computation with
polynomials, power series, matrices and special functions over the
real and complex numbers, with automatic, rigorous error control.")
(license license:lgpl2.1+)
(home-page "http://fredrikj.net/arb/")))
(license license:lgpl2.1+)
(home-page "http://fredrikj.net/arb/")))
(define-public ntl
(package
@ -506,13 +568,14 @@ syntax is similar to that of C, so basic usage is familiar. It also includes
(name "kiss-fft-for-extempore")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/extemporelang/kiss_fft/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/extemporelang/kiss_fft.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0hkp9l6l4c92fb1l2sh6a6zv1hynpvb2s4d03vd8vxyvybc0l4pv"))))
"0jasbmqy4wkqrqx3w64s1dfmj34875xmsl72mb26aa4hpyn14bi2"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; no tests included
;; Extempore refuses to build on architectures other than x86_64

View File

@ -108,7 +108,7 @@ use their packages mostly unmodified in our Android NDK build system.")
;; Big thanks to them for laying the groundwork.
;; The version tag is consistent between all repositories.
(define (android-platform-version) "7.1.2_r6")
(define (android-platform-version) "7.1.2_r36")
(define (android-platform-system-core version)
(origin
@ -120,7 +120,7 @@ use their packages mostly unmodified in our Android NDK build system.")
version "-checkout"))
(sha256
(base32
"0xc2n7jxrf1iw9cc278pijdfjix2fkiig5ws27f6rwp40zg5mrgg"))
"1krnc2b9zfkzpdgs1dcbji59nszlx2qr723pg89m52622czc06hg"))
(patches
(search-patches "libbase-use-own-logging.patch"
"libbase-fix-includes.patch"
@ -151,7 +151,7 @@ use their packages mostly unmodified in our Android NDK build system.")
version "-checkout"))
(sha256
(base32
"0n9wkz3ynqw39if1ss9n32m66iga14nndf29hpm7g1aqn4wvvgzk"))))
"15r4s20d7vw022f8vrc3jbghmqwdcqzprl7i2bfvdkz8z76wc1ps"))))
(define (android-platform-external version subdirectory checksum)
(origin
@ -339,6 +339,13 @@ various Android core host applications.")
(modify-phases %standard-phases
(add-after 'unpack 'enter-source
(lambda _ (chdir "adb") #t))
(add-after 'enter-source 'glibc-compat
(lambda _
;; Include sysmacros.h for "major" and "minor" in Glibc 2.28.
(substitute* "usb_linux.cpp"
(("#include <sys/types.h>" all)
(string-append all "\n#include <sys/sysmacros.h>\n")))
#t))
(add-after 'enter-source 'make-libs-available
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "Android.mk"

156
gnu/packages/antivirus.scm Normal file
View File

@ -0,0 +1,156 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Christopher Baines <mail@cbaines.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 antivirus)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages flex)
#:use-module (gnu packages llvm)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages xml))
(define-public clamav
(package
(name "clamav")
(version "0.100.2")
(source (origin
(method url-fetch)
(uri (string-append "https://www.clamav.net/downloads/production/"
"clamav-" version ".tar.gz"))
(sha256
(base32
"1mkd41sxbjkfjinpx5b9kb85q529gj2s3d0klysssqhysh64ybja"))
(modules '((guix build utils)))
(snippet
'(begin
(for-each delete-file-recursively
'("win32" ;unnecessary
"libclamav/c++/llvm" ;use system llvm
"libclamunrar")))) ;non-free license
(patches
(search-patches "clamav-system-tomsfastmath.patch"
"clamav-config-llvm-libs.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
("check" ,check) ;for tests
("flex" ,flex)
("pkg-config" ,pkg-config)
;; The tomsfastmath patch touches configure.ac and Makefile.am
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(inputs
`(("bzip2" ,bzip2)
("libcurl" ,curl)
("libjson" ,json-c)
("libltdl" ,libltdl)
("libmspack" ,libmspack)
("llvm" ,llvm-3.6) ;requires <3.7, for JIT/verifier
("ncurses" ,ncurses)
("openssl" ,libressl)
("pcre" ,pcre "bin") ;for pcre-config
("sasl" ,cyrus-sasl) ;for linking curl with libtool
("tomsfastmath" ,tomsfastmath)
("xml" ,libxml2)
("zlib" ,zlib)))
(arguments
`(#:configure-flags
(let-syntax ((with (syntax-rules ()
((_ name)
(string-append "--with-" name "="
(assoc-ref %build-inputs name))))))
(list "--disable-unrar"
"--enable-llvm"
"--with-system-llvm"
"--with-system-libmspack"
"--without-included-ltdl"
(with "xml")
(with "openssl")
(with "libjson")
(with "pcre")
(with "zlib")
(with "libcurl")
;; For sanity, specifying --enable-* flags turns
;; "support unavailable" warnings into errors.
"--enable-bzip2"
"--enable-check"
"--sysconfdir=/etc/clamav"
;; Default database directory needs to be writeable
"--with-dbdir=/var/db/clamav"))
;; install sample .conf files to %output/etc rather than /etc/clamav
#:make-flags (list (string-append "sysconfdir=" %output "/etc"))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'reconf
(lambda _ (zero? (system* "autoreconf" "-vfi"))))
(add-before 'configure 'patch-llvm-config
(lambda _
(substitute* '("libclamav/c++/detect.cpp"
"libclamav/c++/ClamBCRTChecks.cpp"
"libclamav/c++/bytecode2llvm.cpp")
(("llvm/Config/config.h") "llvm/Config/llvm-config.h"))
;; `llvm-config --libfiles` inappropriately lists lib*.a
;; libraries, rather than the lib*.so's that our llvm
;; contains. They're used only for listing extra build
;; dependencies, so ignore them until that's fixed.
(substitute* "libclamav/c++/Makefile.in"
(("@LLVMCONFIG_LIBFILES@") ""))
#t))
(add-before 'check 'skip-clamd-tests
;; XXX: The check?_clamd tests fail inside the build
;; chroot, but pass outside.
(lambda _
(substitute* "unit_tests/Makefile"
(("check2_clamd.sh.*check4_clamd.sh") ""))
#t)))))
(home-page "https://www.clamav.net")
(synopsis "Antivirus engine")
(description
"Clam AntiVirus is an anti-virus toolkit, designed especially for e-mail
scanning on mail gateways. It provides a number of utilities including a
flexible and scalable multi-threaded daemon, a command line scanner, and
advanced tool for automatic database updates. The core of the package is an
anti-virus engine available in the form of a shared library.")
(license (list license:gpl2+ ;ClamAV itself
license:lgpl2.1 ;libclamav/mspack.[ch]
license:public-domain ;libclamav/7z/*, libclamav/rijndael.[ch], etc...
(package-license bzip2) ;modified bzip2 source in libclamav/nsis
license:bsd-2 ;several files in libclamav
license:bsd-3 ;libclamav/{regex,qsort.c,swf.[ch]
license:ncsa ;libclamav/c++/PointerTracking.cpp
license:zlib ;libclamav/inf*.h
license:x11 ;libclamav/lzw
(license:non-copyleft "libclamav/strlcat.c") ;"OpenBSD" license
license:asl2.0 ;libclamav/yara*
license:expat)))) ;shared/getopt.[ch]

View File

@ -15,6 +15,8 @@
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Brett Gilio <brettg@posteo.net>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -427,6 +429,46 @@ and editing digital audio. It features digital effects and spectrum analysis
tools.")
(license license:gpl2+)))
(define-public autotalent
(package
(name "autotalent")
(version "0.2")
(source (origin
(method url-fetch)
(uri (string-append "http://tombaran.info/autotalent-"
version ".tar.gz"))
(sha256
(base32
"1n04qm66f14195ly6gsy3ra7v2j7zad5n19d8dwfmh0qs6h9hphh"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
;; no configure script
(delete 'configure)
(add-before 'install 'prepare-target-directory
(lambda* (#:key outputs #:allow-other-keys)
(mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
#t))
(add-after 'unpack 'override-target-directory
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
(("/usr/lib64/ladspa")
(string-append (assoc-ref outputs "out") "/lib/ladspa")))
#t)))))
(inputs
`(("ladspa" ,ladspa)))
(home-page "http://tombaran.info/autotalent.html")
(synopsis "Pitch-correction LADSPA audio plugin")
(description
"Autotalent is a LADSPA plugin for real-time pitch-correction. Among its
controls are allowable notes, strength of correction, LFO for vibrato and
formant warp.")
;; All code except the FFT routine is licensed under GPLv2+.
;; The FFT routine is under BSD-3.
(license license:gpl2+)))
(define-public azr3
(package
(name "azr3")
@ -514,6 +556,47 @@ tools (analyzer, mono/stereo tools, crossovers).")
;; The plugins are released under LGPLv2.1+
(license (list license:lgpl2.1+ license:gpl2+))))
(define-public caps-plugins-lv2
(package
(name "caps-plugins-lv2")
(version "0.9.24") ; version that has been ported.
(source
(origin
;; The Github project hasn't tagged a release.
(method git-fetch)
(uri (git-reference
;; Actually https://github.com/moddevices/caps-lv2.git, but it's
;; missing fixes for newer glibc, so using the origin of a pull
;; request regarding this issue:
(url "https://github.com/jujudusud/caps-lv2.git")
(commit "9c9478b7fbd8f9714f552ebe2a6866398b0babfb")))
(file-name (git-file-name name version))
(sha256
(base32
"1idfnazin3cca41zw1a8vwgnxjnkrap7bxxjamjqvgpmvydgcam1"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
;; no configure script
(delete 'configure)
(add-after 'unpack 'override-target-directory
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (find-files "plugins" "Makefile")
(("/usr/local")(assoc-ref outputs "out")))
#t)))))
(inputs
`(("lv2" ,lv2)))
;; home-page of the original LADSPA version: http://quitte.de/dsp/caps.html
(home-page "https://github.com/moddevices/caps-lv2")
(synopsis "LV2 port of the CAPS audio plugin colection")
(description
"LV2 port of CAPS, a collection of audio plugins comprising basic virtual
guitar amplification and a small range of classic effects, signal processors and
generators of mostly elementary and occasionally exotic nature.")
(license license:gpl3+)))
(define-public espeak
(package
(name "espeak")
@ -572,13 +655,14 @@ based on human speech recordings.")
(name "infamous-plugins")
(version "0.2.04")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ssj71/infamousPlugins/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/ssj71/infamousPlugins.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1n6rhqsmvad7692w2h01niw5gqg5yk7a09wxl5ivs77zyp93vf7z"))))
"0hmqk80w4qxq09iag7b7srf2g0wigkyhzq0ywxvhz2iz0hq9k0dh"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests
@ -610,13 +694,14 @@ envelope follower, distortion effects, tape effects and more.")
(name "swh-plugins-lv2")
(version "1.0.16")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/swh/"
"lv2/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/swh/lv2.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0j1mih0lp4fds07knp5i32in515sh0df1qi6694pmyz2wqnm295w"))))
"0y7nnww864mm4k6ayy2lhcws3wlbhb2gkyjbrwk921fvc18qk9mz"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
@ -654,14 +739,14 @@ emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.")
(name "csound")
(version "6.11.0")
(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"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/csound/csound.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"072pk5h9w0vhw0ncc9dn90haw1yv18v04iwwjn8nsp6930w7dvxd"))))
"1hlkrnv3gghx4v382nl6v6k2k1dzm5ddk35m5g3q6pzc959726s7"))))
(build-system cmake-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
@ -713,7 +798,8 @@ language and software synthesizer.")
(lambda _
(symlink "libclalsadrv.so"
(string-append (assoc-ref %outputs "out")
"/lib/libclalsadrv.so.2"))))
"/lib/libclalsadrv.so.2"))
#t))
;; no configure script
(delete 'configure))))
(inputs
@ -1042,7 +1128,7 @@ follower.")
(define-public fluidsynth
(package
(name "fluidsynth")
(version "2.0.1")
(version "2.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1051,7 +1137,7 @@ follower.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1mqyym5qkh8xd1rqj3yhfxbw5dxjcrljb6nkfqzvcarlv4h6rjn7"))))
"02vs5sfsyh1dl7wlcvgs4w3x0qcmsl7vi000qgp99ynwh3wjb274"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no check target
@ -1174,19 +1260,15 @@ PS, and DAB+.")
(define-public faust-2
(package
(inherit faust)
(version "2.1.0")
(version "2.5.23")
(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 "https://github.com/grame-cncm/faust/"
"releases/download/" version
"/faust-" version ".tar.gz"))
(sha256
(base32
"06km0ygwxxwgw1lqldccqidxhmjfz8ck0wnbd95qk5sg8sbpc068"))))
"1yz5jnr76hh7rmxkpdi7gyrw1wp4gyqfpq8zyl97qdi5ga5gjznq"))))
(build-system gnu-build-system)
(arguments
(substitute-keyword-arguments (package-arguments faust)
@ -1194,7 +1276,7 @@ PS, and DAB+.")
`(list (string-append "prefix=" (assoc-ref %outputs "out"))
"world"))))
(native-inputs
`(("llvm" ,llvm-with-rtti)
`(("llvm" ,llvm-3.8)
("which" ,which)
("xxd" ,xxd)
("ctags" ,emacs-minimal) ; for ctags
@ -1486,7 +1568,8 @@ synchronous execution of all clients, and low latency operation.")
((".*CFLAGS.*-Wall.*" m)
(string-append m
" conf.env.append_unique('LINKFLAGS',"
"'-Wl,-rpath=" %output "/lib')\n")))))
"'-Wl,-rpath=" %output "/lib')\n")))
#t))
(add-after 'install 'wrap-python-scripts
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Make sure 'jack_control' runs with the correct PYTHONPATH.
@ -1522,6 +1605,7 @@ synchronous execution of all clients, and low latency operation.")
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-before
@ -1569,19 +1653,20 @@ plugin function as a JACK application.")
(arguments
`(#:tests? #f ; the "test" target is a listening test only
#:phases
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
(chdir "src")
(let ((out (assoc-ref outputs "out")))
(substitute* "makefile"
(("/usr/lib/ladspa/") (string-append out "/lib/ladspa/"))
(("/usr/include/") (string-append out "/include/"))
(("/usr/bin/") (string-append out "/bin/"))
(("-mkdirhier") "mkdir -p")
(("^CC.*") "CC = gcc\n")
(("^CPP.*") "CPP = g++\n"))))
(alist-delete 'build %standard-phases))))
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
(chdir "src")
(let ((out (assoc-ref outputs "out")))
(substitute* "makefile"
(("/usr/lib/ladspa/") (string-append out "/lib/ladspa/"))
(("/usr/include/") (string-append out "/include/"))
(("/usr/bin/") (string-append out "/bin/"))
(("-mkdirhier") "mkdir -p")
(("^CC.*") "CC = gcc\n")
(("^CPP.*") "CPP = g++\n")))
#t))
(delete 'build))))
;; Since the home page is gone, we provide a link to the archived version.
(home-page
"https://web.archive.org/web/20140729190945/http://www.ladspa.org/")
@ -1881,14 +1966,14 @@ software.")
(name "lvtk")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/lvtk/lvtk/archive/"
version
".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/lvtk/lvtk.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd"))))
"1b01zvzl70ana6l1kn8fgyr7msnn3c7x61cgw7fdpp50322352p8"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
@ -2012,7 +2097,9 @@ buffers, and audio capture.")
(base32
"1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb"))))
(build-system waf-build-system)
(arguments `(#:tests? #f)) ; no check target
(arguments
`(#:tests? #f ; no check target
#:python ,python-2))
(inputs
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
@ -2033,14 +2120,14 @@ and ALSA.")
(define-public qjackctl
(package
(name "qjackctl")
(version "0.5.4")
(version "0.5.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
version "/qjackctl-" version ".tar.gz"))
(sha256
(base32
"0qr71nb93gkz5q53nfcl5g168z173wc6s8w1yjs3rfn3m4hg0bcq"))))
"1rzzqa39a6llr52vjkjr0a86nc776kmr5xs52qqga8ms9697psz5"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f)) ; no check target
@ -2096,7 +2183,7 @@ background file post-processing.")
(define-public supercollider
(package
(name "supercollider")
(version "3.9.2")
(version "3.10.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -2105,7 +2192,7 @@ background file post-processing.")
"/SuperCollider-" version "-Source-linux.tar.bz2"))
(sha256
(base32
"0d3cb6dw8jz7ijriqn3rlwin24gffczp69hl17pzxj1d5w57yj44"))))
"16j9psa32czx1p1y2vvq0qf2ib0ngrfc604vx35n2b4llyika84v"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on"
@ -2117,6 +2204,12 @@ background file post-processing.")
(ice-9 ftw))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-build-with-boost-1.68
(lambda _
(substitute* "server/supernova/utilities/time_tag.hpp"
(("(time_duration offset = .+ microseconds\\().*" _ m)
(string-append m "static_cast<long>(get_nanoseconds()/1000));\n")))
#t))
(add-after 'unpack 'rm-bundled-libs
(lambda _
;; The build system doesn't allow us to unbundle the following
@ -2137,13 +2230,13 @@ background file post-processing.")
;; https://github.com/supercollider/supercollider/issues/1736
(add-after 'rm-bundled-libs 'disable-broken-tests
(lambda _
(substitute* "testsuite/supernova/CMakeLists.txt"
(substitute* "testsuite/server/supernova/CMakeLists.txt"
(("server_test.cpp")
"")
(("perf_counter_test.cpp")
""))
(delete-file "testsuite/supernova/server_test.cpp")
(delete-file "testsuite/supernova/perf_counter_test.cpp")
(delete-file "testsuite/server/supernova/server_test.cpp")
(delete-file "testsuite/server/supernova/perf_counter_test.cpp")
(substitute* "testsuite/CMakeLists.txt"
(("add_subdirectory\\(sclang\\)")
""))
@ -2181,7 +2274,7 @@ external_libraries/yaml-cpp/include)"))
("eudev" ,eudev) ;for user interactions with devices
("avahi" ,avahi) ;zeroconf service discovery support
("icu4c" ,icu4c)
("boost" ,boost)
("boost" ,boost-cxx14)
("boost-sync" ,boost-sync)
("yaml-cpp" ,yaml-cpp)))
(home-page "https://github.com/supercollider/supercollider")
@ -2274,36 +2367,32 @@ tempo and pitch of an audio recording independently of one another.")
(name "rtmidi")
(version "2.1.0")
(source (origin
(method url-fetch)
(uri
(string-append "https://github.com/powertab/rtmidi/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/powertab/rtmidi.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0d49lapnmdgmjxh4vw57h6xk74nn5r0zwysv7jbd7m8kqhpq5rjj"))))
"106v177y3nrjv2l1yskch4phpqd8h97b67zj0jiq9pc3c69jr1ay"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
#:phases (modify-phases %standard-phases
(add-after
'unpack 'autoconf
(lambda _ (invoke "autoreconf" "-vfi")))
(add-before
'build 'fix-makefile
(lambda _
(substitute* "Makefile"
(("/bin/ln") "ln")
(("RtMidi.h RtError.h") "RtMidi.h"))
#t))
(add-before
'install 'make-target-dirs
(lambda _
(let ((out (assoc-ref %outputs "out")))
(mkdir-p (string-append out "/bin"))
(mkdir (string-append out "/lib"))
(mkdir (string-append out "/include")))
#t)))))
#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-makefile
(lambda _
(substitute* "Makefile"
(("/bin/ln") "ln")
(("RtMidi.h RtError.h") "RtMidi.h"))
#t))
(add-before 'install 'make-target-dirs
(lambda _
(let ((out (assoc-ref %outputs "out")))
(mkdir-p (string-append out "/bin"))
(mkdir (string-append out "/lib"))
(mkdir (string-append out "/include")))
#t)))))
(inputs
`(("jack" ,jack-1)
("alsa-lib" ,alsa-lib)))
@ -2360,6 +2449,7 @@ the Turtle syntax.")
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
#:python ,python-2 ;XXX: The bundled waf does not work with Python 3.7.0.
#:configure-flags
'("CXXFLAGS=-std=gnu++11")))
(inputs
@ -2508,7 +2598,8 @@ analysis plugins or audio feature extraction plugins.")
(symlink
(string-append (assoc-ref inputs "automake") "/share/automake-"
,(package-version automake) "/ar-lib")
"ar-lib"))))))
"ar-lib")
#t)))))
(home-page "http://sbsms.sourceforge.net/")
(synopsis "Library for time stretching and pitch scaling of audio")
(description
@ -2753,20 +2844,14 @@ portions of LAME.")
;; TODO: Add ASIHPI.
`(("alsa-lib" ,alsa-lib)
("jack" ,jack-1)))
;; Autoreconf is necessary because the audacity-compat patch modifies .in
;; files.
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(arguments
'(#:phases
;; Autoreconf is necessary because the audacity-compat patch modifies
;; .in files.
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _
(invoke "autoreconf" "-vif"))))
#:tests? #f)) ;no 'check' target
(arguments '(#:tests? #f)) ;no 'check' target
(home-page "http://www.portaudio.com/")
(synopsis "Audio I/O library")
(description
@ -2778,7 +2863,7 @@ interface.")
(define-public qsynth
(package
(name "qsynth")
(version "0.5.3")
(version "0.5.4")
(source
(origin
(method url-fetch)
@ -2786,7 +2871,7 @@ interface.")
"/qsynth-" version ".tar.gz"))
(sha256
(base32
"1jghczmmva7cyavg1q0j8nr3hmjpzzglzi5ckg92ax4ji8gpks9c"))))
"0kpq5fxr96wnii18ax780w1ivq8ksk892ac0bprn92iz0asfysrd"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" phase
@ -2812,12 +2897,13 @@ synthesizer written in C++.")
(version "1.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/Themaister/RSound/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/Themaister/RSound.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1wzs40c0k5zpkmm5ffl6c17xmr399sxli7ys0fbb9ib0fd334knx"))))
(base32 "0gspmr3klwnq98h17p5hc6ifygya4p80g4g8r7a1qavm3mv19waf"))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
@ -2850,14 +2936,14 @@ with a much different focus than most other audio daemons.")
(name "xjackfreak")
(version "1.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/johnhldavis/xjackfreak/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/johnhldavis/xjackfreak.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0xj6gpxfnw9jbdgwgm0x23xgfvj2kwmwb1nk0drw8lxgcchkq7d9"))))
"18c546qidbrj0f5wfiq5llii2192xpln0ab3r4vpr7i3wybxqjfz"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@ -2909,12 +2995,14 @@ result.")
(substitute* "libs/Makefile"
(("ldconfig") "true")
(("^LIBDIR =.*") "LIBDIR = lib\n"))
(chdir "libs") #t))
(chdir "libs")
#t))
(add-after 'install 'install-symlink
(lambda _
(symlink "libzita-convolver.so"
(string-append (assoc-ref %outputs "out")
"/lib/libzita-convolver.so.3"))))
"/lib/libzita-convolver.so.3"))
#t))
;; no configure script
(delete 'configure))))
(inputs `(("fftwf" ,fftwf)))
@ -2964,7 +3052,8 @@ engine.")
(lambda _
(symlink "libzita-resampler.so"
(string-append (assoc-ref %outputs "out")
"/lib/libzita-resampler.so.1"))))
"/lib/libzita-resampler.so.1"))
#t))
;; no configure script
(delete 'configure))))
(home-page "https://kokkinizita.linuxaudio.org/linuxaudio/zita-resampler/resampler.html")
@ -3005,7 +3094,8 @@ provide high-quality sample rate conversion.")
(lambda _
(symlink "libzita-alsa-pcmi.so"
(string-append (assoc-ref %outputs "out")
"/lib/libzita-alsa-pcmi.so.0"))))
"/lib/libzita-alsa-pcmi.so.0"))
#t))
;; no configure script
(delete 'configure))))
(inputs
@ -3025,15 +3115,16 @@ point audio data.")
(name "cuetools")
(version "1.4.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/svend/cuetools/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/svend/cuetools.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"01xi3rvdmil9nawsha04iagjylqr1l9v9vlzk99scs8c207l58i4"))))
"02ksv1ahf1v4cr2xbclsfv5x17m9ivzbssb5r8xjm97yh8a7spa3"))))
(build-system gnu-build-system)
;; The source tarball is not bootstrapped.
;; The source checkout is not bootstrapped.
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@ -3074,13 +3165,14 @@ use them split WAVE data into multiple files.")
(name "dcadec")
(version "0.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/foo86/dcadec/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/foo86/dcadec.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0i0dpypgqkhhi4v1fmsp2way6w9kbcix3c7q79pmg39yvrzj17gd"))))
"07nd0ajizrp1w02bsyfcv18431r8m8rq8gjfmz9wmckpg7cxj2hs"))))
(build-system gnu-build-system)
(arguments
;; Test files are missing: https://github.com/foo86/dcadec/issues/53
@ -3107,7 +3199,7 @@ with support for HD extensions.")
(define-public bs1770gain
(package
(name "bs1770gain")
(version "0.5.0")
(version "0.5.1")
(source
(origin
(method url-fetch)
@ -3115,7 +3207,7 @@ with support for HD extensions.")
version "/bs1770gain-" version ".tar.gz"))
(sha256
(base32
"0vd7320k7s2zcn2vganclxbr1vav18ghld27rcwskvcc3dm8prii"))))
"0r4fbajgfmnwgl63hcm56f1j8m5f135q6j5jkzdvrrhpcj39yx06"))))
(build-system gnu-build-system)
(inputs `(("ffmpeg" ,ffmpeg)
("sox" ,sox)))
@ -3188,7 +3280,8 @@ code, used in @code{libtoxcore}.")
(mkdir-p (string-append out "/man/man1"))
(mkdir-p (string-append out "/man/man3"))
(mkdir-p (string-append out "/bin"))
(mkdir-p (string-append out "/lib")))))
(mkdir-p (string-append out "/lib")))
#t))
(add-after 'install 'post-install
(lambda _
(let ((out (assoc-ref %outputs "out")))
@ -3196,7 +3289,8 @@ code, used in @code{libtoxcore}.")
(string-append out "/include"))
(mkdir-p (string-append out "/include/gsm"))
(copy-recursively "inc"
(string-append out "/include/gsm")))))
(string-append out "/include/gsm")))
#t))
(delete 'configure)))) ; no configure script
(synopsis "GSM 06.10 lossy speech compression library")
(description "This C library provides an encoder and a decoder for the GSM
@ -3385,13 +3479,14 @@ the following features:
(version "1.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/dpayne/cli-visualizer/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/dpayne/cli-visualizer.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"07zkm87f2fr8kc6531zrkya7q81sdanm6813y2f54mg13g41y6hi"))))
"0mirp8bk398di5xyq95iprmdyvplfghxqmrfj7jdnpy554vx7ppc"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)))
@ -3439,14 +3534,14 @@ representations.")
(name "cava")
(version "0.6.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/karlstav/cava/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/karlstav/cava.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"13d72swnjs894llf0paandmhf1lf90dz6ygkcdw4bv84wzkq1f4q"))))
"1kvhqgijs29909w3sq9m0bslx2zxxn4b3i07kdz4hb0dqkppxpjy"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@ -3471,14 +3566,16 @@ representations.")
(invoke "sh" "autogen.sh")))
(add-before 'build 'make-cava-ldflags
(lambda* (#:key outputs #:allow-other-keys)
(mkdir-p (string-append (assoc-ref outputs "out") "/lib"))))
(mkdir-p (string-append (assoc-ref outputs "out") "/lib"))
#t))
(add-after 'install 'data
(lambda* (#:key outputs #:allow-other-keys)
(for-each (lambda (file)
(install-file file
(string-append (assoc-ref outputs "out")
"/share/doc/examples")))
(find-files "example_files")))))))
(find-files "example_files"))
#t)))))
(home-page "https://karlstav.github.io/cava/")
(synopsis "Console audio visualizer for ALSA, MPD, and PulseAudio")
(description "C.A.V.A. is a bar audio spectrum visualizer for the terminal
@ -3517,3 +3614,72 @@ using ALSA, MPD, PulseAudio, or a FIFO buffer as its input.")
(synopsis "Pro-quality GM soundfont")
(description "Fluid-3 is Frank Wen's pro-quality GM soundfont.")
(license license:expat))))
(define-public libfdk
(let ((commit "2326faaf8f2cdf2c3a9108ccdaf1d7551aec543e")
(revision "0"))
(package
(name "libfdk")
;; The latest upstream revision, with many bug fixes.
(version (git-version "0.1.6" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mstorsjo/fdk-aac")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0yy6ndd9d61bwl283vl1r5kva2a4acc0f4r9g0sza156f2abr9ws"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(home-page "https://github.com/mstorsjo/fdk-aac")
(synopsis "Fraunhofer FDK AAC library")
(description "FDK is a library for encoding and decoding Advanced Audio
Coding (AAC) format audio, developed by Fraunhofer IIS, and included as part of
Android. It supports several Audio Object Types including MPEG-2 and MPEG-4 AAC
LC, HE-AAC (AAC LC + SBR), HE-AACv2 (LC + SBR + PS) as well AAC-LD (low delay)
and AAC-ELD (enhanced low delay) for real-time communication. The encoding
library supports sample rates up to 96 kHz and up to eight channels (7.1
surround).")
(license (license:fsf-free "https://github.com/mstorsjo/fdk-aac/blob/master/NOTICE"
"https://www.gnu.org/licenses/license-list.html#fdk")))))
(define-public libopenshot-audio
(package
(name "libopenshot-audio")
(version "0.1.7")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OpenShot/libopenshot-audio")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"08a8wbi28kwrdz4h0rs1b9vsr28ldfi8g75q54rj676y1vwg3qys"))))
(build-system cmake-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
;; The following are for JUCE GUI components:
("libx11" ,libx11)
("freetype" ,freetype)
("libxrandr" ,libxrandr)
("libxinerama" ,libxinerama)
("libxcursor" ,libxcursor)))
(arguments
`(#:tests? #f ;there are no tests
#:configure-flags
(list (string-append "-DCMAKE_CXX_FLAGS=-I"
(assoc-ref %build-inputs "freetype")
"/include/freetype2"))))
(home-page "https://openshot.org")
(synopsis "Audio editing and playback for OpenShot")
(description "OpenShot Audio Library (libopenshot-audio) allows
high-quality editing and playback of audio, and is based on the JUCE
library.")
(license license:lgpl3+)))

View File

@ -11,6 +11,7 @@
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,6 +31,7 @@
(define-module (gnu packages backup)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
@ -132,22 +134,18 @@ spying and/or modification by the server.")
(name "par2cmdline")
(version "0.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/Parchive/par2cmdline/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/Parchive/par2cmdline.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1jpshmmcr81mxly0md2rr231qz9c8c680bbvcmhh100dg9i4a6s6"))))
"0f1jsd5sw2wynjzi7yjqjaf13yhyjfdid91p8yh0jn32y03kjyrz"))))
(native-inputs
`(("automake" ,automake)
("autoconf" ,autoconf)))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _ (invoke "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
@ -493,15 +491,14 @@ detection, and lossless compression.")
(define-public borg
(package
(name "borg")
(version "1.1.7")
(version "1.1.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
(patches (search-patches "borg-respect-storage-quota.patch"))
(sha256
(base32
"1p3zia62vyg9vadkdjzzkzbj4dmgijr7ix5lmhfbxpwy5q9imdgp"))
"0qqvcscn1l4y83x4sh3izdpmr8zq38j8chjkpfq4q4d01i470hqb"))
(modules '((guix build utils)))
(snippet
'(begin
@ -889,6 +886,7 @@ is like a time machine for your data. ")
,version)
;; Disable 'restic self-update'. It makes little sense in Guix.
(substitute* "build.go" (("selfupdate") ""))
(setenv "HOME" (getcwd)) ; for $HOME/.cache/go-build
(invoke "go" "run" "build.go"))))
(replace 'check

View File

@ -577,7 +577,9 @@ store.")
(export make-ld-wrapper)
(define-public glibc/linux
(define-public glibc
;; This is the GNU C Library, used on GNU/Linux and GNU/Hurd. Prior to
;; version 2.28, GNU/Hurd used a different glibc branch.
(package
(name "glibc")
;; Note: Always use a dot after the minor version since various places rely
@ -609,8 +611,13 @@ store.")
(build-system gnu-build-system)
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
;; users should automatically pull Linux headers as well.
(propagated-inputs `(("kernel-headers" ,linux-libre-headers)))
;; users should automatically pull Linux headers as well. On GNU/Hurd,
;; libc provides <hurd.h>, which includes a bunch of Hurd and Mach headers,
;; so both should be propagated.
(propagated-inputs
(if (hurd-target?)
`(("hurd-core-headers" ,hurd-core-headers))
`(("kernel-headers" ,linux-libre-headers))))
(outputs '("out" "debug"
"static")) ;9 MiB of .a files
@ -665,7 +672,13 @@ store.")
;; Use our Bash instead of /bin/sh.
(string-append "BASH_SHELL="
(assoc-ref %build-inputs "bash")
"/bin/bash"))
"/bin/bash")
;; On GNU/Hurd we get discarded-qualifiers warnings for
;; 'device_write_inband' among other things. Ignore them.
,@(if (hurd-target?)
'("--disable-werror")
'()))
#:tests? #f ; XXX
#:phases (modify-phases %standard-phases
@ -770,7 +783,18 @@ store.")
(filter linker-script?
(map (cut string-append slib "/" <>)
files)))
#t))))))
#t)))
,@(if (hurd-target?)
'((add-after 'install 'augment-libc.so
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(substitute* (string-append out "/lib/libc.so")
(("/[^ ]+/lib/libc.so.0.3")
(string-append out "/lib/libc.so.0.3"
" libmachuser.so libhurduser.so"))))
#t)))
'()))))
(inputs `(("static-bash" ,static-bash)))
@ -779,7 +803,12 @@ store.")
(native-inputs `(("texinfo" ,texinfo)
("perl" ,perl)
("bison" ,bison)
("gettext" ,gettext-minimal)))
("gettext" ,gettext-minimal)
,@(if (hurd-target?)
`(("mig" ,mig)
("perl" ,perl))
'())))
(native-search-paths
;; Search path for packages that provide locale data. This is useful
@ -801,89 +830,6 @@ with the Linux kernel.")
(license lgpl2.0+)
(home-page "https://www.gnu.org/software/libc/")))
(define-public glibc/hurd
;; The Hurd's libc variant.
(package (inherit glibc/linux)
(name "glibc-hurd")
(version "2.23")
(source (origin
(method url-fetch)
(uri (string-append "http://alpha.gnu.org/gnu/hurd/glibc-"
version "-hurd+libpthread-20161218" ".tar.gz"))
(sha256
(base32
"0vpdv05j6j3ria5bw8gp468i64gij94cslxkxj9xkfgi6p615b8p"))))
;; Libc provides <hurd.h>, which includes a bunch of Hurd and Mach headers,
;; so both should be propagated.
(propagated-inputs `(("hurd-core-headers" ,hurd-core-headers)))
(native-inputs
`(,@(package-native-inputs glibc/linux)
("mig" ,mig)
("perl" ,perl)))
(arguments
(substitute-keyword-arguments (package-arguments glibc/linux)
((#:phases original-phases)
;; 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
(add-after 'install 'augment-libc.so
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(substitute* (string-append out "/lib/libc.so")
(("/[^ ]+/lib/libc.so.0.3")
(string-append out "/lib/libc.so.0.3" " libmachuser.so" " libhurduser.so"))))
#t))
(add-after 'pre-configure 'pre-configure-set-pwd
(lambda _
;; Use the right 'pwd'.
(substitute* "configure"
(("/bin/pwd") "pwd"))
#t))
(replace 'build
(lambda _
;; Force mach/hurd/libpthread subdirs to build first in order to avoid
;; linking errors.
;; See <https://lists.gnu.org/archive/html/bug-hurd/2016-11/msg00045.html>
(let ((flags (list "-j" (number->string (parallel-job-count)))))
(define (make target)
(apply invoke "make" target flags))
(make "mach/subdir_lib")
(make "hurd/subdir_lib")
(make "libpthread/subdir_lib")
(apply invoke "make" flags))))))
((#:configure-flags original-configure-flags)
`(append (list "--host=i586-pc-gnu"
;; We need this to get a working openpty() function.
"--enable-pt_chown"
;; <https://lists.gnu.org/archive/html/bug-hurd/2016-10/msg00033.html>
"--disable-werror"
;; nscd fails to build for GNU/Hurd:
;; <https://lists.gnu.org/archive/html/bug-hurd/2014-07/msg00006.html>.
;; Disable it.
"--disable-nscd")
(filter (lambda (flag)
(not (string-prefix? "--enable-kernel=" flag)))
,original-configure-flags)))))
(synopsis "The GNU C Library (GNU Hurd variant)")
(supported-systems %hurd-systems)))
(define* (glibc-for-target #:optional
(target (or (%current-target-system)
(%current-system))))
"Return the glibc for TARGET, GLIBC/LINUX for a Linux host or
GLIBC/HURD for a Hurd host"
(match target
((or "i586-pc-gnu" "i586-gnu") glibc/hurd)
(_ glibc/linux)))
(define-syntax glibc
(identifier-syntax (glibc-for-target)))
;; Below are old libc versions, which we use mostly to build locale data in
;; the old format (which the new libc cannot cope with.)
@ -1123,18 +1069,17 @@ command.")
(license gpl3+))) ; some files are under GPLv2+
(define-public glibc/hurd-headers
(package (inherit glibc/hurd)
(package (inherit glibc)
(name "glibc-hurd-headers")
(outputs '("out"))
(propagated-inputs `(("gnumach-headers" ,gnumach-headers)
("hurd-headers" ,hurd-headers)))
(arguments
(substitute-keyword-arguments (package-arguments glibc/hurd)
(substitute-keyword-arguments (package-arguments glibc)
;; We just pass the flags really needed to build the headers.
((#:configure-flags _)
`(list "--enable-add-ons"
"--host=i586-pc-gnu"
"--enable-obsolete-rpc"))
"--host=i586-pc-gnu"))
((#:phases _)
'(modify-phases %standard-phases
(replace 'install
@ -1149,13 +1094,7 @@ command.")
(open-output-file
(string-append out "/include/gnu/stubs.h"))))
#t))
(delete 'build) ; nothing to build
(add-before 'configure 'patch-configure-script
(lambda _
;; Use the right 'pwd'.
(substitute* "configure"
(("/bin/pwd") "pwd"))
#t))))))))
(delete 'build))))))) ; nothing to build
(define-public tzdata
(package

View File

@ -35,14 +35,14 @@
(define-public fio
(package
(name "fio")
(version "3.7")
(version "3.11")
(source (origin
(method url-fetch)
(uri (string-append "http://brick.kernel.dk/snaps/"
"fio-" version ".tar.gz"))
"fio-" version ".tar.bz2"))
(sha256
(base32
"0rw9jf2ikm19lq4jizavdvvp3vfvlm3annq7jsxl2y5nf1pi2qr7"))))
"0s8m0wcz5j6sa1hblj80wk3syy5b4shg7y3gabvm9xa3wj0lzasa"))))
(build-system gnu-build-system)
(arguments
'(#:test-target "test"

View File

@ -201,14 +201,14 @@ genomes and gene ID formats, largely based on the UCSC table browser.")
(define-public r-hpar
(package
(name "r-hpar")
(version "1.22.2")
(version "1.24.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "hpar" version))
(sha256
(base32
"1b72hvzasf6q739gmx6jblbzzyq22l7crrkbbfkihv3v7s94g388"))))
"1pm3k8apgynmdzv2d0chca3b636kcai3b1x861fyv1m3xs6msgxn"))))
(build-system r-build-system)
(home-page "https://bioconductor.org/packages/hpar/")
(synopsis "Human Protein Atlas in R")
@ -219,23 +219,24 @@ the Human Protein Atlas project.")
(define-public r-regioner
(package
(name "r-regioner")
(version "1.12.0")
(version "1.14.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "regioneR" version))
(sha256
(base32
"09bzlaqdgy7wmzly3zc9y2da50d07mlixlnpaxdxpiwdk8qmhxsb"))))
"19la74swgzxp90z2nr3pzsgkxd7wp70zl6i2ipv3plg841f6k5zd"))))
(properties `((upstream-name . "regioneR")))
(build-system r-build-system)
(propagated-inputs
`(("r-memoise" ,r-memoise)
("r-genomicranges" ,r-genomicranges)
`(("r-biostrings" ,r-biostrings)
("r-bsgenome" ,r-bsgenome)
("r-rtracklayer" ,r-rtracklayer)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges)
("r-memoise" ,r-memoise)
("r-rtracklayer" ,r-rtracklayer)
("r-s4vectors" ,r-s4vectors)))
(home-page "https://bioconductor.org/packages/regioneR/")
(synopsis "Association analysis of genomic regions")
@ -247,14 +248,14 @@ region sets and other genomic features.")
(define-public r-diffbind
(package
(name "r-diffbind")
(version "2.8.0")
(version "2.10.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DiffBind" version))
(sha256
(base32
"1w1hybzd732ccg3q8zhirwfilq8sx3frv1x98zfyj3svzw98fish"))))
"0j8pal40lr1gv8sss96hhkj7l1qn9sy4q4l2kqd4rfwl7qrcnfw5"))))
(properties `((upstream-name . "DiffBind")))
(build-system r-build-system)
(inputs
@ -292,14 +293,14 @@ occupancy (overlap) analysis and plotting functions.")
(define-public r-ripseeker
(package
(name "r-ripseeker")
(version "1.20.0")
(version "1.22.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "RIPSeeker" version))
(sha256
(base32
"0y9cvzqslfxj3z9mnp47mknff0pky2g5x8x1z1s5yjcx35q89xfi"))))
"1x2n1iyik4s67bxq0fl6fpf602k51g4pxjpjpxkgx1a5fsk61f2i"))))
(properties `((upstream-name . "RIPSeeker")))
(build-system r-build-system)
(propagated-inputs
@ -325,14 +326,14 @@ processing to visualization and annotation.")
(define-public r-multtest
(package
(name "r-multtest")
(version "2.36.0")
(version "2.38.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "multtest" version))
(sha256
(base32
"11949h2kglw13x8haaj4clg4jim1mwh5n98n9zxp9mmgn01z1lp0"))))
"0lq62jw81hz9k840969n5byj57pwd0jqga3hqvhb6abb3g10yz7k"))))
(build-system r-build-system)
(propagated-inputs
`(("r-survival" ,r-survival)
@ -363,13 +364,13 @@ expressed genes in DNA microarray experiments.")
(define-public r-graph
(package
(name "r-graph")
(version "1.58.0")
(version "1.60.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "graph" version))
(sha256
(base32
"1zx445lk36g1s6i5dbhhf00nzzazyklfjxxjfax6q8hnhvgm9759"))))
"1kgnsm6f0vmb9qbkmmrnvxbwqc0gar17dq5gv1v10hrksw6mh64i"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)))
@ -410,18 +411,19 @@ determining dependencies between variables, code improvement suggestions.")
(define-public r-chippeakanno
(package
(name "r-chippeakanno")
(version "3.14.2")
(version "3.16.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ChIPpeakAnno" version))
(sha256
(base32
"13rksc65lxxzyw11galh6xzvgzp5ii0gwiwpvrm395v2r17rhwsc"))))
"09fhh1355diip3v3c0skmp1336vclipkm5nv02qvp5902v4262y3"))))
(properties `((upstream-name . "ChIPpeakAnno")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-biocmanager" ,r-biocmanager)
("r-biostrings" ,r-biostrings)
("r-delayedarray" ,r-delayedarray)
("r-go-db" ,r-go-db)
@ -437,7 +439,6 @@ determining dependencies between variables, code improvement suggestions.")
("r-multtest" ,r-multtest)
("r-rbgl" ,r-rbgl)
("r-graph" ,r-graph)
("r-biocinstaller" ,r-biocinstaller)
("r-regioner" ,r-regioner)
("r-dbi" ,r-dbi)
("r-ensembldb" ,r-ensembldb)
@ -465,12 +466,12 @@ enrichedGO (addGeneIDs).")
(define-public r-marray
(package
(name "r-marray")
(version "1.58.0")
(version "1.60.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "marray" version))
(sha256
(base32 "0539flh3y1qy5b1bamkfwbskis765c5s33v1y9j51n33mxb9h08d"))))
(base32 "1sh7l3c28x6zhdv99c9x05ii2yxmh9alkazp98kdi4fdb23rlzky"))))
(build-system r-build-system)
(propagated-inputs
`(("r-limma" ,r-limma)))
@ -484,12 +485,12 @@ normalization and quality checking.")
(define-public r-cghbase
(package
(name "r-cghbase")
(version "1.40.0")
(version "1.42.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "CGHbase" version))
(sha256
(base32 "1hf44vma3kgwr61kjbszvfxkava8bjqnam1mdncqvczbypb2xwaq"))))
(base32 "0ghxp49xdi09p3f2qwrdrq2p4qjafj4z1rr08ycgbf11gb22h1sc"))))
(properties `((upstream-name . "CGHbase")))
(build-system r-build-system)
(propagated-inputs
@ -504,12 +505,12 @@ the @code{arrayCGH} packages.")
(define-public r-cghcall
(package
(name "r-cghcall")
(version "2.42.0")
(version "2.44.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "CGHcall" version))
(sha256
(base32 "0y71vfxv9x0am3xvv520yr95cb7m7y92dhdx1vkqki80jrmf12dz"))))
(base32 "1k65kaiqvjyllzbpa2367n6f6kkmsy463kpflzs66hqhx2fshsmi"))))
(properties `((upstream-name . "CGHcall")))
(build-system r-build-system)
(propagated-inputs
@ -527,12 +528,12 @@ the @code{arrayCGH} packages.")
(define-public r-qdnaseq
(package
(name "r-qdnaseq")
(version "1.16.0")
(version "1.18.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "QDNAseq" version))
(sha256
(base32 "1pj69mfyxwfd0d7h4kls9xq96sdc55y3rv20qpla50hw9libcwwd"))))
(base32 "04ff9nbckzrlb45mr2j0c3mlh1wcggq5bbl81zklhq203c5x1wc2"))))
(properties `((upstream-name . "QDNAseq")))
(build-system r-build-system)
(propagated-inputs
@ -559,14 +560,14 @@ respectively.")
(define-public r-bayseq
(package
(name "r-bayseq")
(version "2.14.0")
(version "2.16.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "baySeq" version))
(sha256
(base32
"0hbmm01a8libara9mbxknpk0wzarwfngnfwlmhpww91a0cmy5klg"))))
"0f6yckihm5cwh3dycv2g54hf7nddhcqya4yrqwbir96y5k1d1km5"))))
(properties `((upstream-name . "baySeq")))
(build-system r-build-system)
(propagated-inputs
@ -585,14 +586,14 @@ more complex hypotheses) via empirical Bayesian methods.")
(define-public r-chipcomp
(package
(name "r-chipcomp")
(version "1.10.0")
(version "1.12.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ChIPComp" version))
(sha256
(base32
"0j9nif7z33qdxf347r9wa62hhz8qs09r2p96x3hg5yz30a10ahqs"))))
"1sypdsvwzssraanlhddhzpf9p0xs3qlflc0hp7yfbp0aplsifx85"))))
(properties `((upstream-name . "ChIPComp")))
(build-system r-build-system)
(propagated-inputs
@ -619,14 +620,14 @@ datasets.")
(define-public r-riboprofiling
(package
(name "r-riboprofiling")
(version "1.10.0")
(version "1.12.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "RiboProfiling" version))
(sha256
(base32
"04yjklqdjkim7yxyk3cyvf0mmwyxyfvw2mmfzgwaaqbiyg29sli0"))))
"1njvkd1khmf3rbp3dkz5z63wp79z4wmk4kzd3p3amky3w5by070z"))))
(properties `((upstream-name . "RiboProfiling")))
(build-system r-build-system)
(propagated-inputs
@ -658,14 +659,14 @@ assessment, principal component analysis on codon coverage.")
(define-public r-riboseqr
(package
(name "r-riboseqr")
(version "1.14.0")
(version "1.16.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "riboSeqR" version))
(sha256
(base32
"0xavd1cdhi8qfjn9a1hjhflyg6jq1ydvv56z12gjz572pwz2knvn"))))
"1nacsbsz77fw4a10nqj2ncsf25q3aaa0gd5w1q0ray2prx7qmlqb"))))
(properties `((upstream-name . "riboSeqR")))
(build-system r-build-system)
(propagated-inputs
@ -686,14 +687,14 @@ parsing of genetic sequencing data from ribosome profiling experiments.")
(define-public r-interactionset
(package
(name "r-interactionset")
(version "1.8.0")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "InteractionSet" version))
(sha256
(base32
"0xngraq7ic80jr98i1wqp8bxdgidq6py60m2wfk82n1ixpcdck8n"))))
"0wirfhmpmkmnmhbqslw4bzvi2msqyqpjy1rrwr5qbd9k5rhx3bzb"))))
(properties
`((upstream-name . "InteractionSet")))
(build-system r-build-system)
@ -718,14 +719,14 @@ experiments.")
(define-public r-genomicinteractions
(package
(name "r-genomicinteractions")
(version "1.14.0")
(version "1.16.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "GenomicInteractions" version))
(sha256
(base32
"0cnagprxj0b7p6s29iyhqwxj7hgmrh75gj52y4dlil790d1bmq2q"))))
"0zy5isp2lqpjm0n0n1gly5bs4izn22yciibyqrnlrr60rmn5s67q"))))
(properties
`((upstream-name . "GenomicInteractions")))
(build-system r-build-system)
@ -757,14 +758,14 @@ information and producing various plots and statistics.")
(define-public r-ctc
(package
(name "r-ctc")
(version "1.54.0")
(version "1.56.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ctc" version))
(sha256
(base32
"0sadplm4n9n3z6inmn6y3d6qbr4hllljqh700x5fygrnfacnckk9"))))
"0yp7c0abk48jx1wf8n1gawh7dm15idahqc8va24v8cm0bzxgnmh2"))))
(build-system r-build-system)
(propagated-inputs `(("r-amap" ,r-amap)))
(home-page "https://bioconductor.org/packages/ctc/")
@ -777,14 +778,14 @@ trees and clusters to other programs.")
(define-public r-goseq
(package
(name "r-goseq")
(version "1.32.0")
(version "1.34.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "goseq" version))
(sha256
(base32
"0xmbb8ma32lrfy810r82y34gkspq4fqiqxykic9j4rq9rg9n9x2l"))))
"1401x0jn5f8hqc12r3gd1wammp1nxir3is1k5ldd03ln97x00i7a"))))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
@ -803,14 +804,14 @@ defined categories which are over/under represented in RNA-seq data.")
(define-public r-glimma
(package
(name "r-glimma")
(version "1.8.2")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Glimma" version))
(sha256
(base32
"0kfia60vrlys6amdchdix01iwbkwyb7nfjqn5hczsxp8rhmbg25s"))))
"0cbsi6g8k1whkh21jxfn22sj7wry2g3rshiracf5nyvrl2fnl947"))))
(properties `((upstream-name . "Glimma")))
(build-system r-build-system)
(propagated-inputs
@ -830,14 +831,14 @@ information.")
(define-public r-rots
(package
(name "r-rots")
(version "1.8.0")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ROTS" version))
(sha256
(base32
"12jvdqanyk86ihpcylp105zip22y0gkbksmyxy00q7iad0jhaqp3"))))
"137c06g5w7mjw3b1mly7b7n9iix4fcy23c7a9ym9iz8dazwhzwn5"))))
(properties `((upstream-name . "ROTS")))
(build-system r-build-system)
(propagated-inputs
@ -854,14 +855,14 @@ in omics data.")
(define-public r-inspect
(package
(name "r-inspect")
(version "1.10.0")
(version "1.12.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "INSPEcT" version))
(sha256
(base32
"1gk0pwyimkswrvgb2xr3c2zy4myi448a2shr5ap65rq9pcpp0l8p"))))
"0b671x5v2wyq5np2flq2m1fnjz32f303yjlw64a1inwc9k2w2pz2"))))
(properties `((upstream-name . "INSPEcT")))
(build-system r-build-system)
(propagated-inputs
@ -890,14 +891,14 @@ modeling the rates that determines changes in mature mRNA levels.")
(define-public r-dnabarcodes
(package
(name "r-dnabarcodes")
(version "1.10.0")
(version "1.12.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DNABarcodes" version))
(sha256
(base32
"0xhna7f0kr7pp2hqwara5i57m9mdr65shflfxiyw6yy3g90pgb5x"))))
"0g6j7ish0fk9jcib94wssjgp1m8ldcp42hyyg1ypr945fa3xghx0"))))
(properties `((upstream-name . "DNABarcodes")))
(build-system r-build-system)
(propagated-inputs
@ -913,3 +914,157 @@ can be analyzed regarding their minimal, maximal and average distances between
barcodes. Finally, reads that start with a (possibly mutated) barcode can be
demultiplexed, i.e. assigned to their original reference barcode.")
(license license:gpl2)))
(define-public r-ruvseq
(package
(name "r-ruvseq")
(version "1.16.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "RUVSeq" version))
(sha256
(base32
"0xb3bj3n06cb9xddkv77a8svhg4fl1azlfmibwrm9mq9464kgf0m"))))
(properties `((upstream-name . "RUVSeq")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-edaseq" ,r-edaseq)
("r-edger" ,r-edger)
("r-mass" ,r-mass)))
(home-page "https://github.com/drisso/RUVSeq")
(synopsis "Remove unwanted variation from RNA-Seq data")
(description
"This package implements methods to @dfn{remove unwanted variation} (RUV)
of Risso et al. (2014) for the normalization of RNA-Seq read counts between
samples.")
(license license:artistic2.0)))
(define-public r-biocneighbors
(package
(name "r-biocneighbors")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BiocNeighbors" version))
(sha256
(base32
"1fsb96acidlxwf0h65xv7fnwdi58ckmq00gmwykrlawh88wgn1ll"))))
(properties `((upstream-name . "BiocNeighbors")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocparallel" ,r-biocparallel)
("r-rcpp" ,r-rcpp)
("r-rcppannoy" ,r-rcppannoy)
("r-s4vectors" ,r-s4vectors)))
(home-page "https://bioconductor.org/packages/BiocNeighbors")
(synopsis "Nearest Neighbor Detection for Bioconductor packages")
(description
"This package implements exact and approximate methods for nearest
neighbor detection, in a framework that allows them to be easily switched
within Bioconductor packages or workflows. The exact algorithm is implemented
using pre-clustering with the k-means algorithm. Functions are also provided
to search for all neighbors within a given distance. Parallelization is
achieved for all methods using the BiocParallel framework.")
(license license:gpl3)))
(define-public r-destiny
(package
(name "r-destiny")
(version "2.12.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "destiny" version))
(sha256
(base32
"1iay17mrhsfmpwl920rh1nip5b6ybva4h6bna0yld04paq5yva67"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-fnn" ,r-fnn)
("r-ggthemes" ,r-ggthemes)
("r-hmisc" ,r-hmisc)
("r-igraph" ,r-igraph)
("r-matrix" ,r-matrix)
("r-proxy" ,r-proxy)
("r-rcpp" ,r-rcpp)
("r-rcppeigen" ,r-rcppeigen)
("r-scales" ,r-scales)
("r-scatterplot3d" ,r-scatterplot3d)
("r-smoother" ,r-smoother)
("r-summarizedexperiment" ,r-summarizedexperiment)
("r-vim" ,r-vim)))
(home-page "https://bioconductor.org/packages/destiny/")
(synopsis "Create and plot diffusion maps")
(description "This package provides tools to create and plot diffusion
maps.")
;; Any version of the GPL
(license license:gpl3+)))
(define-public r-savr
(package
(name "r-savr")
(version "1.20.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "savR" version))
(sha256
(base32
"13bwq2a2pygdkmhrcmvz525wsi5i01j911711zgs6x93wj20b2w7"))))
(properties `((upstream-name . "savR")))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("r-gridextra" ,r-gridextra)
("r-reshape2" ,r-reshape2)
("r-scales" ,r-scales)
("r-xml" ,r-xml)))
(home-page "https://github.com/bcalder/savR")
(synopsis "Parse and analyze Illumina SAV files")
(description
"This package provides tools to parse Illumina Sequence Analysis
Viewer (SAV) files, access data, and generate QC plots.")
(license license:agpl3+)))
(define-public r-chipexoqual
(package
(name "r-chipexoqual")
(version "1.6.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ChIPexoQual" version))
(sha256
(base32
"1773bpiybn4g9jlv46z29x19q4dpcvn7lairr3lq5pdqbqmz5hnp"))))
(properties `((upstream-name . "ChIPexoQual")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocparallel" ,r-biocparallel)
("r-biovizbase" ,r-biovizbase)
("r-broom" ,r-broom)
("r-data-table" ,r-data-table)
("r-dplyr" ,r-dplyr)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicalignments" ,r-genomicalignments)
("r-genomicranges" ,r-genomicranges)
("r-ggplot2" ,r-ggplot2)
("r-hexbin" ,r-hexbin)
("r-iranges" ,r-iranges)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-rmarkdown" ,r-rmarkdown)
("r-rsamtools" ,r-rsamtools)
("r-s4vectors" ,r-s4vectors)
("r-scales" ,r-scales)
("r-viridis" ,r-viridis)))
(home-page "https://github.com/keleslab/ChIPexoQual")
(synopsis "Quality control pipeline for ChIP-exo/nexus data")
(description
"This package provides a quality control pipeline for ChIP-exo/nexus
sequencing data.")
(license license:gpl2+)))

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,14 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Nam Nguyen <namn@berkeley.edu>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -42,6 +43,7 @@
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages databases)
#:use-module (gnu packages file)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
@ -54,6 +56,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages qt)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
@ -214,14 +217,14 @@ Transmission BitTorrent daemon.")
(name "transmission-remote-cli")
(version "1.7.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/fagga/"
"transmission-remote-cli/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/fagga/transmission-remote-cli.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1y0hkpcjf6jw9xig8yf484hbhy63nip0pkchx401yxj81m25l4z9"))))
"09w9f8vrm61lapin8fmq4rgahr95y3c6wss10g0fgd0kl16f895v"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; only supports Python 2
@ -338,13 +341,14 @@ downloads, download scheduling, download rate limiting.")
(name "mktorrent")
(version "1.1")
(source (origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(uri (string-append "https://github.com/Rudde/mktorrent/archive/v"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/Rudde/mktorrent.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1j9qc4fxa9isnaygqk6jazsiklqywl2wcs95b8dx01963407bx6h"))))
"17pdc5mandl739f8q26n5is8ga56s83aqcrwhlnnplbxwx2inidr"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -371,17 +375,17 @@ and will take advantage of multiple processor cores where possible.")
(define-public libtorrent-rasterbar
(package
(name "libtorrent-rasterbar")
(version "1.1.8")
(version "1.1.11")
(source (origin
(method url-fetch)
(uri
(string-append
"https://github.com/arvidn/libtorrent/releases/download/libtorrent-"
"https://github.com/arvidn/libtorrent/releases/download/libtorrent_"
(string-join (string-split version #\.) "_")
"/libtorrent-rasterbar-" version ".tar.gz"))
(sha256
(base32
"0pcdy26l5ivcs78y2bqh2qca83ikzjfchw5815xh69qf8g88zgvb"))))
"0isqidr11fnhybr0wvk0qxd97jaikmh8fx9h89b84yd2gyxdw8vw"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -393,7 +397,18 @@ and will take advantage of multiple processor cores where possible.")
"CXXFLAGS=-std=c++11") ; Use std::chrono instead of boost
#:make-flags (list
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))))
(assoc-ref %outputs "out") "/lib"))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'compile-python-c++11
(lambda _
;; Make sure the Python bindings are compiled in C++ mode to
;; avoid undefined references as mentioned in
;; <https://github.com/qbittorrent/qBittorrent/issues/638>.
;; XXX: This can be removed for 1.2+.
(substitute* "bindings/python/setup.py"
(("\\+ target_specific\\(\\)\\,")
"+ target_specific() + ['-std=c++11'],"))
#t)))))
(inputs `(("boost" ,boost)
("openssl" ,openssl)))
(native-inputs `(("python" ,python-2)
@ -448,3 +463,40 @@ It aims to be a good alternative to all other BitTorrent clients out there.
qBittorrent is fast, stable and provides unicode support as well as many
features.")
(license l:gpl2+)))
(define-public deluge
(package
(name "deluge")
(version "1.3.15")
(source
(origin
(method url-fetch)
(uri (string-append
"http://download.deluge-torrent.org/source/deluge-"
version ".tar.xz"))
(sha256
(base32
"0b7rri4x0wrcj7rjghrnw1kfrsd5i7i6aq85dsg5dg1w1qa0ar59"))))
(build-system python-build-system)
(inputs
`(("libtorrent" ,libtorrent-rasterbar)
("python2-chardet" ,python2-chardet)
("python2-pygtk" ,python2-pygtk)
("python2-pyopenssl" ,python2-pyopenssl)
("python2-pyxdg" ,python2-pyxdg)
("python2-service-identity" ,python2-service-identity)
("python2-twisted" ,python2-twisted)))
(native-inputs
`(("intltool" ,intltool)))
(arguments
`(#:python ,python-2))
(home-page "https://www.deluge-torrent.org/")
(synopsis "Fully-featured cross-platform BitTorrent client")
(description
"Deluge contains the common features to BitTorrent clients such as
Protocol Encryption, DHT, Local Peer Discovery (LSD), Peer Exchange
(PEX), UPnP, NAT-PMP, Proxy support, Web seeds, global and per-torrent
speed limits. Deluge heavily utilises the libtorrent library. It is
designed to run as both a normal standalone desktop application and as a
client-server.")
(license l:gpl3+)))

View File

@ -122,6 +122,16 @@ across a broad spectrum of applications.")
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences."))))
;; Some programs need Boost to be built with C++14 support.
(define-public boost-cxx14
(package (inherit boost)
(arguments
(substitute-keyword-arguments (package-arguments boost)
((#:make-flags flags)
`(append ,flags
'("cxxflags=-std=c++14")))))
(properties '((hidden? . #t)))))
(define-public boost-for-mysql
;; Older version for MySQL 5.7.23.
(package
@ -182,14 +192,14 @@ Boost.Thread.")
(define-public mdds
(package
(name "mdds")
(version "1.3.1")
(version "1.4.3")
(source (origin
(method url-fetch)
(uri (string-append
"http://kohei.us/files/mdds/src/mdds-" version ".tar.bz2"))
(sha256
(base32
"18g511z1lgfxrga2ld9yr95phmyfbd3ymbv4q5g5lyjn4ljcvf6w"))))
"10cw6irdm6d15nxnys2v5akp8yz52qijpcjvw0frwq7nz5d3vki5"))))
(build-system gnu-build-system)
(propagated-inputs
`(("boost" ,boost))) ; inclusion of header files

View File

@ -34,6 +34,7 @@
#:use-module (gnu packages bison)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages disk)
#:use-module (gnu packages firmware)
@ -316,6 +317,8 @@ menu to select one of the installed operating systems.")
(home-page "https://www.syslinux.org")
(synopsis "Lightweight Linux bootloader")
(description "Syslinux is a lightweight Linux bootloader.")
;; The Makefile specifically targets i386 and x86_64 using nasm.
(supported-systems '("i686-linux" "x86_64-linux"))
(license (list license:gpl2+
license:bsd-3 ; gnu-efi/*
license:bsd-4 ; gnu-efi/inc/* gnu-efi/lib/*
@ -361,7 +364,7 @@ tree binary files. These are board description files used by Linux and BSD.")
(define u-boot
(package
(name "u-boot")
(version "2018.09")
(version "2018.11")
(source (origin
(method url-fetch)
(uri (string-append
@ -369,12 +372,13 @@ tree binary files. These are board description files used by Linux and BSD.")
"u-boot-" version ".tar.bz2"))
(sha256
(base32
"0s122kyz1svvs2yjzj4j9qravl3ra4vn0fjqgski7rlczqyg56w3"))))
"0znkwljfwwn4y7j20pzz4ilqw8znphrfxns0x1lwdzh3xbr96z3k"))))
(native-inputs
`(("bc" ,bc)
("bison" ,bison)
("dtc" ,dtc)
("flex" ,flex)
("lz4" ,lz4)
("openssl" ,openssl)
("python-2" ,python-2)
("python2-coverage" ,python2-coverage)
@ -553,8 +557,8 @@ board-independent tools.")))
(define-public u-boot-beagle-bone-black
(make-u-boot-package "am335x_boneblack" "arm-linux-gnueabihf"))
(define-public u-boot-pine64-plus
(let ((base (make-u-boot-package "pine64_plus" "aarch64-linux-gnu")))
(define-public (make-u-boot-sunxi64-package board triplet)
(let ((base (make-u-boot-package board triplet)))
(package
(inherit base)
(arguments
@ -572,9 +576,28 @@ board-independent tools.")))
)
#t))))))
(native-inputs
`(("firmware" ,arm-trusted-firmware-pine64-plus)
`(("firmware" ,arm-trusted-firmware-sun50i-a64)
,@(package-native-inputs base))))))
(define-public u-boot-pine64-plus
(make-u-boot-sunxi64-package "pine64_plus" "aarch64-linux-gnu"))
(define-public u-boot-pinebook
(let ((base (make-u-boot-sunxi64-package "pinebook" "aarch64-linux-gnu")))
(package
(inherit base)
(source (origin
(inherit (package-source u-boot))
(patches (search-patches
;; Add patches to enable Pinebook support from sunxi
;; maintainer tree: git://git.denx.de/u-boot-sunxi.git
"u-boot-pinebook-a64-update-dts.patch"
"u-boot-pinebook-syscon-node.patch"
"u-boot-pinebook-mmc-calibration.patch"
"u-boot-pinebook-video-bridge.patch"
"u-boot-pinebook-r_i2c-controller.patch"
"u-boot-pinebook-dts.patch")))))))
(define-public u-boot-bananapi-m2-ultra
(make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf"))

View File

@ -4,6 +4,8 @@
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -29,6 +31,7 @@
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages lua)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
@ -39,33 +42,30 @@
(define-public bam
(package
(name "bam")
(version "0.4.0")
(version "0.5.1")
(source (origin
(method url-fetch)
(uri (string-append "http://github.com/downloads/matricks/"
"bam/bam-" version ".tar.bz2"))
;; do not use auto-generated tarballs
(method git-fetch)
(uri (git-reference
(url "https://github.com/matricks/bam.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0z90wvyd4nfl7mybdrv9dsd4caaikc6fxw801b72gqi1m9q0c0sn"))))
"13br735ig7lygvzyfd15fc2rdygrqm503j6xj5xkrl1r7w2wipq6"))))
(build-system gnu-build-system)
(arguments
`(#:phases
`(#:make-flags `("CC=gcc"
,(string-append "INSTALL_PREFIX="
(assoc-ref %outputs "out")))
#:test-target "test"
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda _
(zero? (system* "bash" "make_unix.sh"))))
(replace 'check
(lambda _
(zero? (system* "python" "scripts/test.py"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(mkdir-p bin)
(install-file "bam" bin)
#t))))))
(delete 'configure))))
(native-inputs
`(("python" ,python-2)))
(inputs
`(("lua" ,lua)))
(home-page "https://matricks.github.io/bam/")
(synopsis "Fast and flexible build system")
(description "Bam is a fast and flexible build system. Bam uses Lua to
@ -98,6 +98,63 @@ it is easy to re-run the compilation with alternate programs. Bear is used to
generate such a compilation database.")
(license license:gpl3+)))
(define-public gn
(let ((commit "f73698ebb33e26a0bf120e2b55d12528fd1dbe7d")
(revision "1481")) ;as returned by `git describe`, used below
(package
(name "gn")
(version (git-version "0.0" revision commit))
(home-page "https://gn.googlesource.com/gn")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
"078ydwak4424bkqh3hd7q955zxp2c3qlw44lsb29i8jqap140f9d"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;FIXME: How to run?
#:phases (modify-phases %standard-phases
(add-before 'configure 'set-build-environment
(lambda _
(setenv "CC" "gcc") (setenv "CXX" "g++")
(setenv "AR" "ar")
#t))
(replace 'configure
(lambda _
(invoke "python" "build/gen.py" "--no-sysroot"
"--no-last-commit-position")))
(add-after 'configure 'create-last-commit-position
(lambda _
;; Create "last_commit_position.h" to avoid a dependency
;; on 'git' (and the checkout..).
(call-with-output-file "out/last_commit_position.h"
(lambda (port)
(format port
"#define LAST_COMMIT_POSITION \"~a (~a)\"\n"
,revision ,(string-take commit 8))
#t))))
(replace 'build
(lambda _
(invoke "ninja" "-C" "out" "gn"
"-j" (number->string (parallel-job-count)))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "out/gn" (string-append out "/bin"))
#t))))))
(native-inputs
`(("ninja" ,ninja)
("python" ,python-2)))
(synopsis "Generate Ninja build files")
(description
"GN is a tool that collects information about a project from @file{.gn}
files and generates build instructions for the Ninja build system.")
;; GN is distributed as BSD-3, but bundles some files from ICU using the
;; X11 license.
(license (list license:bsd-3 license:x11)))))
(define-public meson
(package
(name "meson")

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
@ -160,8 +160,7 @@ standard.")
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(zero? (system* "make" "-C" "cc/cpp" "test")))))))
(lambda _ (invoke "make" "-C" "cc/cpp" "test") #t)))))
(native-inputs
`(("bison" ,bison)
("flex" ,flex)))
@ -178,16 +177,53 @@ compiler while still keeping it small, simple, fast and understandable.")
(define-public libbytesize
(package
(name "libbytesize")
(version "1.3")
(version "1.4")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/storaged-project/libbytesize/releases/download/1.3/libbytesize-"
version ".tar.gz"))
"https://github.com/storaged-project/libbytesize/releases/"
"download/" version "/libbytesize-" version ".tar.gz"))
(sha256
(base32
"1l7mxm2vq2h6137fyfa46v9r4lydp9dvmsixkd64xr3ylqk1g6fi"))))
"0bbqzln1nhjxl71aydq9k4jg3hvki9lqsb4w10s1i27jgibxqkdv"))
(modules '((guix build utils)))
(snippet
'(begin
;; This Makefile hard-codes MSGMERGE et al. instead of
;; honoring what 'configure' detected. Fix that.
(substitute* "po/Makefile.in"
(("^MSGMERGE = msgmerge")
"MSGMERGE = @MSGMERGE@\n"))
#t))))
(build-system gnu-build-system)
(arguments
;; When running "make", the POT files are built with the build time as
;; their "POT-Creation-Date". Later on, "make" notices that .pot
;; files were updated and goes on to run "msgmerge"; as a result, the
;; non-deterministic POT-Creation-Date finds its way into .po files,
;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
;; never runs. See <https://bugs.debian.org/792687>.
'(#:configure-flags '("ac_cv_path_MSGMERGE=true")
#:phases (modify-phases %standard-phases
(add-after 'configure 'create-merged-po-files
(lambda _
;; Create "merged PO" (.mpo) files so that 'msgmerge'
;; doesn't need to run.
(for-each (lambda (po-file)
(let ((merged-po
(string-append (dirname po-file) "/"
(basename po-file
".po")
".mpo")))
(copy-file po-file merged-po)))
(find-files "po" "\\.po$"))
#t)))
;; One test fails because busctl (systemd only?) and python2-pocketlint
;; are missing. Should we fix it, we would need the "python-2" ,
;; "python2-polib" and "python2-six" native-inputs.
#:tests? #f))
(native-inputs
`(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)
@ -195,10 +231,6 @@ compiler while still keeping it small, simple, fast and understandable.")
(inputs
`(("mpfr" ,mpfr)
("pcre" ,pcre)))
;; One test fails because busctl (systemd only?) and python2-pocketlint
;; are missing. Should we fix it, we would need the "python-2" ,
;; "python2-polib" and "python2-six" native-inputs.
(arguments `(#:tests? #f))
(home-page "https://github.com/storaged-project/libbytesize")
(synopsis "Tiny C library for working with arbitrary big sizes in bytes")
(description

View File

@ -34,7 +34,7 @@
(source
(origin
(method url-fetch)
(uri (string-append "http://calcurse.org/files/calcurse-"
(uri (string-append "https://calcurse.org/files/calcurse-"
version ".tar.gz"))
(sha256
(base32
@ -57,7 +57,7 @@
(setenv "TZDIR" ;for test/ical-007.sh
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo")))))))
(home-page "http://www.calcurse.org")
(home-page "https://www.calcurse.org")
(synopsis "Text-based calendar and scheduling")
(description
"Calcurse is a text-based calendar and scheduling application. It helps

View File

@ -128,7 +128,9 @@ data units.")
;; running in a TTY:
;; https://github.com/pimutils/khal/issues/683
"not test_printics_read_from_stdin "
"and not test_import_from_stdin")))))))
"and not test_import_from_stdin "
;; https://github.com/pimutils/khal/issues/825
"and not test_description_and_location_and_categories")))))))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)

View File

@ -30,7 +30,7 @@
(define-public ccache
(package
(name "ccache")
(version "3.4.3")
(version "3.5")
(source
(origin
(method url-fetch)
@ -38,9 +38,9 @@
version ".tar.xz"))
(sha256
(base32
"0jjzq5340qw3jm5gkajjkkb5wd0yqqy1dyjw3mf3jy15cakmazi9"))))
"04n0xram2416pv98qrd7pi5lfsk0bjqyz7zgvvia41j5mrr4pm5x"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl) ; for test.sh
(native-inputs `(("perl" ,perl) ; for test/run
("which" ,(@ (gnu packages base) which))))
(inputs `(("zlib" ,zlib)))
(arguments

View File

@ -11,6 +11,7 @@
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -29,6 +30,7 @@
(define-module (gnu packages cdrom)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module ((guix licenses) #:select (lgpl2.1+ gpl2 gpl2+ gpl3+ cddl1.0))
#:use-module (guix build-system cmake)
@ -291,17 +293,26 @@ images.")
`(#:tests? #f ; No tests.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-glibc-compatability
(lambda* (#:key inputs #:allow-other-keys)
;; We use sed --in-place because substitute* cannot handle the
;; character encoding used by growisofs.c.
(invoke "sed" "-i" "-e"
(string-append
"s,<sys/stat.h>,"
"<sys/stat.h>\\\n#include <sys/sysmacros.h>,")
"growisofs.c")))
(replace 'configure
(lambda _ (setenv "prefix" (assoc-ref %outputs "out")) #t))
(add-before 'build 'embed-mkisofs
(lambda* (#:key inputs #:allow-other-keys)
(lambda* (#:key inputs #:allow-other-keys)
;; We use sed --in-place because substitute* cannot handle the
;; character encoding used by growisofs.c.
(zero? (system* "sed" "-i" "-e"
(string-append
"s,\"mkisofs\","
"\"" (which "mkisofs") "\",")
"growisofs.c")))))))
(invoke "sed" "-i" "-e"
(string-append
"s,\"mkisofs\","
"\"" (which "mkisofs") "\",")
"growisofs.c"))))))
(home-page "http://fy.chalmers.se/~appro/linux/DVD+RW/")
(synopsis "DVD and Blu-ray Disc burning tools")
(description "dvd+rw-tools, mostly known for its command
@ -421,14 +432,14 @@ graphical interface.")
(name "libcue")
(version "2.2.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/lipnitsk/libcue/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/lipnitsk/libcue.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"000j5xqp7cc7njwlixr9byahz9kn8pcfdgm76afwv4p8nbmw6yzj"))))
"1iqw4n01rv2jyk9lksagyxj8ml0kcfwk67n79zy1r6zv1xfp5ywm"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))

View File

@ -26,7 +26,7 @@
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;;
;;; This file is part of GNU Guix.
@ -51,6 +51,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages llvm)
#:use-module (gnu packages golang)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages time)
@ -250,7 +251,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.")
;; the build environment. Hence assuming-failure test fails.
(delete-file "yarn.tests/assuming-failure.script")
(delete-file "yarn.tests/assuming-failure.stdout")
(zero? (system* "python" "setup.py" "check")))))))
(invoke "python" "setup.py" "check"))))))
(native-inputs
`(("python2-coverage-test-runner" ,python2-coverage-test-runner)))
(propagated-inputs
@ -293,13 +294,13 @@ format.")
(define-public cppcheck
(package
(name "cppcheck")
(version "1.84")
(version "1.85")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/danmar/cppcheck/archive/"
version ".tar.gz"))
(sha256
(base32 "1ibz07dgs1dpfb8bmjh3qsma37wl5p6s6b4qlv5ccpshj4yjk9ma"))
(base32 "18qlddf1i9bk5nnvy1v2nfxjd46y8wvp3rqz2hrfxjxsyvrfq5yw"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system)
(home-page "http://cppcheck.sourceforge.net")
@ -715,8 +716,8 @@ and many external plugins.")
;; options taken from tox.ini
;; TODO: make "--restructuredtext" tests pass. They currently fail
;; with "Duplicate implicit target name"
(zero? (system* "python" "./setup.py" "check"
"--strict" "--metadata")))))))
(invoke "python" "./setup.py" "check"
"--strict" "--metadata"))))))
(propagated-inputs
`(("python-coverage" ,python-coverage)
("python-pytest" ,python-pytest)))
@ -1100,8 +1101,8 @@ python-fixtures package instead.")
(modify-phases %standard-phases
(replace 'check
(lambda _
(zero? (system* "python" "-m" "testtools.run"
"fixtures.test_suite")))))))
(invoke "python" "-m" "testtools.run"
"fixtures.test_suite"))))))
(propagated-inputs
;; Fixtures uses pbr at runtime to check versions, etc.
`(("python-pbr" ,python-pbr)
@ -1341,20 +1342,20 @@ the last py.test invocation.")
(define-public python-pytest-localserver
(package
(name "python-pytest-localserver")
(version "0.4.1")
(version "0.5.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pytest-localserver" version))
(sha256
(base32
"08f06rvj31wqf0vgmd1waya87r7vy6x8ck48lxl3dxy83q5gcam7"))))
(method url-fetch)
(uri (pypi-uri "pytest-localserver" version))
(sha256
(base32
"1hpgpxrpfq5c731ndnsay2lc0y9nh2wy9fn1f83s3z8xkn82fm1s"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
'(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(zero? (system* "py.test" "--genscript=runtests.py"))
(zero? (system* "py.test")))))))
(invoke "py.test" "-v"))))))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-requests" ,python-requests)
@ -1425,7 +1426,8 @@ normally the case.")
"1rshs1japfmwgar98yrkq4hg4z2q76hlnq7w2n3lfbjnscn1jd9b"))))
(build-system python-build-system)
(native-inputs
`(("python-flake8" ,python-flake8)
`(;; FIXME: Change to python-flake8 in the next rebuild cycle.
("python-flake8" ,python-flake8-3.5)
("python-pytest" ,python-pytest-bootstrap)))
(propagated-inputs
`(("python-attrs" ,python-attrs-bootstrap)
@ -1522,7 +1524,7 @@ failures.")
;; It's easier to run tests after install.
;; Make installed package available for running the tests
(add-installed-pythonpath inputs outputs)
(zero? (system* "py.test" "-vv")))))))
(invoke "py.test" "-vv"))))))
(native-inputs
`(("python-coverage" ,python-coverage)
("python-pytest" ,python-pytest)
@ -1559,7 +1561,7 @@ failures.")
(modify-phases %standard-phases
(replace 'check
(lambda _
(zero? (system* "./testrun")))))))
(invoke "./testrun"))))))
(propagated-inputs
`(("python2-coverage" ,python2-coverage)))
(home-page "https://liw.fi/coverage-test-runner/")
@ -1605,9 +1607,9 @@ statements in the module it tests.")
(string-append (getenv "PYTHONPATH") ":" work))
(copy-recursively "." work)
(with-directory-excursion "/tmp"
(zero? (system* "python" "-m" "unittest" "discover"
"-s" (string-append work "/pylint/test")
"-p" "*test_*.py")))))))))
(invoke "python" "-m" "unittest" "discover"
"-s" (string-append work "/pylint/test")
"-p" "*test_*.py"))))))))
(home-page "https://github.com/PyCQA/pylint")
(synopsis "Python source code analyzer which looks for coding standard
errors")
@ -1840,7 +1842,8 @@ tests written in a natural language style, backed up by Python code.")
(lambda _
(substitute* "setup.py"
(("'wheel'") "") ; We don't use it.
(("'ordereddict==1.1'") ""))))))) ; Python >= 2.7 has it built-in.
(("'ordereddict==1.1'") "")) ; Python >= 2.7 has it built-in.
#t)))))
(propagated-inputs
`(("behave" ,behave)
("python-requests" ,python-requests)))
@ -2086,3 +2089,42 @@ aspects of UnitTest++. UnitTest++ is mostly standard C++ and makes minimal use
of advanced library and language features, which means it should be easily
portable to just about any platform.")
(license license:expat)))
(define-public libfaketime
(package
(name "libfaketime")
(version "0.9.7")
(home-page "https://github.com/wolfcw/libfaketime")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(sha256
(base32
"1cin1pqwpsswcv7amiwijirvcg3x1zf2l00s1x84nxc5602fzr5c"))
(file-name (git-file-name name version))))
(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")))
(setenv "CC" "gcc")
(setenv "PREFIX" out)
#t)))
(add-before 'check 'pre-check
(lambda _
(substitute* "test/functests/test_exclude_mono.sh"
(("/bin/bash") (which "bash")))
#t)))
#:test-target "test"))
(native-inputs
`(("perl" ,perl))) ;for tests
(synopsis "Fake the system time for single applications")
(description
"The libfaketime library allows users to modify the system time that an
application \"sees\". It is meant to be loaded using the dynamic linker's
@code{LD_PRELOAD} environment variable. The @command{faketime} command
provides a simple way to achieve this.")
(license license:gpl2)))

View File

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

293
gnu/packages/clojure.scm Normal file
View File

@ -0,0 +1,293 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
;;; 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 clojure)
#:use-module (gnu packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system ant)
#:use-module (guix build-system clojure)
#:use-module (ice-9 match))
(define-public clojure
(let* ((lib (lambda (prefix version hash)
(origin (method url-fetch)
(uri (string-append "https://github.com/clojure/"
prefix version ".tar.gz"))
(sha256 (base32 hash)))))
;; The libraries below are needed to run the tests.
(libraries
`(("core-specs-alpha-src"
,(lib "core.specs.alpha/archive/core.specs.alpha-"
"0.1.24"
"0v2a0svf1ar2y42ajxwsjr7zmm5j7pp2zwrd2jh3k7xzd1p9x1fv"))
("data-generators-src"
,(lib "data.generators/archive/data.generators-"
"0.1.2"
"0kki093jp4ckwxzfnw8ylflrfqs8b1i1wi9iapmwcsy328dmgzp1"))
("spec-alpha-src"
,(lib "spec.alpha/archive/spec.alpha-"
"0.1.143"
"00alf0347licdn773w2jarpllyrbl52qz4d8mw61anjksacxylzz"))
("test-check-src"
,(lib "test.check/archive/test.check-"
"0.9.0"
"0p0mnyhr442bzkz0s4k5ra3i6l5lc7kp6ajaqkkyh4c2k5yck1md"))
("test-generative-src"
,(lib "test.generative/archive/test.generative-"
"0.5.2"
"1pjafy1i7yblc7ixmcpfq1lfbyf3jaljvkgrajn70sws9xs7a9f8"))
("tools-namespace-src"
,(lib "tools.namespace/archive/tools.namespace-"
"0.2.11"
"10baak8v0hnwz2hr33bavshm7y49mmn9zsyyms1dwjz45p5ymhy0"))))
(library-names (match libraries
(((library-name _) ...)
library-name))))
(package
(name "clojure")
(version "1.9.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/clojure/clojure/archive/clojure-"
version ".tar.gz"))
(sha256
(base32 "0xjbzcw45z32vsn9pifp7ndysjzqswp5ig0jkjpivigh2ckkdzha"))))
(build-system ant-build-system)
(arguments
`(#:imported-modules ((guix build clojure-utils)
(guix build guile-build-system)
,@%ant-build-system-modules)
#:modules ((guix build ant-build-system)
(guix build clojure-utils)
(guix build java-utils)
(guix build utils)
(srfi srfi-26))
#:test-target "test"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-library-sources
(lambda* (#:key inputs #:allow-other-keys)
(define (extract-library name)
(mkdir-p name)
(with-directory-excursion name
(invoke "tar"
"--extract"
"--verbose"
"--file" (assoc-ref inputs name)
"--strip-components=1"))
(copy-recursively (string-append name "/src/main/clojure/")
"src/clj/"))
(for-each extract-library ',library-names)
#t))
(add-after 'unpack-library-sources 'fix-manifest-classpath
(lambda _
(substitute* "build.xml"
(("<attribute name=\"Class-Path\" value=\".\"/>") ""))
#t))
(add-after 'build 'build-javadoc ant-build-javadoc)
(replace 'install (install-jars "./"))
(add-after 'install-license-files 'install-doc
(cut install-doc #:doc-dirs '("doc/clojure/") <...>))
(add-after 'install-doc 'install-javadoc
(install-javadoc "target/javadoc/")))))
(native-inputs libraries)
(home-page "https://clojure.org/")
(synopsis "Lisp dialect running on the JVM")
(description "Clojure is a dynamic, general-purpose programming language,
combining the approachability and interactive development of a scripting
language with an efficient and robust infrastructure for multithreaded
programming. Clojure is a compiled language, yet remains completely dynamic
every feature supported by Clojure is supported at runtime. Clojure
provides easy access to the Java frameworks, with optional type hints and type
inference, to ensure that calls to Java can avoid reflection.
Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy
and a powerful macro system. Clojure is predominantly a functional programming
language, and features a rich set of immutable, persistent data structures.
When mutable state is needed, Clojure offers a software transactional memory
system and reactive Agent system that ensure clean, correct, multithreaded
designs.")
;; Clojure is licensed under EPL1.0
;; ASM bytecode manipulation library is licensed under BSD-3
;; Guava Murmur3 hash implementation is licensed under APL2.0
;; src/clj/repl.clj is licensed under CPL1.0
;; See readme.html or readme.txt for details.
(license (list license:epl1.0
license:bsd-3
license:asl2.0
license:cpl1.0)))))
(define-public clojure-algo-generic
(package
(name "clojure-algo-generic")
(version "0.1.3")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/clojure/algo.generic/archive"
"/algo.generic-" version ".tar.gz"))
(sha256
(base32 "12w9681i545gp1af4576z1qbixwps1j13c16fmcc7zsb0bd1zr7w"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
#:test-dirs '("src/test/clojure/")
#:doc-dirs '()))
(synopsis "Generic versions of common functions")
(description
"Generic versions of commonly used functions, implemented as multimethods
that can be implemented for any data type.")
(home-page "https://github.com/clojure/algo.generic")
(license license:epl1.0)))
(define-public clojure-algo-monads
(package
(name "clojure-algo-monads")
(version "0.1.6")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/clojure/algo.monads/archive"
"/algo.monads-" version ".tar.gz"))
(sha256
(base32 "14gbvfgmrda990h45yn7zag83vp1kdkz4f4yzmyvkr0sjihlgdmq"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
#:test-dirs '("src/test/clojure/")
#:doc-dirs '()))
(native-inputs
`(("clojure-tools-macro" ,clojure-tools-macro)))
(synopsis
"Monad Macros and Definitions")
(description
"This library contains the most commonly used monads as well as macros for
defining and using monads and useful monadic functions.")
(home-page "https://github.com/clojure/algo.monads")
(license license:epl1.0)))
(define-public clojure-core-match
(let ((commit "1837ffbd4a150e8f3953b2d9ed5cf4a4ad3720a7")
(revision "1")) ; this is the 1st commit buildable with clojure 1.9
(package
(name "clojure-core-match")
(version (git-version "0.3.0-alpha5" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/core.match.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"04bdlp5dgkrqzrz0lw3mfwmygj2218qnm1cz3dkb9wy4m0238s4d"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()))
(synopsis "Optimized pattern matching for Clojure")
(description
"An optimized pattern matching library for Clojure.
It supports Clojure 1.5.1 and later as well as ClojureScript.")
(home-page "https://github.com/clojure/core.match")
(license license:epl1.0))))
(define-public clojure-instaparse
(let ((commit "dcfffad5b065e750f0f5835f017cdd8188b8ca2e")
(version "1.4.9")) ; upstream forget to tag this release
(package
(name "clojure-instaparse")
(version version)
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Engelberg/instaparse.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"002mrgin4z3dqy88r1lak7smd0m7x8d22vmliw0m6w6mh5pa17lk"))))
(build-system clojure-build-system)
(arguments
'(#:doc-dirs '("docs/")))
(synopsis "No grammar left behind")
(description
"Instaparse aims to be the simplest way to build parsers in Clojure.
@itemize
@item Turns @emph{standard EBNF or ABNF notation} for context-free grammars
into an executable parser that takes a string as an input and produces a parse
tree for that string.
@item @dfn{No Grammar Left Behind}: Works for @emph{any} context-free grammar,
including @emph{left-recursive}, @emph{right-recursive}, and @emph{ambiguous}
grammars.
@item Extends the power of context-free grammars with PEG-like syntax for
lookahead and negative lookahead.
@item Supports both of Clojure's most popular tree formats (hiccup and enlive)
as output targets
@item Detailed reporting of parse errors.
@item Optionally produces lazy sequence of all parses (especially useful for
diagnosing and debugging ambiguous grammars).
@item ``Total parsing'' mode where leftover string is embedded in the parse
tree.
@item Optional combinator library for building grammars programmatically.
@item Performant.
@end itemize")
(home-page "https://github.com/Engelberg/instaparse")
(license license:epl1.0))))
(define-public clojure-tools-macro
(package
(name "clojure-tools-macro")
(version "0.1.5")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/clojure/tools.macro/archive"
"/tools.macro-" version ".tar.gz"))
(sha256
(base32 "0fs64a0g63xx6g7sj6vrsqknhl90s0isf6k053nw8vv5prfzc7v6"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
#:test-dirs '("src/test/clojure/")
#:doc-dirs '()))
(synopsis "Utilities for macro writers")
(description "Tools for writing macros.")
(home-page "https://github.com/clojure/tools.macro")
(license license:epl1.0)))

View File

@ -211,16 +211,16 @@ COCOMO model or user-provided parameters.")
(define-public cloc
(package
(name "cloc")
(version "1.78")
(version "1.80")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/AlDanial/cloc/releases/download/" version
"https://github.com/AlDanial/cloc/releases/download/v" version
"/cloc-" version ".tar.gz"))
(sha256
(base32
"1j9lwy9xf43kpv1csqdxzch6y1hnsv881ddqd357f8v58dhr4s68"))))
"0rqxnaskg5b736asyzfda1113zvpkajyqjf49vl9wgzf1r9m6bq8"))))
(build-system gnu-build-system)
(inputs
`(("coreutils" ,coreutils)
@ -231,8 +231,8 @@ COCOMO model or user-provided parameters.")
("perl-regexp-common" ,perl-regexp-common)))
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(delete 'configure) ; nothing to configure
(delete 'build) ; nothing to build
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
@ -540,18 +540,20 @@ independent targets.")
(define-public uncrustify
(package
(name "uncrustify")
(version "0.67")
(version "0.68.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/uncrustify/uncrustify/archive/"
"uncrustify-" version ".zip"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/uncrustify/uncrustify/")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0n13kq0nsm35fxhdp0f275n4x0w88hdv3bdjy0hgvv42x0dx5zyp"))))
"0gf6vjcfy8pl7idvwsd500ffj9hri62q0n79kpb6cnfprrqpbgf4"))))
(build-system cmake-build-system)
(native-inputs
`(("unzip" ,unzip)))
`(("unzip" ,unzip)
("python" ,python-wrapper)))
(arguments
`(#:phases
(modify-phases %standard-phases

View File

@ -133,10 +133,7 @@ in compression.")
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-source
(lambda _ (chdir "contrib/minizip") #t))
(add-after 'enter-source 'autoreconf
(lambda _
(invoke "autoreconf" "-vif"))))))
(lambda _ (chdir "contrib/minizip") #t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@ -188,12 +185,7 @@ utility. Instead of being written in Java, FastJar is written in C.")
"02cihzl77ia0dcz7z2cga2412vyhhs5pa2355q4wpwbyga2lrwjh"))
(patches (search-patches "libtar-CVE-2013-4420.patch"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _ (invoke "sh" "autoreconf" "-vfi"))))))
(arguments `(#:tests? #f)) ; no "check" target
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@ -363,7 +355,20 @@ decompression.")
version ".tar.gz"))
(sha256
(base32
"1sahaqc5bw4i0iyri05syfza4ncf5cml89an033fspn97klmxis6"))))
"1sahaqc5bw4i0iyri05syfza4ncf5cml89an033fspn97klmxis6"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* (find-files "lib" "\\.c$")
(("#if defined _IO_ftrylockfile")
"#if defined _IO_EOF_SEEN"))
(substitute* "lib/stdio-impl.h"
(("^/\\* BSD stdio derived implementations")
(string-append "#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN\n"
"# define _IO_IN_BACKUP 0x100\n"
"#endif\n\n"
"/* BSD stdio derived implementations")))
#t))))
(build-system gnu-build-system)
(synopsis "Parallel bzip2 compression utility")
(description
@ -585,22 +590,19 @@ decompressors when faced with corrupted input.")
(sha256
(base32
"16isapn8f39lnffc3dp4dan05b7x6mnc76v6q5nn8ysxvvvwy19b"))
(modules '((guix build utils)))
(snippet
'(begin
;; Adjust the bundled gnulib to work with glibc 2.28. See e.g.
;; "m4-gnulib-libio.patch". This is a phase rather than patch
;; or snippet to work around <https://bugs.gnu.org/32347>.
(substitute* (find-files "lib" "\\.c$")
(("#if defined _IO_ftrylockfile")
"#if defined _IO_EOF_SEEN"))
(substitute* "lib/stdio-impl.h"
(("^/\\* BSD stdio derived implementations")
(string-append "#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN\n"
"# define _IO_IN_BACKUP 0x100\n"
"#endif\n\n"
"/* BSD stdio derived implementations")))
#t))))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* (find-files "lib" "\\.c$")
(("#if defined _IO_ftrylockfile")
"#if defined _IO_EOF_SEEN"))
(substitute* "lib/stdio-impl.h"
(("^/\\* BSD stdio derived implementations")
(string-append "#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN\n"
"# define _IO_IN_BACKUP 0x100\n"
"#endif\n\n"
"/* BSD stdio derived implementations")))
#t))))
(build-system gnu-build-system)
(inputs
`(("which" ,which)))
@ -694,13 +696,13 @@ sfArk file format to the uncompressed sf2 format.")
(package
(name "libmspack")
(home-page "https://cabextract.org.uk/libmspack/")
(version "0.7.1")
(version "0.9.1")
(source
(origin
(method url-fetch)
(uri (string-append home-page name "-" version "alpha.tar.gz"))
(sha256
(base32 "0zn4vwzk5ankgd0l88cipan19pzbzv0sm3fba17lvqwka3dp1acp"))))
(base32 "0h1f5w8rjnq7dcqpqm1mpx5m8q80691kid6f7npqlqwqqzckd8v2"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-static")))
@ -758,7 +760,8 @@ INCLUDE = ~a/include
LIB = ~:*~a/lib
OLD_ZLIB = False
GZIP_OS_CODE = AUTO_DETECT"
(assoc-ref inputs "zlib")))))))))
(assoc-ref inputs "zlib"))))
#t)))))
(home-page "https://metacpan.org/release/Compress-Raw-Zlib")
(synopsis "Low-level interface to zlib compression library")
(description "This module provides a Perl interface to the zlib
@ -1082,13 +1085,13 @@ smaller than those produced by @code{Xdelta}.")
(package
(name "cabextract")
(home-page "https://cabextract.org.uk/")
(version "1.7")
(version "1.9")
(source (origin
(method url-fetch)
(uri (string-append home-page name "-" version ".tar.gz"))
(sha256
(base32
"1g86wmb8lkjiv2jarfz979ngbgg7d3si8x5il4g801604v406wi9"))
"1hf4zhjxfdgq9x172r5zfdnafma9q0zf7372syn8hcn7hcypkg0v"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1096,11 +1099,27 @@ smaller than those produced by @code{Xdelta}.")
(delete-file-recursively "mspack")
#t))))
(build-system gnu-build-system)
(arguments '(#:configure-flags '("--with-external-libmspack")))
(arguments
'(#:configure-flags '("--with-external-libmspack")
#:phases
(modify-phases %standard-phases
;; cabextract needs some of libmspack's header files.
;; These are located in the "mspack" directory of libmspack.
(add-before 'build 'unpack-libmspack
(lambda* (#:key inputs #:allow-other-keys)
(let ((dir-name "libmspack-src"))
(mkdir dir-name)
(invoke "tar" "-xvf" (assoc-ref inputs "libmspack-source")
"-C" dir-name "--strip-components" "1")
(rename-file (string-append dir-name "/mspack")
"mspack")
(delete-file-recursively dir-name)
#t))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("libmspack" ,libmspack)))
`(("libmspack" ,libmspack)
("libmspack-source" ,(package-source libmspack))))
(synopsis "Tool to unpack Cabinet archives")
(description "Extracts files out of Microsoft Cabinet (.cab) archives")
;; Some source files specify gpl2+, lgpl2+, however COPYING is gpl3.
@ -1112,13 +1131,14 @@ smaller than those produced by @code{Xdelta}.")
(version "3.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/jmacd/xdelta/archive/v"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/jmacd/xdelta.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"17g2pbbqy6h20qgdjq7ykib7kg5ajh8fwbsfgyjqg8pwg19wy5bm"))
(file-name (string-append name "-" version ".tar.gz"))
"09mmsalc7dwlvgrda56s2k927rpl3a5dzfa88aslkqcjnr790wjy"))
(snippet
;; This file isn't freely distributable and has no effect on building.
'(begin
@ -1132,9 +1152,7 @@ smaller than those produced by @code{Xdelta}.")
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-build-directory
(lambda _ (chdir "xdelta3") #t))
(add-after 'enter-build-directory 'autoconf
(lambda _ (invoke "autoreconf" "-vfi"))))))
(lambda _ (chdir "xdelta3") #t)))))
(home-page "http://xdelta.org")
(synopsis "Delta encoder for binary files")
(description "xdelta encodes only the differences between two binary files
@ -1184,16 +1202,30 @@ well as bzip2.")
(define-public bitshuffle
(package
(name "bitshuffle")
(version "0.3.4")
(version "0.3.5")
(source (origin
(method url-fetch)
(uri (pypi-uri "bitshuffle" version))
(sha256
(base32
"0ydawb01ghsvmw0lraczhrgvkjj97bpg98f1qqs1cnfp953mdd5v"))))
"1823x61kyax4dc2hjmc1xraskxi1193y8lvxd03vqv029jrj8cjy"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove generated Cython files.
(delete-file "bitshuffle/h5.c")
(delete-file "bitshuffle/ext.c")
#t))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; fail: https://github.com/h5py/h5py/issues/769
`(#:tests? #f ; fail: https://github.com/h5py/h5py/issues/769
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'dont-build-native
(lambda _
(substitute* "setup.py"
(("'-march=native', ") ""))
#t)))))
(inputs
`(("numpy" ,python-numpy)
("h5py" ,python-h5py)
@ -1329,7 +1361,8 @@ install: libbitshuffle.so
(add-after 'build-jni 'copy-jni
(lambda _
(copy-recursively "src/main/resources/org/xerial/snappy/native"
"build/classes/org/xerial/snappy/native")))
"build/classes/org/xerial/snappy/native")
#t))
(add-before 'check 'fix-failing
(lambda _
(with-directory-excursion "src/test/java/org/xerial/snappy"
@ -1447,7 +1480,8 @@ compressor/decompressor.")
class))
(invoke "ant" "compile-tests")
(test "org.iq80.snappy.SnappyFramedStreamTest")
(test "org.iq80.snappy.SnappyStreamTest")))
(test "org.iq80.snappy.SnappyStreamTest")
#t))
(add-before 'build 'remove-hadoop-dependency
(lambda _
;; We don't have hadoop
@ -1752,14 +1786,14 @@ or junctions, and always follows hard links.")
(define-public zstd
(package
(name "zstd")
(version "1.3.6")
(version "1.3.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/facebook/zstd/releases/download/"
"v" version "/zstd-" version ".tar.gz"))
(sha256
(base32 "1525b31jmbiczjj1n58nckdzky4cdnbwcsil3zgy4cx03v0a0cp8"))))
(base32 "0gapsdzqfsfqqddzv22592iwa0008xjyi15f06pfv9hcvwvg4xrj"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -1802,7 +1836,7 @@ speed.")
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-subdirectory
(lambda _ (chdir "contrib/pzstd")))
(lambda _ (chdir "contrib/pzstd") #t))
(delete 'configure) ; no configure script
(add-before 'check 'compile-tests
(lambda* (#:key make-flags #:allow-other-keys)
@ -2084,14 +2118,16 @@ type by using either Perl modules, or command-line tools on your system.")
(lambda _
;; Our build system enters the first directory in the archive, but
;; the package is not contained in a subdirectory
(chdir "..")))
(chdir "..")
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
;; Do we want to install *Demo.jar?
(install-file "build/jar/xz.jar"
(string-append
(assoc-ref outputs "out")
"/share/java/xz.jar")))))))
"/share/java/xz.jar"))
#t)))))
(native-inputs
`(("unzip" ,unzip)))
(home-page "https://tukaani.org")
@ -2227,7 +2263,7 @@ single-member files which can't be decompressed in parallel.")
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;; No tests available.
(inputs `(("boost" ,boost)
(inputs `(("boost" ,boost-cxx14)
("libiconv" ,libiconv)
("xz" ,xz)))
(native-inputs `(("pkg-config" ,pkg-config)))

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
@ -356,7 +356,7 @@ target that libc."
,@(package-arguments glibc/hurd-headers))
((#:phases phases)
`(modify-phases ,phases
(add-before 'pre-configure 'set-cross-headers-path
(add-after 'unpack 'set-cross-headers-path
(lambda* (#:key inputs #:allow-other-keys)
(let* ((mach (assoc-ref inputs "gnumach-headers"))
(hurd (assoc-ref inputs "hurd-headers"))
@ -426,17 +426,9 @@ target that libc."
(xheaders (cross-kernel-headers target)))
"Return a libc cross-built for TARGET, a GNU triplet. Use XGCC and
XBINUTILS and the cross tool chain."
(define (cross-libc-for-target target)
"Return libc depending on TARGET."
(match target
((or "i586-pc-gnu" "i586-gnu") glibc/hurd)
(_ glibc/linux)))
;; Use (cross-libc-for-target ...) to determine the correct libc to use.
(if (cross-newlib? target)
(native-libc target)
(let ((libc (cross-libc-for-target target)))
(let ((libc glibc))
(package (inherit libc)
(name (string-append "glibc-cross-" target))
(arguments
@ -457,7 +449,9 @@ XBINUTILS and the cross tool chain."
,@(package-arguments libc))
((#:configure-flags flags)
`(cons ,(string-append "--host=" target)
,flags))
,(if (hurd-triplet? target)
`(cons "--disable-werror" ,flags)
flags)))
((#:phases phases)
`(modify-phases ,phases
(add-before 'configure 'set-cross-kernel-headers-path

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -94,7 +94,7 @@ communication, encryption, decryption, signatures, etc.")
(define-public libmd
(package
(name "libmd")
(version "1.0.0")
(version "1.0.1")
(source (origin
(method url-fetch)
(uri
@ -105,7 +105,7 @@ communication, encryption, decryption, signatures, etc.")
version ".tar.xz")))
(sha256
(base32
"1iv45npzv0gncjgcpx5m081861zdqxw667ysghqb8721yrlyl6pj"))))
"0waclg2d5qin3r26gy5jvy4584ik60njc8pqbzwk0lzq3j9ynkp1"))))
(build-system gnu-build-system)
(synopsis "Message Digest functions from BSD systems")
(description
@ -164,34 +164,31 @@ OpenBSD tool of the same name.")
"See base64.c in the distribution for
the license from IBM.")))))
(define-public opendht
(package
(name "opendht")
(version "0.6.1")
(source
(origin
(method url-fetch)
(uri
(string-append
"https://github.com/savoirfairelinux/" name
"/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "src/argon2")
(substitute* "src/Makefile.am"
(("./argon2/libargon2.la") "")
(("SUBDIRS = argon2") ""))
(substitute* "src/crypto.cpp"
(("argon2/argon2.h") "argon2.h"))
(substitute* "configure.ac"
(("src/argon2/Makefile") ""))
#t))
(sha256
(base32
"09yvkmbqbym3b5md4n96qc1s9sf2n8ji404hagih45rmsj49599x"))))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/savoirfairelinux/opendht.git")
(commit version)))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "src/argon2")
(substitute* "src/Makefile.am"
(("./argon2/libargon2.la") "")
(("SUBDIRS = argon2") ""))
(substitute* "src/crypto.cpp"
(("argon2/argon2.h") "argon2.h"))
(substitute* "configure.ac"
(("src/argon2/Makefile") ""))
#t))
(sha256
(base32
"1akk613f18rc8kqs0cxdm34iq7wwc9kffhgp5rng09arwlw8gw3w"))))
(build-system gnu-build-system)
(inputs
`(("gnutls" ,gnutls)
@ -206,11 +203,7 @@ OpenBSD tool of the same name.")
("automake" ,automake)
("libtool" ,libtool)))
(arguments
`(#:configure-flags '("--disable-tools" "--disable-python")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
`(#:configure-flags '("--disable-tools" "--disable-python")))
(home-page "https://github.com/savoirfairelinux/opendht/")
(synopsis "Distributed Hash Table (DHT) library")
(description "OpenDHT is a Distributed Hash Table (DHT) library. It may

View File

@ -382,23 +382,27 @@ device-specific programs to convert and print many types of files.")
(define-public hplip
(package
(name "hplip")
(version "3.18.6")
(version "3.18.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/hplip/hplip/" version
"/hplip-" version ".tar.gz"))
(sha256
(base32
"0zbv6cp9n3xypf2fg4j6fpz8zkvl0z08lyc1vq1gd04ln1l3xkqf"))
"0g3q5mm2crjyc1z4z6gv4lam6sc5d3diz704djrnpqadk4q3h290"))
(modules '((guix build utils)))
(patches (search-patches "hplip-remove-imageprocessor.patch"))
(snippet
;; Fix type mismatch.
'(begin
;; Delete non-free blobs
(for-each delete-file (find-files "." "\\.so$"))
(delete-file "prnt/hpcups/ImageProcessor.h")
;; Fix type mismatch.
(substitute* "prnt/hpcups/genPCLm.cpp"
(("boolean") "bool"))
#t))))
(build-system gnu-build-system)
(home-page "http://hplipopensource.com/")
(home-page "https://developers.hp.com/hp-linux-imaging-and-printing")
(synopsis "HP printer drivers")
(description
"Hewlett-Packard printer drivers and PostScript Printer Descriptions
@ -414,6 +418,8 @@ device-specific programs to convert and print many types of files.")
`("--disable-network-build"
,(string-append "--prefix=" (assoc-ref %outputs "out"))
,(string-append "--sysconfdir=" (assoc-ref %outputs "out") "/etc")
,(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib")
;; Disable until mime.types merging works (FIXME).
"--disable-fax-build"
"--enable-hpcups-install"

View File

@ -51,6 +51,7 @@
(package
(name "curl")
(version "7.61.1")
(replacement curl-7.62.0)
(source (origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
@ -141,6 +142,19 @@ tunneling, and so on.")
"See COPYING in the distribution."))
(home-page "https://curl.haxx.se/")))
(define-public curl-7.62.0
(package
(inherit curl)
(version "7.62.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.xz"))
(sha256
(base32
"1hbm29r3pirhn4gkcnd94ylc4jzgn3v3v7qbay9awxg7bwx69dfs"))))))
(define-public kurly
(package
(name "kurly")

View File

@ -153,7 +153,7 @@
(modify-phases %standard-phases
(add-after 'unpack 'generate-configure
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
(invoke "sh" "autogen.sh"))))))
;; http://www.4store.org has been down for a while now.
(home-page "https://github.com/4store/4store")
(synopsis "Clustered RDF storage and query engine")
@ -207,14 +207,16 @@ and provides interfaces to the traditional file format.")
(delete 'reset-gzip-timestamps)
(add-before 'check 'start-mongodb
(lambda* (#:key tests? #:allow-other-keys)
(or (not tests?)
(with-directory-excursion "src/gopkg.in/mgo.v2"
(invoke "make" "startdb")))))
(when tests?
(with-directory-excursion "src/gopkg.in/mgo.v2"
(invoke "make" "startdb")))
#t))
(add-after 'check 'stop'mongodb
(lambda* (#:key tests? #:allow-other-keys)
(or (not tests?)
(with-directory-excursion "src/gopkg.in/mgo.v2"
(invoke "make" "stopdb"))))))))
(when tests?
(with-directory-excursion "src/gopkg.in/mgo.v2"
(invoke "make" "stopdb")))
#t)))))
(native-inputs
`(("go-gopkg.in-check.v1" ,go-gopkg.in-check.v1)
("mongodb" ,mongodb)
@ -503,37 +505,35 @@ applications.")
#t))
(replace 'build
(lambda _
(zero? (apply system*
`("scons"
(apply invoke `("scons"
,@common-options
"mongod" "mongo" "mongos")))))
"mongod" "mongo" "mongos"))))
(replace 'check
(lambda* (#:key tests? inputs #:allow-other-keys)
(setenv "TZDIR"
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo"))
(or (not tests?)
;; Note that with the tests, especially the unittests, the
;; build can take up to ~45GB of space, as many tests are
;; individual executable files, with some being hundreds of
;; megabytes in size.
(begin
(apply
invoke `("scons" ,@common-options "dbtest" "unittests"))
(substitute* "build/unittests.txt"
;; TODO: Don't run the async_stream_test, as it hangs
(("^build\\/opt\\/mongo\\/executor\\/async\\_stream\\_test\n$")
"")
;; TODO: This test fails
;; Expected 0UL != disks.size() (0 != 0) @src/mongo/util/procparser_test.cpp:476
(("^build\\/opt\\/mongo\\/util\\/procparser\\_test\n$")
""))
(invoke "python" "buildscripts/resmoke.py"
"--suites=dbtest,unittests"
(format #f "--jobs=~a" (parallel-job-count)))))))
(when tests?
;; Note that with the tests, especially the unittests, the
;; build can take up to ~45GB of space, as many tests are
;; individual executable files, with some being hundreds of
;; megabytes in size.
(apply invoke `("scons" ,@common-options "dbtest" "unittests"))
(substitute* "build/unittests.txt"
;; TODO: Don't run the async_stream_test, as it hangs
(("^build\\/opt\\/mongo\\/executor\\/async\\_stream\\_test\n$")
"")
;; TODO: This test fails
;; Expected 0UL != disks.size() (0 != 0) @src/mongo/util/procparser_test.cpp:476
(("^build\\/opt\\/mongo\\/util\\/procparser\\_test\n$")
""))
(invoke "python" "buildscripts/resmoke.py"
"--suites=dbtest,unittests"
(format #f "--jobs=~a" (parallel-job-count))))
#t))
(replace 'install
(lambda _
(let ((bin (string-append (assoc-ref %outputs "out") "/bin")))
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(install-file "mongod" bin)
(install-file "mongos" bin)
(install-file "mongo" bin))
@ -621,7 +621,7 @@ Language.")
(define-public mariadb
(package
(name "mariadb")
(version "10.1.36")
(version "10.1.37")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.mariadb.org/f/"
@ -629,7 +629,7 @@ Language.")
name "-" version ".tar.gz"))
(sha256
(base32
"0n5aj76mn9rxc21l2kjmfrg10bmsyy4cic68khjr94iby262wx5d"))
"0ijdmdn9mcciwv361zfmja6b1h6qpbdqgrnnq6kkdapplyq1dmcc"))
(patches (search-patches "mariadb-client-test-32bit.patch"))
(modules '((guix build utils)))
(snippet
@ -804,14 +804,14 @@ as a drop-in replacement of MySQL.")
(define-public postgresql
(package
(name "postgresql")
(version "10.5")
(version "10.6")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"04a07jkvc5s6zgh6jr78149kcjmsxclizsqabjw44ld4j5n633kc"))))
"0jv26y3f10svrjxzsgqxg956c86b664azyk2wppzpa5x11pjga38"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-uuid=e2fs")
@ -849,14 +849,14 @@ pictures, sounds, or video.")
(package
(inherit postgresql)
(name "postgresql")
(version "9.6.9")
(version "9.6.11")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"0biy8j69dbvdmrag55pdszpc0702agzqhhcwdx21xp02mzim4ydr"))))))
"0c55akrkzqd6p6a8hr0338wk246hl76r9j16p4zn3s51d7f0l99q"))))))
(define-public python-pymysql
(package
@ -989,15 +989,16 @@ types are supported, as is encryption.")
(define-public rocksdb
(package
(name "rocksdb")
(version "5.12.4")
(version "5.15.10")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/facebook/rocksdb"
"/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/facebook/rocksdb")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1jcwgsjhk4hdfr2wf549blkgb89vwcdb5i2ahhqs6zf3mm20i3bf"))
"0q26frbj9pykarcfa0yxgwncxlvsqhjkby0jrbfs1a8srja688r4"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1118,7 +1119,8 @@ data in a single database. RocksDB is partially based on @code{LevelDB}.")
(lambda _
(substitute* "Makefile"
(("^gitrev :=.*$")
(string-append "gitrev = \"v" ,version "\"")))))
(string-append "gitrev = \"v" ,version "\"")))
#t))
;; The install phase of the Makefile assumes $PREFIX/usr/local/bin.
;; This replacement does the same thing, except for using $PREFIX/bin
;; instead.
@ -1127,14 +1129,13 @@ data in a single database. RocksDB is partially based on @code{LevelDB}.")
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(install-file "sparql-query" bin)
(system* "ln" "--symbolic"
(string-append bin "/sparql-query")
(string-append bin "/sparql-update")))))
(symlink (string-append bin "/sparql-query")
(string-append bin "/sparql-update")))
#t))
(replace 'check
(lambda* (#:key make-flags #:allow-other-keys)
(and
(zero? (apply system* "make" `(,@make-flags "scan-test")))
(zero? (system "./scan-test"))))))))
(apply invoke "make" `(,@make-flags "scan-test"))
(invoke "./scan-test"))))))
(home-page "https://github.com/tialaramex/sparql-query/")
(synopsis "Command-line tool for accessing SPARQL endpoints over HTTP")
(description "Sparql-query is a command-line tool for accessing SPARQL
@ -1227,6 +1228,18 @@ is in the public domain.")
((#:configure-flags flags)
`(cons "--enable-fts5" ,flags))))))
;; This is used by Qt.
(define-public sqlite-with-column-metadata
(package (inherit sqlite)
(name "sqlite-with-column-metadata")
(arguments
(substitute-keyword-arguments (package-arguments sqlite)
((#:configure-flags flags)
`(list (string-append "CFLAGS=-O2 -DSQLITE_SECURE_DELETE "
"-DSQLITE_ENABLE_UNLOCK_NOTIFY "
"-DSQLITE_ENABLE_DBSTAT_VTAB "
"-DSQLITE_ENABLE_COLUMN_METADATA")))))))
(define-public tdb
(package
(name "tdb")
@ -1247,8 +1260,8 @@ is in the public domain.")
(let ((out (assoc-ref outputs "out")))
;; The 'configure' script is a wrapper for Waf and
;; doesn't recognize things like '--enable-fast-install'.
(zero? (system* "./configure"
(string-append "--prefix=" out)))))))))
(invoke "./configure"
(string-append "--prefix=" out))))))))
(native-inputs
`(;; TODO: Build the documentation.
;; ("docbook-xsl" ,docbook-xsl)
@ -1967,14 +1980,14 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
(define-public sqlcipher
(package
(name "sqlcipher")
(version "3.3.1")
(version "3.4.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/sqlcipher/" name
"/archive/v" version ".tar.gz"))
(sha256
(base32 "1gv58dlbpzrmznly52yqbxgvii0ib88zr3aszla1bsypwjr6flff"))
(base32 "1nxarwbci8jx99f1d0y1ivxcv25s78l1p7q6qy28lkpkcx8pm2b9"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(inputs
@ -1997,8 +2010,7 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
(assoc-ref %standard-phases 'check))
(replace 'check
(lambda _
(zero?
(system* "./testfixture" "test/crypto.test")))))))
(invoke "./testfixture" "test/crypto.test"))))))
(home-page "https://www.zetetic.net/sqlcipher/")
(synopsis
"Library providing transparent encryption of SQLite database files")
@ -2075,13 +2087,14 @@ for ODBC.")
(version "0.7.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/brianb/mdbtools/archive/"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/brianb/mdbtools.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"05hbmxcq173kzb899gdi3bz2qcc1vi3n1qbbkwpsvrq7ggf11wyw"))
(file-name (string-append name "-" version ".tar.gz"))))
"0gwcpp9y09xhs21g7my2fs8ncb8i6ahlyixcx8jd3q97jbzj441l"))))
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)))
@ -2092,12 +2105,6 @@ for ODBC.")
("pkg-config" ,pkg-config)
("txt2man" ,txt2man)
("which" ,which)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
(home-page "http://mdbtools.sourceforge.net/")
(synopsis "Read Microsoft Access databases")
(description "MDB Tools is a set of tools and applications to read the
@ -2412,14 +2419,14 @@ You might also want to install the following optional dependencies:
(define-public python-alembic
(package
(name "python-alembic")
(version "0.9.6")
(version "1.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "alembic" version))
(sha256
(base32
"0cm73vabrqj92v7a0wwvldj8j7bc7dwv358kvkk7p87gx7mm2a04"))))
"0asqz9mwc4w8bsar1icv3ik9jslxrj3gv3yxgmhc6nc6r9qbkg04"))))
(build-system python-build-system)
(native-inputs
`(("python-mock" ,python-mock)
@ -2737,13 +2744,13 @@ reasonable substitute.")
(define-public python-rq
(package
(name "python-rq")
(version "0.7.1")
(version "0.12.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "rq" version))
(sha256
(base32 "0gaq5pnh0zy46r8jvygi0ifbvz3pq6i7xla78ijcgjw0x77qzsdh"))))
(base32 "16d8kni57xlnah2hawy4xgw21xrv3f64j5q5shyp3zxx4yd9iibs"))))
(build-system python-build-system)
(propagated-inputs
`(("python-click" ,python-click)
@ -2798,7 +2805,7 @@ is designed to have a low barrier to entry.")
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _ (zero? (system* "py.test")))))))
(lambda _ (invoke "py.test"))))))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/andialbrecht/sqlparse")
@ -2861,45 +2868,58 @@ transforms idiomatic python function calls to well-formed SQL queries.")
(delete-file-recursively
"src/github.com/mongodb/mongo-tools/vendor")
#t))
(add-after 'delete-bundled-source-code 'patch-source
(lambda _
;; Remove a redundant argument that causes compilation to fail.
(substitute*
"src/github.com/mongodb/mongo-tools/mongorestore/filepath.go"
(("skipping restore of system.profile collection\", db)")
"skipping restore of system.profile collection\")"))
#t))
;; We don't need to install the source code for end-user applications
(delete 'install-source)
(replace 'build
(lambda _
(every (lambda (tool)
(let ((command
`("go" "build"
;; This is where the tests expect to find the
;; executables
"-o" ,(string-append
"src/github.com/mongodb/mongo-tools/bin/"
tool)
"-v"
"-tags=\"ssl sasl\""
"-ldflags"
"-extldflags=-Wl,-z,now,-z,relro"
,(string-append
"src/github.com/mongodb/mongo-tools/"
tool "/main/" tool ".go"))))
(simple-format #t "build: running ~A\n"
(string-join command))
(apply invoke command)))
all-tools)))
(for-each (lambda (tool)
(let ((command
`("go" "build"
;; This is where the tests expect to find the
;; executables
"-o" ,(string-append
"src/github.com/mongodb/mongo-tools/bin/"
tool)
"-v"
"-tags=\"ssl sasl\""
"-ldflags"
"-extldflags=-Wl,-z,now,-z,relro"
,(string-append
"src/github.com/mongodb/mongo-tools/"
tool "/main/" tool ".go"))))
(simple-format #t "build: running ~A\n"
(string-join command))
(apply invoke command)))
all-tools)
#t))
(replace 'check
(lambda _
(with-directory-excursion "src"
(every (lambda (tool)
(invoke
"go" "test" "-v"
(string-append "github.com/mongodb/mongo-tools/" tool)))
all-tools))))
(for-each (lambda (tool)
(invoke
"go" "test" "-v"
(string-append "github.com/mongodb/mongo-tools/"
tool)))
all-tools))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(for-each (lambda (tool)
(install-file
(string-append "src/github.com/mongodb/mongo-tools/bin/" tool)
(string-append "src/github.com/mongodb/mongo-tools/bin/"
tool)
(string-append (assoc-ref outputs "out")
"/bin")))
all-tools)))))))
all-tools)
#t))))))
(native-inputs
`(("go-github.com-howeyc-gopass" ,go-github.com-howeyc-gopass)
("go-github.com-jessevdk-go-flags" ,go-github.com-jessevdk-go-flags)

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -48,6 +49,29 @@ binary trees, binary search trees, red-black trees, 2D arrays, permutations
and heaps.")
(license license:gpl2+)))
(define-public marisa
(package
(name "marisa")
(version "0.2.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/s-yata/marisa-trie"
"/releases/download/v" version "/" name "-"
version ".tar.gz"))
(sha256
(base32 "19ifrcmnbr9whaaf4ly3s9ndyiq9sjqhnfkrxbz9zsb44w2n36hf"))))
(build-system gnu-build-system)
(home-page "https://github.com/s-yata/marisa-trie")
(synopsis "Trie data structure C++ library")
(description "Matching Algorithm with Recursively Implemented
StorAge (MARISA) is a static and space-efficient trie data structure C++
library.")
;; Dual-licensed, according to docs/readme.en.html (source files lack
;; copyright/license headers.)
(license (list license:bsd-2 license:lgpl2.1+))))
(define-public sparsehash
(package
(name "sparsehash")

View File

@ -30,13 +30,13 @@
(define-public radicale
(package
(name "radicale")
(version "1.1.2")
(version "1.1.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "Radicale" version))
(sha256
(base32
"1g20p3998f46ywda7swv0py63wjbrhvk0nrafajlbb6wgzxjmqpb"))))
"0ay90nj6fmr2aq8imi0mbjl4m2rzq7a83ikj8qs9gxsylj71j1y0"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; The tests are not distributed in the PyPi release.

View File

@ -27,21 +27,22 @@
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages perl)
#:use-module (gnu packages wget))
#:use-module (gnu packages perl))
(define-public debian-archive-keyring
(package
(name "debian-archive-keyring")
(version "2017.7")
(version "2018.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://debian/pool/main/d/" name "/"
name "_" version ".tar.xz"))
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/release-team/debian-archive-keyring.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1pdwgipfi0y4svhxlw8arhq792f1g3vlmw4raphizy7sa65vd4ca"))))
"136vr5dj7w0dz563qdghsndcfcqm2m8d4j1dyiq9dzx5vd0rcpcw"))))
(build-system gnu-build-system)
(arguments
'(#:test-target "verify-results"
@ -116,7 +117,7 @@ contains the archive keys used for that.")
(define-public debootstrap
(package
(name "debootstrap")
(version "1.0.106")
(version "1.0.111")
(source
(origin
(method git-fetch)
@ -126,7 +127,7 @@ contains the archive keys used for that.")
(file-name (git-file-name name version))
(sha256
(base32
"1fm5bgllcwgwizrqi4sn8p4fpbzhbzgwprrfppfq9hqdzbmlfmnv"))))
"1b8s00a2kvaajqhjlms3q2dk3gqv6g4yq9h843jal1pm66zsx19n"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -135,46 +136,57 @@ contains the archive keys used for that.")
(add-after 'unpack 'patch-source
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(coreutils (assoc-ref inputs "coreutils"))
(wget (assoc-ref inputs "wget"))
(tzdata (assoc-ref inputs "tzdata"))
(debian (assoc-ref inputs "debian-keyring"))
(ubuntu (assoc-ref inputs "ubuntu-keyring")))
(substitute* "Makefile"
(("/usr") "")
(("-o root -g root") "")
(("chown root.*") "\n"))
(substitute* "scripts/sid"
(substitute* '("scripts/etch"
"scripts/potato"
"scripts/sarge"
"scripts/sid"
"scripts/woody"
"scripts/woody.buildd")
(("/usr") debian))
(substitute* "scripts/gutsy"
(("/usr") ubuntu))
(substitute* "debootstrap"
(("chroot ") (string-append coreutils "/bin/chroot "))
(("=/usr") (string-append "=" out)))
(substitute* "functions"
(("wget ") (string-append wget "/bin/wget ")))
(substitute* (find-files "scripts" ".")
(("/usr/share/zoneinfo") (string-append tzdata "/share/zoneinfo")))
#t)))
(add-after 'install 'install-man-file
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "debootstrap.8"
(string-append out "/share/man/man8"))
#t)))
(add-after 'install 'wrap-executable
(lambda* (#:key outputs #:allow-other-keys)
(let ((debootstrap (string-append (assoc-ref outputs "out")
"/sbin/debootstrap"))
(path (getenv "PATH")))
(wrap-program debootstrap
`("PATH" ":" prefix (,path)))
#t))))
#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
#:tests? #f)) ; no tests
(inputs
`(("coreutils" ,coreutils)
("debian-keyring" ,debian-archive-keyring)
`(("debian-keyring" ,debian-archive-keyring)
("ubuntu-keyring" ,ubuntu-keyring)
("wget" ,wget)))
;; The following are required for debootstrap to work correctly
(propagated-inputs
`(("binutils" ,binutils)
("gnupg" ,gnupg)
("perl" ,perl)))
("tzdata" ,tzdata)))
(native-inputs
`(("perl" ,perl)))
(home-page "https://tracker.debian.org/pkg/debootstrap")
(synopsis "Bootstrap a basic Debian system")
(description "Debootstrap is used to create a Debian base system from
scratch, without requiring the availability of @code{dpkg} or @code{apt}.
It does this by downloading .deb files from a mirror site, and carefully
unpacking them into a directory which can eventually be chrooted into.")
unpacking them into a directory which can eventually be chrooted into.
It is recommended to run @code{debootstrap --foreign --arch=...} and then
@code{chroot} into the directory, set the PATH and run @code{debootstrap
--second-stage} after.")
(license license:gpl2)))

View File

@ -5,6 +5,7 @@
;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,22 +23,29 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages dictionaries)
#:use-module (guix licenses)
#: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 python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages curl)
#:use-module (gnu packages emacs)
#:use-module (gnu packages flex)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages linux)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages compression)
#:use-module (gnu packages tcl))
#:use-module (gnu packages tcl)
#:use-module (gnu packages xml))
(define-public vera
@ -87,7 +95,7 @@
(description
"V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing
acronyms distributed as an info document.")
(license fdl1.3+)))
(license license:fdl1.3+)))
(define-public gcide
(package
@ -125,7 +133,7 @@ acronyms distributed as an info document.")
be used via the GNU Dico program or accessed online at
http://gcide.gnu.org.ua/")
(home-page "http://gcide.gnu.org.ua/")
(license gpl3+)))
(license license:gpl3+)))
(define-public diction
;; Not quite a dictionary, not quite a spell checker either…
@ -147,7 +155,7 @@ Diction is used to identify wordy and commonly misused phrases in a
body of text. Style instead analyzes surface aspects of a written
work, such as sentence length and other readability measures.")
(home-page "https://www.gnu.org/software/diction/")
(license gpl3+)))
(license license:gpl3+)))
(define-public ding
(package
@ -207,7 +215,7 @@ work, such as sentence length and other readability measures.")
(description "Ding is a dictionary lookup program for the X window system.
It comes with a German-English dictionary with approximately 270,000 entries.")
(home-page "http://www-user.tu-chemnitz.de/~fri/ding/")
(license gpl2+)))
(license license:gpl2+)))
(define-public grammalecte
(package
@ -222,7 +230,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
(base32
"11byjs3ggdhia5f4vyfqfvbbczsfqimll98h98g7hlsrm7vrifb0"))))
(build-system python-build-system)
(home-page "https://www.dicollecte.org")
(home-page "https://grammalecte.net")
(synopsis "French spelling and grammar checker")
(description "Grammalecte is a grammar checker dedicated to the French
language, derived from Lightproof.
@ -234,7 +242,7 @@ a dubious expression is wrong, it will keep silent.
The package provides the command line interface, along with a server
and a Python library.")
(license gpl3+)))
(license license:gpl3+)))
(define-public translate-shell
(package
@ -283,4 +291,87 @@ and a Python library.")
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)))
(license license:public-domain)))
(define-public lttoolbox
(package
(name "lttoolbox")
(version "3.5.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/apertium/lttoolbox/releases/download/v"
version "/lttoolbox-" version ".tar.gz"))
(sha256
(base32
"08y6pf1hl7prwygy1g8h6ndqww18pmb9f3r5988q0pcrp8w6xz6b"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(inputs
`(("libxml2" ,libxml2)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://wiki.apertium.org/wiki/Lttoolbox")
(synopsis "Lexical processing toolbox")
(description "Lttoolbox is a toolbox for lexical processing, morphological
analysis and generation of words. Analysis is the process of splitting a
word (e.g. cats) into its lemma \"cat\" and the grammatical information
@code{<n><pl>}. Generation is the opposite process.")
(license (list license:gpl2 ; main license
license:expat)))) ; utf8/*
(define-public apertium
(package
(name "apertium")
(version "3.5.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/apertium/apertium/releases/download/v"
version "/apertium-" version ".tar.gz"))
(sha256
(base32
"0lrx58ipx2kzh1pd3xm1viz05dqyrq38jbnj9dnk92c9ckkwkp4h"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(inputs
`(("libxml2" ,libxml2)
("libxslt" ,libxslt)
("lttoolbox" ,lttoolbox)
("pcre" ,pcre)))
(native-inputs
`(("apertium-get"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/apertium/apertium-get")
(commit "692d030e68008fc123089cf2446070fe8c6e3a3b")))
(sha256
(base32
"0kgp68azvds7yjwfz57z8sa5094fyk5yr0qxzblrw7bisrrihnav"))))
("flex" ,flex)
("pkg-config" ,pkg-config)
;; python is only required for running the test suite
("python-minimal" ,python-minimal)))
(arguments
`(#:phases
(modify-phases %standard-phases
;; If apertium-get does not exist in the source tree, the build tries
;; to download it using an svn checkout. To avoid this, copy
;; apertium-get into the source tree.
(add-after 'unpack 'unpack-apertium-get
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "apertium-get")
"apertium/apertium-get")
#t)))))
(home-page "https://www.apertium.org/")
(synopsis "Rule based machine translation system")
(description "Apertium is a rule based machine translation system
featuring a shallow-transfer machine translation engine. The design of the
system makes translations fast (translating tens of thousands of words per
second on ordinary desktop computers) and, in spite of the errors, reasonably
intelligible and easily correctable.")
(license (list license:gpl2 ; main license
license:expat)))) ; utf8/*

View File

@ -37,13 +37,13 @@
(define-public python-django
(package
(name "python-django")
(version "1.11.15")
(version "1.11.17")
(source (origin
(method url-fetch)
(uri (pypi-uri "Django" version))
(sha256
(base32
"0h2sl02x2mxr3rl3dy750pzm5kvmx77116fys8rrgw164kc3b0mi"))))
"10xlpm21ll8mgz5py41sz9vrd603qv7an736agbqxkxlyikfx1x7"))))
(build-system python-build-system)
(arguments
'(#:modules ((srfi srfi-1)
@ -265,6 +265,41 @@ account authentication.")
(define-public python2-django-allauth
(package-with-python2 python-django-allauth))
(define-public python-django-debug-toolbar
(package
(name "python-django-debug-toolbar")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/jazzband/django-debug-toolbar/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1rww056hyzks8spbgf4h7kf6ybxlc5p08a2b6gn1nqrrzs4yx9sy"))))
(build-system python-build-system)
(propagated-inputs
`(("python-sqlparse" ,python-sqlparse)
("python-django" ,python-django)))
(native-inputs
`(("python-django-jinja" ,python-django-jinja)
("python-html5lib" ,python-html5lib)))
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "make" "test"))))))
(home-page
"https://github.com/jazzband/django-debug-toolbar")
(synopsis "Toolbar to help with developing Django applications")
(description
"A configurable set of panels that display information about the current
request and response as a toolbar on the rendered page.")
(license license:bsd-3)))
(define-public python-django-gravatar2
(package
(name "python-django-gravatar2")
@ -338,6 +373,47 @@ merging, minifying and compiling CSS and Javascript files.")
(define-public python2-django-assets
(package-with-python2 python-django-assets))
(define-public python-django-jinja
(package
(name "python-django-jinja")
(version "2.4.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/niwinz/django-jinja/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0bzrb4m6wx9ph5cpvz7wpvg5k6ksvj0dnxlg0nhhqskhvp46brs1"))))
(build-system python-build-system)
(propagated-inputs
`(("python-django" ,python-django)
("python-jinja2" ,python-jinja2)
("python-pytz" ,python-pytz)
("python-django-pipeline" ,python-django-pipeline)))
(arguments
'(;; TODO Tests currently fail due to issues with the configuration for
;; django-pipeline
#:tests? #f
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(or
(not tests?)
(with-directory-excursion "testing"
(invoke "python" "runtests.py"))))))))
(home-page
"https://niwinz.github.io/django-jinja/latest/")
(synopsis "Simple jinja2 templating backend for Django")
(description
"This package provides a templating backend for Django, using Jinja2. It
provides certain advantages over the builtin Jinja2 backend in Django, for
example, explicit calls to callables from templates and better performance.")
(license license:bsd-3)))
(define-public python-django-jsonfield
(package
(name "python-django-jsonfield")
@ -518,6 +594,46 @@ project.")
(define-public python2-django-overextends
(package-with-python2 python-django-overextends))
(define-public python-django-pipeline
(package
(name "python-django-pipeline")
(version "1.6.14")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django-pipeline" version))
(sha256
(base32
"1a207y71r7za033ira0qmh2yrgp5rq0l04gw2fg9b8jri7sslrzg"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda _
(substitute* "tests/tests/test_compiler.py"
(("\\/usr\\/bin\\/env")
(which "env")))))
(replace 'check
(lambda*(#:key tests? #:allow-other-keys)
(or
(not tests?)
(begin
(setenv "DJANGO_SETTINGS_MODULE" "tests.settings")
(invoke "django-admin" "test" "tests"))))))))
(propagated-inputs
`(("python-django" ,python-django)
("python-slimit" ,python-slimit)
("python-jsmin" ,python-jsmin)))
(home-page
"https://github.com/jazzband/django-pipeline")
(synopsis "Asset packaging library for Django")
(description
"Pipeline is an asset packaging library for Django, providing both CSS
and JavaScript concatenation and compression, built-in JavaScript template
support, and optional data-URI image and font embedding.")
(license license:expat)))
(define-public python-django-redis
(package
(name "python-django-redis")

View File

@ -58,6 +58,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial))
@ -65,7 +66,7 @@
(define-public dnsmasq
(package
(name "dnsmasq")
(version "2.79")
(version "2.80")
(source (origin
(method url-fetch)
(uri (string-append
@ -73,7 +74,7 @@
version ".tar.xz"))
(sha256
(base32
"07w6cw706yyahwvbvslhkrbjf2ynv567cgy9pal8bz8lrbsp9bbq"))))
"1fv3g8vikj3sn37x1j6qsywn09w1jipvlv34j3q5qrljbrwa5ayd"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -363,7 +364,7 @@ to result in system-wide compromise.")
(define-public unbound
(package
(name "unbound")
(version "1.8.0")
(version "1.8.1")
(source
(origin
(method url-fetch)
@ -371,7 +372,7 @@ to result in system-wide compromise.")
version ".tar.gz"))
(sha256
(base32
"0gxqc4ynd2g1a5dwaazqh9n8injh49a7dz0l9bbxqgv47dnrvxvq"))))
"0p9w6spar5dfi7fplxjcq4394wldabaws0ns30cqq6sxqfwv6qn3"))))
(build-system gnu-build-system)
(outputs '("out" "python"))
(native-inputs
@ -569,14 +570,14 @@ Extensions} (DNSSEC).")
(define-public knot
(package
(name "knot")
(version "2.7.2")
(version "2.7.3")
(source (origin
(method url-fetch)
(uri (string-append "https://secure.nic.cz/files/knot-dns/"
name "-" version ".tar.xz"))
(sha256
(base32
"0cc4wgb02ch09x99a1fnr7vsdik8k920q7jafzcamjvy3kpb4w6b"))
"1pwjcv7hzhqawisibybma160k77a6f1v94xw6ay9c7j49vrw05w7"))
(modules '((guix build utils)))
(snippet
'(begin
@ -727,3 +728,56 @@ The client supports both dynamic and (near) static services, as well as MX
record and alternative name management. It caches the address, and only
attempts the update when it has changed.")
(license license:gpl2+)))
(define-public hnsd
;; There have been no releases yet, hence this commit.
(let ((revision "0")
(commit "895d89c25d316d18df9d374fe78aae3902bc89fb"))
(package
(name "hnsd")
(version (git-version "0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/handshake-org/hnsd")
(commit commit)))
(sha256
(base32
"0704y73sddn24jga9csw4gxyfb3pnrfnk0vdcph84n1h38490l16"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete the bundled copy of libuv.
(delete-file-recursively "uv")
(substitute* "configure.ac"
(("AC_CONFIG_SUBDIRS\\(\\[uv\\]\\)") ""))
(substitute* "Makefile.am"
(("SUBDIRS = uv") "\n")
(("\\$\\(top_builddir\\)/uv/libuv.la") "-luv")
;; Make sure the 'hnsd' binary is installed and
;; dynamically-linked.
(("noinst_PROGRAMS") "bin_PROGRAMS")
(("hnsd_LDFLAGS = -static") ""))
;; This script tries to chdir to "uv" and doesn't do more
;; than "autoreconf" so remove it.
(delete-file "autogen.sh")
#t))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static"))) ;no need for libhsk.a
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(inputs
`(("unbound" ,unbound)
("libuv" ,libuv)))
(home-page "https://www.handshake.org/")
(synopsis "Resolver daemon for the Handshake naming protocol")
(description
"@command{hnsd} is a @dfn{host name resolver} for the Handshake Naming
System (HNS) peer-to-peer network.")
(license license:expat))))

121
gnu/packages/easyrpg.scm Normal file
View File

@ -0,0 +1,121 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.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 easyrpg)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages audio)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages mp3)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages sdl)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml))
(define-public liblcf
(package
(name "liblcf")
(version "0.5.4")
(source (origin
(method url-fetch)
(uri (string-append
"https://easyrpg.org/downloads/player/" version
"/liblcf-" version ".tar.gz"))
(sha256
(base32
"1k99bcw5c23801jk3mbz5sj5h18x46w1qxrkknhwhfgqzpvxhwrs"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
;; Required by 'liblcf.pc'.
`(("expat" ,expat)
("icu" ,icu4c)))
(home-page "https://easyrpg.org/")
(synopsis "Library to handle RPG Maker 2000 and 2003 game data")
(description
"@code{liblcf} is a library to handle RPG Maker 2000 and 2003 game data.
It can read and write LCF and XML files.")
;; It includes a copy of Boost Preprocessor Cat and Stringize (boost-1.0):
;; src/boost/preprocessor/config.hpp
;; src/boost/preprocessor/cat.hpp
;; src/boost/preprocessor/stringize.hpp
;; and a copy of inih (bsd-3):
;; src/ini.h
;; src/ini.cpp
;; src/inireader.h
;; src/inireader.cpp
;; TODO: Unbundle them.
(license license:expat)))
(define-public easyrpg-player
(package
(name "easyrpg-player")
(version "0.5.4")
(source (origin
(method url-fetch)
(uri (string-append
"https://easyrpg.org/downloads/player/" version
"/easyrpg-player-" version ".tar.gz"))
(sha256
(base32
"0w0idr61slg5828j1q31c1kh1h0ryp8psc006y06jph5pp3qgm48"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(list (string-append "--with-bash-completion-dir="
%output "/etc/bash_completion.d/"))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("freetype" ,freetype)
("harfbuzz" ,harfbuzz)
("liblcf" ,liblcf)
("libpng" ,libpng)
("libsndfile" ,libsndfile)
("libvorbis" ,libvorbis)
("libxmp" ,libxmp)
("mpg123" ,mpg123)
("opusfile" ,opusfile)
("pixman" ,pixman)
("sdl2-mixer" ,sdl2-mixer)
("sdl2" ,sdl2)
("speexdsp" ,speexdsp)
;; ("wildmidi" ,wildmidi) ; TODO: package it
("zlib" ,zlib)))
(home-page "https://easyrpg.org/")
(synopsis "Play RPG Maker 2000 and 2003 games")
(description
"EasyRPG Player is a game interpreter to play RPG Maker 2000, 2003 and
EasyRPG games. It uses the LCF parser library (liblcf) to read RPG Maker game
data.")
;; It bundles FMMidi YM2608 FM synthesizer emulator (bsd-3):
;; src/midisynth.h
;; src/midisynth.cpp
;; and PicoJSON JSON parser/serializer (bsd-2):
;; src/picojson.h
;; TODO: Unbundle them.
(license license:gpl3+)))

View File

@ -75,7 +75,7 @@
(define-public calibre
(package
(name "calibre")
(version "3.28.0")
(version "3.35.0")
(source
(origin
(method url-fetch)
@ -84,7 +84,7 @@
version ".tar.xz"))
(sha256
(base32
"0b3vv03c6m6972sk8zj3zc5sq6b9837irnfgjlqhv9z5i75m0414"))
"1gd15wjz4fhcra6d44xiy3hwbyk0miwb66a1pq5yldyy0hlb271z"))
;; Remove non-free or doubtful code, see
;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
(modules '((guix build utils)))

View File

@ -243,17 +243,17 @@ easy.")
(define-public snap
(package
(name "snap")
(version "4.2.1.4")
(version "4.2.2.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jmoenig/Snap--Build-Your-Own-Blocks.git")
(url "https://github.com/jmoenig/Snap.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0yc0w0cdhvi0nwqqrann2v3y0n7shxh7irgixqvlavp4k49d7aqj"))))
"0bay08yr58qj8wzpjg33gdj78rfhyskfzidknpdl3cr1jrj6i4p9"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -265,7 +265,7 @@ easy.")
(share (string-append out "/share/snap")))
(copy-recursively source share)
;; Replace the sole minified file in the package.
(with-directory-excursion share
(with-directory-excursion (string-append share "/src")
(delete-file "FileSaver.min.js")
(symlink (string-append (assoc-ref %build-inputs "js-filesaver")
"/share/javascript/FileSaver.min.js")

View File

@ -123,7 +123,7 @@ as simple logic analyzer and/or oscilloscope hardware.")
(define-public libsigrok
(package
(name "libsigrok")
(version "0.5.0")
(version "0.5.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -131,19 +131,17 @@ as simple logic analyzer and/or oscilloscope hardware.")
version ".tar.gz"))
(sha256
(base32
"197kr5ip98lxn7rv10zs35d1w0j7265s0xvckx0mq2l8kdvqd32c"))))
"171b553dir5gn6w4f7n37waqk62nq2kf1jykx4ifjacdz5xdw3z4"))))
(outputs '("out" "doc"))
(arguments
`(#:tests? #f ; tests need usb access
`(#:tests? #f ; tests need USB access
#:phases
(modify-phases %standard-phases
(add-before 'configure 'change-udev-group
(lambda _
(let ((file "contrib/z60_libsigrok.rules"))
(substitute* file
(("plugdev") "dialout"))
(rename-file file "contrib/60-libsigrok.rules")
#t)))
(substitute* (find-files "contrib" "\\.rules$")
(("plugdev") "dialout"))
#t))
(add-after 'build 'build-doc
(lambda _
(invoke "doxygen")))
@ -155,11 +153,12 @@ as simple logic analyzer and/or oscilloscope hardware.")
#t))
(add-after 'install-doc 'install-udev-rules
(lambda* (#:key outputs #:allow-other-keys)
(install-file "contrib/60-libsigrok.rules"
(string-append
(assoc-ref outputs "out")
"/lib/udev/rules.d/"))
#t))
(let* ((out (assoc-ref outputs "out"))
(rules (string-append out "/lib/udev/rules.d/")))
(for-each (lambda (file)
(install-file file rules))
(find-files "contrib" "\\.rules$"))
#t)))
(add-after 'install-udev-rules 'install-fw
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((fx2lafw (assoc-ref inputs "sigrok-firmware-fx2lafw"))
@ -167,7 +166,6 @@ as simple logic analyzer and/or oscilloscope hardware.")
(dir-suffix "/share/sigrok-firmware/")
(input-dir (string-append fx2lafw dir-suffix))
(output-dir (string-append out dir-suffix)))
(mkdir-p output-dir)
(for-each
(lambda (file)
(install-file file output-dir))
@ -204,7 +202,7 @@ format support.")
(define-public sigrok-cli
(package
(name "sigrok-cli")
(version "0.7.0")
(version "0.7.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -212,7 +210,7 @@ format support.")
version ".tar.gz"))
(sha256
(base32
"072ylscp0ppgii1k5j07hhv7dfmni4vyhxnsvxmgqgfyq9ldjsan"))))
"15vpn1psriadcbl6v9swwgws7dva85ld03yv6g1mgm27kx11697m"))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
@ -228,7 +226,7 @@ format support.")
(define-public pulseview
(package
(name "pulseview")
(version "0.4.0")
(version "0.4.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -236,9 +234,20 @@ format support.")
version ".tar.gz"))
(sha256
(base32
"1f8f2342d5yam98mmcb8f9g2vslcwv486bmi4x45pxn68l82ky3q"))))
"0bvgmkgz37n2bi9niskpl05hf7rsj1lj972fbrgnlz25s4ywxrwy"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DCMAKE_CXX_FLAGS=-fext-numeric-literals")))
`(#:configure-flags '("-DENABLE_TESTS=y")
#:phases
(modify-phases %standard-phases
(add-after 'install 'remove-empty-doc-directory
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion (string-append out "/share")
;; Use RMDIR to never risk silently deleting files.
(rmdir "doc/pulseview")
(rmdir "doc"))
#t))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
@ -249,7 +258,6 @@ format support.")
("libsigrokdecode" ,libsigrokdecode)
("qtbase" ,qtbase)
("qtsvg" ,qtsvg)))
(build-system cmake-build-system)
(home-page "https://www.sigrok.org/wiki/PulseView")
(synopsis "Qt based logic analyzer, oscilloscope and MSO GUI for sigrok")
(description "PulseView is a Qt based logic analyzer, oscilloscope and MSO GUI

View File

@ -95,14 +95,14 @@ Executable and Linkable Format (@dfn{ELF}). This includes @command{ld},
(package
(name "libabigail")
(home-page "https://sourceware.org/libabigail/")
(version "1.4")
(version "1.5")
(source (origin
(method url-fetch)
(uri (string-append "https://sourceware.org/pub/" name
"/" name "-" version ".tar.gz"))
(sha256
(base32
"17r8i60lxykvdd9pdidmnvkzgf9k8zman0c1czl3zbx0znhlx497"))))
"0srfnkbm386sl2n85686nl28da6ksbs7jgnfks9k0n61c772aas4"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-static"

View File

@ -6,7 +6,7 @@
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
@ -40,6 +40,7 @@
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -70,6 +71,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages audio)
#:use-module (gnu packages bash)
#:use-module (gnu packages cmake)
@ -654,6 +656,33 @@ Gitlab APIs from Emacs packages. It abstracts access to API resources using
only a handful of functions that are not resource-specific.")
(license license:gpl3+)))
(define-public emacs-scribble-mode
(let ((commit "34e9e5edb921813b6483e0fefa848efb6ee4b314")
(version "0.0")
(revision 0))
(package
(name "emacs-scribble-mode")
(version (if (zero? revision)
version
(string-append version "-"
(number->string revision)
"." (string-take commit 7))))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-pe/scribble-mode.git")
(commit commit)))
(sha256
(base32
"0598byqpz2q6yi2q4dwd77jj9z3n99z34d3an51s9m2za0nh1qvp"))))
(build-system emacs-build-system)
(home-page "https://github.com/emacs-pe/scribble-mode")
(synopsis "Emacs mode for editing the Scribble documentation syntax.")
(description
"This package provides basic syntax highlighting and editing support
for editing Racket's Scribble documentation syntax in Emacs.")
(license license:gpl3+))))
(define-public emacs-haskell-mode
(package
(name "emacs-haskell-mode")
@ -783,6 +812,29 @@ different tools. It highlights errors and warnings inline in the buffer, and
provides an optional IDE-like error list.")
(license license:gpl3+))) ;+GFDLv1.3+ for the manual
(define-public emacs-a
(package
(name "emacs-a")
(version "0.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/plexus/a.el.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
(build-system emacs-build-system)
(home-page "https://github.com/plexus/a.el/")
(synopsis
"Emacs library for dealing with association lists and hash tables")
(description "@code{emacs-a} provides Emacs Lisp functions for dealing
with associative structures in a uniform and functional way. These functions
can take association lists, hash tables, and in some cases vectors (where the
index is considered the key).")
(license license:gpl3+)))
;;;
;;; Web browsing.
@ -929,14 +981,14 @@ provides an optional IDE-like error list.")
(define-public emacs-emms
(package
(name "emacs-emms")
(version "5.0")
(version "5.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/emms/emms-"
version ".tar.gz"))
(sha256
(base32
"08f9lj77jlk96grqgjsv63s2i8ywvp4wvnmgmhnslwyx2lsdxza3"))
"149ddczyx6x10zn4mn8g0rll1rwf4yciv8x6j0qdnlbwszblx2x6"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1309,7 +1361,7 @@ a set of simplified face specifications and a user-supplied color palette")
(guix build emacs-utils))
#:phases
(modify-phases %standard-phases
(add-after 'rename-lispdir 'make-autoloads
(add-after 'install 'make-autoloads
(assoc-ref emacs:%standard-phases 'make-autoloads)))))
(home-page "http://howm.osdn.jp/")
(synopsis "Note-taking tool for Emacs")
@ -1321,7 +1373,7 @@ searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
(define-public emacs-calfw
(package
(name "emacs-calfw")
(version "1.5")
(version "1.6")
(source
(origin
(method url-fetch)
@ -1331,7 +1383,7 @@ searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"17ssg8gx66yp63nhygjq2r6kgl4h45cacmrxsxs9f0lrfcx37k0l"))))
"1zr91xr0f1xfcv78yxka8vs5ximmq2ixmqf2pkb57kwwnxlypq4i"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-howm" ,emacs-howm)))
@ -1423,14 +1475,22 @@ current match, total matches and exit status.
(name "emacs-go-mode")
(version "1.5.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/dominikh/go-mode.el/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/dominikh/go-mode.el.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1adngbjyb8qnwg7n6r2y31djw9j6qf3b9fi63zd85035q7x4ljnm"))))
"1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'make-writable
(lambda _
(for-each make-file-writable (find-files "." "\\.el$"))
#t)))))
(home-page "https://github.com/dominikh/go-mode.el")
(synopsis "Go mode for Emacs")
(description
@ -1565,15 +1625,16 @@ filters, new key bindings and faces. It can be enabled by
(package
(name "emacs-pdf-tools")
(version "0.80")
(home-page "https://github.com/politza/pdf-tools")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/politza/pdf-tools/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference (url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"06imydn3a92vr57azpn1zhqc14kxyyslmyi9ldsyphan9b724gb6"))))
"1i4647vax5na73basc5dz4lh9kprir00fh8ps4i0l1y3ippnjs2s"))
(patches (search-patches "emacs-pdf-tools-poppler.patch"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests
@ -1598,6 +1659,8 @@ filters, new key bindings and faces. It can be enabled by
(lambda _ (chdir "../lisp") #t))
(add-after 'enter-lisp-dir 'emacs-patch-variables
(lambda* (#:key outputs #:allow-other-keys)
(for-each make-file-writable (find-files "."))
;; Set path to epdfinfo program.
(emacs-substitute-variables "pdf-info.el"
("pdf-info-epdfinfo-program"
@ -1631,7 +1694,6 @@ filters, new key bindings and faces. It can be enabled by
files. The key difference is that pages are not pre-rendered by
e.g. ghostscript and stored in the file-system, but rather created on-demand
and stored in memory.")
(home-page "https://github.com/politza/pdf-tools")
(license license:gpl3+)))
(define-public emacs-dash
@ -2603,14 +2665,14 @@ source code using IPython.")
(define-public emacs-debbugs
(package
(name "emacs-debbugs")
(version "0.15")
(version "0.16")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar"))
(sha256
(base32
"1x7jw2ldgkknyxg7x9fhnqkary691icnysmi3xw0g2fjrvllzhqw"))))
"0y3bq803c7820h15g66d1648skxfhlfa2v6vincj6xk5ssp44s9p"))))
(build-system emacs-build-system)
(arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
(propagated-inputs
@ -2720,7 +2782,7 @@ build jobs.")
(define-public emacs-company
(package
(name "emacs-company")
(version "0.9.6")
(version "0.9.7")
(source
(origin
(method url-fetch)
@ -2729,7 +2791,7 @@ build jobs.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0a7zvmfvxh9w67myvcj2511ayk0fvkm06cdg38y8khnsx63jrr4k"))))
"19flv38f2qhxda8lbk2ckywvibd72vbzmn4hchqz6d8acsknh4sb"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@ -2760,11 +2822,13 @@ These are distributed in separate files and can be used individually.")
(version "1.2.0")
(home-page "https://github.com/Sarcasm/irony-mode")
(source (origin
(method url-fetch)
(uri (string-append home-page "/archive/v" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url (string-append home-page ".git"))
(commit (string-append "v" version))))
(sha256
(base32
"1f68zi0glkg2aly66s07rx3w0b0hdi1znxan02h6dbabaadylk99"))
"0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system emacs-build-system)
(arguments '())
@ -2797,6 +2861,72 @@ described on the homepage.")
(build-system cmake-build-system)
(synopsis "Server for the Emacs @dfn{irony mode}")))
(define-public emacs-company-irony
(package
(name "emacs-company-irony")
(version "1.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Sarcasm/company-irony.git")
(commit (string-append "v" version))))
(sha256 (base32
"1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(inputs
`(("emacs-irony-mode" ,emacs-irony-mode)
("emacs-company" ,emacs-company)))
(synopsis "C++ completion backend for Company using irony-mode")
(description "This backend for company-mode allows for C++ code completion
with irony-mode using clang-tooling.")
(home-page "https://github.com/Sarcasm/company-irony")
(license license:gpl3+)))
(define-public emacs-flycheck-irony
(package
(name "emacs-flycheck-irony")
(version "0.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Sarcasm/flycheck-irony.git")
(commit (string-append "v" version))))
(sha256
(base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))
(file-name (string-append name "-" version))))
(build-system emacs-build-system)
(inputs
`(("irony-mode" ,emacs-irony-mode)
("flycheck-mode" ,emacs-flycheck)
("emacs-company" ,emacs-company)))
(synopsis "Live syntax checking frontend for Flycheck using irony-mode")
(description "This package provides a frontend for Flycheck that lets
irony-mode do the syntax checking.")
(home-page "https://github.com/Sarcasm/flycheck-irony")
(license license:gpl3+)))
(define-public emacs-irony-eldoc
(package
(name "emacs-irony-eldoc")
(version (package-version emacs-irony-mode))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ikirill/irony-eldoc.git")
(commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
(sha256 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))
(file-name (string-append name "-" version))))
(build-system emacs-build-system)
(inputs
`(("irony-mode" ,emacs-irony-mode)))
(synopsis "Eldoc integration for irony-mode")
(description "Irony-eldoc is an eldoc extension that shows documentation
for the current function or variable in the minibuffer.")
(home-page "https://github.com/ikirill/irony-eldoc")
(license license:gpl3+)))
(define-public emacs-company-quickhelp
(package
(name "emacs-company-quickhelp")
@ -3340,7 +3470,7 @@ organizer.")
(define-public emacs-zenburn-theme
(package
(name "emacs-zenburn-theme")
(version "2.5")
(version "2.6")
(source (origin
(method url-fetch)
(uri (string-append
@ -3349,7 +3479,7 @@ organizer.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"03kfhzgbbbl8ivpzzky6qxw4j9mmp452m1sk7wikxmcalfnix0gn"))))
"0qc9d1rwq55yzh8shbppyd6izy1grpyr8kqh5zdgm7c5jccngpr4"))))
(build-system emacs-build-system)
(home-page "https://github.com/bbatsov/zenburn-emacs")
(synopsis "Low contrast color theme for Emacs")
@ -3631,7 +3761,11 @@ after buffer changes.")
version ".tar"))
(sha256
(base32
"108wgxg7fb4byaiasgvbxv2hq7b00biq9f0mh9hy6vw4160y5w24"))))
"108wgxg7fb4byaiasgvbxv2hq7b00biq9f0mh9hy6vw4160y5w24"))
(patches
;; Patch awaiting inclusion upstream (see:
;; https://github.com/realgud/realgud/pull/226).
(search-patches "emacs-realgud-fix-configure-ac.patch"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
@ -3793,10 +3927,11 @@ expression.")
(license license:gpl3+)))
(define-public emacs-ivy-yasnippet
(let ((commit "59b32cf8cfb63df906822a17f6f5e8545dac38d4"))
(let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
(revision "2"))
(package
(name "emacs-ivy-yasnippet")
(version (git-version "0.1" "1" commit))
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
@ -3806,7 +3941,7 @@ expression.")
(file-name (git-file-name name version))
(sha256
(base32
"0hghdlxkfwrglvc1nql2ikgp6jj0qdbfwc3yvpb19mrf26hwgp13"))))
"1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)
@ -3821,6 +3956,31 @@ use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
@code{yas-minor-mode} first).")
(license license:gpl3+))))
(define-public emacs-ivy-rich
(package
(name "emacs-ivy-rich")
(version "0.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/Yevgnen/ivy-rich/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"14r3mx5rkd4wz0ls5pv5w6c7la3z9iy93d3jfind3xyg4kywy95c"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)))
(home-page "https://github.com/Yevgnen/ivy-rich")
(synopsis "More friendly interface for @code{ivy}")
(description
"This package extends @code{ivy} by showing more information in the
minibuffer for each candidate. It adds columns showing buffer modes, file
sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
show icons as well.")
(license license:gpl3+)))
(define-public emacs-avy
(package
(name "emacs-avy")
@ -4284,7 +4444,7 @@ to all the other commands, too.")
(define-public emacs-js2-mode
(package
(name "emacs-js2-mode")
(version "20150909")
(version "20180301")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mooz/js2-mode/archive/"
@ -4292,7 +4452,7 @@ to all the other commands, too.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1nsm36c4kwb473p13i58fgrnlk8fbn3rdhj47d9xz70az4ra44q0"))))
"13aghgwaqrmbf3pbifcry52kya454wnh1gbdh5805n1n6xgjm5w3"))))
(build-system emacs-build-system)
(home-page "https://github.com/mooz/js2-mode/")
(synopsis "Improved JavaScript editing mode for Emacs")
@ -4639,7 +4799,7 @@ indentation (space indentation only).
(define-public emacs-elpy
(package
(name "emacs-elpy")
(version "1.24.0")
(version "1.27.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -4648,7 +4808,7 @@ indentation (space indentation only).
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0rsg8a9nwqfkv0xcs11jzfp10ij7jm0v2ikx19zv2v7awqy0q5wf"))))
"1b76y0kzk7s9ya8k9bpsgn31i9l0rxs4iz6lg7snhjgh03k0ssgv"))))
(build-system emacs-build-system)
(arguments
`(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
@ -5046,26 +5206,28 @@ target will call @code{compile} on it.")
(define-public emacs-cider
(package
(name "emacs-cider")
(version "0.15.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/clojure-emacs/cider/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1j5hlmi14ypszv1f9nvq0jjlz7i742flg0ny3055l7i4x089xx6g"))))
(version "0.18.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure-emacs/cider.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1m9kc88vga3q5d731qnpngnsa0n57pf21k3hll20rw8rggrx4vdn"))))
(build-system emacs-build-system)
(arguments
'(#:exclude ; Don't exclude 'cider-test.el'.
'("^\\.dir-locals\\.el$" "^test/")))
(propagated-inputs
`(("emacs-clojure-mode" ,emacs-clojure-mode)
("emacs-sesman" ,emacs-sesman)
("emacs-spinner" ,emacs-spinner)
("emacs-pkg-info" ,emacs-pkg-info)
("emacs-queue" ,emacs-queue)))
(home-page "https://cider.readthedocs.org/")
(home-page "https://cider.readthedocs.io/")
(synopsis "Clojure development environment for Emacs")
(description
"CIDER (Clojure Interactive Development Environment that Rocks) aims to
@ -6627,7 +6789,7 @@ It should enable you to implement low-level X11 applications.")
(define-public emacs-exwm
(package
(name "emacs-exwm")
(version "0.20")
(version "0.21")
(synopsis "Emacs X window manager")
(source (origin
(method url-fetch)
@ -6635,7 +6797,7 @@ It should enable you to implement low-level X11 applications.")
version ".tar"))
(sha256
(base32
"0nhhzbkm0mkj7sd1dy2c19cmn56gyaj9nl8kgy86h4fp63hjaz04"))))
"07ng1pgsnc3isfsyzh2gfc7391p9il8lb5xqf1z6yqn20w7k6xzj"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-xelb" ,emacs-xelb)))
@ -7661,17 +7823,17 @@ value of the access token.")
(define-public emacs-circe
(package
(name "emacs-circe")
(version "2.6")
(version "2.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jorgenschaefer/circe.git")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(file-name (git-file-name name version))
(sha256
(base32
"19h3983zy3f15cgs86irvbdzz55qyjm48qd7gjlzcxplr7vnnh0j"))))
"10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"))))
(build-system emacs-build-system)
;; In order to securely connect to an IRC server using TLS, Circe requires
;; the GnuTLS binary.
@ -7685,25 +7847,42 @@ activity in channels in the status bar so it stays out of your way unless you
want to use it.")
(license license:gpl3+)))
(define-public emacs-tracking
(package
(inherit emacs-circe)
(name "emacs-tracking")
(arguments
;; "tracking.el" is a library extracted from Circe package. It requires
;; "shorten.el".
`(#:include '("^shorten.el$" "^tracking.el$")
#:tests? #f)) ;tests require buttercup
(home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
(synopsis "Buffer tracking library")
(description "@code{tracking.el} provides a way for different modes to
notify the user that a buffer needs attention. The user then can cycle
through them using @key{C-c C-SPC}.")
(license license:gpl3+)))
(define-public emacs-slack
(let ((commit "d90395482d26175ce38fd935e978c428be8af9a0")
(revision "4"))
(let ((commit "99a57501629a0329a9ca090c1ea1296462eda02d")
(revision "5"))
(package
(name "emacs-slack")
(version (string-append "0-" revision "." (string-take commit 7)))
(version (git-version "0.0.2" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/yuya373/emacs-slack.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(file-name (git-file-name name commit))
(sha256
(base32
"14f6wjcbl09cfd3yngr6m1k1d4nr764im666mbnqbk9nmqf50nib"))))
"0jw1diypfw8pmzkq0napgxmfc0gqka7zcccgnw359604lr30k2z2"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-alert" ,emacs-alert)
("emacs-emojify" ,emacs-emojify)
("emacs-helm" ,emacs-helm)
("emacs-request" ,emacs-request)
("emacs-websocket" ,emacs-websocket)
("emacs-oauth2" ,emacs-oauth2)
@ -7818,38 +7997,64 @@ contexts.
(license license:gpl3+)))
(define-public emacs-polymode
;; There hasn't been a proper release.
(let ((commit "0340f5e7e55235832e59673f027cc79a23cbdcd6")
(revision "1"))
(package
(name "emacs-polymode")
(version (string-append "1.0-" revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vspinu/polymode.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"057cybkq3cy07n5s332k071sjiky3mziy003lza4rh75mgqkwhmh"))))
(build-system emacs-build-system)
(arguments
`(#:include (cons* "^modes/.*\\.el$" %default-include)
#:phases
(modify-phases %standard-phases
(add-after 'set-emacs-load-path 'add-modes-subdir-to-load-path
(lambda _
(setenv "EMACSLOADPATH"
(string-append (getenv "EMACSLOADPATH")
":" (getcwd) "/modes" ":")))))))
(home-page "https://github.com/vspinu/polymode")
(synopsis "Framework for multiple Emacs modes based on indirect buffers")
(description "Polymode is an Emacs package that offers generic support
(package
(name "emacs-polymode")
(version "0.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vspinu/polymode.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0wwphs54jx48a3ca6x1qaz56j3j9bg4mv8g2akkffrzbdcb8sbc7"))))
(build-system emacs-build-system)
(arguments
`(#:include (cons* "^modes/.*\\.el$" %default-include)
#:phases
(modify-phases %standard-phases
(add-after 'set-emacs-load-path 'add-modes-subdir-to-load-path
(lambda _
(setenv "EMACSLOADPATH"
(string-append (getenv "EMACSLOADPATH")
":" (getcwd) "/modes" ":")))))))
(home-page "https://github.com/vspinu/polymode")
(synopsis "Framework for multiple Emacs modes based on indirect buffers")
(description "Polymode is an Emacs package that offers generic support
for multiple major modes inside a single Emacs buffer. It is lightweight,
object oriented and highly extensible. Creating a new polymode typically
takes only a few lines of code. Polymode also provides extensible facilities
for external literate programming tools for exporting, weaving and tangling.")
(license license:gpl3+)))
(define-public emacs-polymode-ansible
(let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
(package
(name "emacs-polymode-ansible")
;; No upstream version release yet.
(version (git-version "0.1" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/mavit/poly-ansible")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ansible-doc" ,emacs-ansible-doc)
("emacs-jinja2-mode" ,emacs-jinja2-mode)
("emacs-polymode" ,emacs-polymode)
("emacs-yaml-mode" ,emacs-yaml-mode)))
(properties '((upstream-name . "poly-ansible")))
(home-page "https://gitlab.com/mavit/poly-ansible/")
(synopsis "Polymode for Ansible - Jinja2 in YAML")
(description
"Edit YAML files for Ansible containing embedded Jinja2 templating.")
(license license:gpl3+))))
(define-public eless
@ -8173,7 +8378,7 @@ the format.")
(define-public emacs-nov-el
(package
(name "emacs-nov-el")
(version "0.2.2")
(version "0.2.6")
(source (origin
(method git-fetch)
(uri (git-reference
@ -8182,7 +8387,7 @@ the format.")
(file-name (git-file-name name version))
(sha256
(base32
"03s0qjvwk1f7y3i4wh2p5y3z4hdv00adgz8za3vphzc0q8i1kjzb"))))
"188h5gzn1zf443g0b7q5bpmvvpr6ds5h8aci8vxc92py56rhyrvc"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@ -11358,7 +11563,7 @@ the GIF result.")
(define-public emacs-google-translate
(package
(name "emacs-google-translate")
(version "0.11.15")
(version "0.11.16")
(source
(origin
(method url-fetch)
@ -11367,7 +11572,7 @@ the GIF result.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1zxvfagbaf5mxi528mz33c8vxdk86wj0xx5y2jfy97wi8dzrwn3g"))))
"01n9spj1d0gjfj39x526rl3m9c28wnx9afipmf5s8y77cx3mfwhl"))))
(build-system emacs-build-system)
(home-page "https://github.com/atykhonov/google-translate")
(synopsis "Emacs interface to Google Translate")
@ -11377,10 +11582,10 @@ on-line service.")
(license license:gpl3+)))
(define-public emacs-helm-company
(let ((commit "acc9c7901e094c1591327a0db1ec7a439f67a84d"))
(let ((commit "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f"))
(package
(name "emacs-helm-company")
(version (git-version "0.2.2" "1" commit))
(version (git-version "0.2.3" "1" commit))
(source
(origin
(method git-fetch)
@ -11390,7 +11595,7 @@ on-line service.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1d4q9clp0q56br80c21a4wz1gc4jw3mdy97z9mq07x9i8rhlppzs"))))
"1ciirsanhajdqm5iwl8k9ywf4jha1wdv4sc4d9kslyrfr9zn4q6k"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)
@ -11678,8 +11883,8 @@ file.")
(license license:gpl3+))))
(define-public emacs-picpocket
(let ((version "20180610.1059") ; taken from melpa
(commit "ce4b6ed088384f2414af82e8e4eae5b92c2874bf"))
(let ((version "40")
(commit "6fd88b8711c4370662c0f9c462170187d092a046"))
(package
(name "emacs-picpocket")
(version version)
@ -11691,7 +11896,7 @@ file.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "15vpbcv83mc4j1pvrk7xic0klh2bl9gzg2xxs7c2lmnix52hy8mv"))))
(base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
(build-system emacs-build-system)
(arguments ; needed for running tests
`(#:tests? #t
@ -11719,10 +11924,10 @@ file.")
(deprecated-package "emacs-wgrep-helm" emacs-wgrep))
(define-public emacs-mu4e-conversation
(let ((commit "223cc66e99c7665326e3d991d6d383cb0d7512bb"))
(let ((commit "e7d4bfcb0d392b0aed1f705ccac2419a168d1f5e"))
(package
(name "emacs-mu4e-conversation")
(version (git-version "20180722" "2" commit))
(version (git-version "20181126" "4" commit))
(source
(origin
(method url-fetch)
@ -11733,7 +11938,7 @@ file.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1ivy7pihhma465hi25p1y45dyi8h52nsm2m0cvizj5sw36jw0n81"))))
"0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29"))))
(build-system emacs-build-system)
(propagated-inputs
`(("mu" ,mu)))
@ -11985,7 +12190,7 @@ was called.")
(define-public emacs-dired-du
(package
(name "emacs-dired-du")
(version "0.5")
(version "0.5.1")
(source
(origin
(method url-fetch)
@ -11994,7 +12199,7 @@ was called.")
version ".tar"))
(sha256
(base32
"09yj37p2fa5f81fqrzwghjkyy2ydsf4rbkfwpn2yyvzd5nd97bpl"))))
"1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766"))))
(build-system emacs-build-system)
(home-page "http://elpa.gnu.org/packages/dired-du.html")
(synopsis "Dired with recursive directory sizes")
@ -12386,3 +12591,169 @@ have special meaning. It is also handy for aligning text across long vertical
distances. Multi-column characters, such as @kbd{TAB} are treated
correctly.")
(license license:gpl2+)))
(define-public emacs-slime-repl-ansi-color
(let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
(package
(name "emacs-slime-repl-ansi-color")
(version (git-version "0.0.0" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/deadtrickster/slime-repl-ansi-color")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
(build-system emacs-build-system)
(home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
(synopsis "Color ANSI codes in the REPL of SLIME")
(description "Color ANSI codes in the REPL of SLIME")
(license license:gpl2+))))
(define-public emacs-helm-slime
(let ((commit "9980925f3e5f6ac5a30369d2a544e82006a79c76"))
(package
(name "emacs-helm-slime")
(version (git-version "0.0.0" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-helm/helm-slime")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0xa07gpfkzwn522x9573mq5mfxvbawdgd0m93gqj6w5a14wk8zzh"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)
("emacs-slime" ,emacs-slime)))
(home-page "https://github.com/emacs-helm/helm-slime")
(synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
(description "Helm-SLIME defines a few new commands:
@itemize
@item helm-slime-complete: Select a symbol from the SLIME completion systems.
@item helm-slime-list-connections: Yet another slime-list-connections with Helm.
@item: helm-slime-apropos: Yet another slime-apropos with Helm.
@item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
@end itemize\n")
(license license:gpl3+))))
(define-public emacs-gtk-look
(package
(name "emacs-gtk-look")
(version "29")
(source (origin
(method url-fetch)
(uri "https://download.tuxfamily.org/user42/gtk-look.el")
(sha256
(base32
"14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda _
;; File is read-only.
(chmod "gtk-look.el" #o644)
(emacs-substitute-variables "gtk-look.el"
("gtk-lookup-devhelp-indices"
'(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
#t)))))
(home-page "http://user42.tuxfamily.org/gtk-look/index.html")
(synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
(description "@command{gtk-look} finds and displays HTML documentation for
GTK, GNOME and Glib functions and variables in Emacs, similar to what
info-lookup-symbol does for info files (C-h S). The documentation is expected
to be devhelp indexes with HTML files. The location of the indexes can be
customized. In addition to C code development @command{gtk-look} is good for
@itemize
@item @command{perl-gtk2}, recognising class funcs like
@command{Gtk2::Label->new} and bare method names like @command{set_text}.
@item @command{guile-gnome}, recognising methods like @command{set-text} and
classes like @command{<gtk-window>}.
@end itemize\n")
(license license:gpl3+)))
(define-public emacs-ov
(package
(name "emacs-ov")
(version "1.0.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ShingoFukuyama/ov.el.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
(build-system emacs-build-system)
(home-page "https://github.com/ShingoFukuyama/ov.el")
(synopsis "Overlay library for Emacs Lisp")
(description "@code{ov.el} provides a simple way to manipulate overlays in
Emacs.")
(license license:gpl3+)))
(define-public emacs-matrix-client
(let ((commit "3eab4c28280feff18ee1ddd7db66ada4f135cbf8"))
(package
(name "emacs-matrix-client")
(version (git-version "0.0.0" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jgkamat/matrix-client-el.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1k6721jz0m22vpb78881k087mpx8hf3s2219ic75v5mhgx355f7m"))))
(build-system emacs-build-system)
(propagated-inputs
`(("a" ,emacs-a)
("dash" ,emacs-dash)
("esxml" ,emacs-esxml)
("f" ,emacs-f)
("ht" ,emacs-ht)
("ov" ,emacs-ov)
("request" ,emacs-request)
("s" ,emacs-s)
("tracking" ,emacs-tracking)))
(home-page "https://github.com/jgkamat/matrix-client-el")
(synopsis "Matrix client for Emacs")
(description "@code{matrix-client} is a simple chat UI to Matrix.org
rooms. It also provides an API which allows Emacs to seamlessly create
RPC channels with users and other software.")
(license license:gpl3+))))
(define-public emacs-sesman
(package
(name "emacs-sesman")
(version "0.3.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vspinu/sesman.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0r32f8ma9ddczxrrdz0nadp14j3zmk10q1ch02gb82synkx3xdra"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
#:test-command '("make" "test")))
(home-page "https://github.com/vspinu/sesman")
(synopsis "Session manager for Emacs based IDEs")
(description "Sesman provides facilities for session management and
interactive session association with the current contexts (project, directory,
buffers). While sesman can be used to manage arbitrary sessions, it primary
targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
(license license:gpl3+)))

View File

@ -321,12 +321,6 @@ languages are C and C++.")
("pkg-config" ,pkg-config)))
(inputs
`(("libusb" ,libusb)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
(home-page "http://repo.or.cz/w/libjaylink.git")
(synopsis "Library to interface Segger J-Link devices")
(description "libjaylink is a shared library written in C to access
@ -404,9 +398,9 @@ language.")
"presto" "openjtag")))
#:phases
(modify-phases %standard-phases
;; Required because of patched sources.
(add-before 'configure 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vfi"))))
(lambda _ (invoke "autoreconf" "-vfi") #t))
(add-after 'autoreconf 'change-udev-group
(lambda _
(substitute* "contrib/60-openocd.rules"
@ -417,7 +411,8 @@ language.")
(install-file "contrib/60-openocd.rules"
(string-append
(assoc-ref outputs "out")
"/lib/udev/rules.d/")))))))
"/lib/udev/rules.d/"))
#t)))))
(home-page "http://openocd.org")
(synopsis "On-Chip Debugger")
(description "OpenOCD provides on-chip programming and debugging support

View File

@ -117,8 +117,8 @@
;; Building from recent Git because the official 5.0 release no longer builds.
(define-public dolphin-emu
(let ((commit "5f0d825f40b8aabe13eaef32d44ab667ff8e8c28")
(revision "3"))
(let ((commit "2c57e709d0f9e4010a4415de4192de887e37f187")
(revision "5"))
(package
(name "dolphin-emu")
(version (git-version "5.0" revision commit))
@ -144,7 +144,7 @@
#t))
(sha256
(base32
"0dh7mih16aif9ynbgcsn7n10f89g8d232i86xqfp2rijsdggcmzl"))))
"0aszfdfvs7yg4bmrd3qxwsiz7hx3mrj29f4aw86bz7h9j7hkh57f"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f
@ -153,7 +153,8 @@
(add-before 'configure 'fixgcc7
(lambda _
(unsetenv "C_INCLUDE_PATH")
(unsetenv "CPLUS_INCLUDE_PATH")))
(unsetenv "CPLUS_INCLUDE_PATH")
#t))
(add-before 'configure 'generate-fonts&hardcore-libvulkan-path
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((fontfile
@ -195,7 +196,7 @@
("bluez" ,bluez)
("curl" ,curl)
("eudev" ,eudev)
("ffmpeg" ,ffmpeg-3.4)
("ffmpeg" ,ffmpeg)
("font-wqy-microhei" ,font-wqy-microhei)
("freetype" ,freetype)
("glew" ,glew)
@ -1185,7 +1186,7 @@ play them on systems for which they were never designed!")
(define-public mame
(package
(name "mame")
(version "0.202")
(version "0.203")
(source
(origin
(method git-fetch)
@ -1195,7 +1196,7 @@ play them on systems for which they were never designed!")
(file-name (git-file-name name version))
(sha256
(base32
"1v9gm124p65nbj678gfkcvwphp9qc15ky2p12ca6g3rllma94di5"))
"19ccqc00024fbjyk0k5d9xljhwq7wsrp7phwm2jmn0h77mgdj844"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.

View File

@ -717,6 +717,13 @@ language.")
"-DBUILD_GITHUB_PLUGIN=OFF")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'adjust-boost-include
(lambda _
;; The location of this header changed in Boost 1.66.
(substitute* "3d-viewer/3d_cache/3d_cache.cpp"
(("boost/uuid/sha1\\.hpp")
"boost/uuid/detail/sha1.hpp"))
#t))
(add-after 'install 'wrap-program
;; Ensure correct Python at runtime.
(lambda* (#:key inputs outputs #:allow-other-keys)
@ -1702,7 +1709,7 @@ parallel computing platforms. It also supports serial execution.")
("gcc-toolchain" ,gcc-toolchain)
("iverilog" ,iverilog)
("libtool" ,libtool)
("octave" ,octave)
("octave" ,octave-cli)
("qt4" ,qt-4)
("sed" ,sed)))
(home-page "http://qucs.sourceforge.net/")
@ -1832,7 +1839,7 @@ simulations are also supported.")
("libtool" ,libtool)
("mpi" ,openmpi)
("ngspice" ,ngspice)
("octave" ,octave)
("octave" ,octave-cli)
("qt4" ,qt-4)
("qucs" ,qucs)
("sed" ,sed)

View File

@ -58,7 +58,8 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg))
#:use-module (gnu packages xorg)
#:use-module (ice-9 match))
(define-public efl
(package
@ -139,12 +140,16 @@
(arguments
`(#:configure-flags '("--disable-silent-rules"
"--disable-systemd"
"--with-profile=release"
"--enable-liblz4"
"--enable-xinput22"
"--enable-image-loader-webp"
"--enable-multisense"
"--with-opengl=es"
"--enable-egl"
,@(match (%current-system)
("armhf-linux"
'("--with-opengl=es" "--with-egl"))
(_
'("--with-opengl=full")))
"--enable-harfbuzz"
;; for wayland
"--enable-wayland"
@ -178,7 +183,7 @@ removable devices or support for multimedia.")
(define-public terminology
(package
(name "terminology")
(version "1.2.1")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri
@ -186,10 +191,9 @@ removable devices or support for multimedia.")
"terminology/terminology-" version ".tar.xz"))
(sha256
(base32
"1ii8332bl88l8md3gvz5dhi9bjpm6shyf14ck9kfyy7d56hp71mc"))
"07vw28inkimi9avp16j0rqcfqjq16081554qsv29pcqhz18xp59r"))
(modules '((guix build utils)))
;; Remove the bundled fonts.
;; TODO: Remove bundled lz4.
(snippet
'(begin
(delete-file-recursively "data/fonts")
@ -271,7 +275,8 @@ Libraries with some extra bells and whistles.")
(let ((xkeyboard (assoc-ref inputs "xkeyboard-config"))
(setxkbmap (assoc-ref inputs "setxkbmap"))
(utils (assoc-ref inputs "util-linux"))
(libc (assoc-ref inputs "libc")))
(libc (assoc-ref inputs "libc"))
(efl (assoc-ref inputs "efl")))
;; We need to patch the path to 'base.lst' to be able
;; to switch the keyboard layout in E.
(substitute* (list "src/modules/xkbswitch/e_mod_parse.c"
@ -286,6 +291,9 @@ Libraries with some extra bells and whistles.")
"src/modules/conf_intl/e_int_config_intl.c"
"src/modules/wizard/page_010.c")
(("locale -a") (string-append libc "/bin/locale -a")))
(substitute* "src/bin/e_import_config_dialog.c"
(("%s/edje_cc -v %s %s %s\", e_prefix_bin_get\\(\\)")
(string-append efl "/bin/edje_cc -v %s %s %s\"")))
(substitute* "src/modules/everything/evry_plug_apps.c"
(("/usr/bin/") ""))
(substitute* "configure"

View File

@ -2,6 +2,7 @@
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@ -23,6 +24,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix utils)
#:use-module (gnu packages)
@ -107,7 +109,7 @@ single file can be mounted.")
(define-public disorderfs
(package
(name "disorderfs")
(version "0.5.4")
(version "0.5.5")
(source
(origin
(method git-fetch)
@ -117,7 +119,7 @@ single file can be mounted.")
(file-name (git-file-name name version))
(sha256
(base32
"1mw4ix9h17ikki8p2rxdvzp87rcm1c7by5lvfn5gxlxr7hlj9f8g"))))
"18c32qcdzbxrzg7srnqnw1ls9yqqxyk9b996yxr6w2znw6x6n8v4"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -126,7 +128,7 @@ single file can be mounted.")
("attr" ,attr)))
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure))
(delete 'configure)) ; no configure script
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list (string-append "PREFIX=" out)))
#:test-target "test"
@ -245,3 +247,50 @@ All of this is accomplished without a centralized metadata server.")
(description
"This is a file system client based on the FTP File Transfer Protocol.")
(license license:gpl2+)))
(define-public apfs-fuse
(let ((commit "c7036a3030d128bcecefc1eabc47c039ccfdcec9")
(revision "0"))
(package
(name "apfs-fuse")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sgan81/apfs-fuse")
(recursive? #t) ; for lzfse
(commit commit)))
(sha256
(base32
"1akd4cx1f9cyq6sfk9ybv4chhjwjlnqi8ic4z5ajnd5x0g76nz3r"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; No test suite
#:phases
(modify-phases %standard-phases
;; No 'install' target in CMakeLists.txt
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(lib (string-append out "/lib"))
(doc (string-append out "/share/doc/"
(string-append ,name "-" ,version))))
(install-file "apfs-dump" bin)
(install-file "apfs-dump-quick" bin)
(install-file "apfs-fuse" bin)
(install-file "libapfs.a" lib)
(install-file "../source/LICENSE" doc)
#t))))))
(inputs
`(("bzip2" ,bzip2)
("fuse" ,fuse)
("zlib" ,zlib)))
(synopsis "Read-only FUSE driver for the APFS filesystem")
(description "APFS-FUSE is a read-only FUSE driver for the @dfn{Apple File
System} (APFS). It is currently in an experimental state it may not be able
to read all files, and it does not support all the compression methods in
APFS.")
(home-page "https://github.com/sgan81/apfs-fuse")
(license license:gpl2+))))

View File

@ -165,6 +165,13 @@ line client and a client based on Qt.")
#:make-flags (list "ARGS=-E BaselineTest_cmd-org")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'boost-compat
(lambda _
(substitute* "src/utils.h"
;; This library moved in Boost 1.66. Remove for Ledger
;; versions > 3.1.1.
(("boost/uuid/sha1.hpp") "boost/uuid/detail/sha1.hpp"))
#t))
(add-before 'configure 'install-examples
(lambda* (#:key outputs #:allow-other-keys)
(let ((examples (string-append (assoc-ref outputs "out")
@ -840,7 +847,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(define-public python-duniterpy
(package
(name "python-duniterpy")
(version "0.43.7")
(version "0.50.0")
(source
(origin
(method git-fetch)
@ -851,10 +858,14 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(file-name (git-file-name name version))
(sha256
(base32
"19m36z98361bqxjdb65597j2kxbly491927c6p9z47s1vxc3raaq"))))
"0f24ihglmzphy30pgc49w0rxmsjc76mgcggg078cfsz7xrrk13gf"))))
(build-system python-build-system)
(arguments
;; Tests fail with "AttributeError: module 'attr' has no attribute 's'".
`(#:tests? #f))
(propagated-inputs
`(("python-aiohttp" ,python-aiohttp)
("python-attr" ,python-attr)
("python-base58" ,python-base58)
("python-jsonschema" ,python-jsonschema)
("python-libnacl" ,python-libnacl)
@ -875,7 +886,7 @@ main features are:
(define-public silkaj
(package
(name "silkaj")
(version "0.5.0")
(version "0.6.0")
(source
(origin
(method git-fetch)
@ -885,30 +896,10 @@ main features are:
(file-name (git-file-name name version))
(sha256
(base32
"0xy25lpgz04nxikjvxlnlckrc9xmsxyiz2qm0bsiid8cnbdqcn12"))))
"02n028rz1pshgh7w0af3b291r8lwvhzskm1q98d991gr8rscvad2"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ;no test
#:phases
(modify-phases %standard-phases
;; The program is just a bunch of Python files in "src/" directory.
;; Many phases are useless. However, `python-build-system' correctly
;; sets PYTHONPATH and patches Python scripts.
(delete 'configure)
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/silkaj"))
(executable (string-append share "/silkaj.py"))
(bin (string-append out "/bin")))
;; Install data.
(copy-recursively "src" share)
;; Install executable.
(mkdir-p bin)
(with-directory-excursion bin
(symlink executable "silkaj")))
#t)))))
`(#:tests? #f)) ;no test
(inputs
`(("python-commandlines" ,python-commandlines)
("python-ipaddress" ,python-ipaddress)

View File

@ -446,25 +446,26 @@ such as:
(license (list license:bsd-3
license:bsd-2)))) ; libfdt
(define-public arm-trusted-firmware-pine64-plus
(let ((base (make-arm-trusted-firmware "sun50iw1p1"))
;; Vendor's arm trusted firmware branch hasn't been upstreamed yet.
(commit "ae78724247a01560164d607ed66db111c74d8df0")
(define-public arm-trusted-firmware-sun50i-a64
(let ((base (make-arm-trusted-firmware "sun50i_a64"))
;; Use unreleased version which enables additional features needed for
;; LCD support
(commit "cabe0a31801e99e7abb84d2114ded6bb56f3c71e")
(revision "1"))
(package
(inherit base)
(name "arm-trusted-firmware-pine64-plus")
(version (string-append "1.2-" revision "." (string-take commit 7)))
(name "arm-trusted-firmware-sun50i-a64")
(version (git-version "2.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/apritzel/arm-trusted-firmware.git")
(url "https://github.com/ARM-software/arm-trusted-firmware.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0r4xnlq7v9khjfcg6gqp7nmrmnw4z1r8bipwdr07png1dcbb8214")))))))
"0srw2zj3vn5d2fwzjpwa5h70d5bwvb79jnpdvmd395npv0gxshdz")))))))
(define-public arm-trusted-firmware-puma-rk3399
(let ((base (make-arm-trusted-firmware "rk3399"))

View File

@ -115,6 +115,12 @@ UI builder called FLUID that can be used to create applications in minutes.")
#:configure-flags '("--enable-gl")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'setup-waf
(lambda* (#:key inputs #:allow-other-keys)
(let ((waf (assoc-ref inputs "waf")))
(delete-file "waf")
(copy-file (string-append waf "/bin/waf") "waf"))
#t))
(add-before 'configure 'set-ldflags
(lambda* (#:key outputs #:allow-other-keys)
(setenv "LDFLAGS"
@ -123,7 +129,8 @@ UI builder called FLUID that can be used to create applications in minutes.")
#t)))))
(inputs
`(("libjpeg" ,libjpeg)
("glu" ,glu)))
("glu" ,glu)
("waf" ,python-waf)))
;; ntk.pc lists "x11" and "xft" in Requires.private, and "cairo" in
;; Requires.
(propagated-inputs

View File

@ -99,13 +99,14 @@ in print. With attention to detail for high resolution rendering.")
(name "font-ubuntu")
(version "0.83")
(source (origin
(method url-fetch)
(uri (string-append
"http://font.ubuntu.com/download/ubuntu-font-family-"
version ".zip"))
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/fonts-team/fonts-ubuntu")
(commit (string-append "upstream/" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0hjvq2x758dx0sfwqhzflns0ns035qm7h6ygskbx1svzg517sva5"))))
"1d2xrjpxy70f3nsgqiggwv6pj06qglf5vj2847pqx60w3ygi903g"))))
(build-system font-build-system)
(home-page "http://font.ubuntu.com/")
(synopsis "The Ubuntu Font Family")
@ -621,7 +622,7 @@ languages, plus Greek and Cyrillic.")
(define-public font-gnu-unifont
(package
(name "font-gnu-unifont")
(version "11.0.02")
(version "11.0.03")
(source (origin
(method url-fetch)
(uri (string-append
@ -629,16 +630,14 @@ languages, plus Greek and Cyrillic.")
version ".tar.gz"))
(sha256
(base32
"1di8i44c163b9l5f08jcrjfijnqz0j7p7hpfvf8dcms6cm6s4wvy"))))
"171zhm52c4rzpn19qcq4n9nyfbcjl38v50zslhvgpjdcmc5jvhav"))))
(build-system gnu-build-system)
(outputs '("out" ; TrueType version
"pcf" ; PCF (bitmap) version
"psf" ; PSF (console) version
"bin" ; Utilities to manipulate '.hex' format
))
(outputs '("out" ; TrueType version
"pcf" ; PCF (bitmap) version
"psf" ; PSF (console) version
"bin")) ; Utilities to manipulate '.hex' format
(arguments
'(#:parallel-build? #f ; parallel build fails
#:tests? #f ; no check target
'(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(replace

View File

@ -121,14 +121,15 @@ For synthesis, the compiler generates netlists in the desired format.")
(name "yosys")
(version "0.7")
(source (origin
(method url-fetch)
(uri
(string-append "https://github.com/cliffordwolf/yosys/archive/"
name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/cliffordwolf/yosys.git")
(commit (string-append "yosys-" version))
(recursive? #t))) ; for the iverilog submodule
(sha256
(base32
"0vkfdn4phvkjqlnpqlr6q5f97bgjc3312vj5jf0vf85zqv88dy9x"))
(file-name (string-append name "-" version "-checkout.tar.gz"))
"1ssrpgw0j9qlm52g1hsbb9fsww4vnwi0l7zvvky7a8w7wamddky0"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -13,6 +13,7 @@
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -67,16 +68,14 @@
#:use-module (gnu packages m4)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages polkit)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages polkit)
#:use-module (gnu packages python)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages w3m)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-1))
@ -229,109 +228,69 @@ the freedesktop.org XDG Base Directory specification.")
(define-public elogind
(package
(name "elogind")
(version "232.4")
(version "239.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/elogind/elogind/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/elogind/elogind")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1qcxian48z2dj5gfmp7brrngdydqf2jm00f4rjr5sy1myh8fy931"))
(patches (search-patches "elogind-glibc-2.27.patch"))
(modules '((guix build utils)))
(snippet
'(begin
(use-modules (guix build utils))
(substitute* "Makefile.am"
;; Avoid validation against DTD because the DTDs for
;; both doctype 4.2 and 4.5 are needed.
(("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid"))
#t))))
(build-system gnu-build-system)
"1gipnbnlz5k3gxv33wyhi2zd94hlfa9lm360p8z6w5i9s8dzhf52"))))
(build-system meson-build-system)
(arguments
`(#:tests? #f ;FIXME: "make check" in the "po" directory fails.
#:configure-flags
(list (string-append "--with-udevrulesdir="
(assoc-ref %outputs "out")
"/lib/udev/rules.d")
;; Let elogind be its own cgroup controller, rather than relying
;; on systemd or OpenRC. By default, 'configure' makes an
;; incorrect guess.
"--with-cgroup-controller=elogind"
(string-append "--with-rootprefix="
(assoc-ref %outputs "out"))
(string-append "--with-rootlibexecdir="
(assoc-ref %outputs "out")
"/libexec/elogind")
;; These are needed to ensure that lto linking works.
"RANLIB=gcc-ranlib"
"AR=gcc-ar"
"NM=gcc-nm")
#:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent")
`(#:configure-flags
(let* ((out (assoc-ref %outputs "out"))
(sysconf (string-append out "/etc"))
(libexec (string-append out "/libexec/elogind"))
(dbuspolicy (string-append out "/etc/dbus-1/system.d"))
(shepherd (assoc-ref %build-inputs "shepherd"))
(halt-path (string-append shepherd "/sbin/halt"))
(kexec-path "") ;not available in Guix yet
(poweroff-path (string-append shepherd "/sbin/shutdown"))
(reboot-path (string-append shepherd "/sbin/reboot")))
(list
(string-append "-Drootprefix=" out)
(string-append "-Dsysconfdir=" sysconf)
(string-append "-Drootlibexecdir=" libexec)
(string-append "-Ddbuspolicydir=" dbuspolicy)
(string-append "-Dc_link_args=-Wl,-rpath=" libexec)
(string-append "-Dcpp_link_args=-Wl,-rpath=" libexec)
(string-append "-Dhalt-path=" halt-path)
(string-append "-Dkexec-path=" kexec-path)
(string-append "-Dpoweroff-path=" poweroff-path)
(string-append "-Dreboot-path=" reboot-path)
"-Dcgroup-controller=elogind"
;; Disable some tests.
"-Dtests=false"
"-Dslow-tests=false"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-locale-header
(add-after 'unpack 'fix-pkttyagent-path
(lambda _
;; Fix compilation with glibc >= 2.26, which removed xlocale.h.
;; This can be removed for elogind 234.
(substitute* "src/basic/parse-util.c"
(("xlocale\\.h") "locale.h"))
(substitute* "meson.build"
(("join_paths\\(bindir, 'pkttyagent'\\)")
"'\"/run/current-system/profile/bin/pkttyagent\"'"))
#t))
(replace 'bootstrap
(add-after 'unpack 'change-pid-file-path
(lambda _
(invoke "intltoolize" "--force" "--automake")
(invoke "autoreconf" "-vif")))
(add-before 'build 'fix-service-file
(lambda* (#:key outputs #:allow-other-keys)
;; Fix the file name of the 'elogind' binary in the D-Bus
;; '.service' file.
(substitute* "src/login/org.freedesktop.login1.service"
(("^Exec=.*")
(string-append "Exec=" (assoc-ref %outputs "out")
"/libexec/elogind/elogind\n")))
#t))
(add-after 'install 'add-libcap-to-search-path
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Add a missing '-L' for libcap in libelogind.la. See
;; <https://lists.gnu.org/archive/html/guix-devel/2017-09/msg00084.html>.
(let ((libcap (assoc-ref inputs "libcap"))
(out (assoc-ref outputs "out")))
(substitute* (string-append out "/lib/libelogind.la")
(("-lcap")
(string-append "-L" libcap "/lib -lcap")))
#t)))
(add-after 'unpack 'remove-uaccess-tag
(lambda _
;; systemd supports a "uaccess" built-in tag, but eudev currently
;; doesn't. This leads to eudev warnings that we'd rather not
;; see, so remove the reference to "uaccess."
(substitute* "src/login/73-seat-late.rules.in"
(("^TAG==\"uaccess\".*" line)
(string-append "# " line "\n")))
(substitute* "src/login/elogind.c"
(("\"/run/elogind.pid\"") "\"/run/systemd/elogind.pid\""))
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("intltool" ,intltool)
("gettext" ,gettext-minimal)
("python" ,python)
`(("docbook-xml" ,docbook-xml)
("docbook-xml-4.2" ,docbook-xml-4.2)
("docbook-xsl" ,docbook-xsl)
("docbook-xml" ,docbook-xml)
("xsltproc" ,libxslt)
("m4" ,m4)
("gettext" ,gettext-minimal)
("gperf" ,gperf)
("libxml2" ,libxml2) ;for XML_CATALOG_FILES
("m4" ,m4)
("pkg-config" ,pkg-config)
;; Use gperf 3.0 to work around
;; <https://github.com/wingo/elogind/issues/8>.
("gperf" ,gperf-3.0)))
("python" ,python)
("xsltproc" ,libxslt)))
(inputs
`(("linux-pam" ,linux-pam)
("linux-libre-headers" ,linux-libre-headers)
("libcap" ,libcap)
("shepherd" ,shepherd) ;for 'halt' and 'reboot', invoked
;when pressing the power button

View File

@ -170,7 +170,7 @@ as required.")
(define-public libfilezilla
(package
(name "libfilezilla")
(version "0.14.0")
(version "0.15.1")
(source
(origin
(method url-fetch)
@ -178,11 +178,13 @@ as required.")
name "/" name "-" version ".tar.bz2"))
(sha256
(base32
"15cfz98asypf9rfybv4c6kx8nk3wak7qlm1azldc0gd1nqm4xqvz"))))
"17zlhw5b1a7jzh50cbpy2is3sps5lnzch5yf9qm7mwrviw9c8j10"))))
(build-system gnu-build-system)
(native-inputs
`(("cppunit" ,cppunit)
("pkg-config" ,pkg-config)))
(inputs
`(("nettle" ,nettle)))
(home-page "https://lib.filezilla-project.org")
(synopsis "Cross-platform C++ library used by Filezilla client")
(description
@ -207,14 +209,14 @@ output.
(define-public filezilla
(package
(name "filezilla")
(version "3.37.4")
(version "3.39.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.filezilla-project.org/client/"
"FileZilla_" version "_src.tar.bz2"))
(sha256
(base32 "169wy7ilsh518mcinkjmr6m0kzxbzchmc9mivf5c9b4zp1w4gg3i"))))
(base32 "0ks42q6mi3qx85zpa98izkyficv2bdh3jnvmy97xjnjyfy9mwlgv"))))
(build-system gnu-build-system)
(arguments
;; Don't let filezilla phone home to check for updates.

View File

@ -397,15 +397,16 @@ support.")
(define-public tiled
(package
(name "tiled")
(version "1.2.0")
(version "1.2.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/bjorn/tiled/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/bjorn/tiled.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"13dlf5kzvhhjkhy19118x3diakmraz4m9kxrsdam8dms6xivb6lp"))))
"1dl06k2p0r7l20ghxcq5sn7j0jl2l8q4m27vmfs2qfgvldjll2h3"))))
(build-system gnu-build-system)
(inputs
`(("qtbase" ,qtbase)
@ -440,18 +441,19 @@ clone.")
(define-public sfml
(package
(name "sfml")
(version "2.5.0")
(version "2.5.1")
(source (origin
(method url-fetch)
(method git-fetch)
;; Do not fetch the archives from
;; http://mirror0.sfml-dev.org/files/ because files there seem
;; to be changed in place.
(uri (string-append "https://github.com/SFML/SFML/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(uri (git-reference
(url "https://github.com/SFML/SFML.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1x3yvhdrln5b6h4g5r4mds76gq8zsxw6icxqpwqkmxsqcq5yviab"))
"0abr8ri2ssfy9ylpgjrr43m6rhrjy03wbj9bn509zqymifvq5pay"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -2,7 +2,7 @@
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2016 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
;;; Copyright © 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
@ -35,6 +35,7 @@
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018 Madalin Ionel-Patrascu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -572,7 +573,7 @@ automata. The following features are available:
(define-public meandmyshadow
(package
(name "meandmyshadow")
(version "0.4.1")
(version "0.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/meandmyshadow/"
@ -580,38 +581,24 @@ automata. The following features are available:
"-src.tar.gz"))
(sha256
(base32
"0wl5dc75qy001s6043cx0vr2l5y2qfv1cldqnwill9sfygqj9p95"))))
"1b6qf83vdfv8jwn2jq9ywmda2qn2f5914i7mwfy04m17wx593m3m"))
(patches (search-patches
;; This will not be needed in the next release.
"meandmyshadow-define-paths-earlier.patch"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; there are no tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'set-sdl'paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "cmake/Modules/FindSDL_gfx.cmake"
(("/usr/local/include/SDL")
(string-append (assoc-ref inputs "sdl")
"/include/SDL")))
;; Because SDL provides lib/libX11.so.6 we need to explicitly
;; link with libX11, even though we're using the GL backend.
(substitute* "CMakeLists.txt"
(("\\$\\{X11_LIBRARIES\\}") "-lX11"))
#t)))))
`(#:tests? #f)) ; there are no tests
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("sdl" ,(sdl-union (list sdl
sdl-image
sdl-gfx
sdl-mixer
sdl-ttf)))
("libx11" ,libx11) ; needed by sdl's libX11
`(("curl" ,curl)
("libarchive" ,libarchive)
("openssl" ,openssl)
("mesa" ,mesa)
("glu" ,glu)
("curl" ,curl)))
(home-page "http://meandmyshadow.sourceforge.net/")
("lua" ,lua)
("sdl" ,(sdl-union (list sdl2
sdl2-image
sdl2-mixer
sdl2-ttf)))))
(home-page "https://acmepjz.github.io/meandmyshadow/")
(synopsis "Puzzle/platform game")
(description "Me and My Shadow is a puzzle/platform game in which you try
to reach the exit by solving puzzles. Spikes, moving blocks, fragile blocks
@ -3272,7 +3259,7 @@ safety of the Chromium vessel.")
(define-public tuxpaint
(package
(name "tuxpaint")
(version "0.9.22") ;keep VER_DATE below in sync
(version "0.9.23") ;keep VER_DATE below in sync
(source
(origin
(method url-fetch)
@ -3280,7 +3267,7 @@ safety of the Chromium vessel.")
version "/tuxpaint-" version ".tar.gz"))
(sha256
(base32
"1qrbrdck9yxpcg3si6jb9i11w8lw9h4hqad0pfaxgyiniqpr7gca"))
"09k9pxi88r3dx6dyjwf9h85d4qpva4i29qz63dc558hg9v21k69l"))
(modules '((guix build utils)))
(snippet
'(begin
@ -3308,16 +3295,22 @@ safety of the Chromium vessel.")
("sdl" ,(sdl-union (list sdl sdl-mixer sdl-ttf sdl-image)))))
;; TODO: Use system fonts rather than those in data/fonts
(arguments
`(#:make-flags `("VER_DATE=2014-08-23"
`(#:make-flags `("VER_DATE=2018-09-02"
"GPERF=gperf" "CC=gcc"
"SDL_PCNAME=sdl SDL_image SDL_mixer SDL_ttf"
,(string-append "PREFIX=" %output)
"GNOME_PREFIX=$(PREFIX)"
"KDE_PREFIX=$(PREFIX)/share/applications"
"KDE_ICON_PREFIX=$(PREFIX)/share/icons/"
"COMPLETIONDIR=$(PREFIX)/etc/bash_completion.d")
#:parallel-build? #f ;fails on some systems
#:tests? #f ;No tests
#:phases (modify-phases %standard-phases
(delete 'configure) ;no configure phase
(add-before 'install 'no-sys-cache
(lambda _ ;do not rebuild system conf cache
(substitute* "Makefile"
(("kbuildsycoca4") ""))
#t))
(add-after 'install 'fix-import
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -3349,7 +3342,7 @@ your child be creative.")
(define-public tuxpaint-stamps
(package
(name "tuxpaint-stamps")
(version "2014.08.23")
(version "2018.09.01")
(source
(origin
(method url-fetch)
@ -3358,7 +3351,7 @@ your child be creative.")
"/tuxpaint-stamps-" version ".tar.gz"))
(sha256
(base32
"0rhlwrjz44wp269v3rid4p8pi0i615pzifm1ym6va64gn1bms06q"))))
"1skr23k27yj3vgwfazpzxp90lb2a278gxrkr3bxw7az6zpkmb3yp"))))
(build-system trivial-build-system)
(native-inputs
`(("tar" ,tar)
@ -3387,7 +3380,7 @@ with the \"Stamp\" tool within Tux Paint.")
(define-public tuxpaint-config
(package
(name "tuxpaint-config")
(version "0.0.13") ;keep VER_DATE below in sync
(version "0.0.14") ;keep VER_DATE below in sync
(source
(origin
(method url-fetch)
@ -3395,7 +3388,7 @@ with the \"Stamp\" tool within Tux Paint.")
version "/tuxpaint-config-" version ".tar.gz"))
(sha256
(base32
"1z12s46mvy87qs3vgq9m0ki9pp21zqc52mmgphahpihw3s7haf6v"))))
"0zkgxk436nqcp43zghkfmh397c7dvh5bwn2as7gwvv208bzyij6g"))))
(build-system gnu-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)))
@ -3407,7 +3400,7 @@ with the \"Stamp\" tool within Tux Paint.")
("libxft" ,libxft)
("mesa" ,mesa)))
(arguments
`(#:make-flags `("VER_DATE=2014-08-23"
`(#:make-flags `("VER_DATE=2018-09-01"
"CONFDIR=/etc/tuxpaint" ;don't write to store
,(string-append "PREFIX=" %output)
"GNOME_PREFIX=$(PREFIX)")
@ -3658,18 +3651,18 @@ throwing people around in pseudo-randomly generated buildings.")
(define-public hyperrogue
(package
(name "hyperrogue")
(version "10.4t")
(version "10.5")
;; When updating this package, be sure to update the "hyperrogue-data"
;; origin in native-inputs.
(source (origin
(method url-fetch)
(uri (string-append
"http://www.roguetemple.com/z/hyper/"
"https://www.roguetemple.com/z/hyper/"
name (string-join (string-split version #\.) "")
"-src.tgz"))
(sha256
(base32
"0phqhmnzmc16a23qb4fkil0flzb86kibdckf1r35nc3l0k4193nn"))))
"04wk50f51xrb9vszwil4ivkfpy7xc6nw3gnp90hbna2zqi2jnvb8"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
@ -3741,12 +3734,12 @@ throwing people around in pseudo-randomly generated buildings.")
(method url-fetch)
(uri
(string-append
"http://www.roguetemple.com/z/hyper/" name
"https://www.roguetemple.com/z/hyper/" name
(string-join (string-split version #\.) "")
"-win.zip"))
(sha256
(base32
"1xd9v8zzgi8m5ar8g4gy1xx5zqwidz3gn1knz0lwib3kbxx4drpg"))))
"0r6xvnr7b56iv27n8z10qmxhsz5h7w6ayhxkz3xinlvch84bk708"))))
("unzip" ,unzip)))
(inputs
`(("font-dejavu" ,font-dejavu)
@ -3756,7 +3749,7 @@ throwing people around in pseudo-randomly generated buildings.")
sdl-gfx
sdl-mixer
sdl-ttf)))))
(home-page "http://www.roguetemple.com/z/hyper/")
(home-page "https://www.roguetemple.com/z/hyper/")
(synopsis "Non-euclidean graphical rogue-like game")
(description
"HyperRogue is a game in which the player collects treasures and fights
@ -4018,7 +4011,7 @@ emerges from a sewer hole and pulls her below ground.")
(define-public cdogs-sdl
(package
(name "cdogs-sdl")
(version "0.6.7")
(version "0.6.8")
(source (origin
(method git-fetch)
(uri (git-reference
@ -4027,7 +4020,7 @@ emerges from a sewer hole and pulls her below ground.")
(file-name (git-file-name name version))
(sha256
(base32
"1frafzsj3f83xkmn4llr7g728c82lcqi424ini1hv3gv5zjgpa15"))))
"1v0adxm4xsix6r6j9hs7vmss7pxrb37azwfazr54p1dmfz4s6rp8"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@ -4153,31 +4146,54 @@ small robot living in the nano world, repair its maker.")
(define-public teeworlds
(package
(name "teeworlds")
(version "0.6.4")
(version "0.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/teeworlds/teeworlds/"
"archive/" version "-release.tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
;; do not use auto-generated tarballs
(method git-fetch)
(uri (git-reference
(url "https://github.com/teeworlds/teeworlds.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1mqhp6xjl75l49050cid36wxyjn1qr0vjx1c709dfg1lkvmgs6l3"))
(modules '((guix build utils)))
(snippet
'(begin
(for-each delete-file-recursively
'("src/engine/external/wavpack/"
"src/engine/external/zlib/"))
"0jigg2yikihbivzs7hpljr0mghx1l9v4f1cdr8fbmqv2wb51ah8q"))
(modules '((guix build utils)
(ice-9 ftw)
(ice-9 regex)
(srfi srfi-1)
(srfi srfi-26)))
(snippet ; remove bundled libraries except md5
'(let ((base-dir "src/engine/external/"))
(for-each (compose (cut delete-file-recursively <>)
(cut string-append base-dir <>))
(remove (cut string-match "(^.)|(^md5$)" <>)
(scandir base-dir)))
#t))
(patches
(search-patches "teeworlds-use-latest-wavpack.patch"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests included
#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-26))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
;; The bundled json-parser uses an old API.
;; To use the latest non-bundled version, we need to pass the
;; length of the data in all 'json_parse_ex' calls.
(define (use-latest-json-parser file)
(substitute* file
(("engine/external/json-parser/json\\.h")
"json-parser/json.h")
(("json_parse_ex\\(&JsonSettings, pFileData, aError\\);")
"json_parse_ex(&JsonSettings,
pFileData,
strlen(pFileData),
aError);")))
;; Embed path to assets.
(substitute* "src/engine/shared/storage.cpp"
(("#define DATA_DIR.*")
@ -4187,50 +4203,68 @@ small robot living in the nano world, repair its maker.")
"\"")))
;; Bam expects all files to have a recent time stamp.
(for-each (lambda (file)
(utime file 1 1))
(for-each (cut utime <> 1 1)
(find-files "."))
;; Do not use bundled libraries.
(substitute* "bam.lua"
(("if config.zlib.value == 1 then")
"if true then")
(("wavpack = .*")
"wavpack = {}
settings.link.libs:Add(\"wavpack\")\n"))
(("local json = Compile.+$")
"local json = nil
settings.link.libs:Add(\"jsonparser\")")
(("local png = Compile.+$")
"local png = nil
settings.link.libs:Add(\"pnglite\")")
(("local wavpack = Compile.+$")
"local wavpack = nil
settings.link.libs:Add(\"wavpack\")")
(("if config\\.zlib\\.value == 1")
"if config.zlib.value"))
(substitute* "src/engine/client/graphics_threaded.cpp"
(("engine/external/pnglite/pnglite\\.h")
"pnglite.h"))
(substitute* "src/engine/client/sound.cpp"
(("#include <engine/external/wavpack/wavpack.h>")
"#include <wavpack/wavpack.h>"))
(("engine/external/wavpack/wavpack\\.h")
"wavpack/wavpack.h"))
(for-each use-latest-json-parser
'("src/game/client/components/countryflags.cpp"
"src/game/client/components/menus_settings.cpp"
"src/game/client/components/skins.cpp"
"src/game/client/localization.cpp"
"src/game/editor/auto_map.h"
"src/game/editor/editor.cpp"))
#t))
(replace 'build
(lambda _
(zero? (system* "bam" "-a" "-v" "release"))))
(invoke "bam" "-a" "-v" "conf=release")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(data (string-append out "/share/teeworlds/data")))
(mkdir-p bin)
(mkdir-p data)
(for-each (lambda (file)
(install-file file bin))
'("teeworlds" "teeworlds_srv"))
(copy-recursively "data" data)
(let* ((arch ,(system->linux-architecture
(or (%current-target-system)
(%current-system))))
(build (string-append "build/" arch "/release/"))
(data-built (string-append build "data/"))
(out (assoc-ref outputs "out"))
(bin (string-append out "/bin/"))
(data (string-append out "/share/teeworlds/data/")))
(for-each (cut install-file <> bin)
(map (cut string-append build <>)
'("teeworlds" "teeworlds_srv")))
(copy-recursively data-built data)
#t))))))
;; FIXME: teeworlds bundles the sources of "pnglite", a two-file PNG
;; library without a build system.
(inputs
`(("freetype" ,freetype)
("glu" ,glu)
("json-parser" ,json-parser)
("mesa" ,mesa)
("sdl-union" ,(sdl-union (list sdl
sdl-mixer
sdl-image)))
("pnglite" ,pnglite)
("sdl2" ,sdl2)
("sdl2-image" ,sdl2-image)
("sdl2-mixer" ,sdl2-mixer)
("wavpack" ,wavpack)
("zlib" ,zlib)))
(native-inputs
`(("bam" ,bam)
("python" ,python-2)
("python" ,python-wrapper)
("pkg-config" ,pkg-config)))
(home-page "https://www.teeworlds.com")
(synopsis "2D retro multiplayer shooter game")
@ -5553,7 +5587,8 @@ quotation from a collection of quotes.")
Comment=Xonotic glx~@
Exec=~a/bin/xonotic-glx~@
TryExec=~@*~a/bin/xonotic-glx~@
Icon=~@
Icon=xonotic~@
Categories=Game~@
Type=Application~%"
output)))
(with-output-to-file
@ -5565,7 +5600,8 @@ quotation from a collection of quotes.")
Comment=Xonotic sdl~@
Exec=~a/bin/xonotic-sdl~@
TryExec=~@*~a/bin/xonotic-sdl~@
Icon=~@
Icon=xonotic~@
Categories=Game~@
Type=Application~%"
output)))
(with-output-to-file
@ -5577,7 +5613,8 @@ quotation from a collection of quotes.")
Comment=Xonotic~@
Exec=~a/bin/xonotic-glx~@
TryExec=~@*~a/bin/xonotic~@
Icon=~@
Icon=xonotic~@
Categories=Game~@
Type=Application~%"
output)))
#t)))
@ -5617,8 +5654,8 @@ quotation from a collection of quotes.")
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(data (assoc-ref inputs "xonotic-data")))
(copy-recursively (string-append data "/share/xonotic")
(string-append out "/share/xonotic"))
(symlink (string-append data "/share/xonotic")
(string-append out "/share/xonotic"))
#t)))
(add-after 'install-binaries 'wrap-binaries
(lambda* (#:key outputs inputs #:allow-other-keys)

View File

@ -461,34 +461,18 @@ Go. It also includes runtime support libraries for these languages.")
(define-public gcc-6
(package
(inherit gcc-5)
(version "6.4.0")
(version "6.5.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
"1m0lr7938lw5d773dkvwld90hjlcq2282517d1gwvrfzmwgg42w5"))
(patches (search-patches "gcc-libsanitizer-fix.patch"
"gcc-libsanitizer-ustat.patch"
"gcc-strmov-store-file-names.patch"
"0i89fksfp6wr1xg9l8296aslcymv2idn60ip31wr9s4pwin7kwby"))
(patches (search-patches "gcc-strmov-store-file-names.patch"
"gcc-6-source-date-epoch-1.patch"
"gcc-6-source-date-epoch-2.patch"
"gcc-5.0-libvtv-runpath.patch"))
(modules '((guix build utils)))
;; This is required for building with glibc-2.26.
;; This can be removed when gcc-6.5.0 is released.
;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
(snippet
'(begin
(for-each
(lambda (dir)
(substitute* (string-append "libgcc/config/"
dir "/linux-unwind.h")
(("struct ucontext") "ucontext_t")))
'("aarch64" "alpha" "bfin" "i386" "m68k" "nios2"
"pa" "sh" "tilepro" "xtensa"))
#t))))
"gcc-5.0-libvtv-runpath.patch"))))
(inputs
`(("isl" ,isl)
,@(package-inputs gcc-4.7)))
@ -506,16 +490,15 @@ Go. It also includes runtime support libraries for these languages.")
(define-public gcc-7
(package
(inherit gcc-6)
(version "7.3.0")
(version "7.4.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
"0p71bij6bfhzyrs8676a8jmpjsfz392s2rg862sdnsk30jpacb43"))
"0lgy170b0pp60j9cczqkmaqyjjb584vfamj4c30swd7k0j6y5pgd"))
(patches (search-patches "gcc-strmov-store-file-names.patch"
"gcc-libsanitizer-ustat.patch"
"gcc-5.0-libvtv-runpath.patch"))))
(description
"GCC is the GNU Compiler Collection. It provides compiler front-ends

View File

@ -142,7 +142,7 @@ you can create PNG images on the fly or modify existing files.")
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'set-env
(lambda _ (setenv "PERL_USE_UNSAFE_INC" "1"))))))
(lambda _ (setenv "PERL_USE_UNSAFE_INC" "1") #t)))))
(native-inputs
`(("perl-module-build" ,perl-module-build)))
(propagated-inputs

View File

@ -549,14 +549,14 @@ coordinates.")
(define-public r-rgooglemaps
(package
(name "r-rgooglemaps")
(version "1.4.2")
(version "1.4.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "RgoogleMaps" version))
(sha256
(base32
"112mdm53qx92n2m4ms02sbppckp44l1z19vy99j6gw3jrdprjydl"))))
"06ab3lg1rwm93hkshf1vxfm8mlxq5qsjan0wx43lhnrysay65js4"))))
(properties `((upstream-name . "RgoogleMaps")))
(build-system r-build-system)
(propagated-inputs `(("r-png" ,r-png)))

View File

@ -4,7 +4,7 @@
;;; Copyright © 2014, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
@ -49,6 +49,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
@ -177,12 +178,13 @@ Polygon meshes, and Extruded polygon meshes.")
(version "1.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/divVerent/s2tc/archive/v" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/divVerent/s2tc.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ibfdib277fhbqvxzan0bmglwnsl1y1rw2g8skvz82l1sfmmn752"))
(file-name (string-append name "-" version ".tar.gz"))))
(base32 "1fg323fk7wlv2xh6lw66wswgcv6qi8aaadk7c28h2f2lj1s7njnf"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@ -190,12 +192,6 @@ Polygon meshes, and Extruded polygon meshes.")
("libtool" ,libtool)))
(inputs
`(("mesa-headers" ,mesa-headers)))
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
(home-page "https://github.com/divVerent/s2tc")
(synopsis "S3 Texture Compression implementation")
(description
@ -259,7 +255,8 @@ also known as DXTn or DXTC) for Mesa.")
("libxvmc" ,libxvmc)
,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
`(("llvm" ,llvm)))
;; FIXME: Change to 'llvm' in the next rebuild cycle.
`(("llvm" ,llvm-without-rtti)))
(_
`()))
("makedepend" ,makedepend)
@ -728,13 +725,14 @@ mixed vector/bitmap output.")
(version "2.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/VirtualGL/virtualgl/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/VirtualGL/virtualgl.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1ck1d0w19cgyqvrb9mdlj6l5db90xf18yln71kdninlqxvpgj6h7"))))
"0di2igj2bhwb153fndgxks7y57pyhp0gj31n47j93gb7lxc9qcck"))))
(arguments
`(#:tests? #f ; no tests are available
#:configure-flags (list

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