mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-07-08 07:14:06 +02:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8d84a9ee71 | |||
| c13ad2b889 | |||
| 7546a1d3c0 | |||
| 1b0bfb5df1 | |||
| 8603bcd582 | |||
| f350df405f | |||
| 91bcb1d043 |
@@ -121,7 +121,6 @@
|
||||
(eval . (put 'let-system 'scheme-indent-function 1))
|
||||
|
||||
(eval . (put 'with-database 'scheme-indent-function 2))
|
||||
(eval . (put 'call-with-database 'scheme-indent-function 1))
|
||||
(eval . (put 'call-with-transaction 'scheme-indent-function 1))
|
||||
(eval . (put 'with-statement 'scheme-indent-function 3))
|
||||
(eval . (put 'call-with-retrying-transaction 'scheme-indent-function 1))
|
||||
|
||||
@@ -75,12 +75,8 @@
|
||||
(;; primary: "1BA4 08C5 8BF2 0EA7 3179 635A 865D C0A3 DED9 B5D0"
|
||||
"E31D 9DDE EBA5 4A14 8A20 4550 DA45 97F9 47B4 1025"
|
||||
(name "jlicht"))
|
||||
("8141 6036 E81A 5CF7 8F80 1071 ECFC 8398 8B4E 4B9F"
|
||||
(name "jonsger"))
|
||||
("83B6 703A DCCA 3B69 4BCE 2DA6 E6A5 EE3C 1946 7A0D"
|
||||
(name "kkebreau"))
|
||||
("ACC2 3BA0 59F7 CCF4 08F0 43AD 442A 84B8 C70E 2F87"
|
||||
(name "leoprikler"))
|
||||
("45E5 75FA 53EA 8BD6 1BCE 0B4E 3ADC 75F0 13D6 78F9"
|
||||
(name "leungbk"))
|
||||
(;; primary: "4F71 6F9A 8FA2 C80E F1B5 E1BA 5E35 F231 DE1A C5E0"
|
||||
|
||||
+5
-21
@@ -39,7 +39,6 @@ do_subst = $(SED) \
|
||||
-e 's,[@]GUILE[@],$(GUILE),g' \
|
||||
-e 's,[@]guilemoduledir[@],$(guilemoduledir),g' \
|
||||
-e 's,[@]guileobjectdir[@],$(guileobjectdir),g' \
|
||||
-e 's,[@]abs_top_builddir[@],$(abs_top_builddir),g' \
|
||||
-e 's,[@]localedir[@],$(localedir),g'
|
||||
|
||||
scripts/guix: scripts/guix.in Makefile
|
||||
@@ -103,7 +102,6 @@ MODULES = \
|
||||
guix/profiles.scm \
|
||||
guix/serialization.scm \
|
||||
guix/nar.scm \
|
||||
guix/digests.scm \
|
||||
guix/derivations.scm \
|
||||
guix/grafts.scm \
|
||||
guix/repl.scm \
|
||||
@@ -128,7 +126,6 @@ MODULES = \
|
||||
guix/build-system/android-ndk.scm \
|
||||
guix/build-system/ant.scm \
|
||||
guix/build-system/cargo.scm \
|
||||
guix/build-system/chicken.scm \
|
||||
guix/build-system/clojure.scm \
|
||||
guix/build-system/cmake.scm \
|
||||
guix/build-system/dub.scm \
|
||||
@@ -178,7 +175,6 @@ MODULES = \
|
||||
guix/build/download-nar.scm \
|
||||
guix/build/cargo-build-system.scm \
|
||||
guix/build/cargo-utils.scm \
|
||||
guix/build/chicken-build-system.scm \
|
||||
guix/build/cmake-build-system.scm \
|
||||
guix/build/dub-build-system.scm \
|
||||
guix/build/dune-build-system.scm \
|
||||
@@ -323,14 +319,6 @@ MODULES += \
|
||||
|
||||
endif HAVE_GUILE_SSH
|
||||
|
||||
if HAVE_GUILE_AVAHI
|
||||
|
||||
MODULES += \
|
||||
guix/avahi.scm \
|
||||
guix/scripts/discover.scm
|
||||
|
||||
endif HAVE_GUILE_AVAHI
|
||||
|
||||
if BUILD_DAEMON_OFFLOAD
|
||||
|
||||
MODULES += \
|
||||
@@ -357,15 +345,10 @@ dist_noinst_DATA = \
|
||||
AUX_FILES = \
|
||||
gnu/packages/aux-files/chromium/master-preferences.json \
|
||||
gnu/packages/aux-files/emacs/guix-emacs.el \
|
||||
gnu/packages/aux-files/guix.vim \
|
||||
gnu/packages/aux-files/linux-libre/5.10-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.10-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.10-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.10-x86_64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.9-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.9-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.9-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.9-x86_64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.9-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.9-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.9-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.9-x86_64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.4-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.4-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.4-i686.conf \
|
||||
@@ -723,6 +706,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
|
||||
--localstatedir="$$dc_install_base/var" \
|
||||
--with-libgcrypt-prefix="$(LIBGCRYPT_PREFIX)" \
|
||||
--with-libgcrypt-libdir="$(LIBGCRYPT_LIBDIR)" \
|
||||
--with-nix-prefix="$(NIX_PREFIX)" \
|
||||
--enable-daemon \
|
||||
ac_cv_guix_test_root="$(GUIX_TEST_ROOT)"
|
||||
|
||||
|
||||
+2
-1
@@ -13,7 +13,7 @@ if test "x$guix_build_daemon" = "xyes"; then
|
||||
GUIX_ASSERT_CXX11
|
||||
|
||||
AC_PROG_RANLIB
|
||||
AC_CONFIG_HEADERS([nix/config.h])
|
||||
AC_CONFIG_HEADER([nix/config.h])
|
||||
|
||||
dnl Use 64-bit file system calls so that we can support files > 2 GiB.
|
||||
AC_SYS_LARGEFILE
|
||||
@@ -34,6 +34,7 @@ if test "x$guix_build_daemon" = "xyes"; then
|
||||
dnl Look for SQLite, a required dependency.
|
||||
PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= 3.6.19])
|
||||
|
||||
AC_DEFINE([NIX_VERSION], ["0.0.0"], [Fake Nix version number.])
|
||||
AC_DEFINE_UNQUOTED([SYSTEM], ["$guix_system"],
|
||||
[Guix host system type--i.e., platform and OS kernel tuple.])
|
||||
|
||||
|
||||
+20
-12
@@ -1,7 +1,7 @@
|
||||
# -*- Autoconf -*-
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ([2.69])
|
||||
AC_PREREQ(2.68)
|
||||
AC_INIT([GNU Guix],
|
||||
[m4_esyscmd([build-aux/git-version-gen .tarball-version])],
|
||||
[bug-guix@gnu.org], [guix],
|
||||
@@ -29,35 +29,35 @@ GUIX_ASSERT_SUPPORTED_SYSTEM
|
||||
AM_CONDITIONAL([CROSS_COMPILING], [test "x$cross_compiling" = "xyes"])
|
||||
|
||||
AC_ARG_WITH(store-dir,
|
||||
AS_HELP_STRING([--with-store-dir=PATH],
|
||||
AC_HELP_STRING([--with-store-dir=PATH],
|
||||
[file name of the store (defaults to /gnu/store)]),
|
||||
[storedir="$withval"],
|
||||
[storedir="/gnu/store"])
|
||||
AC_SUBST(storedir)
|
||||
|
||||
AC_ARG_WITH([bash-completion-dir],
|
||||
AS_HELP_STRING([--with-bash-completion-dir=DIR],
|
||||
AC_HELP_STRING([--with-bash-completion-dir=DIR],
|
||||
[name of the Bash completion directory]),
|
||||
[bashcompletiondir="$withval"],
|
||||
[bashcompletiondir='${sysconfdir}/bash_completion.d'])
|
||||
AC_SUBST([bashcompletiondir])
|
||||
|
||||
AC_ARG_WITH([zsh-completion-dir],
|
||||
AS_HELP_STRING([--with-zsh-completion-dir=DIR],
|
||||
AC_HELP_STRING([--with-zsh-completion-dir=DIR],
|
||||
[name of the Zsh completion directory]),
|
||||
[zshcompletiondir="$withval"],
|
||||
[zshcompletiondir='${datadir}/zsh/site-functions'])
|
||||
AC_SUBST([zshcompletiondir])
|
||||
|
||||
AC_ARG_WITH([fish-completion-dir],
|
||||
AS_HELP_STRING([--with-fish-completion-dir=DIR],
|
||||
AC_HELP_STRING([--with-fish-completion-dir=DIR],
|
||||
[name of the Fish completion directory]),
|
||||
[fishcompletiondir="$withval"],
|
||||
[fishcompletiondir='${datadir}/fish/vendor_completions.d'])
|
||||
AC_SUBST([fishcompletiondir])
|
||||
|
||||
AC_ARG_WITH([selinux-policy-dir],
|
||||
AS_HELP_STRING([--with-selinux-policy-dir=DIR],
|
||||
AC_HELP_STRING([--with-selinux-policy-dir=DIR],
|
||||
[name of the SELinux policy directory]),
|
||||
[selinux_policydir="$withval"],
|
||||
[selinux_policydir='${datadir}/selinux/'])
|
||||
@@ -102,7 +102,7 @@ if test "x$GUILD" = "x"; then
|
||||
fi
|
||||
|
||||
if test "x$GUILE_EFFECTIVE_VERSION" = "x2.2"; then
|
||||
PKG_CHECK_MODULES([GUILE], [guile-2.2 >= 2.2.6])
|
||||
PKG_CHECK_MODULES([GUILE], [guile-2.2 >= 2.2.3])
|
||||
fi
|
||||
|
||||
dnl Get CFLAGS and LDFLAGS for libguile.
|
||||
@@ -161,11 +161,6 @@ if test "x$have_guile_lzlib" != "xyes"; then
|
||||
AC_MSG_ERROR([Guile-lzlib is missing; please install it.])
|
||||
fi
|
||||
|
||||
dnl Check for Guile-Avahi.
|
||||
GUILE_MODULE_AVAILABLE([have_guile_avahi], [(avahi)])
|
||||
AM_CONDITIONAL([HAVE_GUILE_AVAHI],
|
||||
[test "x$have_guile_avahi" = "xyes"])
|
||||
|
||||
dnl Guile-newt is used by the graphical installer.
|
||||
GUILE_MODULE_AVAILABLE([have_guile_newt], [(newt)])
|
||||
|
||||
@@ -194,6 +189,19 @@ AC_SUBST([GZIP])
|
||||
AC_SUBST([BZIP2])
|
||||
AC_SUBST([XZ])
|
||||
|
||||
AC_ARG_WITH([nix-prefix],
|
||||
[AS_HELP_STRING([--with-nix-prefix=DIR],
|
||||
[search for Nix in DIR (for testing purposes and '--disable-daemon' builds)])],
|
||||
[case "$withval" in
|
||||
yes|no) ;;
|
||||
*)
|
||||
NIX_PREFIX="$withval"
|
||||
PATH="$NIX_PREFIX/bin:$PATH"; export PATH
|
||||
AC_SUBST([NIX_PREFIX])
|
||||
;;
|
||||
esac],
|
||||
[])
|
||||
|
||||
AC_ARG_WITH([nixpkgs],
|
||||
[AS_HELP_STRING([--with-nixpkgs=DIR],
|
||||
[search for Nixpkgs in DIR (for testing purposes only)])],
|
||||
|
||||
+6
-28
@@ -182,32 +182,6 @@ as well as images, OS examples, and translations."
|
||||
"-c" "EXTRA_HEAD=<meta name=\"viewport\" \
|
||||
content=\"width=device-width, initial-scale=1\" />"))
|
||||
|
||||
(define guile-lib/htmlprag-fixed
|
||||
;; Guile-Lib with a hotfix for (htmlprag).
|
||||
(package
|
||||
(inherit guile-lib)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments guile-lib)
|
||||
((#:phases phases '%standard-phases)
|
||||
`(modify-phases ,phases
|
||||
(add-before 'build 'fix-htmlprag
|
||||
(lambda _
|
||||
;; When parsing
|
||||
;; "<body><blockquote><p>foo</p>\n</blockquote></body>",
|
||||
;; 'html->shtml' would mistakenly close 'blockquote' right
|
||||
;; before <p>. This patch removes 'p' from the
|
||||
;; 'parent-constraints' alist to fix that.
|
||||
(substitute* "src/htmlprag.scm"
|
||||
(("^[[:blank:]]*\\(p[[:blank:]]+\\. \\(body td th\\)\\).*")
|
||||
""))
|
||||
#t))
|
||||
(add-before 'check 'skip-known-failure
|
||||
(lambda _
|
||||
;; XXX: The above change causes one test failure among
|
||||
;; the htmlprag tests.
|
||||
(setenv "XFAIL_TESTS" "htmlprag.scm")
|
||||
#t))))))))
|
||||
|
||||
(define (normalize-language-code language) ;XXX: deduplicate
|
||||
;; Normalize LANGUAGE. For instance, "zh_CN" becomes "zh-cn".
|
||||
(string-map (match-lambda
|
||||
@@ -224,7 +198,7 @@ key is an identifier and the associated value is the URL reference pointing to
|
||||
that identifier. The URL is constructed by concatenating BASE-URL to the
|
||||
actual file name."
|
||||
(define build
|
||||
(with-extensions (list guile-lib/htmlprag-fixed)
|
||||
(with-extensions (list guile-lib)
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
@@ -236,6 +210,8 @@ actual file name."
|
||||
(ice-9 threads)
|
||||
(ice-9 pretty-print))
|
||||
|
||||
(%strict-tokenizer? #t)
|
||||
|
||||
(define file-url
|
||||
(let ((prefix (string-append #$manual "/")))
|
||||
(lambda (file)
|
||||
@@ -380,7 +356,7 @@ actual file name."
|
||||
to (1) add them a link to SYNTAX-CSS-URL, and (2) highlight the syntax of all
|
||||
its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
|
||||
(define build
|
||||
(with-extensions (list guile-lib/htmlprag-fixed guile-syntax-highlight)
|
||||
(with-extensions (list guile-lib guile-syntax-highlight)
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (htmlprag)
|
||||
@@ -394,6 +370,8 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
|
||||
(ice-9 threads)
|
||||
(ice-9 vlist))
|
||||
|
||||
(%strict-tokenizer? #t)
|
||||
|
||||
(define (pair-open/close lst)
|
||||
;; Pair 'open' and 'close' tags produced by 'highlights' and
|
||||
;; produce nested 'paren' tags instead.
|
||||
|
||||
+2
-44
@@ -391,7 +391,6 @@ needed is to review and apply the patch.
|
||||
* Version Numbers:: When the name is not enough.
|
||||
* Synopses and Descriptions:: Helping users find the right package.
|
||||
* Snippets versus Phases:: Whether to use a snippet, or a build phase.
|
||||
* Emacs Packages:: Your Elisp fix.
|
||||
* Python Modules:: A touch of British comedy.
|
||||
* Perl Modules:: Little pearls.
|
||||
* Java Packages:: Coffee break.
|
||||
@@ -637,46 +636,6 @@ embed store items in the sources; such patching should rather be done
|
||||
using build phases. Refer to the @code{origin} record documentation for
|
||||
more information (@pxref{origin Reference}).
|
||||
|
||||
@node Emacs Packages
|
||||
@subsection Emacs Packages
|
||||
|
||||
@cindex emacs, packaging
|
||||
@cindex elisp, packaging
|
||||
Emacs packages should preferably use the Emacs build system
|
||||
(@pxref{emacs-build-system}), for uniformity and the benefits provided
|
||||
by its build phases, such as the auto-generation of the autoloads file
|
||||
and the byte compilation of the sources. Because there is no
|
||||
standardized way to run a test suite for Emacs packages, tests are
|
||||
disabled by default. When a test suite is available, it should be
|
||||
enabled by setting the @code{#:tests?} argument to @code{#true}. By
|
||||
default, the command to run the test is @command{make check}, but any
|
||||
command can be specified via the @code{#:test-command} argument. The
|
||||
@code{#:test-command} argument expects a list containing a command and
|
||||
its arguments, to be invoked during the @code{check} phase.
|
||||
|
||||
The Elisp dependencies of Emacs packages are typically provided as
|
||||
@code{propagated-inputs} when required at run time. As for other
|
||||
packages, build or test dependencies should be specified as
|
||||
@code{native-inputs}.
|
||||
|
||||
Emacs packages sometimes depend on resources directories that should be
|
||||
installed along the Elisp files. The @code{#:include} argument can be
|
||||
used for that purpose, by specifying a list of regexps to match. The
|
||||
best practice when using the @code{#:include} argument is to extend
|
||||
rather than override its default value (accessible via the
|
||||
@code{%default-include} variable). As an example, a yasnippet extension
|
||||
package typically include a @file{snippets} directory, which could be
|
||||
copied to the installation directory using:
|
||||
|
||||
@lisp
|
||||
#:include (cons "^snippets/" %default-include))
|
||||
@end lisp
|
||||
|
||||
When encountering problems, it is wise to check for the presence of the
|
||||
@code{Package-Requires} extension header in the package main source
|
||||
file, and whether any dependencies and their versions listed therein are
|
||||
satisfied.
|
||||
|
||||
@node Python Modules
|
||||
@subsection Python Modules
|
||||
|
||||
@@ -905,8 +864,7 @@ to proper type error reports.
|
||||
Guix code should define appropriate data types (for instance, using
|
||||
@code{define-record-type*}) rather than abuse lists. In addition, it
|
||||
should use pattern matching, via Guile’s @code{(ice-9 match)} module,
|
||||
especially when matching lists (@pxref{Pattern Matching,,, guile, GNU
|
||||
Guile Reference Manual}).
|
||||
especially when matching lists.
|
||||
|
||||
@node Formatting Code
|
||||
@subsection Formatting Code
|
||||
@@ -1050,7 +1008,7 @@ to other packages unwillingly retained. It may also help determine
|
||||
whether to split the package (@pxref{Packages with Multiple Outputs}),
|
||||
and which optional dependencies should be used. In particular, avoid adding
|
||||
@code{texlive} as a dependency: because of its extreme size, use
|
||||
the @code{texlive-tiny} package or @code{texlive-union} procedure instead.
|
||||
@code{texlive-tiny} or @code{texlive-union} instead.
|
||||
|
||||
@item
|
||||
For important changes, check that dependent package (if applicable) are
|
||||
|
||||
@@ -2245,7 +2245,7 @@ section on @ref{Reproducible profiles}.
|
||||
|
||||
@item
|
||||
Easier upgrades and maintenance: Multiple profiles make it easy to keep
|
||||
package listings at hand and make upgrades completely frictionless.
|
||||
package listings at hand and make upgrades completely friction-less.
|
||||
@end itemize
|
||||
|
||||
Concretely, here follows some typical profiles:
|
||||
|
||||
+87
-490
@@ -68,7 +68,7 @@ Copyright @copyright{} 2019 Ivan Petkov@*
|
||||
Copyright @copyright{} 2019 Jakob L. Kreuze@*
|
||||
Copyright @copyright{} 2019 Kyle Andrews@*
|
||||
Copyright @copyright{} 2019 Alex Griffin@*
|
||||
Copyright @copyright{} 2019, 2020 Guillaume Le Vaillant@*
|
||||
Copyright @copyright{} 2019 Guillaume Le Vaillant@*
|
||||
Copyright @copyright{} 2020 Leo Prikler@*
|
||||
Copyright @copyright{} 2019, 2020 Simon Tournier@*
|
||||
Copyright @copyright{} 2020 Wiktor Żelazny@*
|
||||
@@ -82,10 +82,6 @@ Copyright @copyright{} 2020 Pierre Langlois@*
|
||||
Copyright @copyright{} 2020 pinoaffe@*
|
||||
Copyright @copyright{} 2020 André Batista@*
|
||||
Copyright @copyright{} 2020 Alexandru-Sergiu Marton@*
|
||||
Copyright @copyright{} 2020 raingloom@*
|
||||
Copyright @copyright{} 2020 Daniel Brooks@*
|
||||
Copyright @copyright{} 2020 John Soo@*
|
||||
Copyright @copyright{} 2020 Jonathan Brielmaier@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
@@ -408,7 +404,7 @@ using a different distro underneath!}. @xref{GNU Distribution}.
|
||||
@cindex user interfaces
|
||||
Guix provides a command-line package management interface
|
||||
(@pxref{Package Management}), tools to help with software development
|
||||
(@pxref{Development}), command-line utilities for more advanced usage
|
||||
(@pxref{Development}), command-line utilities for more advanced usage,
|
||||
(@pxref{Utilities}), as well as Scheme programming interfaces
|
||||
(@pxref{Programming Interface}).
|
||||
@cindex build daemon
|
||||
@@ -831,7 +827,6 @@ Guile,, gnutls-guile, GnuTLS-Guile});
|
||||
or later;
|
||||
@item @uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib};
|
||||
@item @uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};
|
||||
@item @uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi};
|
||||
@item
|
||||
@c FIXME: Specify a version number once a release has been made.
|
||||
@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, version 0.3.0
|
||||
@@ -852,8 +847,9 @@ Support for build offloading (@pxref{Daemon Offload Setup}) and
|
||||
version 0.13.0 or later.
|
||||
|
||||
@item
|
||||
@uref{https://ngyro.com/software/guile-semver.html, Guile-Semver} for
|
||||
the @code{crate} importer (@pxref{Invoking guix import}).
|
||||
When @url{https://www.nongnu.org/lzip/lzlib.html, lzlib} is available, lzlib
|
||||
substitutes can be used and @command{guix publish} can compress substitutes
|
||||
with lzlib.
|
||||
|
||||
@item
|
||||
When @url{http://www.bzip.org, libbz2} is available,
|
||||
@@ -1297,7 +1293,7 @@ master node:
|
||||
@end example
|
||||
|
||||
This will attempt to connect to each of the build machines specified in
|
||||
@file{/etc/guix/machines.scm}, make sure Guix is
|
||||
@file{/etc/guix/machines.scm}, make sure Guile and the Guix modules are
|
||||
available on each machine, attempt to export to the machine and import
|
||||
from it, and report any error in the process.
|
||||
|
||||
@@ -1401,11 +1397,6 @@ install and run it, which lifts it into the @code{guix_daemon_t} domain.
|
||||
At that point SELinux could not prevent it from accessing files that are
|
||||
allowed for processes in that domain.
|
||||
|
||||
You will need to relabel the store directory after all upgrades to
|
||||
@file{guix-daemon}, such as after running @code{guix pull}. Assuming the
|
||||
store is in @file{/gnu}, you can do this with @code{restorecon -vR /gnu},
|
||||
or by other means provided by your operating system.
|
||||
|
||||
We could generate a much more restrictive policy at installation time,
|
||||
so that only the @emph{exact} file name of the currently installed
|
||||
@code{guix-daemon} executable would be labelled with
|
||||
@@ -1585,36 +1576,6 @@ Unless @option{--lose-logs} is used, all the build logs are kept in the
|
||||
@var{localstatedir}. To save space, the daemon automatically compresses
|
||||
them with Bzip2 by default.
|
||||
|
||||
@item --discover[=yes|no]
|
||||
Whether to discover substitute servers on the local network using mDNS
|
||||
and DNS-SD.
|
||||
|
||||
This feature is still experimental. However, here are a few
|
||||
considerations.
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
It might be faster/less expensive than fetching from remote servers;
|
||||
@item
|
||||
There are no security risks, only genuine substitutes will be used
|
||||
(@pxref{Substitute Authentication});
|
||||
@item
|
||||
An attacker advertising @command{guix publish} on your LAN cannot serve
|
||||
you malicious binaries, but they can learn what software you’re
|
||||
installing;
|
||||
@item
|
||||
Servers may serve substitute over HTTP, unencrypted, so anyone on the
|
||||
LAN can see what software you’re installing.
|
||||
@end enumerate
|
||||
|
||||
It is also possible to enable or disable substitute server discovery at
|
||||
run-time by running:
|
||||
|
||||
@example
|
||||
herd discover guix-daemon on
|
||||
herd discover guix-daemon off
|
||||
@end example
|
||||
|
||||
@item --disable-deduplication
|
||||
@cindex deduplication
|
||||
Disable automatic file ``deduplication'' in the store.
|
||||
@@ -1986,6 +1947,9 @@ Nevertheless, before you proceed with the installation, be aware of the
|
||||
following noteworthy limitations applicable to version @value{VERSION}:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
Support for the Logical Volume Manager (LVM) is missing.
|
||||
|
||||
@item
|
||||
More and more system services are provided (@pxref{Services}), but some
|
||||
may be missing.
|
||||
@@ -2392,9 +2356,9 @@ bootloaders.
|
||||
|
||||
Once you are done partitioning the target hard disk drive, you have to
|
||||
create a file system on the relevant partition(s)@footnote{Currently
|
||||
Guix System only supports ext4, btrfs, JFS, and F2FS file systems. In
|
||||
particular, code that reads file system UUIDs and labels only works for these
|
||||
file system types.}. For the ESP, if you have one and assuming it is
|
||||
Guix System only supports ext4, btrfs, and JFS file systems. In particular,
|
||||
code that reads file system UUIDs and labels only works for these file system
|
||||
types.}. For the ESP, if you have one and assuming it is
|
||||
@file{/dev/sda1}, run:
|
||||
|
||||
@example
|
||||
@@ -6870,18 +6834,6 @@ commit:
|
||||
@end lisp
|
||||
@end deftp
|
||||
|
||||
For Mercurial repositories, the module @code{(guix hg-download)} defines
|
||||
the @code{hg-fetch} origin method and @code{hg-reference} data type for
|
||||
support of the Mercurial version control system.
|
||||
|
||||
@deffn {Scheme Procedure} hg-fetch @var{ref} @var{hash-algo} @var{hash} @
|
||||
[name]
|
||||
Return a fixed-output derivation that fetches @var{ref}, a
|
||||
@code{<hg-reference>} object. The output is expected to have recursive
|
||||
hash @var{hash} of type @var{hash-algo} (a symbol). Use @var{name} as
|
||||
the file name, or a generic name if @code{#false}.
|
||||
@end deffn
|
||||
|
||||
@node Defining Package Variants
|
||||
@section Defining Package Variants
|
||||
|
||||
@@ -7298,27 +7250,30 @@ Additionally, the corresponding source package should be labeled using
|
||||
the same convention as python packages (see @ref{Python Modules}), using
|
||||
the @code{cl-} prefix.
|
||||
|
||||
For binary packages, each system should be defined as a Guix package.
|
||||
If one package @code{origin} contains several systems, package variants
|
||||
can be created in order to build all the systems. Source packages,
|
||||
which use @code{asdf-build-system/source}, may contain several systems.
|
||||
|
||||
In order to create executable programs and images, the build-side
|
||||
procedures @code{build-program} and @code{build-image} can be used.
|
||||
They should be called in a build phase after the
|
||||
@code{create-asdf-configuration} phase, so that the system which was
|
||||
just built can be used within the resulting image. @code{build-program}
|
||||
requires a list of Common Lisp expressions to be passed as the
|
||||
@code{#:entry-program} argument.
|
||||
They should be called in a build phase after the @code{create-symlinks}
|
||||
phase, so that the system which was just built can be used within the
|
||||
resulting image. @code{build-program} requires a list of Common Lisp
|
||||
expressions to be passed as the @code{#:entry-program} argument.
|
||||
|
||||
By default, all the @file{.asd} files present in the sources are read to
|
||||
find system definitions. The @code{#:asd-files} parameter can be used
|
||||
to specify the list of @file{.asd} files to read. Furthermore, if the
|
||||
package defines a system for its tests in a separate file, it will be
|
||||
loaded before the tests are run if it is specified by the
|
||||
If the system is not defined within its own @file{.asd} file of the same
|
||||
name, then the @code{#:asd-file} parameter should be used to specify
|
||||
which file the system is defined in. Furthermore, if the package
|
||||
defines a system for its tests in a separate file, it will be loaded
|
||||
before the tests are run if it is specified by the
|
||||
@code{#:test-asd-file} parameter. If it is not set, the files
|
||||
@code{<system>-tests.asd}, @code{<system>-test.asd}, @code{tests.asd},
|
||||
and @code{test.asd} will be tried if they exist.
|
||||
|
||||
If for some reason the package must be named in a different way than the
|
||||
naming conventions suggest, or if several systems must be compiled, the
|
||||
@code{#:asd-systems} parameter can be used to specify the list of system
|
||||
names.
|
||||
naming conventions suggest, the @code{#:asd-system-name} parameter can
|
||||
be used to specify the name of the system.
|
||||
|
||||
@end defvr
|
||||
|
||||
@@ -7348,29 +7303,6 @@ parameters available to cargo. It will also remove an included
|
||||
defined by the crate.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} chicken-build-system
|
||||
This variable is exported by @code{(guix build-system chicken)}. It
|
||||
builds @uref{https://call-cc.org/, CHICKEN Scheme} modules, also called
|
||||
``eggs'' or ``extensions''. CHICKEN generates C source code, which then
|
||||
gets compiled by a C compiler, in this case GCC.
|
||||
|
||||
This build system adds @code{chicken} to the package inputs, as well as
|
||||
the packages of @code{gnu-build-system}.
|
||||
|
||||
The build system can't (yet) deduce the egg's name automatically, so just like
|
||||
with @code{go-build-system} and its @code{#:import-path}, you should define
|
||||
@code{#:egg-name} in the package's @code{arguments} field.
|
||||
|
||||
For example, if you are packaging the @code{srfi-1} egg:
|
||||
|
||||
@lisp
|
||||
(arguments '(#:egg-name "srfi-1"))
|
||||
@end lisp
|
||||
|
||||
Egg dependencies must be defined in @code{propagated-inputs}, not @code{inputs}
|
||||
because CHICKEN doesn't embed absolute references in compiled eggs.
|
||||
Test dependencies should go to @code{native-inputs}, as usual.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} copy-build-system
|
||||
This variable is exported by @code{(guix build-system copy)}. It
|
||||
@@ -7931,7 +7863,6 @@ Which D compiler is used can be specified with the @code{#:ldc}
|
||||
parameter which defaults to @code{ldc}.
|
||||
@end defvr
|
||||
|
||||
@anchor{emacs-build-system}
|
||||
@defvr {Scheme Variable} emacs-build-system
|
||||
This variable is exported by @code{(guix build-system emacs)}. It
|
||||
implements an installation procedure similar to the packaging system
|
||||
@@ -10358,24 +10289,6 @@ This is similar to @option{--with-branch}, except that it builds from
|
||||
@var{commit} rather than the tip of a branch. @var{commit} must be a valid
|
||||
Git commit SHA1 identifier or a tag.
|
||||
|
||||
@item --with-patch=@var{package}=@var{file}
|
||||
Add @var{file} to the list of patches applied to @var{package}, where
|
||||
@var{package} is a spec such as @code{python@@3.8} or @code{glibc}.
|
||||
@var{file} must contain a patch; it is applied with the flags specified
|
||||
in the @code{origin} of @var{package} (@pxref{origin Reference}), which
|
||||
by default includes @code{-p1} (@pxref{patch Directories,,, diffutils,
|
||||
Comparing and Merging Files}).
|
||||
|
||||
As an example, the command below rebuilds Coreutils with the GNU C
|
||||
Library (glibc) patched with the given patch:
|
||||
|
||||
@example
|
||||
guix build coreutils --with-patch=glibc=./glibc-frob.patch
|
||||
@end example
|
||||
|
||||
In this example, glibc itself as well as everything that leads to
|
||||
Coreutils in the dependency graph is rebuilt.
|
||||
|
||||
@cindex test suite, skipping
|
||||
@item --without-tests=@var{package}
|
||||
Build @var{package} without running its tests. This can be useful in
|
||||
@@ -10479,13 +10392,6 @@ The returned source tarball is the result of applying any patches and
|
||||
code snippets specified in the package @code{origin} (@pxref{Defining
|
||||
Packages}).
|
||||
|
||||
@cindex source, verification
|
||||
As with other derivations, the result of building a source derivation
|
||||
can be verified using the @option{--check} option (@pxref{build-check}).
|
||||
This is useful to validate that a (potentially already built or
|
||||
substituted, thus cached) package source matches against its declared
|
||||
hash.
|
||||
|
||||
Note that @command{guix build -S} compiles the sources only of the
|
||||
specified packages. They do not include the sources of statically
|
||||
linked dependencies and by themselves are insufficient for reproducing
|
||||
@@ -11028,13 +10934,6 @@ When @option{--recursive} is added, the importer will traverse the
|
||||
dependency graph of the given upstream package recursively and generate
|
||||
package expressions for all those packages that are not yet in Guix.
|
||||
|
||||
When @option{--style=specification} is added, the importer will generate
|
||||
package definitions whose inputs are package specifications instead of
|
||||
references to package variables. This is useful when generated package
|
||||
definitions are to be appended to existing user modules, as the list of
|
||||
used package modules need not be changed. The default is
|
||||
@option{--style=variable}.
|
||||
|
||||
When @option{--archive=bioconductor} is added, metadata is imported from
|
||||
@uref{https://www.bioconductor.org/, Bioconductor}, a repository of R
|
||||
packages for the analysis and comprehension of high-throughput
|
||||
@@ -11318,25 +11217,6 @@ in Guix.
|
||||
@cindex OCaml
|
||||
Import metadata from the @uref{https://opam.ocaml.org/, OPAM} package
|
||||
repository used by the OCaml community.
|
||||
|
||||
Additional options include:
|
||||
|
||||
@table @code
|
||||
@item --recursive
|
||||
@itemx -r
|
||||
Traverse the dependency graph of the given upstream package recursively
|
||||
and generate package expressions for all those packages that are not yet
|
||||
in Guix.
|
||||
@item --repo
|
||||
Select the given repository (a repository name). Possible values include:
|
||||
@itemize
|
||||
@item @code{opam}, the default opam repository,
|
||||
@item @code{coq} or @code{coq-released}, the stable repository for coq packages,
|
||||
@item @code{coq-core-dev}, the repository that contains development versions of coq,
|
||||
@item @code{coq-extra-dev}, the repository that contains development versions
|
||||
of coq packages.
|
||||
@end itemize
|
||||
@end table
|
||||
@end table
|
||||
|
||||
The structure of the @command{guix import} code is modular. It would be
|
||||
@@ -12270,11 +12150,6 @@ The signing key pair must be generated before @command{guix publish} is
|
||||
launched, using @command{guix archive --generate-key} (@pxref{Invoking
|
||||
guix archive}).
|
||||
|
||||
When the @option{--advertise} option is passed, the server advertises
|
||||
its availability on the local network using multicast DNS (mDNS) and DNS
|
||||
service discovery (DNS-SD), currently @i{via} Guile-Avahi (@pxref{Top,,,
|
||||
guile-avahi, Using Avahi in Guile Scheme Programs}).
|
||||
|
||||
The general syntax is:
|
||||
|
||||
@example
|
||||
@@ -12954,12 +12829,9 @@ ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}
|
||||
LockHeld: /gnu/store/@dots{}-perl-ipc-cmd-0.96.lock
|
||||
LockHeld: /gnu/store/@dots{}-python-six-bootstrap-1.11.0.lock
|
||||
LockHeld: /gnu/store/@dots{}-libjpeg-turbo-2.0.0.lock
|
||||
ChildPID: 20495
|
||||
ChildCommand: guix offload x86_64-linux 7200 1 28800
|
||||
ChildPID: 27733
|
||||
ChildCommand: guix offload x86_64-linux 7200 1 28800
|
||||
ChildPID: 27793
|
||||
ChildCommand: guix offload x86_64-linux 7200 1 28800
|
||||
ChildProcess: 20495: guix offload x86_64-linux 7200 1 28800
|
||||
ChildProcess: 27733: guix offload x86_64-linux 7200 1 28800
|
||||
ChildProcess: 27793: guix offload x86_64-linux 7200 1 28800
|
||||
@end example
|
||||
|
||||
In this example we see that @command{guix-daemon} has three clients:
|
||||
@@ -12968,12 +12840,12 @@ integration tool; their process identifier (PID) is given by the
|
||||
@code{ClientPID} field. The @code{SessionPID} field gives the PID of the
|
||||
@command{guix-daemon} sub-process of this particular session.
|
||||
|
||||
The @code{LockHeld} fields show which store items are currently locked
|
||||
by this session, which corresponds to store items being built or
|
||||
substituted (the @code{LockHeld} field is not displayed when
|
||||
@command{guix processes} is not running as root). Last, by looking at
|
||||
the @code{ChildPID} and @code{ChildCommand} fields, we understand that
|
||||
these three builds are being offloaded (@pxref{Daemon Offload Setup}).
|
||||
The @code{LockHeld} fields show which store items are currently locked by this
|
||||
session, which corresponds to store items being built or substituted (the
|
||||
@code{LockHeld} field is not displayed when @command{guix processes} is not
|
||||
running as root). Last, by looking at the @code{ChildProcess} field, we
|
||||
understand that these three builds are being offloaded (@pxref{Daemon Offload
|
||||
Setup}).
|
||||
|
||||
The output is in Recutils format so we can use the handy @command{recsel}
|
||||
command to select sessions of interest (@pxref{Selection Expressions,,,
|
||||
@@ -12987,45 +12859,6 @@ ClientPID: 19419
|
||||
ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}
|
||||
@end example
|
||||
|
||||
Additional options are listed below.
|
||||
|
||||
@table @code
|
||||
@item --format=@var{format}
|
||||
@itemx -f @var{format}
|
||||
Produce output in the specified @var{format}, one of:
|
||||
|
||||
@table @code
|
||||
@item recutils
|
||||
The default option. It outputs a set of Session recutils records
|
||||
that include each @code{ChildProcess} as a field.
|
||||
|
||||
@item normalized
|
||||
Normalize the output records into record sets (@pxref{Record Sets,,,
|
||||
recutils, GNU recutils manual}). Normalizing into record sets allows
|
||||
joins across record types. The example below lists the PID of each
|
||||
@code{ChildProcess} and the associated PID for @code{Session} that
|
||||
spawned the @code{ChildProcess} where the @code{Session} was started
|
||||
using @command{guix build}.
|
||||
|
||||
@example
|
||||
$ guix processes --format=normalized | \
|
||||
recsel \
|
||||
-j Session \
|
||||
-t ChildProcess \
|
||||
-p Session.PID,PID \
|
||||
-e 'Session.ClientCommand ~ "guix build"'
|
||||
PID: 4435
|
||||
Session_PID: 4278
|
||||
|
||||
PID: 4554
|
||||
Session_PID: 4278
|
||||
|
||||
PID: 4646
|
||||
Session_PID: 4278
|
||||
@end example
|
||||
@end table
|
||||
@end table
|
||||
|
||||
@node System Configuration
|
||||
@chapter System Configuration
|
||||
|
||||
@@ -13906,6 +13739,7 @@ Guix extends this notion by considering any device or set of devices that
|
||||
are @dfn{transformed} in some way to create a new device; for instance,
|
||||
RAID devices are obtained by @dfn{assembling} several other devices, such
|
||||
as hard disks or partitions, into a new one that behaves as one partition.
|
||||
Other examples, not yet implemented, are LVM logical volumes.
|
||||
|
||||
Mapped devices are declared using the @code{mapped-device} form,
|
||||
defined as follows; for examples, see below.
|
||||
@@ -13918,8 +13752,7 @@ the system boots up.
|
||||
@item source
|
||||
This is either a string specifying the name of the block device to be mapped,
|
||||
such as @code{"/dev/sda3"}, or a list of such strings when several devices
|
||||
need to be assembled for creating a new one. In case of LVM this is a
|
||||
string specifying name of the volume group to be mapped.
|
||||
need to be assembled for creating a new one.
|
||||
|
||||
@item target
|
||||
This string specifies the name of the resulting mapped device. For
|
||||
@@ -13928,12 +13761,6 @@ specifying @code{"my-partition"} leads to the creation of
|
||||
the @code{"/dev/mapper/my-partition"} device.
|
||||
For RAID devices of type @code{raid-device-mapping}, the full device name
|
||||
such as @code{"/dev/md0"} needs to be given.
|
||||
LVM logical volumes of type @code{lvm-device-mapping} need to
|
||||
be specified as @code{"VGNAME-LVNAME"}.
|
||||
|
||||
@item targets
|
||||
This list of strings specifies names of the resulting mapped devices in case
|
||||
there are several. The format is identical to @var{target}.
|
||||
|
||||
@item type
|
||||
This must be a @code{mapped-device-kind} object, which specifies how
|
||||
@@ -13954,14 +13781,6 @@ module for the appropriate RAID level to be loaded, such as @code{raid456}
|
||||
for RAID-4, RAID-5 or RAID-6, or @code{raid10} for RAID-10.
|
||||
@end defvr
|
||||
|
||||
@cindex LVM, logical volume manager
|
||||
@defvr {Scheme Variable} lvm-device-mapping
|
||||
This defines one or more logical volumes for the Linux
|
||||
@uref{https://www.sourceware.org/lvm2/, Logical Volume Manager (LVM)}.
|
||||
The volume group is activated by the @command{vgchange} command from the
|
||||
@code{lvm2} package.
|
||||
@end defvr
|
||||
|
||||
@cindex disk encryption
|
||||
@cindex LUKS
|
||||
The following example specifies a mapping from @file{/dev/sda3} to
|
||||
@@ -14019,19 +13838,6 @@ Note that the RAID level need not be given; it is chosen during the
|
||||
initial creation and formatting of the RAID device and is determined
|
||||
automatically later.
|
||||
|
||||
LVM logical volumes ``alpha'' and ``beta'' from volume group ``vg0'' can
|
||||
be declared as follows:
|
||||
|
||||
@lisp
|
||||
(mapped-device
|
||||
(source "vg0")
|
||||
(target (list "vg0-alpha" "vg0-beta"))
|
||||
(type lvm-device-mapping))
|
||||
@end lisp
|
||||
|
||||
Devices @file{/dev/mapper/vg0-alpha} and @file{/dev/mapper/vg0-beta} can
|
||||
then be used as the @code{device} of a @code{file-system} declaration
|
||||
(@pxref{File Systems}).
|
||||
|
||||
@node User Accounts
|
||||
@section User Accounts
|
||||
@@ -14721,9 +14527,6 @@ the name of the log-in program.
|
||||
When set to @code{#t} in conjunction with @var{auto-login}, the user
|
||||
will have to press a key before the log-in shell is launched.
|
||||
|
||||
@item @code{clear-on-logout?} (default: @code{#t})
|
||||
When set to @code{#t}, the screen will be cleared after logout.
|
||||
|
||||
@item @code{mingetty} (default: @var{mingetty})
|
||||
The Mingetty package to use.
|
||||
|
||||
@@ -15169,10 +14972,6 @@ disables the timeout.
|
||||
The type of compression used for build logs---one of @code{gzip},
|
||||
@code{bzip2}, or @code{none}.
|
||||
|
||||
@item @code{discover?} (default: @code{#f})
|
||||
Whether to discover substitute servers on the local network using mDNS
|
||||
and DNS-SD.
|
||||
|
||||
@item @code{extra-options} (default: @code{'()})
|
||||
List of extra command-line options for @command{guix-daemon}.
|
||||
|
||||
@@ -15380,14 +15179,6 @@ The TCP port to listen for connections.
|
||||
The host (and thus, network interface) to listen to. Use
|
||||
@code{"0.0.0.0"} to listen on all the network interfaces.
|
||||
|
||||
@item @code{advertise?} (default: @code{#f})
|
||||
When true, advertise the service on the local network @i{via} the DNS-SD
|
||||
protocol, using Avahi.
|
||||
|
||||
This allows neighboring Guix devices with discovery on (see
|
||||
@code{guix-configuration} above) to discover this @command{guix publish}
|
||||
instance and to automatically download substitutes from it.
|
||||
|
||||
@item @code{compression} (default: @code{'(("gzip" 3))})
|
||||
This is a list of compression method/level tuple used when compressing
|
||||
substitutes. For example, to compress all substitutes with @emph{both} lzip
|
||||
@@ -15518,15 +15309,11 @@ gexps to introduce job definitions that are passed to mcron
|
||||
|
||||
(operating-system
|
||||
;; @dots{}
|
||||
|
||||
;; %BASE-SERVICES already includes an instance of
|
||||
;; 'mcron-service-type', which we extend with additional
|
||||
;; jobs using 'simple-service'.
|
||||
(services (cons (simple-service 'my-cron-jobs
|
||||
mcron-service-type
|
||||
(list garbage-collector-job
|
||||
updatedb-job
|
||||
idutils-job))
|
||||
(services (cons (service mcron-service-type
|
||||
(mcron-configuration
|
||||
(jobs (list garbage-collector-job
|
||||
updatedb-job
|
||||
idutils-job))))
|
||||
%base-services)))
|
||||
@end lisp
|
||||
|
||||
@@ -16909,7 +16696,7 @@ Connection policy. @var{reject} policy requires to specify @var{known-hosts}.
|
||||
List of hosts which allowed for SSH connection from @command{webssh}.
|
||||
|
||||
@item @code{log-file} (default: @file{"/var/log/webssh.log"})
|
||||
Name of the file where @command{webssh} writes its log file.
|
||||
Name of the file where @command{rsync} writes its log file.
|
||||
|
||||
@item @code{log-level} (default: @var{#f})
|
||||
Logging level.
|
||||
@@ -17061,101 +16848,6 @@ Use this to add additional options and manage shared secrets out-of-band.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@defvr {Scheme Variable} yggdrasil-service-type
|
||||
The service type for connecting to the @uref{https://yggdrasil-network.github.io/,
|
||||
Yggdrasil network}, an early-stage implementation of a fully end-to-end
|
||||
encrypted IPv6 network.
|
||||
|
||||
@quotation
|
||||
Yggdrasil provides name-independent routing with cryptographically generated
|
||||
addresses. Static addressing means you can keep the same address as long as
|
||||
you want, even if you move to a new location, or generate a new address (by
|
||||
generating new keys) whenever you want.
|
||||
@uref{https://yggdrasil-network.github.io/2018/07/28/addressing.html}
|
||||
@end quotation
|
||||
|
||||
Pass it a value of @code{yggdrasil-configuration} to connect it to public
|
||||
peers and/or local peers.
|
||||
|
||||
Here is an example using public peers and a static address. The static
|
||||
signing and encryption keys are defined in @file{/etc/yggdrasil-private.conf}
|
||||
(the default value for @code{config-file}).
|
||||
|
||||
@lisp
|
||||
;; part of the operating-system declaration
|
||||
(service yggdrasil-service-type
|
||||
(yggdrasil-configuration
|
||||
(autoconf? #f) ;; use only the public peers
|
||||
(json-config
|
||||
;; choose one from
|
||||
;; https://github.com/yggdrasil-network/public-peers
|
||||
'((peers . #("tcp://1.2.3.4:1337"))))
|
||||
;; /etc/yggdrasil-private.conf is the default value for config-file
|
||||
))
|
||||
@end lisp
|
||||
@example
|
||||
# sample content for /etc/yggdrasil-private.conf
|
||||
@{
|
||||
# Your public encryption key. Your peers may ask you for this to put
|
||||
# into their AllowedEncryptionPublicKeys configuration.
|
||||
EncryptionPublicKey: 378dc5...
|
||||
|
||||
# Your private encryption key. DO NOT share this with anyone!
|
||||
EncryptionPrivateKey: 0777...
|
||||
|
||||
# Your public signing key. You should not ordinarily need to share
|
||||
# this with anyone.
|
||||
SigningPublicKey: e1664...
|
||||
|
||||
# Your private signing key. DO NOT share this with anyone!
|
||||
SigningPrivateKey: 0589d...
|
||||
@}
|
||||
@end example
|
||||
@end defvr
|
||||
|
||||
@deftp {Data Type} yggdrasil-configuration
|
||||
Data type representing the configuration of Yggdrasil.
|
||||
|
||||
@table @asis
|
||||
@item @code{package} (default: @code{yggdrasil})
|
||||
Package object of Yggdrasil.
|
||||
|
||||
@item @code{json-config} (default: @code{'()})
|
||||
Contents of @file{/etc/yggdrasil.conf}. Will be merged with
|
||||
@file{/etc/yggdrasil-private.conf}. Note that these settings are stored in
|
||||
the Guix store, which is readable to all users. @strong{Do not store your
|
||||
private keys in it}. See the output of @code{yggdrasil -genconf} for a
|
||||
quick overview of valid keys and their default values.
|
||||
|
||||
@item @code{autoconf?} (default: @code{#f})
|
||||
Whether to use automatic mode. Enabling it makes Yggdrasil use adynamic IP
|
||||
and peer with IPv6 neighbors.
|
||||
|
||||
@item @code{log-level} (default: @code{'info})
|
||||
How much detail to include in logs. Use @code{'debug} for more detail.
|
||||
|
||||
@item @code{log-to} (default: @code{'stdout})
|
||||
Where to send logs. By default, the service logs standard output to
|
||||
@file{/var/log/yggdrasil.log}. The alternative is @code{'syslog}, which
|
||||
sends output to the running syslog service.
|
||||
|
||||
@item @code{config-file} (default: @code{"/etc/yggdrasil-private.conf"})
|
||||
What HJSON file to load sensitive data from. This is where private keys
|
||||
should be stored, which are necessary to specify if you don't want a
|
||||
randomized address after each restart. Use @code{#f} to disable. Options
|
||||
defined in this file take precedence over @code{json-config}. Use the output
|
||||
of @code{yggdrasil -genconf} as a starting point. To configure a static
|
||||
address, delete everything except these options:
|
||||
|
||||
@itemize
|
||||
@item @code{EncryptionPublicKey}
|
||||
@item @code{EncryptionPrivateKey}
|
||||
@item @code{SigningPublicKey}
|
||||
@item @code{SigningPrivateKey}
|
||||
@end itemize
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@node Unattended Upgrades
|
||||
@subsection Unattended Upgrades
|
||||
|
||||
@@ -17264,10 +16956,6 @@ only restarts services that are not currently running, which is
|
||||
conservative: it minimizes disruption but leaves outdated services
|
||||
running.
|
||||
|
||||
Use @command{herd status} to find out candidates for restarting.
|
||||
@xref{Services}, for general information about services. Common
|
||||
services to restart would include @code{ntpd} and @code{ssh-daemon}.
|
||||
|
||||
By default, the @code{mcron} service is restarted. This ensures that
|
||||
the latest version of the unattended upgrade job will be used next time.
|
||||
|
||||
@@ -17698,17 +17386,16 @@ CUPS service will generate a self-signed certificate if needed, for
|
||||
secure connections to the print server.
|
||||
|
||||
Suppose you want to enable the Web interface of CUPS and also add
|
||||
support for Epson printers @i{via} the @code{epson-inkjet-printer-escpr}
|
||||
package and for HP printers @i{via} the @code{hplip-minimal} package.
|
||||
You can do that directly, like this (you need to use the
|
||||
@code{(gnu packages cups)} module):
|
||||
support for Epson printers @i{via} the @code{escpr} package and for HP
|
||||
printers @i{via} the @code{hplip-minimal} package. You can do that directly,
|
||||
like this (you need to use the @code{(gnu packages cups)} module):
|
||||
|
||||
@lisp
|
||||
(service cups-service-type
|
||||
(cups-configuration
|
||||
(web-interface? #t)
|
||||
(extensions
|
||||
(list cups-filters epson-inkjet-printer-escpr hplip-minimal))))
|
||||
(list cups-filters escpr hplip-minimal))))
|
||||
@end lisp
|
||||
|
||||
Note: If you wish to use the Qt5 based GUI which comes with the hplip
|
||||
@@ -17737,7 +17424,7 @@ Available @code{cups-configuration} fields are:
|
||||
The CUPS package.
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{cups-configuration} parameter} package-list extensions (default: @code{(list epson-inkjet-printer-escpr hplip-minimal foomatic-filters splix)})
|
||||
@deftypevr {@code{cups-configuration} parameter} package-list extensions
|
||||
Drivers and other extensions to the CUPS package.
|
||||
@end deftypevr
|
||||
|
||||
@@ -18617,12 +18304,6 @@ This service adds the @code{xfce} package to the system profile, and
|
||||
extends polkit with the ability for @code{thunar} to manipulate the file
|
||||
system as root from within a user session, after the user has authenticated
|
||||
with the administrator's password.
|
||||
|
||||
Note that @code{xfce4-panel} and its plugin packages should be installed in
|
||||
the same profile to ensure compatibility. When using this service, you should
|
||||
add extra plugins (@code{xfce4-whiskermenu-plugin},
|
||||
@code{xfce4-weather-plugin}, etc.) to the @code{packages} field of your
|
||||
@code{operating-system}.
|
||||
@end defvr
|
||||
|
||||
@deftp {Data Type} xfce-desktop-configuration
|
||||
@@ -19299,14 +18980,16 @@ is the key, and the remaining elements are the values.
|
||||
|
||||
@subsubheading MariaDB/MySQL
|
||||
|
||||
@defvr {Scheme Variable} mysql-service-type
|
||||
This is the service type for a MySQL or MariaDB database server. Its value
|
||||
is a @code{mysql-configuration} object that specifies which package to use,
|
||||
as well as various settings for the @command{mysqld} daemon.
|
||||
@end defvr
|
||||
@deffn {Scheme Procedure} mysql-service [#:config (mysql-configuration)]
|
||||
Return a service that runs @command{mysqld}, the MySQL or MariaDB
|
||||
database server.
|
||||
|
||||
The optional @var{config} argument specifies the configuration for
|
||||
@command{mysqld}, which should be a @code{<mysql-configuration>} object.
|
||||
@end deffn
|
||||
|
||||
@deftp {Data Type} mysql-configuration
|
||||
Data type representing the configuration of @var{mysql-service-type}.
|
||||
Data type representing the configuration of @var{mysql-service}.
|
||||
|
||||
@table @asis
|
||||
@item @code{mysql} (default: @var{mariadb})
|
||||
@@ -19316,25 +18999,8 @@ or @var{mysql}.
|
||||
For MySQL, a temporary root password will be displayed at activation time.
|
||||
For MariaDB, the root password is empty.
|
||||
|
||||
@item @code{bind-address} (default: @code{"127.0.0.1"})
|
||||
The IP on which to listen for network connections. Use @code{"0.0.0.0"}
|
||||
to bind to all available network interfaces.
|
||||
|
||||
@item @code{port} (default: @code{3306})
|
||||
TCP port on which the database server listens for incoming connections.
|
||||
|
||||
@item @code{socket} (default: @code{"/run/mysqld/mysqld.sock"})
|
||||
Socket file to use for local (non-network) connections.
|
||||
|
||||
@item @code{extra-content} (default: @code{""})
|
||||
Additional settings for the @file{my.cnf} configuration file.
|
||||
|
||||
@item @code{auto-upgrade?} (default: @code{#t})
|
||||
Whether to automatically run @command{mysql_upgrade} after starting the
|
||||
service. This is necessary to upgrade the @dfn{system schema} after
|
||||
``major'' updates (such as switching from MariaDB 10.4 to 10.5), but can
|
||||
be disabled if you would rather do that manually.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@@ -19361,7 +19027,7 @@ The Memcached package to use.
|
||||
Network interfaces on which to listen.
|
||||
|
||||
@item @code{tcp-port} (default: @code{11211})
|
||||
Port on which to accept connections.
|
||||
Port on which to accept connections on,
|
||||
|
||||
@item @code{udp-port} (default: @code{11211})
|
||||
Port on which to accept UDP connections on, a value of 0 will disable
|
||||
@@ -21218,30 +20884,6 @@ Mailutils Manual}, for details.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@subsubheading Radicale Service
|
||||
@cindex CalDAV
|
||||
@cindex CardDAV
|
||||
|
||||
@deffn {Scheme Variable} radicale-service-type
|
||||
This is the type of the @uref{https://radicale.org, Radicale} CalDAV/CardDAV
|
||||
server whose value should be a @code{radicale-configuration}.
|
||||
@end deffn
|
||||
|
||||
@deftp {Data Type} radicale-configuration
|
||||
Data type representing the configuration of @command{radicale}.
|
||||
|
||||
@table @asis
|
||||
@item @code{package} (default: @code{radicale})
|
||||
The package that provides @command{radicale}.
|
||||
|
||||
@item @code{config-file} (default: @code{%default-radicale-config-file})
|
||||
File-like object of the configuration file to use, by default it will listen
|
||||
on TCP port 5232 of @code{localhost} and use the @code{htpasswd} file at
|
||||
@file{/var/lib/radicale/users} with no (@code{plain}) encryption.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@node Messaging Services
|
||||
@subsection Messaging Services
|
||||
|
||||
@@ -22113,10 +21755,13 @@ where monitoring these statistics is desirable.
|
||||
@defvar {Scheme variable} prometheus-node-exporter-service-type
|
||||
This is the service type for the
|
||||
@uref{https://github.com/prometheus/node_exporter/, prometheus-node-exporter}
|
||||
service, its value must be a @code{prometheus-node-exporter-configuration}.
|
||||
service, its value must be a @code{prometheus-node-exporter-configuration}
|
||||
record as in this example:
|
||||
|
||||
@lisp
|
||||
(service prometheus-node-exporter-service-type)
|
||||
(service prometheus-node-exporter-service-type
|
||||
(prometheus-node-exporter-configuration
|
||||
(web-listen-address ":9100")))
|
||||
@end lisp
|
||||
@end defvar
|
||||
|
||||
@@ -22130,14 +21775,6 @@ The prometheus-node-exporter package to use.
|
||||
@item @code{web-listen-address} (default: @code{":9100"})
|
||||
Bind the web interface to the specified address.
|
||||
|
||||
@item @code{textfile-directory} (default: @code{"/var/lib/prometheus/node-exporter"})
|
||||
This directory can be used to export metrics specific to this machine.
|
||||
Files containing metrics in the text format, with the filename ending in
|
||||
@code{.prom} should be placed in this directory.
|
||||
|
||||
@item @code{extra-options} (default: @code{'()})
|
||||
Extra options to pass to the Prometheus node exporter.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@@ -22313,7 +21950,7 @@ Defaults to @samp{"zabbix"}.
|
||||
Unique, case sensitive hostname which is required for active checks and
|
||||
must match hostname as configured on the server.
|
||||
|
||||
Defaults to @samp{""}.
|
||||
Defaults to @samp{"Zabbix server"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@@ -22435,10 +22072,9 @@ Defaults to @samp{""}.
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-front-end-configuration} parameter} string db-secret-file
|
||||
Secret file containing the credentials for the Zabbix front-end. The value
|
||||
must be a local file name, not a G-expression. You are expected to create
|
||||
this file manually. Its contents will be copied into @file{zabbix.conf.php}
|
||||
as the value of @code{$DB['PASSWORD']}.
|
||||
Secret file which will be appended to @file{zabbix.conf.php} file. This
|
||||
file contains credentials for use by Zabbix front-end. You are expected
|
||||
to create it manually.
|
||||
|
||||
Defaults to @samp{""}.
|
||||
|
||||
@@ -25155,18 +24791,14 @@ Defaults to @samp{tun}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
If you do not have some of these files (eg.@: you use a username and
|
||||
password), you can disable any of the following three fields by setting
|
||||
it to @code{'disabled}.
|
||||
|
||||
@deftypevr {@code{openvpn-client-configuration} parameter} maybe-string ca
|
||||
@deftypevr {@code{openvpn-client-configuration} parameter} string ca
|
||||
The certificate authority to check connections against.
|
||||
|
||||
Defaults to @samp{"/etc/openvpn/ca.crt"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{openvpn-client-configuration} parameter} maybe-string cert
|
||||
@deftypevr {@code{openvpn-client-configuration} parameter} string cert
|
||||
The certificate of the machine the daemon is running on. It should be
|
||||
signed by the authority given in @code{ca}.
|
||||
|
||||
@@ -25174,7 +24806,7 @@ Defaults to @samp{"/etc/openvpn/client.crt"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{openvpn-client-configuration} parameter} maybe-string key
|
||||
@deftypevr {@code{openvpn-client-configuration} parameter} string key
|
||||
The key of the machine the daemon is running on. It must be the key whose
|
||||
certificate is @code{cert}.
|
||||
|
||||
@@ -25310,18 +24942,14 @@ Defaults to @samp{tun}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
If you do not have some of these files (eg.@: you use a username and
|
||||
password), you can disable any of the following three fields by setting
|
||||
it to @code{'disabled}.
|
||||
|
||||
@deftypevr {@code{openvpn-server-configuration} parameter} maybe-string ca
|
||||
@deftypevr {@code{openvpn-server-configuration} parameter} string ca
|
||||
The certificate authority to check connections against.
|
||||
|
||||
Defaults to @samp{"/etc/openvpn/ca.crt"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{openvpn-server-configuration} parameter} maybe-string cert
|
||||
@deftypevr {@code{openvpn-server-configuration} parameter} string cert
|
||||
The certificate of the machine the daemon is running on. It should be
|
||||
signed by the authority given in @code{ca}.
|
||||
|
||||
@@ -25329,7 +24957,7 @@ Defaults to @samp{"/etc/openvpn/client.crt"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{openvpn-server-configuration} parameter} maybe-string key
|
||||
@deftypevr {@code{openvpn-server-configuration} parameter} string key
|
||||
The key of the machine the daemon is running on. It must be the key whose
|
||||
certificate is @code{cert}.
|
||||
|
||||
@@ -25773,9 +25401,6 @@ Owner's group of the @code{cuirass} process.
|
||||
Number of seconds between the poll of the repositories followed by the
|
||||
Cuirass jobs.
|
||||
|
||||
@item @code{queue-size} (default: @code{1})
|
||||
Size of the database writer queue.
|
||||
|
||||
@item @code{database} (default: @code{"/var/lib/cuirass/cuirass.db"})
|
||||
Location of sqlite database which contains the build results and previously
|
||||
added specifications.
|
||||
@@ -28178,7 +27803,7 @@ over HTTP.
|
||||
@deftp {Data Type} git-http-configuration
|
||||
Data type representing the configuration for a future
|
||||
@code{git-http-service-type}; can currently be used to configure Nginx
|
||||
through @code{git-http-nginx-location-configuration}.
|
||||
trough @code{git-http-nginx-location-configuration}.
|
||||
|
||||
@table @asis
|
||||
@item @code{package} (default: @var{git})
|
||||
@@ -29501,18 +29126,18 @@ the password from can also be specified, and this is more secure.
|
||||
A file containing the password to use when connecting to the
|
||||
coordinator.
|
||||
|
||||
@item @code{systems} (default: @code{#f})
|
||||
@item @code{systems} (default: @var{#f})
|
||||
The systems for which this agent should fetch builds. The agent process
|
||||
will use the current system it's running on as the default.
|
||||
|
||||
@item @code{max-parallel-builds} (default: @code{1})
|
||||
The number of builds to perform in parallel.
|
||||
|
||||
@item @code{derivation-substitute-urls} (default: @code{#f})
|
||||
@item @code{derivation-substitute-urls} (default: @code{1})
|
||||
URLs from which to attempt to fetch substitutes for derivations, if the
|
||||
derivations aren't already available.
|
||||
|
||||
@item @code{non-derivation-substitute-urls} (default: @code{#f})
|
||||
@item @code{non-derivation-substitute-urls} (default: @code{1})
|
||||
URLs from which to attempt to fetch substitutes for build inputs, if the
|
||||
input store items aren't already available.
|
||||
|
||||
@@ -31284,27 +30909,11 @@ a value. Docker images are built to contain exactly what they need, so
|
||||
the @option{--image-size} option is ignored in the case of
|
||||
@code{docker-image}.
|
||||
|
||||
@cindex disk-image, creating disk images
|
||||
The @code{disk-image} command can produce various image types. The
|
||||
image type can be selected using the @option{--image-type} option. It
|
||||
defaults to @code{raw}. When its value is @code{iso9660}, the
|
||||
image type can be selected using the @command{--image-type} option. It
|
||||
defaults to @code{raw}. When its value is @code{iso9660}, the
|
||||
@option{--label} option can be used to specify a volume ID with
|
||||
@code{disk-image}. By default, the root file system of a disk image is
|
||||
mounted non-volatile; the @option{--volatile} option can be provided to
|
||||
make it volatile instead. When using @code{disk-image}, the bootloader
|
||||
installed on the generated image is taken from the provided
|
||||
@code{operating-system} definition. The following example demonstrates
|
||||
how to generate an image that uses the @code{grub-efi-bootloader}
|
||||
bootloader and boot it with QEMU:
|
||||
|
||||
@example
|
||||
image=$(guix system disk-image --image-type=qcow2 \
|
||||
gnu/system/examples/lightweight-desktop.tmpl)
|
||||
cp $image /tmp/my-image.qcow2
|
||||
chmod +w /tmp/my-image.qcow2
|
||||
qemu-system-x86_64 -enable-kvm -hda /tmp/my-image.qcow2 -m 1000 \
|
||||
-bios $(guix build ovmf)/share/firmware/ovmf_x64.bin
|
||||
@end example
|
||||
@code{disk-image}.
|
||||
|
||||
When using the @code{raw} image type, a raw disk image is produced; it
|
||||
can be copied as is to a USB stick, for instance. Assuming
|
||||
@@ -31318,17 +30927,10 @@ the image to it using the following command:
|
||||
The @code{--list-image-types} command lists all the available image
|
||||
types.
|
||||
|
||||
@cindex vm-image, creating virtual machine images
|
||||
When using @code{vm-image}, the returned image is in qcow2 format, which
|
||||
the QEMU emulator can efficiently use. @xref{Running Guix in a VM}, for
|
||||
more information on how to run the image in a virtual machine. The
|
||||
@code{grub-bootloader} bootloader is always used independently of what
|
||||
is declared in the @code{operating-system} file passed as argument.
|
||||
This is to make it easier to work with QEMU, which uses the SeaBIOS BIOS
|
||||
by default, expecting a bootloader to be installed in the Master Boot
|
||||
Record (MBR).
|
||||
the QEMU emulator can efficiently use. @xref{Running Guix in a VM},
|
||||
for more information on how to run the image in a virtual machine.
|
||||
|
||||
@cindex docker-image, creating docker images
|
||||
When using @code{docker-image}, a Docker image is produced. Guix builds
|
||||
the image from scratch, not from a pre-existing Docker base image. As a
|
||||
result, it contains @emph{exactly} what you define in the operating
|
||||
@@ -32889,15 +32491,10 @@ Bootstrapping in our context refers to how the distribution gets built
|
||||
``from nothing''. Remember that the build environment of a derivation
|
||||
contains nothing but its declared inputs (@pxref{Introduction}). So
|
||||
there's an obvious chicken-and-egg problem: how does the first package
|
||||
get built? How does the first compiler get compiled?
|
||||
|
||||
It is tempting to think of this question as one that only die-hard
|
||||
hackers may care about. However, while the answer to that question is
|
||||
technical in nature, its implications are wide-ranging. How the
|
||||
distribution is bootstrapped defines the extent to which we, as
|
||||
individuals and as a collective of users and hackers, can trust the
|
||||
software we run. It is a central concern from the standpoint of
|
||||
@emph{security} and from a @emph{user freedom} viewpoint.
|
||||
get built? How does the first compiler get compiled? Note that this is
|
||||
a question of interest only to the curious hacker, not to the regular
|
||||
user, so you can shamelessly skip this section if you consider yourself
|
||||
a ``regular user''.
|
||||
|
||||
@cindex bootstrap binaries
|
||||
The GNU system is primarily made of C code, with libc at its core. The
|
||||
|
||||
@@ -111,24 +111,6 @@ _guix_is_removing ()
|
||||
$result
|
||||
}
|
||||
|
||||
_guix_is_dash_f ()
|
||||
{
|
||||
[ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-f" ] \
|
||||
|| { case "${COMP_WORDS[$COMP_CWORD]}" in
|
||||
--file=*|--install-from-file=*) true;;
|
||||
*) false;;
|
||||
esac }
|
||||
}
|
||||
|
||||
_guix_is_dash_l ()
|
||||
{
|
||||
[ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-l" ] \
|
||||
|| { case "${COMP_WORDS[$COMP_CWORD]}" in
|
||||
--load=*) true;;
|
||||
*) false;;
|
||||
esac }
|
||||
}
|
||||
|
||||
_guix_is_dash_L ()
|
||||
{
|
||||
[ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-L" ] \
|
||||
@@ -200,7 +182,7 @@ _guix_complete ()
|
||||
*)
|
||||
if _guix_is_command "package"
|
||||
then
|
||||
if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p || _guix_is_dash_f
|
||||
if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p
|
||||
then
|
||||
_guix_complete_file
|
||||
elif _guix_is_removing
|
||||
@@ -235,7 +217,7 @@ _guix_complete ()
|
||||
fi
|
||||
elif _guix_is_command "build"
|
||||
then
|
||||
if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_f
|
||||
if _guix_is_dash_L || _guix_is_dash_m
|
||||
then
|
||||
_guix_complete_file
|
||||
else
|
||||
@@ -243,7 +225,7 @@ _guix_complete ()
|
||||
fi
|
||||
elif _guix_is_command "environment"
|
||||
then
|
||||
if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p || _guix_is_dash_l
|
||||
if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p
|
||||
then
|
||||
_guix_complete_file
|
||||
else
|
||||
|
||||
+10
-23
@@ -20,26 +20,13 @@
|
||||
#
|
||||
# <local ref> <local sha1> <remote ref> <remote sha1>
|
||||
|
||||
# This is the "empty hash" used by Git when pushing a branch deletion.
|
||||
z40=0000000000000000000000000000000000000000
|
||||
|
||||
while read local_ref local_hash remote_ref remote_hash
|
||||
do
|
||||
# When deleting a remote branch, no commits are pushed to the remote, and
|
||||
# thus there are no signatures to be verified.
|
||||
if [ "$local_hash" != $z40 ]
|
||||
then
|
||||
# Only use the hook when pushing to Savannah.
|
||||
case "$2" in
|
||||
*.gnu.org*)
|
||||
exec make authenticate check-channel-news
|
||||
exit 127
|
||||
;;
|
||||
*)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
|
||||
exit 0
|
||||
# Only use the hook when pushing to Savannah.
|
||||
case "$2" in
|
||||
*.gnu.org*)
|
||||
exec make authenticate check-channel-news
|
||||
exit 127
|
||||
;;
|
||||
*)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
+6
-33
@@ -131,16 +131,14 @@
|
||||
(lnk_file (create rename setattr unlink)))
|
||||
(allow guix_daemon_t
|
||||
tmp_t
|
||||
(file (link
|
||||
rename create execute execute_no_trans write
|
||||
unlink setattr map relabelto relabelfrom)))
|
||||
(file (link rename create execute execute_no_trans write unlink setattr map relabelto)))
|
||||
(allow guix_daemon_t
|
||||
tmp_t
|
||||
(fifo_file (open read write create getattr ioctl setattr unlink)))
|
||||
(allow guix_daemon_t
|
||||
tmp_t
|
||||
(dir (create rename
|
||||
rmdir relabelto relabelfrom reparent
|
||||
rmdir relabelto
|
||||
add_name remove_name
|
||||
open read write
|
||||
getattr setattr
|
||||
@@ -167,9 +165,7 @@
|
||||
(process (fork execmem setrlimit setpgid setsched)))
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_exec_t
|
||||
(file (execute
|
||||
execute_no_trans read write open entrypoint map
|
||||
getattr link unlink)))
|
||||
(file (execute execute_no_trans read open entrypoint map)))
|
||||
|
||||
;; TODO: unknown
|
||||
(allow guix_daemon_t
|
||||
@@ -268,7 +264,6 @@
|
||||
link unlink
|
||||
map
|
||||
rename
|
||||
append
|
||||
open read write relabelfrom)))
|
||||
(allow guix_daemon_t
|
||||
guix_store_content_t
|
||||
@@ -282,7 +277,7 @@
|
||||
(fifo_file (create getattr open read unlink write)))
|
||||
(allow guix_daemon_t
|
||||
guix_store_content_t
|
||||
(sock_file (create getattr setattr unlink write)))
|
||||
(sock_file (create getattr unlink write)))
|
||||
|
||||
;; Access to configuration files and directories
|
||||
(allow guix_daemon_t
|
||||
@@ -335,7 +330,7 @@
|
||||
(dir (add_name write)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(netlink_route_socket (bind create getattr nlmsg_read read write getopt)))
|
||||
(netlink_route_socket (bind create getattr nlmsg_read read write)))
|
||||
|
||||
;; Socket operations
|
||||
(allow guix_daemon_t
|
||||
@@ -367,7 +362,7 @@
|
||||
(tcp_socket (name_bind name_connect accept listen)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(udp_socket (connect getattr bind getopt setopt read write)))
|
||||
(udp_socket (connect getattr bind getopt setopt)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(fifo_file (write read)))
|
||||
@@ -377,14 +372,7 @@
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(unix_stream_socket (connectto)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(unix_dgram_socket (create bind connect sendto read write)))
|
||||
|
||||
;; For some esoteric build jobs (i.e. running PostgreSQL, etc).
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(capability (kill)))
|
||||
(allow guix_daemon_t
|
||||
node_t
|
||||
(tcp_socket (node_bind)))
|
||||
@@ -394,21 +382,6 @@
|
||||
(allow guix_daemon_t
|
||||
port_t
|
||||
(tcp_socket (name_connect)))
|
||||
(allow guix_daemon_t
|
||||
tmpfs_t
|
||||
(file (map read write link getattr)))
|
||||
(allow guix_daemon_t
|
||||
usermodehelper_t
|
||||
(file (read)))
|
||||
(allow guix_daemon_t
|
||||
hugetlbfs_t
|
||||
(file (map read write)))
|
||||
(allow guix_daemon_t
|
||||
proc_net_t
|
||||
(file (read)))
|
||||
(allow guix_daemon_t
|
||||
postgresql_port_t
|
||||
(tcp_socket (name_connect name_bind)))
|
||||
(allow guix_daemon_t
|
||||
rtp_media_port_t
|
||||
(udp_socket (name_bind)))
|
||||
|
||||
+15
-15
@@ -183,9 +183,9 @@ chk_sys_arch()
|
||||
aarch64)
|
||||
local arch=aarch64
|
||||
;;
|
||||
armv7l)
|
||||
local arch=armhf
|
||||
;;
|
||||
armv7l)
|
||||
local arch=armhf
|
||||
;;
|
||||
*)
|
||||
_err "${ERR}Unsupported CPU type: ${arch}"
|
||||
exit 1
|
||||
@@ -233,7 +233,7 @@ guix_get_bin_list()
|
||||
| sed -n -e 's/.*guix-binary-\([0-9.]*[a-z0-9]*\)\..*.tar.xz.*/\1/p' \
|
||||
| sort -Vu)")
|
||||
|
||||
latest_ver="$(echo "${bin_ver_ls[0]}" \
|
||||
latest_ver="$(echo "$bin_ver_ls" \
|
||||
| grep -oE "([0-9]{1,2}\.){2}[0-9]{1,2}[a-z0-9]*" \
|
||||
| tail -n1)"
|
||||
|
||||
@@ -247,7 +247,7 @@ guix_get_bin_list()
|
||||
fi
|
||||
|
||||
# Use default to download according to the list and local ARCH_OS.
|
||||
BIN_VER="${default_ver}"
|
||||
BIN_VER="$default_ver"
|
||||
}
|
||||
|
||||
guix_get_bin()
|
||||
@@ -271,7 +271,7 @@ guix_get_bin()
|
||||
exit 1
|
||||
fi
|
||||
|
||||
pushd "${dl_path}" >/dev/null
|
||||
pushd $dl_path >/dev/null
|
||||
gpg --verify "${bin_ver}.tar.xz.sig" >/dev/null 2>&1
|
||||
if [[ "$?" -eq 0 ]]; then
|
||||
_msg "${PAS}Signature is valid."
|
||||
@@ -379,15 +379,15 @@ sys_enable_guix_daemon()
|
||||
/etc/systemd/system/;
|
||||
chmod 664 /etc/systemd/system/guix-daemon.service;
|
||||
|
||||
# Work around <https://bugs.gnu.org/36074>, present in 1.0.1.
|
||||
sed -i /etc/systemd/system/guix-daemon.service \
|
||||
-e "s/GUIX_LOCPATH='/'GUIX_LOCPATH=/";
|
||||
# Work around <https://bugs.gnu.org/36074>, present in 1.0.1.
|
||||
sed -i /etc/systemd/system/guix-daemon.service \
|
||||
-e "s/GUIX_LOCPATH='/'GUIX_LOCPATH=/";
|
||||
|
||||
# Work around <https://bugs.gnu.org/35671>, present in 1.0.1.
|
||||
if ! grep en_US /etc/systemd/system/guix-daemon.service >/dev/null;
|
||||
then sed -i /etc/systemd/system/guix-daemon.service \
|
||||
-e 's/^Environment=\(.*\)$/Environment=\1 LC_ALL=en_US.UTF-8';
|
||||
fi;
|
||||
# Work around <https://bugs.gnu.org/35671>, present in 1.0.1.
|
||||
if ! grep en_US /etc/systemd/system/guix-daemon.service >/dev/null;
|
||||
then sed -i /etc/systemd/system/guix-daemon.service \
|
||||
-e 's/^Environment=\(.*\)$/Environment=\1 LC_ALL=en_US.UTF-8';
|
||||
fi;
|
||||
|
||||
systemctl daemon-reload &&
|
||||
systemctl enable guix-daemon &&
|
||||
@@ -427,7 +427,7 @@ sys_enable_guix_daemon()
|
||||
ln -sf "${var_guix}/bin/guix" "$local_bin"
|
||||
|
||||
[ -e "$info_path" ] || mkdir -p "$info_path"
|
||||
for i in "${var_guix}"/share/info/*; do
|
||||
for i in ${var_guix}/share/info/*; do
|
||||
ln -sf "$i" "$info_path"
|
||||
done
|
||||
}
|
||||
|
||||
-114
@@ -18,120 +18,6 @@
|
||||
(channel-news
|
||||
(version 0)
|
||||
|
||||
(entry (commit "e38d90d497e19e00263fa28961c688a433154386")
|
||||
(title (en "New @option{--with-patch} package transformation option")
|
||||
(de "Neue Paketumwandlungsoption @option{--with-patch}")
|
||||
(fr "Nouvelle option de transformation @option{--with-patch}"))
|
||||
(body
|
||||
(en "The new @option{--with-patch} package transformation option
|
||||
applies patches to the specified packages before building them. The example
|
||||
below builds the GNU Core Utilities against a patched C library (glibc):
|
||||
|
||||
@example
|
||||
guix build coreutils --with-patch=glibc=./glibc-frob.patch
|
||||
@end example
|
||||
|
||||
Run @command{info \"(guix) Package Transformation Options\"} for more info.")
|
||||
(de "Die neue Paketumwandlungsoption @option{--with-patch} wendet
|
||||
Patches auf die angegebenen Pakete an, bevor sie erstellt werden. Das folgende
|
||||
Beispiel lässt die GNU Core Utilities mit einer gepatchten
|
||||
C-Bibliothek (glibc) erstellen:
|
||||
|
||||
@example
|
||||
guix build coreutils --with-patch=glibc=./glibc-frob.patch
|
||||
@end example
|
||||
|
||||
Führen Sie für mehr Informationen @command{info \"(guix.de)
|
||||
Paketumwandlungsoptionen\"} aus.")
|
||||
(fr "La nouvelle option de transformation de paquets
|
||||
@option{--with-patch} applique des modifications (@i{patches}) aux paquets
|
||||
spécifiés avant de les compiler. L'exemple suivant compile les utilitaires de
|
||||
base GNU avec une bibliothèque C (glibc) modifiée :
|
||||
|
||||
@example
|
||||
guix build coreutils --with-patch=glibc=./glibc-frob.patch
|
||||
@end example
|
||||
|
||||
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
|
||||
plus de détails.")))
|
||||
|
||||
(entry (commit "79f9dee3c4c0e6d21066f142116a537207ae7ba4")
|
||||
(title (en "Local substitute servers discovery is now supported")
|
||||
(de "Substitutserver können jetzt im lokalen Netz erkannt werden")
|
||||
(es "Los servidores de sustituciones se pueden descubrir localmente")
|
||||
(fr "La découverte des serveurs de substituts locaux est désormais supportée"))
|
||||
(body
|
||||
(en "The @command{guix-daemon} can now discover local substitute
|
||||
servers when the @option{--discover} option is passed. Only the substitute
|
||||
servers started with the @option{--advertise} option will be discovered. The
|
||||
network discovery is based on mDNS and DNS-SD protocols, using Guile-Avahi
|
||||
library for now.")
|
||||
(de "Mit dem @command{guix-daemon} können jetzt lokal laufende
|
||||
Substitutserver erkannt werden, wenn die Befehlszeilenoption
|
||||
@option{--discover} übergeben wurde. Nur solche Substitutserver werden
|
||||
gefunden, die mit der Befehlszeilenoption @option{--advertise} gestartet
|
||||
wurden. Die Ermittlung im Netzwerk verfügbarer Substitutserver baut auf den
|
||||
Protokollen mDNS und DNS-SD auf. Derzeit wird dazu die Bibliothek Guile-Avahi
|
||||
benutzt.")
|
||||
(es "El daemon @command{guix-daemon} ahora puede descubrir servidores
|
||||
de sustituciones locales cuando se le proporciona la opción
|
||||
@option{--discover}. Únicamente se descubrirán los servidores de
|
||||
sustituciones que se hayan arrancado con la opción @option{--advertise}. La
|
||||
búsqueda en la red se basa en los protocolos mDNS y DNS-SD, actualmente
|
||||
mediante el uso de la biblioteca Guile-Avahi.")
|
||||
(fr "Le @command{guix-daemon} peut désormais découvrir les serveurs
|
||||
de substituts locaux lorsque l'option @option{--discover} est passée. Seuls
|
||||
les serveurs de substituts démarrés avec l'option @option{--advertise} seront
|
||||
découverts. La découverte réseau utilise les protocoles mDNS et DNS-SD, pour
|
||||
l'instant grâce à la librairie Guile-Avahi.")))
|
||||
|
||||
(entry (commit "a9a2fdaabcc78e7a54d9a6bcfa4ee3de308e9a90")
|
||||
(title (en "Logical Volume Manager (LVM) now supported on Guix System")
|
||||
(de "Logical Volume Manager (LVM) wird jetzt auf Guix System unterstützt")
|
||||
(es "El sistema Guix ahora implementa también volúmenes lógicos LVM"))
|
||||
(body
|
||||
(en "On Guix System, the new @code{lvm-device-mapping} variable
|
||||
allows you to declare ``mapped devices'' for LVM, the Linux Logical Volume
|
||||
Manager. For example, LVM logical volumes ``alpha'' and ``beta'' from volume
|
||||
group ``vg0'' can be declared as follows:
|
||||
|
||||
@lisp
|
||||
(mapped-device
|
||||
(source \"vg0\")
|
||||
(target (list \"vg0-alpha\" \"vg0-beta\"))
|
||||
(type lvm-device-mapping))
|
||||
@end lisp
|
||||
|
||||
See @command{info \"(guix) Mapped Devices\"} for more information.")
|
||||
(de "Auf Guix System erlaubt Ihnen die neue Variable
|
||||
@code{lvm-device-mapping}, „zugeordnete Geräte“ (Mapped Devices) für LVM, den
|
||||
Linux Logical Volume Manager, zu deklarieren. Zum Beispiel können logische
|
||||
Datenträger von LVM namens „alpha“ und „beta“ aus der
|
||||
Datenträgergruppe (Volume Group) „vg0“ wie folgt deklariert werden:
|
||||
|
||||
@lisp
|
||||
(mapped-device
|
||||
(source \"vg0\")
|
||||
(target (list \"vg0-alpha\" \"vg0-beta\"))
|
||||
(type lvm-device-mapping))
|
||||
@end lisp
|
||||
|
||||
Siehe @command{info \"(guix.de) Zugeordnete Geräte\"} für nähere Informationen.")
|
||||
(es "En el sistema Guix, la nueva variable @code{lvm-device-mapping}
|
||||
le permite declarar «dispositivos traducidos» para LVM, el gestor de volúmenes
|
||||
lógicos de Linux. A continuación se muestra un ejemplo con la declaración de
|
||||
los volúmenes lógicos «alfa» y «beta» del grupo de volúmenes «vg0»:
|
||||
|
||||
@lisp
|
||||
(mapped-device
|
||||
(source \"vg0\")
|
||||
(target (list \"vg0-alfa\" \"vg0-beta\"))
|
||||
(type lvm-device-mapping))
|
||||
@end lisp
|
||||
|
||||
Véase @command{info \"(guix.es) Dispositivos traducidos\"} para obtener más
|
||||
información.")))
|
||||
|
||||
(entry (commit "3b6e4e5fd05e72b8a32ff1a2d5e21464260e21e6")
|
||||
(title (en "List of substitute keys is now declarative on Guix System")
|
||||
(de "Liste der Substitutschlüssel auf Guix System ist jetzt deklarativ")
|
||||
|
||||
@@ -11,30 +11,20 @@
|
||||
"ant-build-system"
|
||||
"asdf-build-system"
|
||||
"cargo-build-system"
|
||||
"clojure-build-system"
|
||||
"cmake-build-system"
|
||||
"copy-build-system"
|
||||
"dub-build-system"
|
||||
"dune-build-system"
|
||||
"emacs-build-system"
|
||||
"font-build-system"
|
||||
"glib-or-gtk-build-system"
|
||||
"gnu-build-system"
|
||||
"go-build-system"
|
||||
"guile-build-system"
|
||||
"haskell-build-system"
|
||||
"julia-build-system"
|
||||
"linux-module-build-system"
|
||||
"maven-build-system"
|
||||
"meson-build-system"
|
||||
"minify-build-system"
|
||||
"node-build-system"
|
||||
"ocaml-build-system"
|
||||
"perl-build-system"
|
||||
"python-build-system"
|
||||
"qt-build-system"
|
||||
"r-build-system"
|
||||
"rakudo-build-system"
|
||||
"ruby-build-system"
|
||||
"scons-build-system"
|
||||
"texlive-build-system"
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: guix-commit-message-add-cl-package
|
||||
# key: addcl
|
||||
# condition: git-commit-mode
|
||||
# --
|
||||
gnu: Add ${1:`(with-temp-buffer
|
||||
(magit-git-wash #'magit-diff-wash-diffs
|
||||
"diff" "--staged")
|
||||
(beginning-of-buffer)
|
||||
(when (search-forward "+(define-public " nil 'noerror)
|
||||
(replace-regexp-in-string
|
||||
"^sbcl-" ""
|
||||
(thing-at-point 'sexp 'no-properties))))`}.
|
||||
|
||||
* `(car (magit-staged-files))` (cl-${1:$(replace-regexp-in-string "^cl-" "" yas-text)}, ecl-$1, sbcl-$1): New variables.
|
||||
@@ -6,8 +6,8 @@
|
||||
gnu: Add ${1:`(with-temp-buffer
|
||||
(magit-git-wash #'magit-diff-wash-diffs
|
||||
"diff" "--staged")
|
||||
(goto-char (point-min))
|
||||
(when (re-search-forward "\\+(define-public \\(\\S-+\\)" nil 'noerror)
|
||||
(match-string-no-properties 1)))`}.
|
||||
(beginning-of-buffer)
|
||||
(when (search-forward "(define-public " nil 'noerror)
|
||||
(thing-at-point 'sexp 'no-properties)))`}.
|
||||
|
||||
* `(car (magit-staged-files))` ($1): New variable.
|
||||
@@ -7,12 +7,12 @@
|
||||
gnu: ${1:`(with-temp-buffer
|
||||
(magit-git-wash #'magit-diff-wash-diffs
|
||||
"diff" "--staged")
|
||||
(goto-char (point-min))
|
||||
(when (re-search-forward "(define-public \\(\\S-+\\)" nil 'noerror)
|
||||
(match-string-no-properties 1)))`}: Update to ${2:`(with-temp-buffer
|
||||
(beginning-of-buffer)
|
||||
(when (search-forward "(define-public " nil 'noerror)
|
||||
(thing-at-point 'sexp 'no-properties)))`}: Update to ${2:`(with-temp-buffer
|
||||
(magit-git-wash #'magit-diff-wash-diffs
|
||||
"diff" "--staged")
|
||||
(goto-char (point-min))
|
||||
(beginning-of-buffer)
|
||||
(search-forward "name" nil 'noerror)
|
||||
(search-forward "+" nil 'noerror) ; first change
|
||||
(when (and (search-forward "version " nil 'noerror)
|
||||
|
||||
+1
-124
@@ -22,8 +22,6 @@
|
||||
|
||||
(define-module (gnu bootloader)
|
||||
#:use-module (guix discovery)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix profiles)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix ui)
|
||||
#:use-module (srfi srfi-1)
|
||||
@@ -68,9 +66,7 @@
|
||||
bootloader-configuration-additional-configuration
|
||||
|
||||
%bootloaders
|
||||
lookup-bootloader-by-name
|
||||
|
||||
efi-bootloader-chain))
|
||||
lookup-bootloader-by-name))
|
||||
|
||||
|
||||
;;;
|
||||
@@ -231,122 +227,3 @@ record."
|
||||
(eq? name (bootloader-name bootloader)))
|
||||
(force %bootloaders))
|
||||
(leave (G_ "~a: no such bootloader~%") name)))
|
||||
|
||||
(define (efi-bootloader-profile files bootloader-package hooks)
|
||||
"Creates a profile with BOOTLOADER-PACKAGE and a directory collection/ with
|
||||
links to additional FILES from the store. This collection is meant to be used
|
||||
by the bootloader installer.
|
||||
|
||||
FILES is a list of file or directory names from the store, which will be
|
||||
symlinked into the collection/ directory. If a directory name ends with '/',
|
||||
then the directory content instead of the directory itself will be symlinked
|
||||
into the collection/ directory.
|
||||
|
||||
FILES may contain file like objects produced by functions like plain-file,
|
||||
local-file, etc., or package contents produced with file-append.
|
||||
|
||||
HOOKS lists additional hook functions to modify the profile."
|
||||
(define (bootloader-collection manifest)
|
||||
(define build
|
||||
(with-imported-modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
#~(begin
|
||||
(use-modules ((guix build utils)
|
||||
#:select (mkdir-p strip-store-file-name))
|
||||
((ice-9 ftw)
|
||||
#:select (scandir))
|
||||
((srfi srfi-1)
|
||||
#:select (append-map every remove))
|
||||
((srfi srfi-26)
|
||||
#:select (cut)))
|
||||
(define (symlink-to file directory transform)
|
||||
"Creates a symlink to FILE named (TRANSFORM FILE) in DIRECTORY."
|
||||
(symlink file (string-append directory "/" (transform file))))
|
||||
(define (directory-content directory)
|
||||
"Creates a list of absolute path names inside DIRECTORY."
|
||||
(map (lambda (name)
|
||||
(string-append directory name))
|
||||
(or (scandir directory (lambda (name)
|
||||
(not (member name '("." "..")))))
|
||||
'())))
|
||||
(define name-ends-with-/? (cut string-suffix? "/" <>))
|
||||
(define (name-is-store-entry? name)
|
||||
"Return #t if NAME is a direct store entry and nothing inside."
|
||||
(not (string-index (strip-store-file-name name) #\/)))
|
||||
(let* ((collection (string-append #$output "/collection"))
|
||||
(files '#$files)
|
||||
(directories (filter name-ends-with-/? files))
|
||||
(names-from-directories
|
||||
(append-map (lambda (directory)
|
||||
(directory-content directory))
|
||||
directories))
|
||||
(names (append names-from-directories
|
||||
(remove name-ends-with-/? files))))
|
||||
(mkdir-p collection)
|
||||
(if (every file-exists? names)
|
||||
(begin
|
||||
(for-each (lambda (name)
|
||||
(symlink-to name collection
|
||||
(if (name-is-store-entry? name)
|
||||
strip-store-file-name
|
||||
basename)))
|
||||
names)
|
||||
#t)
|
||||
#f)))))
|
||||
|
||||
(gexp->derivation "bootloader-collection"
|
||||
build
|
||||
#:local-build? #t
|
||||
#:substitutable? #f
|
||||
#:properties
|
||||
`((type . profile-hook)
|
||||
(hook . bootloader-collection))))
|
||||
|
||||
(profile (content (packages->manifest (list bootloader-package)))
|
||||
(name "bootloader-profile")
|
||||
(hooks (append (list bootloader-collection) hooks))
|
||||
(locales? #f)
|
||||
(allow-collisions? #f)
|
||||
(relative-symlinks? #f)))
|
||||
|
||||
(define* (efi-bootloader-chain files
|
||||
final-bootloader
|
||||
#:key
|
||||
(hooks '())
|
||||
installer)
|
||||
"Define a bootloader chain with FINAL-BOOTLOADER as the final bootloader and
|
||||
certain directories and files from the store given in the list of FILES.
|
||||
|
||||
FILES may contain file like objects produced by functions like plain-file,
|
||||
local-file, etc., or package contents produced with file-append. They will be
|
||||
collected inside a directory collection/ inside a generated bootloader profile,
|
||||
which will be passed to the INSTALLER.
|
||||
|
||||
If a directory name in FILES ends with '/', then the directory content instead
|
||||
of the directory itself will be symlinked into the collection/ directory.
|
||||
|
||||
The procedures in the HOOKS list can be used to further modify the bootloader
|
||||
profile. It is possible to pass a single function instead of a list.
|
||||
|
||||
If the INSTALLER argument is used, then this function will be called to install
|
||||
the bootloader. Otherwise the installer of the FINAL-BOOTLOADER will be called."
|
||||
(let* ((final-installer (or installer
|
||||
(bootloader-installer final-bootloader)))
|
||||
(profile (efi-bootloader-profile files
|
||||
(bootloader-package final-bootloader)
|
||||
(if (list? hooks)
|
||||
hooks
|
||||
(list hooks)))))
|
||||
(bootloader
|
||||
(inherit final-bootloader)
|
||||
(package profile)
|
||||
(installer
|
||||
#~(lambda (bootloader target mount-point)
|
||||
(#$final-installer bootloader target mount-point)
|
||||
(copy-recursively
|
||||
(string-append bootloader "/collection")
|
||||
(string-append mount-point target)
|
||||
#:follow-symlinks? #t
|
||||
#:log (%make-void-port "w")))))))
|
||||
|
||||
+16
-38
@@ -4,7 +4,7 @@
|
||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas <rosen644835@gmail.com>
|
||||
;;; Copyright © 2019 Miguel Ángel Arruga Vivas <rosen644835@gmail.com>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020 Stefan <stefan-guix@vodafonemail.de>
|
||||
;;;
|
||||
@@ -359,14 +359,11 @@ code."
|
||||
(locale #f)
|
||||
(system (%current-system))
|
||||
(old-entries '())
|
||||
(store-crypto-devices '())
|
||||
store-directory-prefix)
|
||||
"Return the GRUB configuration file corresponding to CONFIG, a
|
||||
<bootloader-configuration> object, and where the store is available at
|
||||
STORE-FS, a <file-system> object. OLD-ENTRIES is taken to be a list of menu
|
||||
entries corresponding to old generations of the system.
|
||||
STORE-CRYPTO-DEVICES contain the UUIDs of the encrypted units that must
|
||||
be unlocked to access the store contents.
|
||||
STORE-DIRECTORY-PREFIX may be used to specify a store prefix, as is required
|
||||
when booting a root file system on a Btrfs subvolume."
|
||||
(define all-entries
|
||||
@@ -414,21 +411,6 @@ menuentry ~s {
|
||||
(string-join (map string-join '#$modules)
|
||||
"\n module " 'prefix))))))
|
||||
|
||||
(define (crypto-devices)
|
||||
(define (crypto-device->cryptomount dev)
|
||||
(if (uuid? dev)
|
||||
#~(format port "cryptomount -u ~a~%"
|
||||
;; cryptomount only accepts UUID without the hypen.
|
||||
#$(string-delete #\- (uuid->string dev)))
|
||||
;; Other type of devices aren't implemented.
|
||||
#~()))
|
||||
(let ((devices (map crypto-device->cryptomount store-crypto-devices))
|
||||
;; XXX: Add luks2 when grub 2.06 is packaged.
|
||||
(modules #~(format port "insmod luks~%")))
|
||||
(if (null? devices)
|
||||
devices
|
||||
(cons modules devices))))
|
||||
|
||||
(define (sugar)
|
||||
(let* ((entry (first all-entries))
|
||||
(device (menu-entry-device entry))
|
||||
@@ -492,7 +474,6 @@ keymap ~a~%" #$keymap))))
|
||||
"# This file was generated from your Guix configuration. Any changes
|
||||
# will be lost upon reconfiguration.
|
||||
")
|
||||
#$@(crypto-devices)
|
||||
#$(sugar)
|
||||
#$locale-config
|
||||
#$keyboard-layout-config
|
||||
@@ -592,24 +573,21 @@ fi~%"))))
|
||||
|
||||
(define install-grub-efi
|
||||
#~(lambda (bootloader efi-dir mount-point)
|
||||
;; There is nothing useful to do when called in the context of a disk
|
||||
;; image generation.
|
||||
(when efi-dir
|
||||
;; Install GRUB onto the EFI partition mounted at EFI-DIR, for the
|
||||
;; system whose root is mounted at MOUNT-POINT.
|
||||
(let ((grub-install (string-append bootloader "/sbin/grub-install"))
|
||||
(install-dir (string-append mount-point "/boot"))
|
||||
;; When installing Guix, it's common to mount EFI-DIR below
|
||||
;; MOUNT-POINT rather than /boot/efi on the live image.
|
||||
(target-esp (if (file-exists? (string-append mount-point efi-dir))
|
||||
(string-append mount-point efi-dir)
|
||||
efi-dir)))
|
||||
;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or
|
||||
;; root partition.
|
||||
(setenv "GRUB_ENABLE_CRYPTODISK" "y")
|
||||
(invoke/quiet grub-install "--boot-directory" install-dir
|
||||
"--bootloader-id=Guix"
|
||||
"--efi-directory" target-esp)))))
|
||||
;; Install GRUB onto the EFI partition mounted at EFI-DIR, for the
|
||||
;; system whose root is mounted at MOUNT-POINT.
|
||||
(let ((grub-install (string-append bootloader "/sbin/grub-install"))
|
||||
(install-dir (string-append mount-point "/boot"))
|
||||
;; When installing Guix, it's common to mount EFI-DIR below
|
||||
;; MOUNT-POINT rather than /boot/efi on the live image.
|
||||
(target-esp (if (file-exists? (string-append mount-point efi-dir))
|
||||
(string-append mount-point efi-dir)
|
||||
efi-dir)))
|
||||
;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or
|
||||
;; root partition.
|
||||
(setenv "GRUB_ENABLE_CRYPTODISK" "y")
|
||||
(invoke/quiet grub-install "--boot-directory" install-dir
|
||||
"--bootloader-id=Guix"
|
||||
"--efi-directory" target-esp))))
|
||||
|
||||
(define (install-grub-efi-netboot subdir)
|
||||
"Define a grub-efi-netboot bootloader installer for installation in SUBDIR,
|
||||
|
||||
@@ -1,192 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu build chromium-extension)
|
||||
#:use-module (gcrypt base16)
|
||||
#:use-module ((gcrypt hash) #:prefix hash:)
|
||||
#:use-module (ice-9 iconv)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages chromium)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:export (make-chromium-extension))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; Tools to deal with Chromium extensions.
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define (make-signing-key seed)
|
||||
"Return a derivation for a deterministic PKCS #8 private key using SEED."
|
||||
|
||||
(define sha256sum
|
||||
(bytevector->base16-string (hash:sha256 (string->bytevector seed "UTF-8"))))
|
||||
|
||||
;; certtool.c wants a 56 byte seed for a 2048 bit key.
|
||||
(define size 2048)
|
||||
(define normalized-seed (string-take sha256sum 56))
|
||||
|
||||
(computed-file (string-append seed "-signing-key.pem")
|
||||
#~(system* #$(file-append gnutls "/bin/certtool")
|
||||
"--generate-privkey"
|
||||
"--key-type=rsa"
|
||||
"--pkcs8"
|
||||
;; Use the provable FIPS-PUB186-4 algorithm for
|
||||
;; deterministic results.
|
||||
"--provable"
|
||||
"--password="
|
||||
"--no-text"
|
||||
(string-append "--bits=" #$(number->string size))
|
||||
(string-append "--seed=" #$normalized-seed)
|
||||
"--outfile" #$output)
|
||||
#:local-build? #t))
|
||||
|
||||
(define* (make-crx signing-key package #:optional (package-output "out"))
|
||||
"Create a signed \".crx\" file from the unpacked Chromium extension residing
|
||||
in PACKAGE-OUTPUT of PACKAGE. The extension will be signed with SIGNING-KEY."
|
||||
(define name (package-name package))
|
||||
(define version (package-version package))
|
||||
|
||||
(with-imported-modules '((guix build utils))
|
||||
(computed-file
|
||||
(string-append name "-" version ".crx")
|
||||
#~(begin
|
||||
;; This is not great. We pull Xorg and Chromium just to Zip and
|
||||
;; sign an extension. This should be implemented with something
|
||||
;; lighter. (TODO: where is the CRXv3 documentation..?)
|
||||
(use-modules (guix build utils))
|
||||
(let ((chromium #$(file-append ungoogled-chromium "/bin/chromium"))
|
||||
(xvfb #$(file-append xorg-server "/bin/Xvfb"))
|
||||
(packdir "/tmp/extension"))
|
||||
(mkdir-p (dirname packdir))
|
||||
(copy-recursively (ungexp package package-output) packdir)
|
||||
(system (string-append xvfb " :1 &"))
|
||||
(setenv "DISPLAY" ":1")
|
||||
(sleep 2) ;give Xorg some time to initialize...
|
||||
;; Chromium stores the current time in the .crx Zip archive.
|
||||
;; Use a fixed timestamp for deterministic behavior.
|
||||
;; FIXME (core-updates): faketime is missing an absolute reference
|
||||
;; to 'date', hence the need to set PATH.
|
||||
(setenv "PATH" #$(file-append coreutils "/bin"))
|
||||
(invoke #$(file-append libfaketime "/bin/faketime")
|
||||
"2000-01-01 00:00:00"
|
||||
chromium
|
||||
"--user-data-dir=/tmp/signing-profile"
|
||||
(string-append "--pack-extension=" packdir)
|
||||
(string-append "--pack-extension-key=" #$signing-key))
|
||||
(copy-file (string-append packdir ".crx") #$output)))
|
||||
#:local-build? #t)))
|
||||
|
||||
(define* (crx->chromium-json crx version)
|
||||
"Return a derivation that creates a Chromium JSON settings file for the
|
||||
extension given as CRX. VERSION is used to signify the CRX version, and
|
||||
must match the version listed in the extension manifest.json."
|
||||
;; See chrome/browser/extensions/external_provider_impl.cc and
|
||||
;; extensions/common/extension.h for documentation on the JSON format.
|
||||
(computed-file "extension.json"
|
||||
#~(call-with-output-file #$output
|
||||
(lambda (port)
|
||||
(format port "{
|
||||
\"external_crx\": \"~a\",
|
||||
\"external_version\": \"~a\"
|
||||
}
|
||||
"
|
||||
#$crx #$version)))
|
||||
#:local-build? #t))
|
||||
|
||||
|
||||
(define (signing-key->public-der key)
|
||||
"Return a derivation for a file containing the public key of KEY in DER
|
||||
format."
|
||||
(computed-file "der"
|
||||
#~(system* #$(file-append gnutls "/bin/certtool")
|
||||
"--load-privkey" #$key
|
||||
"--pubkey-info"
|
||||
"--outfile" #$output
|
||||
"--outder")
|
||||
#:local-build? #t))
|
||||
|
||||
(define (chromium-json->profile-object json signing-key)
|
||||
"Return a derivation that installs JSON to the directory searched by
|
||||
Chromium, using a file name (aka extension ID) derived from SIGNING-KEY."
|
||||
(define der (signing-key->public-der signing-key))
|
||||
|
||||
(with-extensions (list guile-gcrypt)
|
||||
(with-imported-modules '((guix build utils))
|
||||
(computed-file
|
||||
"chromium-extension"
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
(gcrypt base16)
|
||||
(gcrypt hash))
|
||||
(define (base16-string->chromium-base16 str)
|
||||
;; Translate STR, a hexadecimal string, to a Chromium-style
|
||||
;; representation using the letters a-p (where a=0, p=15).
|
||||
(define s1 "0123456789abcdef")
|
||||
(define s2 "abcdefghijklmnop")
|
||||
(let loop ((chars (string->list str))
|
||||
(converted '()))
|
||||
(if (null? chars)
|
||||
(list->string (reverse converted))
|
||||
(loop (cdr chars)
|
||||
(cons (string-ref s2 (string-index s1 (car chars)))
|
||||
converted)))))
|
||||
|
||||
(let* ((checksum (bytevector->base16-string (file-sha256 #$der)))
|
||||
(file-name (base16-string->chromium-base16
|
||||
(string-take checksum 32)))
|
||||
(extension-directory (string-append #$output
|
||||
"/share/chromium/extensions")))
|
||||
(mkdir-p extension-directory)
|
||||
(symlink #$json (string-append extension-directory "/"
|
||||
file-name ".json"))))
|
||||
#:local-build? #t))))
|
||||
|
||||
(define* (make-chromium-extension p #:optional (output "out"))
|
||||
"Create a Chromium extension from package P and return a package that,
|
||||
when installed, will make the extension contained in P available as a
|
||||
Chromium browser extension. OUTPUT specifies which output of P to use."
|
||||
(let* ((pname (package-name p))
|
||||
(version (package-version p))
|
||||
(signing-key (make-signing-key pname)))
|
||||
(package
|
||||
(inherit p)
|
||||
(name (string-append pname "-chromium"))
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(native-inputs '())
|
||||
(inputs
|
||||
`(("extension" ,(chromium-json->profile-object
|
||||
(crx->chromium-json (make-crx signing-key p output)
|
||||
version)
|
||||
signing-key))))
|
||||
(propagated-inputs '())
|
||||
(outputs '("out"))
|
||||
(arguments
|
||||
'(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(copy-recursively (assoc-ref %build-inputs "extension")
|
||||
(assoc-ref %outputs "out"))))))))
|
||||
@@ -3,7 +3,7 @@
|
||||
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 David C. Trudgian <dave@trudgian.net>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
@@ -218,60 +218,6 @@ if DEVICE does not contain an linux-swap file system."
|
||||
"Return the label of Linux-swap superblock SBLOCK as a string."
|
||||
(null-terminated-latin1->string
|
||||
(sub-bytevector sblock (+ 1024 4 4 4 16) 16)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Bcachefs file systems.
|
||||
;;;
|
||||
|
||||
;; <https://evilpiepirate.org/git/bcachefs-tools.git/tree/libbcachefs/bcachefs_format.h>
|
||||
|
||||
(define-syntax %bcachefs-endianness
|
||||
;; Endianness of bcachefs file systems.
|
||||
(identifier-syntax (endianness little)))
|
||||
|
||||
(define (bcachefs-superblock? sblock)
|
||||
"Return #t when SBLOCK is an bcachefs superblock."
|
||||
(bytevector=? (sub-bytevector sblock 24 16)
|
||||
#vu8(#xc6 #x85 #x73 #xf6 #x4e #x1a #x45 #xca
|
||||
#x82 #x65 #xf5 #x7f #x48 #xba #x6d #x81)))
|
||||
|
||||
(define (read-bcachefs-superblock device)
|
||||
"Return the raw contents of DEVICE's bcachefs superblock as a bytevector, or #f
|
||||
if DEVICE does not contain a bcachefs file system."
|
||||
;; We completely ignore the back-up superblock & any checksum errors.
|
||||
;; Superblock field names, with offset & length respectively, in bytes:
|
||||
;; 0 16 bch_csum
|
||||
;; 16 8 version
|
||||
;; 24 16 magic
|
||||
;; 40 16 uuid ← ‘internal UUID’, you probably don't want this
|
||||
;; 56 16 user_uuid ← ‘external UUID’, the one by which to mount
|
||||
;; 72 32 label
|
||||
;; … there are more & the superblock is extensible, but we don't care yet.
|
||||
(read-superblock device 4096 104 bcachefs-superblock?))
|
||||
|
||||
(define (bcachefs-superblock-external-uuid sblock)
|
||||
"Return the external UUID of bcachefs superblock SBLOCK as a 16-byte
|
||||
bytevector."
|
||||
(sub-bytevector sblock 56 16))
|
||||
|
||||
(define (bcachefs-superblock-volume-name sblock)
|
||||
"Return the volume name of SBLOCK as a string of at most 32 characters, or
|
||||
#f if SBLOCK has no volume name."
|
||||
(null-terminated-latin1->string (sub-bytevector sblock 72 32)))
|
||||
|
||||
(define (check-bcachefs-file-system device)
|
||||
"Return the health of a bcachefs file system on DEVICE."
|
||||
(let ((ignored-bits (logior 2)) ; DEVICE was mounted read-only
|
||||
(status
|
||||
(status:exit-val
|
||||
(apply system* "bcachefs" "fsck" "-p" "-v"
|
||||
;; Make each multi-device member a separate argument.
|
||||
(string-split device #\:)))))
|
||||
(match (logand (lognot ignored-bits) status)
|
||||
(0 'pass)
|
||||
(1 'errors-corrected)
|
||||
(_ 'fatal-error))))
|
||||
|
||||
|
||||
;;;
|
||||
@@ -692,8 +638,6 @@ partition field reader that returned a value."
|
||||
ext2-superblock-volume-name)
|
||||
(partition-field-reader read-linux-swap-superblock
|
||||
linux-swap-superblock-volume-name)
|
||||
(partition-field-reader read-bcachefs-superblock
|
||||
bcachefs-superblock-volume-name)
|
||||
(partition-field-reader read-btrfs-superblock
|
||||
btrfs-superblock-volume-name)
|
||||
(partition-field-reader read-fat32-superblock
|
||||
@@ -712,8 +656,6 @@ partition field reader that returned a value."
|
||||
ext2-superblock-uuid)
|
||||
(partition-field-reader read-linux-swap-superblock
|
||||
linux-swap-superblock-uuid)
|
||||
(partition-field-reader read-bcachefs-superblock
|
||||
bcachefs-superblock-external-uuid)
|
||||
(partition-field-reader read-btrfs-superblock
|
||||
btrfs-superblock-uuid)
|
||||
(partition-field-reader read-fat32-superblock
|
||||
@@ -821,7 +763,6 @@ containing ':/')."
|
||||
(define check-procedure
|
||||
(cond
|
||||
((string-prefix? "ext" type) check-ext2-file-system)
|
||||
((string-prefix? "bcachefs" type) check-bcachefs-file-system)
|
||||
((string-prefix? "btrfs" type) check-btrfs-file-system)
|
||||
((string-suffix? "fat" type) check-fat-file-system)
|
||||
((string-prefix? "jfs" type) check-jfs-file-system)
|
||||
|
||||
+12
-4
@@ -140,17 +140,23 @@ given CONFIG file."
|
||||
|
||||
(define* (register-closure prefix closure
|
||||
#:key
|
||||
(deduplicate? #t) (reset-timestamps? #t)
|
||||
(schema (sql-schema))
|
||||
(wal-mode? #t))
|
||||
"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. Pass WAL-MODE? to call-with-database."
|
||||
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. Pass WAL-MODE?
|
||||
to call-with-database."
|
||||
(let ((items (call-with-input-file closure read-reference-graph)))
|
||||
(parameterize ((sql-schema schema))
|
||||
(with-database (store-database-file #:prefix prefix) db
|
||||
#:wal-mode? wal-mode?
|
||||
(register-items db items
|
||||
#:prefix prefix
|
||||
#:deduplicate? deduplicate?
|
||||
#:reset-timestamps? reset-timestamps?
|
||||
#:registration-time %epoch)))))
|
||||
|
||||
(define* (initialize-efi-partition root
|
||||
@@ -182,8 +188,7 @@ rest of the store when registering the closures. SYSTEM-DIRECTORY is the name
|
||||
of the directory of the 'system' derivation. Pass WAL-MODE? to
|
||||
register-closure."
|
||||
(populate-root-file-system system-directory root)
|
||||
(populate-store references-graphs root
|
||||
#:deduplicate? deduplicate?)
|
||||
(populate-store references-graphs root)
|
||||
|
||||
;; Populate /dev.
|
||||
(when make-device-nodes
|
||||
@@ -191,7 +196,10 @@ register-closure."
|
||||
|
||||
(when register-closures?
|
||||
(for-each (lambda (closure)
|
||||
(register-closure root closure
|
||||
(register-closure root
|
||||
closure
|
||||
#:reset-timestamps? #t
|
||||
#:deduplicate? deduplicate?
|
||||
#:wal-mode? wal-mode?))
|
||||
references-graphs))
|
||||
|
||||
|
||||
@@ -214,8 +214,7 @@ This is used to create the self-contained tarballs with 'guix pack'."
|
||||
(symlink old (scope new)))
|
||||
|
||||
;; Populate the store.
|
||||
(populate-store (list closure) directory
|
||||
#:deduplicate? #f)
|
||||
(populate-store (list closure) directory)
|
||||
|
||||
(when database
|
||||
(install-database-and-gc-roots directory database profile
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;;
|
||||
@@ -111,58 +110,6 @@ OPTION doesn't appear in ARGUMENTS."
|
||||
(substring arg (+ 1 (string-index arg #\=)))))
|
||||
arguments)))
|
||||
|
||||
(define (resume-if-hibernated device)
|
||||
"Resume from hibernation if possible. This is safe ONLY if no on-disk file
|
||||
systems have been mounted; calling it later risks severe file system corruption!
|
||||
See <Documentation/swsusp.txt> in the kernel source directory. This is the
|
||||
caller's responsibility, as is catching exceptions if resumption was supposed to
|
||||
happen but didn't.
|
||||
|
||||
Resume only from DEVICE if it's a string. If it's #f, use the kernel's default
|
||||
hibernation device (CONFIG_PM_STD_PARTITION). Never return if resumption
|
||||
succeeds. Return nothing otherwise. The kernel logs any details to dmesg."
|
||||
|
||||
(define (string->major:minor string)
|
||||
"Return a string with MAJOR:MINOR numbers of the device specified by STRING"
|
||||
|
||||
;; The "resume=" kernel command-line option always provides a string, which
|
||||
;; can represent a device, a UUID, or a label. Check for all three.
|
||||
(let* ((spec (cond ((string-prefix? "/" string) string)
|
||||
((uuid string) => identity)
|
||||
(else (file-system-label string))))
|
||||
;; XXX The kernel's swsusp_resume_can_resume() waits if ‘resumewait’
|
||||
;; is found on the command line; our canonicalize-device-spec gives
|
||||
;; up after 20 seconds. We could emulate the former by looping…
|
||||
(device (canonicalize-device-spec spec))
|
||||
(rdev (stat:rdev (stat device)))
|
||||
;; For backwards compatibility, device numbering is a baroque affair.
|
||||
;; This is the full 64-bit scheme used by glibc's <sys/sysmacros.h>.
|
||||
(major (logior (ash (logand #x00000000000fff00 rdev) -8)
|
||||
(ash (logand #xfffff00000000000 rdev) -32)))
|
||||
(minor (logior (logand #x00000000000000ff rdev)
|
||||
(ash (logand #x00000ffffff00000 rdev) -12))))
|
||||
(format #f "~a:~a" major minor)))
|
||||
|
||||
;; Write the resume DEVICE to this magic file, using the MAJOR:MINOR device
|
||||
;; numbers if possible. The kernel will immediately try to resume from it.
|
||||
(let ((resume "/sys/power/resume"))
|
||||
(when (file-exists? resume) ; this kernel supports hibernation
|
||||
;; Honour the kernel's default device (only) if none other was given.
|
||||
(let ((major:minor (if device
|
||||
(or (false-if-exception (string->major:minor
|
||||
device))
|
||||
;; We can't parse it. Maybe the kernel can.
|
||||
device)
|
||||
(let ((default (call-with-input-file resume
|
||||
read-line)))
|
||||
;; Don't waste time echoing 0:0 to /sys.
|
||||
(if (string=? "0:0" default)
|
||||
#f
|
||||
default)))))
|
||||
(when major:minor
|
||||
(call-with-output-file resume ; may throw an ‘Invalid argument’
|
||||
(cut display major:minor <>))))))) ; may never return
|
||||
|
||||
(define* (make-disk-device-nodes base major #:optional (minor 0))
|
||||
"Make the block device nodes around BASE (something like \"/root/dev/sda\")
|
||||
with the given MAJOR number, starting with MINOR."
|
||||
@@ -560,15 +507,6 @@ upon error."
|
||||
(load-linux-modules-from-directory linux-modules
|
||||
linux-module-directory)
|
||||
|
||||
(unless (or (member "hibernate=noresume" args)
|
||||
;; Also handle the equivalent old-style argument.
|
||||
;; See Documentation/admin-guide/kernel-parameters.txt.
|
||||
(member "noresume" args))
|
||||
;; Try to resume immediately after loading (storage) modules
|
||||
;; but before any on-disk file systems have been mounted.
|
||||
(false-if-exception ; failure is not fatal
|
||||
(resume-if-hibernated (find-long-option "resume" args))))
|
||||
|
||||
(when keymap-file
|
||||
(let ((status (system* "loadkeys" keymap-file)))
|
||||
(unless (zero? status)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2018, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -39,9 +39,8 @@
|
||||
#:key
|
||||
(compress? #t)
|
||||
(gzip "gzip"))
|
||||
"Write a cpio archive containing DIRECTORY to file OUTPUT, with reset
|
||||
timestamps in the archive. When COMPRESS? is true, compress it using GZIP.
|
||||
On success, return OUTPUT."
|
||||
"Write a cpio archive containing DIRECTORY to file OUTPUT. When
|
||||
COMPRESS? is true, compress it using GZIP. On success, return OUTPUT."
|
||||
|
||||
;; Note: as per `ramfs-rootfs-initramfs.txt', always add directory entries
|
||||
;; before the files that are inside of it: "The Linux kernel cpio
|
||||
@@ -127,8 +126,7 @@ REFERENCES-GRAPHS."
|
||||
(mkdir "contents")
|
||||
|
||||
;; Copy the closures of all the items referenced in REFERENCES-GRAPHS.
|
||||
(populate-store references-graphs "contents"
|
||||
#:deduplicate? #f)
|
||||
(populate-store references-graphs "contents")
|
||||
|
||||
(with-directory-excursion "contents"
|
||||
;; Make '/init'.
|
||||
@@ -143,6 +141,12 @@ REFERENCES-GRAPHS."
|
||||
(symlink (string-append guile "/bin/guile") "proc/self/exe")
|
||||
(readlink "proc/self/exe")
|
||||
|
||||
;; Reset the timestamps of all the files that will make it in the initrd.
|
||||
(for-each (lambda (file)
|
||||
(unless (eq? 'symlink (stat:type (lstat file)))
|
||||
(utime file 0 0 0 0)))
|
||||
(find-files "." ".*"))
|
||||
|
||||
(write-cpio-archive output "." #:gzip gzip))
|
||||
|
||||
;; Make sure directories are writable so we can delete files.
|
||||
|
||||
+10
-4
@@ -215,15 +215,20 @@ the #:references-graphs parameter of 'derivation'."
|
||||
|
||||
(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."
|
||||
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)))
|
||||
(parameterize ((sql-schema schema))
|
||||
(with-database (store-database-file #:prefix prefix) db
|
||||
(register-items db items
|
||||
#:prefix prefix
|
||||
#:deduplicate? deduplicate?
|
||||
#:reset-timestamps? reset-timestamps?
|
||||
#:registration-time %epoch)))))
|
||||
|
||||
|
||||
@@ -392,8 +397,7 @@ system that is passed to 'populate-root-file-system'."
|
||||
(when copy-closures?
|
||||
;; Populate the store.
|
||||
(populate-store (map (cut string-append "/xchg/" <>) closures)
|
||||
target
|
||||
#:deduplicate? deduplicate?))
|
||||
target))
|
||||
|
||||
;; Populate /dev.
|
||||
(make-device-nodes target)
|
||||
@@ -409,7 +413,9 @@ system that is passed to 'populate-root-file-system'."
|
||||
(display "registering closures...\n")
|
||||
(for-each (lambda (closure)
|
||||
(register-closure target
|
||||
(string-append "/xchg/" closure)))
|
||||
(string-append "/xchg/" closure)
|
||||
#:reset-timestamps? copy-closures?
|
||||
#:deduplicate? deduplicate?))
|
||||
closures)
|
||||
(unless copy-closures?
|
||||
(umount target-store)))
|
||||
|
||||
+304
-271
@@ -3,7 +3,7 @@
|
||||
;;; Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2020 Mathieu Othacehe <othacehe@gnu.org>
|
||||
;;; Copyright © 2020, 2021 Mathieu Othacehe <othacehe@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -21,7 +21,9 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu ci)
|
||||
#:use-module (guix channels)
|
||||
#:use-module (guix config)
|
||||
#:use-module (guix describe)
|
||||
#:use-module (guix store)
|
||||
#:use-module (guix grafts)
|
||||
#:use-module (guix profiles)
|
||||
@@ -35,7 +37,8 @@
|
||||
#:use-module (guix ui)
|
||||
#:use-module ((guix licenses)
|
||||
#:select (gpl3+ license? license-name))
|
||||
#:use-module ((guix utils) #:select (%current-system))
|
||||
#:use-module ((guix utils) #:select (%current-system
|
||||
location-file))
|
||||
#:use-module ((guix scripts system) #:select (read-operating-system))
|
||||
#:use-module ((guix scripts pack)
|
||||
#:select (lookup-compressor self-contained-tarball))
|
||||
@@ -57,74 +60,128 @@
|
||||
#:use-module (gnu system vm)
|
||||
#:use-module (gnu system install)
|
||||
#:use-module (gnu system images hurd)
|
||||
#:use-module (gnu system images novena)
|
||||
#:use-module (gnu system images pine64)
|
||||
#:use-module (gnu system images pinebook-pro)
|
||||
#:use-module (gnu tests)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (%cross-targets
|
||||
#:export (derivation->job
|
||||
image->job
|
||||
|
||||
%core-packages
|
||||
%cross-targets
|
||||
channel-source->package
|
||||
hydra-jobs))
|
||||
|
||||
arguments->systems
|
||||
cuirass-jobs))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; This file defines build jobs for the Hydra and Cuirass continuation
|
||||
;;; integration tools.
|
||||
;;; This file defines build jobs for Cuirass.
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define* (package->alist store package system
|
||||
#:optional (package-derivation package-derivation))
|
||||
"Convert PACKAGE to an alist suitable for Hydra."
|
||||
(parameterize ((%graft? #f))
|
||||
(let ((drv (package-derivation store package system
|
||||
#:graft? #f)))
|
||||
`((derivation . ,(derivation-file-name drv))
|
||||
(log . ,(log-file store (derivation-file-name drv)))
|
||||
(outputs . ,(filter-map (lambda (res)
|
||||
(match res
|
||||
((name . path)
|
||||
`(,name . ,path))))
|
||||
(derivation->output-paths drv)))
|
||||
(nix-name . ,(derivation-name drv))
|
||||
(system . ,(derivation-system drv))
|
||||
(description . ,(package-synopsis package))
|
||||
(long-description . ,(package-description package))
|
||||
;; Backport from (guix channels) module.
|
||||
(define* (sexp->channel sexp #:optional (name 'channel))
|
||||
"Read SEXP, a provenance sexp as created by 'channel-instance->sexp'; use
|
||||
NAME as the channel name if SEXP does not specify it. Return #f if the sexp
|
||||
does not have the expected structure."
|
||||
(match sexp
|
||||
(('repository ('version 0)
|
||||
('url url)
|
||||
('branch branch)
|
||||
('commit commit)
|
||||
rest ...)
|
||||
;; Historically channel sexps did not include the channel name. It's OK
|
||||
;; for channels created by 'channel-instances->manifest' because the
|
||||
;; entry name is the channel name, but it was missing for entries created
|
||||
;; by 'manifest-entry-with-provenance'.
|
||||
(channel (name (match (assq 'name rest)
|
||||
(#f name)
|
||||
(('name name) name)))
|
||||
(url url)
|
||||
(branch branch)
|
||||
(commit commit)
|
||||
(introduction
|
||||
(match (assq 'introduction rest)
|
||||
(#f #f)
|
||||
(('introduction intro)
|
||||
(sexp->channel-introduction intro))))))
|
||||
|
||||
;; XXX: Hydra ignores licenses that are not a <license> structure or a
|
||||
;; list thereof.
|
||||
(license . ,(let loop ((license (package-license package)))
|
||||
(match license
|
||||
((? license?)
|
||||
(license-name license))
|
||||
((lst ...)
|
||||
(map loop license)))))
|
||||
(_ #f)))
|
||||
|
||||
(home-page . ,(package-home-page package))
|
||||
(maintainers . ("bug-guix@gnu.org"))
|
||||
(max-silent-time . ,(or (assoc-ref (package-properties package)
|
||||
'max-silent-time)
|
||||
3600)) ;1 hour by default
|
||||
(timeout . ,(or (assoc-ref (package-properties package) 'timeout)
|
||||
72000)))))) ;20 hours by default
|
||||
;; Backport from (guix describe) module.
|
||||
(define (package-channels package)
|
||||
"Return the list of channels providing PACKAGE or an empty list if it could
|
||||
not be determined."
|
||||
(match (and=> (package-location package) location-file)
|
||||
(#f '())
|
||||
(file
|
||||
(let ((file (if (string-prefix? "/" file)
|
||||
file
|
||||
(search-path %load-path file))))
|
||||
(if (and file
|
||||
(string-prefix? (%store-prefix) file))
|
||||
(filter-map
|
||||
(lambda (entry)
|
||||
(let ((item (manifest-entry-item entry)))
|
||||
(and (or (string-prefix? item file)
|
||||
(string=? "guix" (manifest-entry-name entry)))
|
||||
(manifest-entry-channel entry))))
|
||||
(current-profile-entries))
|
||||
'())))))
|
||||
|
||||
(define (package-job store job-name package system)
|
||||
(define* (derivation->job name drv
|
||||
#:key
|
||||
(max-silent-time 3600)
|
||||
(timeout 3600))
|
||||
"Return a Cuirass job called NAME and describing DRV.
|
||||
|
||||
MAX-SILENT-TIME and TIMEOUT are build options passed to the daemon when
|
||||
building the derivation."
|
||||
`((#:job-name . ,name)
|
||||
(#:derivation . ,(derivation-file-name drv))
|
||||
(#:inputs . ,(map (compose derivation-file-name
|
||||
derivation-input-derivation)
|
||||
(derivation-inputs drv)))
|
||||
(#:outputs . ,(filter-map
|
||||
(lambda (res)
|
||||
(match res
|
||||
((name . path)
|
||||
`(,name . ,path))))
|
||||
(derivation->output-paths drv)))
|
||||
(#:nix-name . ,(derivation-name drv))
|
||||
(#:system . ,(derivation-system drv))
|
||||
(#:max-silent-time . ,max-silent-time)
|
||||
(#:timeout . ,timeout)))
|
||||
|
||||
(define* (package-job store job-name package system
|
||||
#:key cross? target)
|
||||
"Return a job called JOB-NAME that builds PACKAGE on SYSTEM."
|
||||
(let ((job-name (symbol-append job-name (string->symbol ".")
|
||||
(string->symbol system))))
|
||||
`(,job-name . ,(cut package->alist store package system))))
|
||||
(let ((job-name (string-append job-name "." system)))
|
||||
(parameterize ((%graft? #f))
|
||||
(let* ((drv (if cross?
|
||||
(package-cross-derivation store package target system
|
||||
#:graft? #f)
|
||||
(package-derivation store package system
|
||||
#:graft? #f)))
|
||||
(max-silent-time (or (assoc-ref (package-properties package)
|
||||
'max-silent-time)
|
||||
3600))
|
||||
(timeout (or (assoc-ref (package-properties package)
|
||||
'timeout)
|
||||
72000)))
|
||||
(derivation->job job-name drv
|
||||
#:max-silent-time max-silent-time
|
||||
#:timeout timeout)))))
|
||||
|
||||
(define (package-cross-job store job-name package target system)
|
||||
"Return a job called TARGET.JOB-NAME that cross-builds PACKAGE for TARGET on
|
||||
SYSTEM."
|
||||
`(,(symbol-append (string->symbol target) (string->symbol ".") job-name
|
||||
(string->symbol ".") (string->symbol system)) .
|
||||
,(cute package->alist store package system
|
||||
(lambda* (store package system #:key graft?)
|
||||
(package-cross-derivation store package target system
|
||||
#:graft? graft?)))))
|
||||
(let ((name (string-append target "." job-name "." system)))
|
||||
(package-job store name package system
|
||||
#:cross? #t
|
||||
#:target target)))
|
||||
|
||||
(define %core-packages
|
||||
;; Note: Don't put the '-final' package variants because (1) that's
|
||||
@@ -152,6 +209,7 @@ SYSTEM."
|
||||
"arm-linux-gnueabihf"
|
||||
"aarch64-linux-gnu"
|
||||
"powerpc-linux-gnu"
|
||||
"powerpc64le-linux-gnu"
|
||||
"riscv64-linux-gnu"
|
||||
"i586-pc-gnu" ;aka. GNU/Hurd
|
||||
"i686-w64-mingw32"
|
||||
@@ -200,6 +258,22 @@ SYSTEM."
|
||||
(remove (either from-32-to-64? same? pointless?)
|
||||
%cross-targets)))
|
||||
|
||||
(define* (guix-jobs store systems #:key source commit)
|
||||
"Return a list of jobs for Guix itself."
|
||||
(define build
|
||||
(primitive-load (string-append source "/build-aux/build-self.scm")))
|
||||
|
||||
(map
|
||||
(lambda (system)
|
||||
(let ((name (string->symbol
|
||||
(string-append "guix." system)))
|
||||
(drv (run-with-store store
|
||||
(build source #:version commit #:system system
|
||||
#:pull-version 1
|
||||
#:guile-version "2.2"))))
|
||||
(derivation->job name drv)))
|
||||
systems))
|
||||
|
||||
;; Architectures that are able to build or cross-build Guix System images.
|
||||
;; This does not mean that other architectures are not supported, only that
|
||||
;; they are often not fast enough to support Guix System images building.
|
||||
@@ -208,73 +282,53 @@ SYSTEM."
|
||||
|
||||
(define %guix-system-images
|
||||
(list hurd-barebones-qcow2-image
|
||||
pine64-barebones-raw-image
|
||||
pinebook-pro-barebones-raw-image
|
||||
novena-barebones-raw-image))
|
||||
pine64-barebones-raw-image))
|
||||
|
||||
(define (hours hours)
|
||||
(* 3600 hours))
|
||||
|
||||
(define* (image->job store image
|
||||
#:key name system)
|
||||
"Return the job for IMAGE on SYSTEM. If NAME is passed, use it as job name,
|
||||
otherwise use the IMAGE name."
|
||||
(let* ((image-name (or name
|
||||
(symbol->string (image-name image))))
|
||||
(name (string-append image-name "." system))
|
||||
(drv (run-with-store store
|
||||
(mbegin %store-monad
|
||||
(set-guile-for-build (default-guile))
|
||||
(lower-object (system-image image))))))
|
||||
(parameterize ((%graft? #f))
|
||||
(derivation->job name drv))))
|
||||
|
||||
(define (image-jobs store system)
|
||||
"Return a list of jobs that build images for SYSTEM. Those jobs are
|
||||
expensive in storage and I/O operations, hence their periodicity is limited by
|
||||
passing the PERIOD argument."
|
||||
(define (->alist drv)
|
||||
`((derivation . ,(derivation-file-name drv))
|
||||
(log . ,(log-file store (derivation-file-name drv)))
|
||||
(outputs . ,(filter-map (lambda (res)
|
||||
(match res
|
||||
((name . path)
|
||||
`(,name . ,path))))
|
||||
(derivation->output-paths drv)))
|
||||
(nix-name . ,(derivation-name drv))
|
||||
(system . ,(derivation-system drv))
|
||||
(description . "Stand-alone image of the GNU system")
|
||||
(long-description . "This is a demo stand-alone image of the GNU
|
||||
system.")
|
||||
(license . ,(license-name gpl3+))
|
||||
(period . ,(hours 48))
|
||||
(max-silent-time . 600)
|
||||
(timeout . 3600)
|
||||
(home-page . ,%guix-home-page-url)
|
||||
(maintainers . ("bug-guix@gnu.org"))))
|
||||
|
||||
(define (->job name drv)
|
||||
(let ((name (symbol-append name (string->symbol ".")
|
||||
(string->symbol system))))
|
||||
`(,name . ,(lambda ()
|
||||
(parameterize ((%graft? #f))
|
||||
(->alist drv))))))
|
||||
|
||||
(define (build-image image)
|
||||
(run-with-store store
|
||||
(mbegin %store-monad
|
||||
(set-guile-for-build (default-guile))
|
||||
(lower-object (system-image image)))))
|
||||
|
||||
"Return a list of jobs that build images for SYSTEM."
|
||||
(define MiB
|
||||
(expt 2 20))
|
||||
|
||||
(if (member system %guix-system-supported-systems)
|
||||
`(,(->job 'usb-image
|
||||
(build-image
|
||||
(image
|
||||
(inherit efi-disk-image)
|
||||
(operating-system installation-os))))
|
||||
,(->job 'iso9660-image
|
||||
(build-image
|
||||
(image
|
||||
(inherit (image-with-label
|
||||
iso9660-image
|
||||
(string-append "GUIX_" system "_"
|
||||
(if (> (string-length %guix-version) 7)
|
||||
(substring %guix-version 0 7)
|
||||
%guix-version))))
|
||||
(operating-system installation-os))))
|
||||
`(,(image->job store
|
||||
(image
|
||||
(inherit efi-disk-image)
|
||||
(operating-system installation-os))
|
||||
#:name "usb-image"
|
||||
#:system system)
|
||||
,(image->job
|
||||
store
|
||||
(image
|
||||
(inherit (image-with-label
|
||||
iso9660-image
|
||||
(string-append "GUIX_" system "_"
|
||||
(if (> (string-length %guix-version) 7)
|
||||
(substring %guix-version 0 7)
|
||||
%guix-version))))
|
||||
(operating-system installation-os))
|
||||
#:name "iso9660-image"
|
||||
#:system system)
|
||||
;; Only cross-compile Guix System images from x86_64-linux for now.
|
||||
,@(if (string=? system "x86_64-linux")
|
||||
(map (lambda (image)
|
||||
(->job (image-name image) (build-image image)))
|
||||
(map (cut image->job store <>
|
||||
#:system system)
|
||||
%guix-system-images)
|
||||
'()))
|
||||
'()))
|
||||
@@ -322,43 +376,17 @@ system.")
|
||||
(define* (system-test-jobs store system
|
||||
#:key source commit)
|
||||
"Return a list of jobs for the system tests."
|
||||
(define (test->thunk test)
|
||||
(lambda ()
|
||||
(define drv
|
||||
(run-with-store store
|
||||
(mbegin %store-monad
|
||||
(set-current-system system)
|
||||
(set-grafting #f)
|
||||
(set-guile-for-build (default-guile))
|
||||
(system-test-value test))))
|
||||
|
||||
;; Those tests are extremely expensive in I/O operations and storage
|
||||
;; size, use the "period" attribute to run them with a period of at
|
||||
;; least 48 hours.
|
||||
`((derivation . ,(derivation-file-name drv))
|
||||
(log . ,(log-file store (derivation-file-name drv)))
|
||||
(outputs . ,(filter-map (lambda (res)
|
||||
(match res
|
||||
((name . path)
|
||||
`(,name . ,path))))
|
||||
(derivation->output-paths drv)))
|
||||
(nix-name . ,(derivation-name drv))
|
||||
(system . ,(derivation-system drv))
|
||||
(description . ,(format #f "Guix '~a' system test"
|
||||
(system-test-name test)))
|
||||
(long-description . ,(system-test-description test))
|
||||
(license . ,(license-name gpl3+))
|
||||
(period . ,(hours 48))
|
||||
(max-silent-time . 600)
|
||||
(timeout . 3600)
|
||||
(home-page . ,%guix-home-page-url)
|
||||
(maintainers . ("bug-guix@gnu.org")))))
|
||||
|
||||
(define (->job test)
|
||||
(let ((name (string->symbol
|
||||
(string-append "test." (system-test-name test)
|
||||
"." system))))
|
||||
(cons name (test->thunk test))))
|
||||
(let ((name (string-append "test." (system-test-name test)
|
||||
"." system))
|
||||
(drv (run-with-store store
|
||||
(mbegin %store-monad
|
||||
(set-current-system system)
|
||||
(set-grafting #f)
|
||||
(set-guile-for-build (default-guile))
|
||||
(system-test-value test)))))
|
||||
|
||||
(derivation->job name drv)))
|
||||
|
||||
(if (member system %guix-system-supported-systems)
|
||||
;; Override the value of 'current-guix' used by system tests. Using a
|
||||
@@ -371,64 +399,45 @@ system.")
|
||||
'()))
|
||||
|
||||
(define (tarball-jobs store system)
|
||||
"Return Hydra jobs to build the self-contained Guix binary tarball."
|
||||
(define (->alist drv)
|
||||
`((derivation . ,(derivation-file-name drv))
|
||||
(log . ,(log-file store (derivation-file-name drv)))
|
||||
(outputs . ,(filter-map (lambda (res)
|
||||
(match res
|
||||
((name . path)
|
||||
`(,name . ,path))))
|
||||
(derivation->output-paths drv)))
|
||||
(nix-name . ,(derivation-name drv))
|
||||
(system . ,(derivation-system drv))
|
||||
(description . "Stand-alone binary Guix tarball")
|
||||
(long-description . "This is a tarball containing binaries of Guix and
|
||||
all its dependencies, and ready to be installed on \"foreign\" distributions.")
|
||||
(license . ,(license-name gpl3+))
|
||||
(home-page . ,%guix-home-page-url)
|
||||
(maintainers . ("bug-guix@gnu.org"))
|
||||
(period . ,(hours 24))))
|
||||
|
||||
"Return jobs to build the self-contained Guix binary tarball."
|
||||
(define (->job name drv)
|
||||
(let ((name (symbol-append name (string->symbol ".")
|
||||
(string->symbol system))))
|
||||
`(,name . ,(lambda ()
|
||||
(parameterize ((%graft? #f))
|
||||
(->alist drv))))))
|
||||
(let ((name (string-append name "." system)))
|
||||
(parameterize ((%graft? #f))
|
||||
(derivation->job name drv))))
|
||||
|
||||
;; XXX: Add a job for the stable Guix?
|
||||
(list (->job 'binary-tarball
|
||||
(run-with-store store
|
||||
(mbegin %store-monad
|
||||
(set-guile-for-build (default-guile))
|
||||
(>>= (profile-derivation (packages->manifest (list guix)))
|
||||
(lambda (profile)
|
||||
(self-contained-tarball "guix-binary" profile
|
||||
#:localstatedir? #t
|
||||
#:compressor
|
||||
(lookup-compressor "xz")))))
|
||||
#:system system))))
|
||||
(list
|
||||
(->job "binary-tarball"
|
||||
(run-with-store store
|
||||
(mbegin %store-monad
|
||||
(set-guile-for-build (default-guile))
|
||||
(>>= (profile-derivation (packages->manifest (list guix)))
|
||||
(lambda (profile)
|
||||
(self-contained-tarball "guix-binary" profile
|
||||
#:profile-name "current-guix"
|
||||
#:localstatedir? #t
|
||||
#:compressor
|
||||
(lookup-compressor "xz")))))
|
||||
#:system system))))
|
||||
|
||||
(define job-name
|
||||
;; Return the name of a package's job.
|
||||
(compose string->symbol
|
||||
(cut package-full-name <> "-")))
|
||||
package-name)
|
||||
|
||||
(define package->job
|
||||
(let ((base-packages
|
||||
(delete-duplicates
|
||||
(append-map (match-lambda
|
||||
((_ package _ ...)
|
||||
(match (package-transitive-inputs package)
|
||||
(((_ inputs _ ...) ...)
|
||||
inputs))))
|
||||
((_ package _ ...)
|
||||
(match (package-transitive-inputs package)
|
||||
(((_ inputs _ ...) ...)
|
||||
inputs))))
|
||||
(%final-inputs)))))
|
||||
(lambda (store package system)
|
||||
"Return a job for PACKAGE on SYSTEM, or #f if this combination is not
|
||||
valid."
|
||||
(cond ((member package base-packages)
|
||||
(package-job store (symbol-append 'base. (job-name package))
|
||||
(package-job store (string-append "base." (job-name package))
|
||||
package system))
|
||||
((supported-package? package system)
|
||||
(let ((drv (package-derivation store package system
|
||||
@@ -462,14 +471,15 @@ valid."
|
||||
packages)))
|
||||
#:select? (const #t))) ;include hidden packages
|
||||
|
||||
(define (arguments->manifests arguments)
|
||||
(define (arguments->manifests arguments channels)
|
||||
"Return the list of manifests extracted from ARGUMENTS."
|
||||
(map (match-lambda
|
||||
((input-name . relative-path)
|
||||
(let* ((checkout (assq-ref arguments (string->symbol input-name)))
|
||||
(base (assq-ref checkout 'file-name)))
|
||||
(in-vicinity base relative-path))))
|
||||
(assq-ref arguments 'manifests)))
|
||||
(map (lambda (manifest)
|
||||
(any (lambda (checkout)
|
||||
(let ((path (in-vicinity checkout manifest)))
|
||||
(and (file-exists? path)
|
||||
path)))
|
||||
(map channel-url channels)))
|
||||
arguments))
|
||||
|
||||
(define (manifests->packages store manifests)
|
||||
"Return the list of packages found in MANIFESTS."
|
||||
@@ -485,100 +495,123 @@ valid."
|
||||
load-manifest)
|
||||
manifests))))
|
||||
|
||||
(define (find-current-checkout arguments)
|
||||
"Find the first checkout of ARGUMENTS that provided the current file.
|
||||
Return #f if no such checkout is found."
|
||||
(let ((current-root
|
||||
(canonicalize-path
|
||||
(string-append (dirname (current-filename)) "/.."))))
|
||||
(find (lambda (argument)
|
||||
(and=> (assq-ref argument 'file-name)
|
||||
(lambda (name)
|
||||
(string=? name current-root)))) arguments)))
|
||||
(define (arguments->systems arguments)
|
||||
"Return the systems list from ARGUMENTS."
|
||||
(match (assoc-ref arguments 'systems)
|
||||
(#f %cuirass-supported-systems)
|
||||
((lst ...) lst)
|
||||
((? string? str) (call-with-input-string str read))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Hydra entry point.
|
||||
;;; Cuirass entry point.
|
||||
;;;
|
||||
|
||||
(define (hydra-jobs store arguments)
|
||||
"Return Hydra jobs."
|
||||
(define (cuirass-jobs store arguments)
|
||||
"Register Cuirass jobs."
|
||||
(define subset
|
||||
(match (assoc-ref arguments 'subset)
|
||||
("core" 'core) ; only build core packages
|
||||
("hello" 'hello) ; only build hello
|
||||
(((? string?) (? string?) ...) 'list) ; only build selected list of packages
|
||||
("manifests" 'manifests) ; only build packages in the list of manifests
|
||||
(_ 'all))) ; build everything
|
||||
(assoc-ref arguments 'subset))
|
||||
|
||||
(define systems
|
||||
(match (assoc-ref arguments 'systems)
|
||||
(#f %hydra-supported-systems)
|
||||
((lst ...) lst)
|
||||
((? string? str) (call-with-input-string str read))))
|
||||
(arguments->systems arguments))
|
||||
|
||||
(define checkout
|
||||
(or (find-current-checkout arguments)
|
||||
(assq-ref arguments 'superior-guix-checkout)))
|
||||
(define channels
|
||||
(let ((channels (assq-ref arguments 'channels)))
|
||||
(map sexp->channel channels)))
|
||||
|
||||
(define guix
|
||||
(find guix-channel? channels))
|
||||
|
||||
(define commit
|
||||
(assq-ref checkout 'revision))
|
||||
(channel-commit guix))
|
||||
|
||||
(define source
|
||||
(assq-ref checkout 'file-name))
|
||||
(channel-url guix))
|
||||
|
||||
;; Turn off grafts. Grafting is meant to happen on the user's machines.
|
||||
(parameterize ((%graft? #f))
|
||||
;; Return one job for each package, except bootstrap packages.
|
||||
(append-map (lambda (system)
|
||||
(format (current-error-port)
|
||||
"evaluating for '~a' (heap size: ~a MiB)...~%"
|
||||
system
|
||||
(round
|
||||
(/ (assoc-ref (gc-stats) 'heap-size)
|
||||
(expt 2. 20))))
|
||||
(invalidate-derivation-caches!)
|
||||
(case subset
|
||||
((all)
|
||||
;; Build everything, including replacements.
|
||||
(let ((all (all-packages))
|
||||
(job (lambda (package)
|
||||
(package->job store package
|
||||
system))))
|
||||
(append (filter-map job all)
|
||||
(image-jobs store system)
|
||||
(system-test-jobs store system
|
||||
#:source source
|
||||
#:commit commit)
|
||||
(tarball-jobs store system)
|
||||
(cross-jobs store system))))
|
||||
((core)
|
||||
;; Build core packages only.
|
||||
(append (map (lambda (package)
|
||||
(package-job store (job-name package)
|
||||
package system))
|
||||
%core-packages)
|
||||
(cross-jobs store system)))
|
||||
((hello)
|
||||
;; Build hello package only.
|
||||
(let ((hello (specification->package "hello")))
|
||||
(list (package-job store (job-name hello) hello system))))
|
||||
((list)
|
||||
;; Build selected list of packages only.
|
||||
(let* ((names (assoc-ref arguments 'subset))
|
||||
(packages (map specification->package names)))
|
||||
(map (lambda (package)
|
||||
(package-job store (job-name package)
|
||||
package system))
|
||||
packages)))
|
||||
((manifests)
|
||||
;; Build packages in the list of manifests.
|
||||
(let* ((manifests (arguments->manifests arguments))
|
||||
(packages (manifests->packages store manifests)))
|
||||
(map (lambda (package)
|
||||
(package-job store (job-name package)
|
||||
package system))
|
||||
packages)))
|
||||
(else
|
||||
(error "unknown subset" subset))))
|
||||
systems)))
|
||||
(append-map
|
||||
(lambda (system)
|
||||
(format (current-error-port)
|
||||
"evaluating for '~a' (heap size: ~a MiB)...~%"
|
||||
system
|
||||
(round
|
||||
(/ (assoc-ref (gc-stats) 'heap-size)
|
||||
(expt 2. 20))))
|
||||
(invalidate-derivation-caches!)
|
||||
(match subset
|
||||
('all
|
||||
;; Build everything, including replacements.
|
||||
(let ((all (all-packages))
|
||||
(job (lambda (package)
|
||||
(package->job store package system))))
|
||||
(append
|
||||
(filter-map job all)
|
||||
(cross-jobs store system))))
|
||||
('core
|
||||
;; Build core packages only.
|
||||
(append
|
||||
(map (lambda (package)
|
||||
(package-job store (job-name package)
|
||||
package system))
|
||||
%core-packages)
|
||||
(cross-jobs store system)))
|
||||
('guix
|
||||
;; Build Guix modules only.
|
||||
(guix-jobs store systems
|
||||
#:source source
|
||||
#:commit commit))
|
||||
('hello
|
||||
;; Build hello package only.
|
||||
(let ((hello (specification->package "hello")))
|
||||
(list (package-job store (job-name hello)
|
||||
hello system))))
|
||||
('images
|
||||
;; Build Guix System images only.
|
||||
(image-jobs store system))
|
||||
('system-tests
|
||||
;; Build Guix System tests only.
|
||||
(system-test-jobs store system
|
||||
#:source source
|
||||
#:commit commit))
|
||||
('tarball
|
||||
;; Build Guix tarball only.
|
||||
(tarball-jobs store system))
|
||||
(('custom . modules)
|
||||
;; Build custom modules jobs only.
|
||||
(append-map
|
||||
(lambda (module)
|
||||
(let ((proc (module-ref
|
||||
(resolve-interface module)
|
||||
'cuirass-jobs)))
|
||||
(proc store arguments)))
|
||||
modules))
|
||||
(('channels . channels)
|
||||
;; Build only the packages from CHANNELS.
|
||||
(let ((all (all-packages)))
|
||||
(filter-map
|
||||
(lambda (package)
|
||||
(any (lambda (channel)
|
||||
(and (member (channel-name channel) channels)
|
||||
(package->job store package system)))
|
||||
(package-channels package)))
|
||||
all)))
|
||||
(('packages . rest)
|
||||
;; Build selected list of packages only.
|
||||
(let ((packages (map specification->package rest)))
|
||||
(map (lambda (package)
|
||||
(package-job store (job-name package)
|
||||
package system))
|
||||
packages)))
|
||||
(('manifests . rest)
|
||||
;; Build packages in the list of manifests.
|
||||
(let* ((manifests (arguments->manifests rest channels))
|
||||
(packages (manifests->packages store manifests)))
|
||||
(map (lambda (package)
|
||||
(package-job store (job-name package)
|
||||
package system))
|
||||
packages)))
|
||||
(else
|
||||
(error "unknown subset" subset))))
|
||||
systems)))
|
||||
|
||||
@@ -266,13 +266,6 @@ selected keymap."
|
||||
(compute (lambda _
|
||||
((installer-network-page current-installer)))))
|
||||
|
||||
;; Ask whether to enable substitute server discovery.
|
||||
(installer-step
|
||||
(id 'substitutes)
|
||||
(description (G_ "Substitute server discovery"))
|
||||
(compute (lambda _
|
||||
((installer-substitutes-page current-installer)))))
|
||||
|
||||
;; Prompt for users (name, group and home directory).
|
||||
(installer-step
|
||||
(id 'user)
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
#:use-module (gnu installer newt page)
|
||||
#:use-module (gnu installer newt partition)
|
||||
#:use-module (gnu installer newt services)
|
||||
#:use-module (gnu installer newt substitutes)
|
||||
#:use-module (gnu installer newt timezone)
|
||||
#:use-module (gnu installer newt user)
|
||||
#:use-module (gnu installer newt utils)
|
||||
@@ -102,9 +101,6 @@ problem. The backtrace is displayed below. Please report it by email to \
|
||||
(define (network-page)
|
||||
(run-network-page))
|
||||
|
||||
(define (substitutes-page)
|
||||
(run-substitutes-page))
|
||||
|
||||
(define (hostname-page)
|
||||
(run-hostname-page))
|
||||
|
||||
@@ -134,7 +130,6 @@ problem. The backtrace is displayed below. Please report it by email to \
|
||||
(locale-page locale-page)
|
||||
(menu-page menu-page)
|
||||
(network-page network-page)
|
||||
(substitutes-page substitutes-page)
|
||||
(timezone-page timezone-page)
|
||||
(hostname-page hostname-page)
|
||||
(user-page user-page)
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
#:use-module (gnu installer proxy)
|
||||
#:use-module (gnu installer steps)
|
||||
#:use-module (gnu installer newt page)
|
||||
#:use-module (guix build syscalls)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (newt)
|
||||
@@ -41,8 +40,7 @@ empty string, proxy usage will be disabled.")
|
||||
(let* ((items
|
||||
(list
|
||||
(cons (G_ "Change keyboard layout") keyboard-layout-selection)
|
||||
(cons (G_ "Configure HTTP proxy") run-proxy-page)
|
||||
(cons (G_ "Reboot") reboot)))
|
||||
(cons (G_ "Configure HTTP proxy") run-proxy-page)))
|
||||
(result
|
||||
(run-listbox-selection-page
|
||||
#:info-text (G_ "Please choose one of the following parameters or \
|
||||
|
||||
@@ -64,7 +64,7 @@ are being formatted."
|
||||
;; of device names of the user partitions that will be formatted.
|
||||
(run-confirmation-page (format #f (G_ "We are about to write the configured \
|
||||
partition table to the disk and format the partitions listed below. Their \
|
||||
data will be lost. Do you wish to continue?~%~%~{ - ~a~%~}")
|
||||
data will be lost. Do you wish to continue?~%~{ - ~a~%~}")
|
||||
(map user-partition-file-name
|
||||
(filter user-partition-need-formatting?
|
||||
partitions)))
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020 Mathieu Othacehe <othacehe@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu installer newt substitutes)
|
||||
#:use-module (gnu installer substitutes)
|
||||
#:use-module (gnu installer utils)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (newt)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (run-substitutes-page))
|
||||
|
||||
(define* (run-substitutes-page)
|
||||
(match (current-clients)
|
||||
(()
|
||||
(case (choice-window
|
||||
(G_ "Substitute server discovery.")
|
||||
(G_ "Enable") (G_ "Disable")
|
||||
(G_ " By turning this option on, you allow Guix to fetch \
|
||||
substitutes (pre-built binaries) during installation from servers \
|
||||
discovered on your local area network (LAN) in addition to the official \
|
||||
server. This can increase download throughput.
|
||||
|
||||
There are no security risks: only genuine substitutes may be retrieved from \
|
||||
those servers. However, eavesdroppers on your LAN may be able to see what \
|
||||
software you are installing."))
|
||||
((1) (enable-discovery))
|
||||
((2) (disable-discovery))))
|
||||
(_ #f)))
|
||||
@@ -17,11 +17,15 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu installer proxy)
|
||||
#:use-module (gnu installer utils)
|
||||
#:use-module (gnu services herd)
|
||||
#:export (set-http-proxy
|
||||
clear-http-proxy))
|
||||
|
||||
(define-syntax-rule (with-silent-shepherd exp ...)
|
||||
(parameterize ((shepherd-message-port
|
||||
(%make-void-port "w")))
|
||||
exp ...))
|
||||
|
||||
(define (set-http-proxy proxy)
|
||||
(with-silent-shepherd
|
||||
(with-shepherd-action 'guix-daemon
|
||||
|
||||
@@ -33,7 +33,6 @@
|
||||
installer-locale-page
|
||||
installer-menu-page
|
||||
installer-network-page
|
||||
installer-substitutes-page
|
||||
installer-timezone-page
|
||||
installer-hostname-page
|
||||
installer-user-page
|
||||
@@ -74,8 +73,6 @@
|
||||
(menu-page installer-menu-page)
|
||||
;; procedure void -> void
|
||||
(network-page installer-network-page)
|
||||
;; procedure void -> void
|
||||
(substitutes-page installer-substitutes-page)
|
||||
;; procedure (zonetab) -> posix-timezone
|
||||
(timezone-page installer-timezone-page)
|
||||
;; procedure void -> void
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu installer substitutes)
|
||||
#:use-module (gnu installer utils)
|
||||
#:use-module (gnu services herd)
|
||||
#:export (enable-discovery
|
||||
disable-discovery))
|
||||
|
||||
(define (enable-discovery)
|
||||
(with-silent-shepherd
|
||||
(with-shepherd-action 'guix-daemon
|
||||
('discover "on")
|
||||
result
|
||||
result)))
|
||||
|
||||
(define (disable-discovery)
|
||||
(with-silent-shepherd
|
||||
(with-shepherd-action 'guix-daemon
|
||||
('discover "off")
|
||||
result
|
||||
result)))
|
||||
|
||||
;; Local Variables:
|
||||
;; eval: (put 'with-silent-shepherd 'scheme-indent-function 0)
|
||||
;; End:
|
||||
+1
-10
@@ -18,7 +18,6 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu installer utils)
|
||||
#:use-module (gnu services herd)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix i18n)
|
||||
@@ -44,9 +43,7 @@
|
||||
with-server-socket
|
||||
current-server-socket
|
||||
current-clients
|
||||
send-to-clients
|
||||
|
||||
with-silent-shepherd))
|
||||
send-to-clients))
|
||||
|
||||
(define* (read-lines #:optional (port (current-input-port)))
|
||||
"Read lines from PORT and return them as a list."
|
||||
@@ -236,9 +233,3 @@ accepting socket."
|
||||
|
||||
(current-clients (reverse remainder))
|
||||
exp)
|
||||
|
||||
(define-syntax-rule (with-silent-shepherd exp ...)
|
||||
"Evaluate EXP while discarding shepherd messages."
|
||||
(parameterize ((shepherd-message-port
|
||||
(%make-void-port "w")))
|
||||
exp ...))
|
||||
|
||||
+31
-47
@@ -38,7 +38,6 @@
|
||||
# Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
|
||||
# Copyright © 2020 Martin Becze <mjbecze@riseup.net>
|
||||
# Copyright © 2020 Malte Frank Gerdes <mate.f.gerdes@gmail.com>
|
||||
# Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -112,7 +111,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/boost.scm \
|
||||
%D%/packages/bootloaders.scm \
|
||||
%D%/packages/bootstrap.scm \
|
||||
%D%/packages/browser-extensions.scm \
|
||||
%D%/packages/build-tools.scm \
|
||||
%D%/packages/busybox.scm \
|
||||
%D%/packages/c.scm \
|
||||
@@ -203,10 +201,8 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/enlightenment.scm \
|
||||
%D%/packages/entr.scm \
|
||||
%D%/packages/erlang.scm \
|
||||
%D%/packages/esolangs.scm \
|
||||
%D%/packages/fabric-management.scm \
|
||||
%D%/packages/fcitx.scm \
|
||||
%D%/packages/fcitx5.scm \
|
||||
%D%/packages/figlet.scm \
|
||||
%D%/packages/file.scm \
|
||||
%D%/packages/file-systems.scm \
|
||||
@@ -277,7 +273,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/heads.scm \
|
||||
%D%/packages/hexedit.scm \
|
||||
%D%/packages/hugs.scm \
|
||||
%D%/packages/hunspell.scm \
|
||||
%D%/packages/hurd.scm \
|
||||
%D%/packages/hyperledger.scm \
|
||||
%D%/packages/i2p.scm \
|
||||
@@ -496,6 +491,7 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/screen.scm \
|
||||
%D%/packages/scribus.scm \
|
||||
%D%/packages/scsi.scm \
|
||||
%D%/packages/sdcc.scm \
|
||||
%D%/packages/sdl.scm \
|
||||
%D%/packages/search.scm \
|
||||
%D%/packages/security-token.scm \
|
||||
@@ -654,16 +650,13 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/system/vm.scm \
|
||||
\
|
||||
%D%/system/images/hurd.scm \
|
||||
%D%/system/images/novena.scm \
|
||||
%D%/system/images/pine64.scm \
|
||||
%D%/system/images/pinebook-pro.scm \
|
||||
\
|
||||
%D%/machine.scm \
|
||||
\
|
||||
%D%/build/accounts.scm \
|
||||
%D%/build/activation.scm \
|
||||
%D%/build/bootloader.scm \
|
||||
%D%/build/chromium-extension.scm \
|
||||
%D%/build/cross-toolchain.scm \
|
||||
%D%/build/image.scm \
|
||||
%D%/build/file-systems.scm \
|
||||
@@ -718,7 +711,6 @@ INSTALLER_MODULES = \
|
||||
%D%/installer/record.scm \
|
||||
%D%/installer/services.scm \
|
||||
%D%/installer/steps.scm \
|
||||
%D%/installer/substitutes.scm \
|
||||
%D%/installer/tests.scm \
|
||||
%D%/installer/timezone.scm \
|
||||
%D%/installer/user.scm \
|
||||
@@ -735,7 +727,6 @@ INSTALLER_MODULES = \
|
||||
%D%/installer/newt/page.scm \
|
||||
%D%/installer/newt/partition.scm \
|
||||
%D%/installer/newt/services.scm \
|
||||
%D%/installer/newt/substitutes.scm \
|
||||
%D%/installer/newt/timezone.scm \
|
||||
%D%/installer/newt/user.scm \
|
||||
%D%/installer/newt/utils.scm \
|
||||
@@ -792,6 +783,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/akonadi-not-relocatable.patch \
|
||||
%D%/packages/patches/akonadi-timestamps.patch \
|
||||
%D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \
|
||||
%D%/packages/patches/alsa-modular-synth-fix-vocoder.patch \
|
||||
%D%/packages/patches/amule-crypto-6.patch \
|
||||
%D%/packages/patches/anki-mpv-args.patch \
|
||||
%D%/packages/patches/antiword-CVE-2014-8123.patch \
|
||||
@@ -803,7 +795,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ath9k-htc-firmware-gcc.patch \
|
||||
%D%/packages/patches/ath9k-htc-firmware-objcopy.patch \
|
||||
%D%/packages/patches/audacity-build-with-system-portaudio.patch \
|
||||
%D%/packages/patches/audacity-add-include.patch \
|
||||
%D%/packages/patches/audiofile-fix-datatypes-in-tests.patch \
|
||||
%D%/packages/patches/audiofile-fix-sign-conversion.patch \
|
||||
%D%/packages/patches/audiofile-CVE-2015-7747.patch \
|
||||
@@ -824,8 +815,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/avogadro-python-eigen-lib.patch \
|
||||
%D%/packages/patches/avidemux-install-to-lib.patch \
|
||||
%D%/packages/patches/awesome-reproducible-png.patch \
|
||||
%D%/packages/patches/aws-c-event-stream-cmake-prefix.patch \
|
||||
%D%/packages/patches/aws-checksums-cmake-prefix.patch \
|
||||
%D%/packages/patches/azr3.patch \
|
||||
%D%/packages/patches/bash-reproducible-linux-pgrp-pipe.patch \
|
||||
%D%/packages/patches/bash-completion-directories.patch \
|
||||
@@ -833,7 +822,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/bastet-change-source-of-unordered_set.patch \
|
||||
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
|
||||
%D%/packages/patches/bc-fix-cross-compilation.patch \
|
||||
%D%/packages/patches/bear-disable-preinstall-tests.patch \
|
||||
%D%/packages/patches/bsd-games-2.17-64bit.patch \
|
||||
%D%/packages/patches/bsd-games-add-configure-config.patch \
|
||||
%D%/packages/patches/bsd-games-add-wrapper.patch \
|
||||
@@ -856,6 +844,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/binutils-loongson-workaround.patch \
|
||||
%D%/packages/patches/binutils-mingw-w64-timestamp.patch \
|
||||
%D%/packages/patches/binutils-mingw-w64-deterministic.patch \
|
||||
%D%/packages/patches/bitcoin-core-python-compat.patch \
|
||||
%D%/packages/patches/blender-2.79-gcc8.patch \
|
||||
%D%/packages/patches/blender-2.79-gcc9.patch \
|
||||
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
|
||||
@@ -863,6 +852,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/blender-2.79-python-3.7-fix.patch \
|
||||
%D%/packages/patches/blender-2.79-python-3.8-fix.patch \
|
||||
%D%/packages/patches/bpftrace-disable-bfd-disasm.patch \
|
||||
%D%/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch \
|
||||
%D%/packages/patches/byobu-writable-status.patch \
|
||||
%D%/packages/patches/calibre-no-updates-dialog.patch \
|
||||
%D%/packages/patches/calibre-remove-test-sqlite.patch \
|
||||
@@ -874,7 +864,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
|
||||
%D%/packages/patches/ceph-disable-cpu-optimizations.patch \
|
||||
%D%/packages/patches/chmlib-inttypes.patch \
|
||||
%D%/packages/patches/cl-asdf-config-directories.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 \
|
||||
@@ -895,6 +884,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/clementine-fix-sqlite.patch \
|
||||
%D%/packages/patches/clementine-remove-crypto++-dependency.patch \
|
||||
%D%/packages/patches/clementine-use-openssl.patch \
|
||||
%D%/packages/patches/clisp-remove-failing-test.patch \
|
||||
%D%/packages/patches/clucene-pkgconfig.patch \
|
||||
%D%/packages/patches/cmake-curl-certificates.patch \
|
||||
%D%/packages/patches/coda-use-system-libs.patch \
|
||||
@@ -920,6 +910,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/dbus-c++-gcc-compat.patch \
|
||||
%D%/packages/patches/dbus-c++-threading-mutex.patch \
|
||||
%D%/packages/patches/dbxfs-remove-sentry-sdk.patch \
|
||||
%D%/packages/patches/dconf-meson-0.52.patch \
|
||||
%D%/packages/patches/debops-constants-for-external-program-names.patch \
|
||||
%D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \
|
||||
%D%/packages/patches/dee-vapi.patch \
|
||||
@@ -942,7 +933,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ecl-16-format-directive-limit.patch \
|
||||
%D%/packages/patches/ecl-16-ignore-stderr-write-error.patch \
|
||||
%D%/packages/patches/ecl-16-libffi.patch \
|
||||
%D%/packages/patches/eigen-remove-openmp-error-counting.patch \
|
||||
%D%/packages/patches/eigen-stabilise-sparseqr-test.patch \
|
||||
%D%/packages/patches/einstein-build.patch \
|
||||
%D%/packages/patches/elfutils-tests-ptrace.patch \
|
||||
@@ -999,7 +989,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
|
||||
%D%/packages/patches/freeimage-unbundle.patch \
|
||||
%D%/packages/patches/fuse-overlapping-headers.patch \
|
||||
%D%/packages/patches/gajim-honour-GAJIM_PLUGIN_PATH.patch \
|
||||
%D%/packages/patches/ganeti-deterministic-manual.patch \
|
||||
%D%/packages/patches/ganeti-disable-version-symlinks.patch \
|
||||
%D%/packages/patches/ganeti-drbd-compat.patch \
|
||||
@@ -1022,8 +1011,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gcc-4.9-libsanitizer-ustat.patch \
|
||||
%D%/packages/patches/gcc-libsanitizer-ustat.patch \
|
||||
%D%/packages/patches/gcc-4.9-libsanitizer-mode-size.patch \
|
||||
%D%/packages/patches/gcc-6-fix-isl-includes.patch \
|
||||
%D%/packages/patches/gcc-6-fix-buffer-size.patch \
|
||||
%D%/packages/patches/gcc-6-libsanitizer-mode-size.patch \
|
||||
%D%/packages/patches/gcc-7-libsanitizer-mode-size.patch \
|
||||
%D%/packages/patches/gcc-libvtv-runpath.patch \
|
||||
@@ -1046,7 +1033,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gcc-8-strmov-store-file-names.patch \
|
||||
%D%/packages/patches/gcc-9-asan-fix-limits-include.patch \
|
||||
%D%/packages/patches/gcc-9-strmov-store-file-names.patch \
|
||||
%D%/packages/patches/gdb-hurd.patch \
|
||||
%D%/packages/patches/gd-fix-tests-on-i686.patch \
|
||||
%D%/packages/patches/gd-brect-bounds.patch \
|
||||
%D%/packages/patches/gdm-default-session.patch \
|
||||
@@ -1098,7 +1084,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/glibc-supported-locales.patch \
|
||||
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
|
||||
%D%/packages/patches/gmp-faulty-test.patch \
|
||||
%D%/packages/patches/gnash-fix-giflib-version.patch \
|
||||
%D%/packages/patches/gnome-shell-theme.patch \
|
||||
%D%/packages/patches/gnome-shell-disable-test.patch \
|
||||
%D%/packages/patches/gnome-settings-daemon-gc.patch \
|
||||
@@ -1117,6 +1102,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gpsbabel-qstring.patch \
|
||||
%D%/packages/patches/grantlee-merge-theme-dirs.patch \
|
||||
%D%/packages/patches/grep-timing-sensitive-test.patch \
|
||||
%D%/packages/patches/grim-revert-output-rotation.patch \
|
||||
%D%/packages/patches/grocsvs-dont-use-admiral.patch \
|
||||
%D%/packages/patches/gromacs-tinyxml2.patch \
|
||||
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
|
||||
@@ -1165,6 +1151,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/hubbub-sort-entities.patch \
|
||||
%D%/packages/patches/hurd-cross.patch \
|
||||
%D%/packages/patches/hurd-xattr.patch \
|
||||
%D%/packages/patches/hplip-fix-bug-1898438.patch \
|
||||
%D%/packages/patches/hplip-remove-imageprocessor.patch \
|
||||
%D%/packages/patches/hydra-disable-darcs-test.patch \
|
||||
%D%/packages/patches/icecat-makeicecat.patch \
|
||||
@@ -1172,8 +1159,8 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/icecat-use-older-reveal-hidden-html.patch \
|
||||
%D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \
|
||||
%D%/packages/patches/icecat-use-system-media-libs.patch \
|
||||
%D%/packages/patches/icedtea-6-extend-hotspot-aarch64-support.patch \
|
||||
%D%/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch \
|
||||
%D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \
|
||||
%D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \
|
||||
%D%/packages/patches/icu4c-CVE-2020-10531.patch \
|
||||
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
|
||||
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
|
||||
@@ -1189,14 +1176,10 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/json-c-0.13-CVE-2020-12762.patch \
|
||||
%D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \
|
||||
%D%/packages/patches/jacal-fix-texinfo.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-disable-branch-patching.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-opcode-guard.patch \
|
||||
%D%/packages/patches/jamvm-arm.patch \
|
||||
%D%/packages/patches/java-antlr4-Add-standalone-generator.patch \
|
||||
%D%/packages/patches/java-antlr4-fix-code-too-large.java \
|
||||
%D%/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch \
|
||||
%D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \
|
||||
%D%/packages/patches/java-commons-collections-fix-java8.patch \
|
||||
%D%/packages/patches/java-jeromq-fix-tests.patch \
|
||||
@@ -1213,7 +1196,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
|
||||
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
|
||||
%D%/packages/patches/libffi-3.3-powerpc-fixes.patch \
|
||||
%D%/packages/patches/libffi-float128-powerpc64le.patch \
|
||||
%D%/packages/patches/libvirt-create-machine-cgroup.patch \
|
||||
%D%/packages/patches/libziparchive-add-includes.patch \
|
||||
%D%/packages/patches/localed-xorg-keyboard.patch \
|
||||
@@ -1262,8 +1244,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/libbonobo-activation-test-race.patch \
|
||||
%D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
|
||||
%D%/packages/patches/libcanberra-wayland-crash.patch \
|
||||
%D%/packages/patches/libcyaml-libyaml-compat.patch \
|
||||
%D%/packages/patches/libexpected-nofetch.patch \
|
||||
%D%/packages/patches/libdrm-realpath-virtio.patch \
|
||||
%D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \
|
||||
%D%/packages/patches/libgit2-mtime-0.patch \
|
||||
%D%/packages/patches/libgnome-encoding.patch \
|
||||
@@ -1287,6 +1268,10 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
|
||||
%D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \
|
||||
%D%/packages/patches/libquicktime-ffmpeg.patch \
|
||||
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
|
||||
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
|
||||
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \
|
||||
%D%/packages/patches/libsndfile-CVE-2017-12562.patch \
|
||||
%D%/packages/patches/libtar-CVE-2013-4420.patch \
|
||||
%D%/packages/patches/libtgvoip-disable-sse2.patch \
|
||||
%D%/packages/patches/libtgvoip-disable-webrtc.patch \
|
||||
@@ -1323,7 +1308,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/lrcalc-includes.patch \
|
||||
%D%/packages/patches/lrzip-CVE-2017-8842.patch \
|
||||
%D%/packages/patches/lsh-fix-x11-forwarding.patch \
|
||||
%D%/packages/patches/lsof-fatal-test-failures.patch \
|
||||
%D%/packages/patches/lua-CVE-2014-5461.patch \
|
||||
%D%/packages/patches/lua-pkgconfig.patch \
|
||||
%D%/packages/patches/lua51-liblua-so.patch \
|
||||
@@ -1334,6 +1318,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/lvm2-static-link.patch \
|
||||
%D%/packages/patches/mailutils-fix-uninitialized-variable.patch \
|
||||
%D%/packages/patches/make-impure-dirs.patch \
|
||||
%D%/packages/patches/mariadb-client-test-32bit.patch \
|
||||
%D%/packages/patches/mars-install.patch \
|
||||
%D%/packages/patches/mars-sfml-2.3.patch \
|
||||
%D%/packages/patches/maxima-defsystem-mkdir.patch \
|
||||
@@ -1354,7 +1339,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/mingw-w64-6.0.0-gcc.patch \
|
||||
%D%/packages/patches/mingw-w64-dlltool-temp-prefix.patch \
|
||||
%D%/packages/patches/mingw-w64-reproducible-gendef.patch \
|
||||
%D%/packages/patches/minimap2-aarch64-support.patch \
|
||||
%D%/packages/patches/minisat-friend-declaration.patch \
|
||||
%D%/packages/patches/minisat-install.patch \
|
||||
%D%/packages/patches/mit-krb5-hurd.patch \
|
||||
@@ -1372,11 +1356,11 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/mozjs38-version-detection.patch \
|
||||
%D%/packages/patches/mrrescue-support-love-11.patch \
|
||||
%D%/packages/patches/mtools-mformat-uninitialized.patch \
|
||||
%D%/packages/patches/multipath-tools-sans-systemd.patch \
|
||||
%D%/packages/patches/mumps-build-parallelism.patch \
|
||||
%D%/packages/patches/mumps-shared-libseq.patch \
|
||||
%D%/packages/patches/mumps-shared-mumps.patch \
|
||||
%D%/packages/patches/mumps-shared-pord.patch \
|
||||
%D%/packages/patches/mupdf-fix-linkage.patch \
|
||||
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
|
||||
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
|
||||
%D%/packages/patches/musl-cross-locale.patch \
|
||||
@@ -1396,14 +1380,15 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/nginx-socket-cloexec.patch \
|
||||
%D%/packages/patches/nsis-env-passthru.patch \
|
||||
%D%/packages/patches/nss-increase-test-timeout.patch \
|
||||
%D%/packages/patches/nss-pkgconfig.patch \
|
||||
%D%/packages/patches/nss-3.56-pkgconfig.patch \
|
||||
%D%/packages/patches/ntfs-3g-CVE-2019-9755.patch \
|
||||
%D%/packages/patches/nvi-assume-preserve-path.patch \
|
||||
%D%/packages/patches/nvi-dbpagesize-binpower.patch \
|
||||
%D%/packages/patches/nvi-db4.patch \
|
||||
%D%/packages/patches/nyacc-binary-literals.patch \
|
||||
%D%/packages/patches/oath-toolkit-glibc-compat.patch \
|
||||
%D%/packages/patches/ocaml-bitstring-fix-configure.patch \
|
||||
%D%/packages/patches/ocaml-cairo2-caml_ba_array-fix.patch \
|
||||
%D%/packages/patches/ocaml-CVE-2015-8869.patch \
|
||||
%D%/packages/patches/ocaml-Add-a-.file-directive.patch \
|
||||
%D%/packages/patches/ocaml-enable-ocamldoc-reproducibility.patch \
|
||||
@@ -1420,7 +1405,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/openfoam-4.1-cleanup.patch \
|
||||
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
|
||||
%D%/packages/patches/openmpi-mtl-priorities.patch \
|
||||
%D%/packages/patches/openssh-fix-ssh-copy-id.patch \
|
||||
%D%/packages/patches/openssh-hurd.patch \
|
||||
%D%/packages/patches/openresolv-restartcmd-guix.patch \
|
||||
%D%/packages/patches/openscad-parser-boost-1.72.patch \
|
||||
@@ -1438,13 +1422,12 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/p7zip-CVE-2017-17969.patch \
|
||||
%D%/packages/patches/p7zip-remove-unused-code.patch \
|
||||
%D%/packages/patches/pam-krb5-CVE-2020-10595.patch \
|
||||
%D%/packages/patches/pam-mount-luks2-support.patch \
|
||||
%D%/packages/patches/pango-skip-libthai-test.patch \
|
||||
%D%/packages/patches/pciutils-hurd-configure.patch \
|
||||
%D%/packages/patches/pciutils-hurd-fix.patch \
|
||||
%D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \
|
||||
%D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \
|
||||
%D%/packages/patches/samba-fix-fcntl-hint-detection.patch \
|
||||
%D%/packages/patches/sdcc-disable-non-free-code.patch \
|
||||
%D%/packages/patches/sdl-pango-api_additions.patch \
|
||||
%D%/packages/patches/sdl-pango-blit_overflow.patch \
|
||||
%D%/packages/patches/sdl-pango-fillrect_crash.patch \
|
||||
@@ -1466,7 +1449,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/perl-text-markdown-discount-unbundle.patch \
|
||||
%D%/packages/patches/perl-module-pluggable-search.patch \
|
||||
%D%/packages/patches/perl-reproducible-build-date.patch \
|
||||
%D%/packages/patches/perl-www-curl-fix-struct-void.patch \
|
||||
%D%/packages/patches/perl-www-curl-remove-symbol.patch \
|
||||
%D%/packages/patches/picard-fix-id3-rename-test.patch \
|
||||
%D%/packages/patches/picprog-non-intel-support.patch \
|
||||
@@ -1518,15 +1500,17 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-3-search-paths.patch \
|
||||
%D%/packages/patches/python-3-fix-tests.patch \
|
||||
%D%/packages/patches/python-3.8-fix-tests.patch \
|
||||
%D%/packages/patches/python-3.9-fix-tests.patch \
|
||||
%D%/packages/patches/python-CVE-2018-14647.patch \
|
||||
%D%/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch \
|
||||
%D%/packages/patches/python-aionotify-0.2.0-py3.8.patch \
|
||||
%D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \
|
||||
%D%/packages/patches/python-axolotl-AES-fix.patch \
|
||||
%D%/packages/patches/python-cairocffi-dlopen-path.patch \
|
||||
%D%/packages/patches/python-cross-compile.patch \
|
||||
%D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
|
||||
%D%/packages/patches/python-configobj-setuptools.patch \
|
||||
%D%/packages/patches/python-flask-restful-werkzeug-compat.patch \
|
||||
%D%/packages/patches/python-gst-fix-build-with-python-3.8.patch \
|
||||
%D%/packages/patches/python-keras-integration-test.patch \
|
||||
%D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \
|
||||
%D%/packages/patches/python-pyfakefs-remove-bad-test.patch \
|
||||
@@ -1541,12 +1525,12 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-paste-remove-timing-test.patch \
|
||||
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
|
||||
%D%/packages/patches/python-pycrypto-time-clock.patch \
|
||||
%D%/packages/patches/python-pydot-regression-test.patch \
|
||||
%D%/packages/patches/python2-pygobject-2-deprecation.patch \
|
||||
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
|
||||
%D%/packages/patches/python-robotframework-source-date-epoch.patch \
|
||||
%D%/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch \
|
||||
%D%/packages/patches/python2-subprocess32-disable-input-test.patch \
|
||||
%D%/packages/patches/python-tinycss2-flake8-compat.patch \
|
||||
%D%/packages/patches/python-unittest2-python3-compat.patch \
|
||||
%D%/packages/patches/python-unittest2-remove-argparse.patch \
|
||||
%D%/packages/patches/python-waitress-fix-tests.patch \
|
||||
@@ -1574,7 +1558,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/rct-add-missing-headers.patch \
|
||||
%D%/packages/patches/readline-link-ncurses.patch \
|
||||
%D%/packages/patches/readline-6.2-CVE-2014-2524.patch \
|
||||
%D%/packages/patches/renpy-use-system-fribidi.patch \
|
||||
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
|
||||
%D%/packages/patches/r-httpuv-1.5.4-unvendor-libuv.patch \
|
||||
%D%/packages/patches/ri-li-modernize_cpp.patch \
|
||||
@@ -1597,22 +1580,22 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/rust-1.45-linker-locale.patch \
|
||||
%D%/packages/patches/rust-bootstrap-stage0-test.patch \
|
||||
%D%/packages/patches/rust-coresimd-doctest.patch \
|
||||
%D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \
|
||||
%D%/packages/patches/rust-nettle-disable-vendor.patch \
|
||||
%D%/packages/patches/rust-nettle-sys-disable-vendor.patch \
|
||||
%D%/packages/patches/rust-reproducible-builds.patch \
|
||||
%D%/packages/patches/rust-openssl-sys-no-vendor.patch \
|
||||
%D%/packages/patches/rxvt-unicode-escape-sequences.patch \
|
||||
%D%/packages/patches/sbcl-clml-fix-types.patch \
|
||||
%D%/packages/patches/sbcl-geco-fix-organism-class.patch \
|
||||
%D%/packages/patches/sbcl-graph-asdf-definitions.patch \
|
||||
%D%/packages/patches/scalapack-blacs-mpi-deprecations.patch \
|
||||
%D%/packages/patches/scheme48-tests.patch \
|
||||
%D%/packages/patches/scotch-build-parallelism.patch \
|
||||
%D%/packages/patches/scotch-integer-declarations.patch \
|
||||
%D%/packages/patches/screen-hurd-path-max.patch \
|
||||
%D%/packages/patches/scribus-1.5.5-poppler-0.86-build-fix.patch \
|
||||
%D%/packages/patches/sdl-libx11-1.6.patch \
|
||||
%D%/packages/patches/seed-webkit.patch \
|
||||
%D%/packages/patches/seq24-rename-mutex.patch \
|
||||
%D%/packages/patches/serf-python3.patch \
|
||||
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
|
||||
%D%/packages/patches/shadow-hurd-pctrl.patch \
|
||||
%D%/packages/patches/shishi-fix-libgcrypt-detection.patch \
|
||||
@@ -1664,8 +1647,8 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/tipp10-remove-license-code.patch \
|
||||
%D%/packages/patches/tk-find-library.patch \
|
||||
%D%/packages/patches/transcode-ffmpeg.patch \
|
||||
%D%/packages/patches/transmission-honor-localedir.patch \
|
||||
%D%/packages/patches/ttf2eot-cstddef.patch \
|
||||
%D%/packages/patches/tomb-fix-errors-on-open.patch \
|
||||
%D%/packages/patches/tup-unbundle-dependencies.patch \
|
||||
%D%/packages/patches/tuxpaint-stamps-path.patch \
|
||||
%D%/packages/patches/twinkle-bcg729.patch \
|
||||
@@ -1708,6 +1691,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/vte-CVE-2012-2738-pt1.patch \
|
||||
%D%/packages/patches/vte-CVE-2012-2738-pt2.patch \
|
||||
%D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \
|
||||
%D%/packages/patches/weasyprint-library-paths.patch \
|
||||
%D%/packages/patches/webkitgtk-share-store.patch \
|
||||
%D%/packages/patches/webkitgtk-bind-all-fonts.patch \
|
||||
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
|
||||
@@ -1737,12 +1721,12 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \
|
||||
%D%/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch \
|
||||
%D%/packages/patches/xpra-4.0.1-systemd-run.patch \
|
||||
%D%/packages/patches/xpra-4.0.4-norequests.patch \
|
||||
%D%/packages/patches/xsane-fix-memory-leak.patch \
|
||||
%D%/packages/patches/xsane-fix-pdf-floats.patch \
|
||||
%D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \
|
||||
%D%/packages/patches/xsane-support-ipv6.patch \
|
||||
%D%/packages/patches/xsane-tighten-default-umask.patch \
|
||||
%D%/packages/patches/yggdrasil-extra-config.patch \
|
||||
%D%/packages/patches/zziplib-CVE-2018-16548.patch
|
||||
|
||||
MISC_DISTRO_FILES = \
|
||||
|
||||
@@ -484,8 +484,6 @@ an environment type of 'managed-host."
|
||||
(list (second boot-parameters))))
|
||||
(locale -> (boot-parameters-locale
|
||||
(second boot-parameters)))
|
||||
(crypto-dev -> (boot-parameters-store-crypto-devices
|
||||
(second boot-parameters)))
|
||||
(store-dir -> (boot-parameters-store-directory-prefix
|
||||
(second boot-parameters)))
|
||||
(old-entries -> (map boot-parameters->menu-entry
|
||||
@@ -498,7 +496,6 @@ an environment type of 'managed-host."
|
||||
bootloader))
|
||||
bootloader entries
|
||||
#:locale locale
|
||||
#:store-crypto-devices crypto-dev
|
||||
#:store-directory-prefix store-dir
|
||||
#:old-entries old-entries)))
|
||||
(remote-result (machine-remote-eval machine remote-exp)))
|
||||
|
||||
+1
-118
@@ -1,6 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -25,126 +24,10 @@
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public ada/ed
|
||||
(package
|
||||
(name "ada-ed")
|
||||
(version "1.11.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
;; The HOME-PAGE sources, mirrored by one of the original authors.
|
||||
(url "https://github.com/daveshields/AdaEd")
|
||||
(commit "57daecfb7ccadfd9aaf13b4d54f51065affbe599")))
|
||||
(sha256
|
||||
(base32 "1k97a8nqsvbsadizrmhhypcx758sxqkai8wq3ckk853qxvzaasd8"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(supported-systems (list "i686-linux" "x86_64-linux"
|
||||
"armhf-linux" "aarch64-linux"))
|
||||
(outputs (list "out" "debug"))
|
||||
(arguments
|
||||
`(#:system
|
||||
,@(match (%current-system)
|
||||
;; This package predates 64-bit PCs: a ‘64-bit’ adaexec segfaults.
|
||||
;; Force a 32-bit build targeting a similar architecture.
|
||||
((or "armhf-linux" "aarch64-linux")
|
||||
`("armhf-linux"))
|
||||
(_
|
||||
`("i686-linux")))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append
|
||||
"CFLAGS=-g" ; compile with :debug symbols
|
||||
" -DOP_SYS='\"GNU\"'" ; sic; quoting gets mangled somewhere
|
||||
" -DSYSTEM_V" ; closest to modern GNU
|
||||
" -DWORDSIZE32"
|
||||
" -DALIGN4") ; suffices on both x86 and ARM
|
||||
"LFLAGS=" ; don't link against -lg
|
||||
(string-append "BINDIR=" out "/bin")
|
||||
(string-append "LIBDIR=" out "/lib")
|
||||
(string-append "MANDIR=" out "/share/man")))
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-sources
|
||||
(lambda _
|
||||
;; Rename the custom (and incompatible) getline() implementation.
|
||||
(substitute* "adalex.c"
|
||||
(("getline") "adaed_getline"))
|
||||
;; Work around ‘error: initializer element is not constant’ by not
|
||||
;; initialising MSGFILE.
|
||||
(substitute* "vars.ch"
|
||||
(("INIT\\(stdout\\)") ""))
|
||||
#t))
|
||||
(delete 'configure) ; no configure script
|
||||
(add-before 'build 'find-build-scripts
|
||||
(lambda _
|
||||
(setenv "PATH" (string-append ".:" (getenv "PATH")))
|
||||
#t))
|
||||
(add-after 'build 'build-predef
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
;; These aren't otherwise compiled until the ‘install’ phase.
|
||||
(apply invoke "make" "predef" make-flags)
|
||||
#t))
|
||||
(delete 'check) ; no test suite; run our own below
|
||||
(add-before 'install 'create-output-directories
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(mkdir-p (string-append out "/share/man/manl"))
|
||||
#t)))
|
||||
(add-after 'install 'check
|
||||
;; Run most of the included demos as our own ‘test suite’.
|
||||
(lambda* (#:key outputs tests? #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(when tests?
|
||||
(setenv "ADAED" (string-append out "/lib"))
|
||||
(setenv "PATH" (string-append out "/bin:" (getenv "PATH")))
|
||||
(with-directory-excursion "demos" ; won't run outside of it
|
||||
(for-each
|
||||
delete-file
|
||||
'("runc" ; ‘invalid data. Please make it a positive no.’
|
||||
"rund" ; deadlocks by design
|
||||
"rune" ; ‘dining2.ada: No such file or directory’
|
||||
"rung")) ; ‘mathlib cannot be used as a library’ (!)
|
||||
(for-each (lambda (script)
|
||||
(format #t "\n=== Invoking ~a ===\n" script)
|
||||
(invoke script))
|
||||
(find-files "." "^run")))))))
|
||||
(add-after 'install 'clean-up-output
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(with-directory-excursion out
|
||||
;; These needn't be executable.
|
||||
(for-each (cut chmod <> #o644)
|
||||
(append (find-files "lib" "\\....$")
|
||||
(find-files "share" ".")))
|
||||
#t)))))))
|
||||
(native-inputs
|
||||
`(("sed" ,sed)))
|
||||
(home-page (string-append "https://web.archive.org/web/20140902150609/"
|
||||
"http://www2.informatik.uni-stuttgart.de/iste/ps/"
|
||||
"ada-software/html/dos_ada.html"))
|
||||
(synopsis "Ada 83 interpreter")
|
||||
(description "Ada/Ed is a translator-interpreter for Ada 83. It's intended
|
||||
primarily as a teaching tool and lacks the capacity, performance, and robustness
|
||||
of other contemporary or modern-day Ada compilers.
|
||||
|
||||
Ada/Ed was the first Ada compiler to pass the @acronym{ACVC, Ada Compiler
|
||||
Validation Suite} version 1.7 but fails many newer tests and is not a validated
|
||||
Ada system. Being an interpreter, it does not implement most representation
|
||||
clauses, and thus does not support systems programming close to the machine
|
||||
level.")
|
||||
(license license:gpl2+)))
|
||||
#:use-module (gnu packages python-xyz))
|
||||
|
||||
(define-public python2-langkit
|
||||
(let ((commit "fe0bc8bf60dbd2937759810df76ac420d99fc15f")
|
||||
|
||||
+69
-198
@@ -56,7 +56,6 @@
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system python)
|
||||
@@ -107,7 +106,6 @@
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages mail)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages mcrypt)
|
||||
#:use-module (gnu packages mpi)
|
||||
@@ -445,7 +443,7 @@ graphs and can export its output to different formats.")
|
||||
(define-public facter
|
||||
(package
|
||||
(name "facter")
|
||||
(version "4.0.47")
|
||||
(version "4.0.44")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -454,7 +452,7 @@ graphs and can export its output to different formats.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zz5kk3ad1jj8y939369dfvjh7zqwpkcqzzad7yb6wp01rc5sf88"))))
|
||||
"0cs4cr5xc3yvnln9k3gdhypnq6iw4zfrhqrhslvli11l9mwdbjwn"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@@ -516,7 +514,7 @@ or via the @code{facter} Ruby library.")
|
||||
(define-public htop
|
||||
(package
|
||||
(name "htop")
|
||||
(version "3.0.4")
|
||||
(version "3.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -524,7 +522,7 @@ or via the @code{facter} Ruby library.")
|
||||
(url "https://github.com/htop-dev/htop")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "1fckfv96vzqjs3lzy0cgwsqv5vh1sxca3fhvgskmnkvr5bq6cia9"))
|
||||
(base32 "1qmqhbnc5yw4brd24yrp85k09770c1c00nl03mkv5pdz2bvqivk7"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
@@ -566,7 +564,7 @@ memory, disks, network and processes.")
|
||||
(define-public pies
|
||||
(package
|
||||
(name "pies")
|
||||
(version "1.5")
|
||||
(version "1.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -574,7 +572,7 @@ memory, disks, network and processes.")
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"11j168qljsinaj5dwmg7nkm2z1aghi6gc3d0wf0pikflnh2q2wqf"))))
|
||||
"14jb4pa4zs26d5j2skxbaypnwhsx2lw8jgj1irrgs03c2dnf7gp6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
@@ -1344,11 +1342,9 @@ at once based on a Perl regular expression.")
|
||||
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(lambda _
|
||||
(substitute* "rc/rc"
|
||||
(("/usr/sbin/sendmail")
|
||||
(string-append (assoc-ref inputs "mailutils")
|
||||
"/bin/mail")))
|
||||
(("/usr/sbin/sendmail") "sendmail"))
|
||||
#t))
|
||||
(add-after 'unpack 'fix-configure
|
||||
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
||||
@@ -1387,8 +1383,7 @@ at once based on a Perl regular expression.")
|
||||
(native-inputs `(("texinfo" ,texinfo)
|
||||
("automake" ,automake)
|
||||
("util-linux" ,util-linux))) ; for 'cal'
|
||||
(inputs `(("coreutils*" ,coreutils)
|
||||
("mailutils" ,mailutils)))
|
||||
(inputs `(("coreutils*" ,coreutils)))
|
||||
(home-page "https://www.gnu.org/software/rottlog/")
|
||||
(synopsis "Log rotation and management")
|
||||
(description
|
||||
@@ -1402,7 +1397,7 @@ system administrator.")
|
||||
(define-public sudo
|
||||
(package
|
||||
(name "sudo")
|
||||
(version "1.9.4p2")
|
||||
(version "1.9.3p1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@@ -1412,7 +1407,7 @@ system administrator.")
|
||||
version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0r0g8z289ipw0zpkhmm33cpfm42j01jds2q1wilhh3flg7xg2jn3"))
|
||||
"17mldsg5d08s23cskmjxfa81ibnqw3slgf3l4023j72ywi9xxffw"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -1499,7 +1494,7 @@ commands and their arguments.")
|
||||
(define-public opendoas
|
||||
(package
|
||||
(name "opendoas")
|
||||
(version "6.8")
|
||||
(version "6.6.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1508,7 +1503,7 @@ commands and their arguments.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dlwnvy8r6slxcy260gfkximp1ms510wdslpfq9y6xvd2qi5izcb"))))
|
||||
"07kkc5729p654jrgfsc8zyhiwicgmq38yacmwfvay2b3gmy728zn"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@@ -1516,17 +1511,19 @@ commands and their arguments.")
|
||||
(replace 'configure
|
||||
;; The configure script doesn't accept most of the default flags.
|
||||
(lambda* (#:key configure-flags #:allow-other-keys)
|
||||
;; The configure script can be told which compiler to use only
|
||||
;; The configure script can only be told which compiler to use
|
||||
;; through environment variables.
|
||||
(setenv "CC" ,(cc-for-target))
|
||||
(apply invoke "./configure" configure-flags)))
|
||||
(add-before 'install 'fix-makefile
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "GNUmakefile"
|
||||
(substitute* "bsd.prog.mk"
|
||||
(("^\tchown.*$") ""))
|
||||
#t)))
|
||||
#:configure-flags
|
||||
(list (string-append "--prefix=" (assoc-ref %outputs "out"))
|
||||
;; Nothing is done with this value (yet?) but it's supported.
|
||||
;; (string-append "--target=" (or ,(%current-target-system) ""))
|
||||
"--with-timestamp")
|
||||
;; Compiler choice is not carried over from the configure script.
|
||||
#:make-flags
|
||||
@@ -1564,10 +1561,10 @@ features of sudo with a fraction of the codebase.")
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(chdir "wpa_supplicant")
|
||||
(copy-file "defconfig" ".config")
|
||||
(let ((port (open-file ".config" "al")))
|
||||
@@ -1581,15 +1578,6 @@ features of sudo with a fraction of the codebase.")
|
||||
CONFIG_LIBNL32=y
|
||||
CONFIG_READLINE=y\n" port)
|
||||
(close-port port))
|
||||
;; Make sure we have a pkg-config when cross compiling
|
||||
(substitute* '(".config"
|
||||
"Android.mk"
|
||||
"Makefile"
|
||||
"dbus/Makefile")
|
||||
(("pkg-config")
|
||||
(or (which "pkg-config")
|
||||
(which (string-append ,(%current-target-system)
|
||||
"-pkg-config")))))
|
||||
#t))
|
||||
(add-after 'install 'install-documentation
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
@@ -1618,7 +1606,7 @@ features of sudo with a fraction of the codebase.")
|
||||
"wpa_supplicant.conf"))
|
||||
#t))))
|
||||
|
||||
#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
#:make-flags (list "CC=gcc"
|
||||
(string-append "BINDIR=" (assoc-ref %outputs "out")
|
||||
"/sbin")
|
||||
(string-append "LIBDIR=" (assoc-ref %outputs "out")
|
||||
@@ -1728,10 +1716,10 @@ command.")
|
||||
"1mrbvg4v7vm7mknf0n29mf88k3s4a4qj6r4d51wq8hmjj1m7s7c8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; This is mostly copied from 'wpa-supplicant' above.
|
||||
(chdir "hostapd")
|
||||
(copy-file "defconfig" ".config")
|
||||
@@ -1743,14 +1731,6 @@ command.")
|
||||
CONFIG_IEEE80211AC=y\n" port)
|
||||
(close-port port))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-pkg-config
|
||||
(lambda _
|
||||
(substitute* "src/drivers/drivers.mak"
|
||||
(("pkg-config")
|
||||
(or (which "pkg-config")
|
||||
(string-append ,(%current-target-system)
|
||||
"-pkg-config"))))
|
||||
#t))
|
||||
(add-after 'install 'install-man-pages
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
@@ -1767,7 +1747,7 @@ command.")
|
||||
(find-files "." "\\.8"))
|
||||
#t))))
|
||||
|
||||
#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
#:make-flags (list "CC=gcc"
|
||||
(string-append "BINDIR=" (assoc-ref %outputs "out")
|
||||
"/sbin")
|
||||
(string-append "LIBDIR=" (assoc-ref %outputs "out")
|
||||
@@ -1862,7 +1842,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
|
||||
(define-public acpica
|
||||
(package
|
||||
(name "acpica")
|
||||
(version "20201217")
|
||||
(version "20200717")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -1870,13 +1850,13 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06rdpfjmij5nni1x2wi1gnalhsza5yxq1viskjm9r11wmsjnxm2a"))))
|
||||
"0jyy71szjr40c8v40qqw6yh3gfk8d6sl3nay69zrn5d88i3r0jca"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("flex" ,flex)
|
||||
("bison" ,bison)))
|
||||
(arguments
|
||||
`(#:make-flags (list (string-append "PREFIX=" %output)
|
||||
(string-append "CC=" ,(cc-for-target))
|
||||
'(#:make-flags (list (string-append "PREFIX=" %output)
|
||||
"CC=gcc"
|
||||
"HOST=_LINUX"
|
||||
"OPT_CFLAGS=-Wall -fno-strict-aliasing")
|
||||
#:tests? #f ; no 'check' target
|
||||
@@ -2193,13 +2173,13 @@ of supported upstream metrics systems simultaneously.")
|
||||
(define-public ansible
|
||||
(package
|
||||
(name "ansible")
|
||||
(version "2.9.16")
|
||||
(version "2.9.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ansible" version))
|
||||
(sha256
|
||||
(base32 "0j1icfqff25zm9sq6j41ipl6gcj3i67mb5bqbjf2f2q1yx6rm8sk"))))
|
||||
(base32 "1c9ayh61qwasgncmlw7rjx5r4g5n2cpg1d5blgn53zg7xhrx1yc8"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-bcrypt" ,python-bcrypt)
|
||||
@@ -2396,20 +2376,17 @@ lookup to YAML Mode. You could enable the mode with @code{(add-hook
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "-Csrc" make-flags)))
|
||||
(lambda _
|
||||
(invoke "make" "CC=gcc" "-Csrc")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? make-flags #:allow-other-keys)
|
||||
(when tests?
|
||||
(apply invoke "make" "-Ctests" make-flags))
|
||||
#t))
|
||||
(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)))
|
||||
#:make-flags (list (string-append "CC=" ,(cc-for-target)))))
|
||||
#t)))))
|
||||
(home-page "https://github.com/opsengine/cpulimit")
|
||||
(synopsis "Limit CPU usage")
|
||||
(description
|
||||
@@ -3113,7 +3090,7 @@ buffers.")
|
||||
(define-public igt-gpu-tools
|
||||
(package
|
||||
(name "igt-gpu-tools")
|
||||
(version "1.25")
|
||||
(version "1.24")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3122,22 +3099,27 @@ buffers.")
|
||||
(commit (string-append "igt-gpu-tools-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1lvhkdhilw0fn4nzkpfwvrhiv8d92h811qs2v6ac3p5w7v86a9zm"))))
|
||||
(build-system meson-build-system)
|
||||
(base32 "1gpdjs5aj6vsnzwcjvw5bb120lgffvvshi4202phr0bzw3b92ky8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; many of the tests try to load kernel modules
|
||||
(inputs
|
||||
`(("cairo" ,cairo)
|
||||
("elfutils" ,elfutils) ; libdw
|
||||
("eudev" ,eudev)
|
||||
("glib" ,glib)
|
||||
("kmod" ,kmod)
|
||||
("libdrm" ,libdrm)
|
||||
("libpciaccess" ,libpciaccess)
|
||||
("libunwind" ,libunwind)
|
||||
("procps" ,procps)))
|
||||
("libxrandr" ,libxrandr)
|
||||
("openssl" ,openssl)
|
||||
("procps" ,procps)
|
||||
("util-macros" ,util-macros)))
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://gitlab.freedesktop.org/drm/igt-gpu-tools")
|
||||
(synopsis "Tools for development and testing of the Intel DRM driver")
|
||||
@@ -3375,14 +3357,14 @@ information tool.")
|
||||
(define-public nnn
|
||||
(package
|
||||
(name "nnn")
|
||||
(version "3.5")
|
||||
(version "3.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/jarun/nnn/releases/download/v"
|
||||
version "/nnn-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1ww18vvfjkvi36rcamw8kpix4bhk71w5bw9kmnh158crah1x8dp6"))))
|
||||
(base32 "189h950m1jjrnhvgcvzk6nj89l58rkxim7bxa0441ssajxpaw0vq"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)
|
||||
@@ -3390,23 +3372,15 @@ information tool.")
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
'(#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'unpack 'patch-pkg-config
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("pkg-config")
|
||||
(or (which "pkg-config")
|
||||
(string-append ,(%current-target-system)
|
||||
"-pkg-config"))))
|
||||
#t)))
|
||||
(delete 'configure)) ; no configure script
|
||||
#:make-flags
|
||||
(list
|
||||
(string-append "PREFIX="
|
||||
(assoc-ref %outputs "out"))
|
||||
(string-append "CC=" ,(cc-for-target)))))
|
||||
"CC=gcc")))
|
||||
(home-page "https://github.com/jarun/nnn")
|
||||
(synopsis "Terminal file browser")
|
||||
(description "@command{nnn} is a fork of @command{noice}, a blazing-fast
|
||||
@@ -3419,7 +3393,7 @@ make it a perfect utility on modern distros.")
|
||||
(define-public thermald
|
||||
(package
|
||||
(name "thermald")
|
||||
(version "2.4.1")
|
||||
(version "2.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3428,47 +3402,30 @@ make it a perfect utility on modern distros.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0rlac7v1b59m7gh767hkd8a0r4p001nd24786fnmryygbxynd2s6"))))
|
||||
(base32 "1nrhv3bypyc48h9smj5cpq63rawm6vqyg3cwkhpz69rgjnf1283m"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "--with-dbus-sys-dir="
|
||||
out "/etc/dbus-1/system.d")
|
||||
"--localstatedir=/var"))
|
||||
#:make-flags
|
||||
(list "V=1") ; log build commands
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'no-early-./configure
|
||||
(lambda _
|
||||
(setenv "NO_CONFIGURE" "yet")
|
||||
;; XXX thd_trip_point.h redefines "__STDC_LIMIT_MACROS" after
|
||||
;; <xz>/include/lzma.h. ./configure forcibly appends -Werror
|
||||
;; to CXXFLAGS, overriding any -Wno-error we'd add.
|
||||
(substitute* "configure.ac"
|
||||
(("-Werror") ""))
|
||||
#t)))))
|
||||
"--localstatedir=/var"))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("autoconf-archive" ,autoconf-archive)
|
||||
("automake" ,automake)
|
||||
("glib" ,glib "bin") ; for glib-genmarshal, etc.
|
||||
("gtk-doc" ,gtk-doc)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("dbus-glib" ,dbus-glib)
|
||||
("libevdev" ,libevdev)
|
||||
("libxml2" ,libxml2)
|
||||
("upower" ,upower)
|
||||
("xz" ,xz)))
|
||||
("libxml2" ,libxml2)))
|
||||
(home-page "https://01.org/linux-thermal-daemon/")
|
||||
(synopsis "CPU scaling for thermal management")
|
||||
(description "The Linux Thermal Daemon helps monitor and control temperature
|
||||
on systems running the Linux kernel.")
|
||||
;; arm and aarch64 don't have cpuid.h.
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(license license:gpl2)))
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public masscan
|
||||
(package
|
||||
@@ -3487,9 +3444,9 @@ on systems running the Linux kernel.")
|
||||
(inputs
|
||||
`(("libpcap" ,libpcap)))
|
||||
(arguments
|
||||
`(#:test-target "regress"
|
||||
'(#:test-target "regress"
|
||||
#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(list "CC=gcc"
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
@@ -3617,7 +3574,7 @@ Python loading in HPC environments.")
|
||||
(let ((real-name "inxi"))
|
||||
(package
|
||||
(name "inxi-minimal")
|
||||
(version "3.2.01-1")
|
||||
(version "3.1.08-1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3626,7 +3583,7 @@ Python loading in HPC environments.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name real-name version))
|
||||
(sha256
|
||||
(base32 "15bakrv3jzj5h88c3bd0cfhh6hb8b4hm79924k1ygn29sqzgyw65"))))
|
||||
(base32 "15b0fn8kv09k7kzyzix1pr1wmjw5yinzgw01v8pf9p547m4a899a"))))
|
||||
(build-system trivial-build-system)
|
||||
(inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
@@ -3719,8 +3676,6 @@ support forum. It runs with the @code{/exec} command in most IRC clients.")
|
||||
("perl-io-socket-ssl" ,perl-io-socket-ssl)
|
||||
("perl-json-xs" ,perl-json-xs)
|
||||
("perl-time-hires" ,perl-time-hires)
|
||||
("lvm2" ,lvm2) ; lvs
|
||||
("mdadm" ,mdadm)
|
||||
;; TODO: Add more inputs:
|
||||
;; ipmi-sensors
|
||||
;; hddtemp
|
||||
@@ -3939,14 +3894,19 @@ tcpdump and snoop.")
|
||||
(define-public pam-mount
|
||||
(package
|
||||
(name "pam-mount")
|
||||
(version "2.17")
|
||||
(version "2.16")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/pam-mount/pam_mount/"
|
||||
"pam_mount-" version ".tar.xz"))
|
||||
version "/pam_mount-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1q2n6a2ah6nghdn8i6ad2wj247njwb5nx48cggxknaa6lqxylidy"))))
|
||||
(base32
|
||||
"1rvi4irb7ylsbhvx1cr6islm2xxw1a4b19q6z4a9864ndkm0f0mf"))
|
||||
(patches
|
||||
;; Patch adding support for encrypted volumes in LUKS2 format.
|
||||
;; It comes from the Gentoo package definition for sys-auth/pam_mount.
|
||||
(search-patches "pam-mount-luks2-support.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
@@ -4128,7 +4088,7 @@ entries, providing commands to add, remove, comment, and search.")
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/jclehner/nmrpflash")
|
||||
(url "https://github.com/jclehner/nmrpflash.git")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1fdjrxhjs96rdclbkld57xarf592slhkp79h46z833npxpn12ck1"))
|
||||
@@ -4217,92 +4177,3 @@ to the CPU, memory, swap, disks (including LVM) and network layers, and for
|
||||
every process (and thread) it shows e.g. the CPU utilization, memory growth,
|
||||
disk utilization, priority, username, state, and exit code.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
;; TODO: Unvendor u-root (pkg: forth, golang, testutil).
|
||||
(define fiano
|
||||
(package
|
||||
(name "fiano")
|
||||
(version "5.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/linuxboot/fiano.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"03ihdwwhb7g6bihx141cn0924sjs5ps6q3ps58pk1cg0g0srrr9h"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(delete-file-recursively "vendor/golang.org")
|
||||
(delete-file-recursively "vendor/github.com")
|
||||
#t))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "github.com/linuxboot/fiano"
|
||||
#:unpack-path "github.com/linuxboot/fiano"))
|
||||
(native-inputs
|
||||
`())
|
||||
(inputs
|
||||
`(("go-golang-org-x-text" ,go-golang-org-x-text)
|
||||
("go-github.com-ulikunitz-xz" ,go-github.com-ulikunitz-xz)))
|
||||
(synopsis "UEFI image editor")
|
||||
(description "This package provides a command-line UEFI image editor.")
|
||||
(home-page "https://github.com/linuxboot/fiano")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public fiano-utk
|
||||
(package
|
||||
(inherit fiano)
|
||||
(name "fiano-utk")
|
||||
(arguments
|
||||
`(#:import-path "github.com/linuxboot/fiano/cmds/utk"
|
||||
#:unpack-path "github.com/linuxboot/fiano"))))
|
||||
|
||||
(define-public fiano-fmap
|
||||
(package
|
||||
(inherit fiano)
|
||||
(name "fiano-fmap")
|
||||
(arguments
|
||||
`(#:import-path "github.com/linuxboot/fiano/cmds/fmap"
|
||||
#:unpack-path "github.com/linuxboot/fiano"))))
|
||||
|
||||
(define-public novena-eeprom
|
||||
(package
|
||||
(name "novena-eeprom")
|
||||
(version "2.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/xobs/novena-eeprom.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"00pd71mg0g20v0820ggp3ghf9nyj5s4wavaz9mkmrmsr91hcnf7i"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No tests exist
|
||||
#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target)))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(out-bin (string-append out "/bin"))
|
||||
(out-share-man (string-append out "/share/man/man8")))
|
||||
(install-file "novena-eeprom" out-bin)
|
||||
(install-file "novena-eeprom.8" out-share-man)))))))
|
||||
(inputs
|
||||
`(("i2c-tools" ,i2c-tools)))
|
||||
(synopsis "Novena EEPROM editor")
|
||||
(description "This package provides an editor for the Novena EEPROM.
|
||||
Novena boards contain a device-dependent descriptive EEPROM that defines
|
||||
various parameters such as serial number, MAC address, and featureset.
|
||||
This program allows you to view and manipulate this EEPROM list.")
|
||||
(home-page "https://github.com/xobs/novena-eeprom/")
|
||||
(supported-systems '("armhf-linux"))
|
||||
(license license:bsd-3)))
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/nu-book/zxing-cpp")
|
||||
(url "https://github.com/nu-book/zxing-cpp.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
|
||||
+14
-18
@@ -276,7 +276,7 @@ PARI is also available as a C library to allow for faster computations.")
|
||||
(define-public gp2c
|
||||
(package
|
||||
(name "gp2c")
|
||||
(version "0.0.12")
|
||||
(version "0.0.11pl4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -284,7 +284,7 @@ PARI is also available as a C library to allow for faster computations.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"039ip7qkwwv46wrcdrz7y12m30kazzkjr44kqbc0h137g4wzd7zf"))))
|
||||
"1cnnh7diqc97q76q5pyhpbljbhc0sz8mlrbqgiwi0sjkgh8iqsj0"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("perl" ,perl)))
|
||||
(inputs `(("pari-gp" ,pari-gp)))
|
||||
@@ -355,7 +355,7 @@ precision.")
|
||||
(define-public giac
|
||||
(package
|
||||
(name "giac")
|
||||
(version "1.6.0-31")
|
||||
(version "1.6.0-25")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -367,7 +367,7 @@ precision.")
|
||||
"~parisse/debian/dists/stable/main/source/"
|
||||
"giac_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1dr1y88sx2gzldn0zl6p8b1ngjjcmh89iv4kzyhi2cf74j3yw85m"))))
|
||||
(base32 "11kik2csdg9wy0npiih21kaag0nc89i9ldgk7ak7gvf9ycddm6mh"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((ice-9 ftw)
|
||||
@@ -410,7 +410,7 @@ precision.")
|
||||
(inputs
|
||||
;; TODO: Add libnauty, unbundle "libmicropython.a".
|
||||
`(("fltk" ,fltk)
|
||||
("glpk" ,glpk-4)
|
||||
("glpk" ,glpk)
|
||||
("gmp" ,gmp)
|
||||
("gsl" ,gsl)
|
||||
("lapack" ,lapack)
|
||||
@@ -533,14 +533,14 @@ fast arithmetic.")
|
||||
(string-append "--with-flint=" flint)
|
||||
(string-append "--with-gmp=" gmp)
|
||||
(string-append "--with-mpfr=" mpfr))))))))
|
||||
(home-page "https://arblib.org")
|
||||
(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+)))
|
||||
(license license:lgpl2.1+)
|
||||
(home-page "http://arblib.org")))
|
||||
|
||||
(define-public python-flint
|
||||
(package
|
||||
@@ -1005,20 +1005,16 @@ Optional thin wrappers allow usage of the library from other languages.")
|
||||
(define-public eigen
|
||||
(package
|
||||
(name "eigen")
|
||||
(version "3.3.8")
|
||||
(version "3.3.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list
|
||||
(string-append "https://bitbucket.org/eigen/eigen/get/"
|
||||
version ".tar.bz2")
|
||||
(string-append "mirror://debian/pool/main/e/eigen3/eigen3_"
|
||||
version ".orig.tar.bz2")))
|
||||
(uri (string-append "https://bitbucket.org/eigen/eigen/get/"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vxrsncfnkyq6gwxpsannpryp12mk7lc8f42ybvz3saf7icwc582"))
|
||||
"1km3fyfzyqfdvmnl79drps3fjwnz3zbh0c7l34mfbqyvvs8cy4wz"))
|
||||
(file-name (string-append name "-" version ".tar.bz2"))
|
||||
(patches (search-patches "eigen-remove-openmp-error-counting.patch"
|
||||
"eigen-stabilise-sparseqr-test.patch"))
|
||||
(patches (search-patches "eigen-stabilise-sparseqr-test.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; There are 3 test failures in the "unsupported" directory,
|
||||
@@ -1093,7 +1089,7 @@ features, and more.")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/xtensor-stack/xtensor")
|
||||
(url "https://github.com/QuantStack/xtensor")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
@@ -1107,7 +1103,7 @@ features, and more.")
|
||||
`(#:configure-flags
|
||||
'("-DBUILD_TESTS=ON")
|
||||
#:test-target "xtest"))
|
||||
(home-page "https://xtensor.readthedocs.io/en/latest/")
|
||||
(home-page "https://quantstack.net/xtensor")
|
||||
(synopsis "C++ tensors with broadcasting and lazy computing")
|
||||
(description "xtensor is a C++ library meant for numerical analysis with
|
||||
multi-dimensional array expressions.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
|
||||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -28,30 +27,19 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages dejagnu)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages graphics)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xiph))
|
||||
#:use-module (gnu packages video))
|
||||
|
||||
;; ETL, synfig, and Synfig Studio are updated in tandem.
|
||||
(define synfig-version "1.2.2")
|
||||
@@ -204,89 +192,6 @@ need for tweening, preventing the need to hand-draw each frame. This package
|
||||
contains the graphical user interface for synfig.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
;; This package provides a standalone (no browser plugin) version of Gnash.
|
||||
(define-public gnash
|
||||
;; The last tagged release of Gnash was in 2013.
|
||||
(let ((commit "583ccbc1275c7701dc4843ec12142ff86bb305b4")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "gnash")
|
||||
(version (git-version "0.8.11" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.savannah.gnu.org/git/gnash.git/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "gnash-fix-giflib-version.patch"))
|
||||
(sha256
|
||||
(base32 "0fh0bljn0i6ypyh6l99afi855p7ki7lm869nq1qj6k8hrrwhmfry"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "--disable-static"
|
||||
;; Plugins are based on XULRunner and NPAPI only. Disable.
|
||||
"--disable-plugins"
|
||||
"--enable-gui=gtk"
|
||||
"--enable-media=ffmpeg"
|
||||
(string-append "--with-boost-incl="
|
||||
(assoc-ref %build-inputs "boost") "/include")
|
||||
(string-append "--with-boost-lib="
|
||||
(assoc-ref %build-inputs "boost") "/lib")
|
||||
(string-append "--with-ffmpeg-incl="
|
||||
(assoc-ref %build-inputs "ffmpeg")
|
||||
"/include/libavcodec")
|
||||
(string-append "--with-speex-incl="
|
||||
(assoc-ref %build-inputs "speex") "/include")
|
||||
(string-append "--with-jemalloc-incl="
|
||||
(assoc-ref %build-inputs "jemalloc")
|
||||
"/include/jemalloc")
|
||||
(string-append "--with-speex-lib="
|
||||
(assoc-ref %build-inputs "speex") "/lib")
|
||||
(string-append "--with-jpeg-incl="
|
||||
(assoc-ref %build-inputs "libjpeg") "/include")
|
||||
(string-append "--with-zlib-incl="
|
||||
(assoc-ref %build-inputs "zlib") "/include")
|
||||
(string-append "--with-png-incl="
|
||||
(assoc-ref %build-inputs "libpng")
|
||||
"/include"))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("dejagnu" ,dejagnu) ;for tests
|
||||
("gettext" ,gettext-minimal)
|
||||
("libtool" ,libtool)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-wrapper)))
|
||||
(inputs
|
||||
`(("agg" ,agg)
|
||||
("atk" ,atk)
|
||||
("boost" ,boost)
|
||||
("curl" ,curl)
|
||||
("ffmpeg" ,ffmpeg-2.8)
|
||||
("freeglut" ,freeglut)
|
||||
("gconf" ,gconf)
|
||||
("giflib" ,giflib)
|
||||
("glib" ,glib)
|
||||
("gtk+" ,gtk+-2)
|
||||
("gtkglext" ,gtkglext)
|
||||
("jemalloc" ,jemalloc)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("libltdl" ,libltdl)
|
||||
("libpng" ,libpng)
|
||||
("pangox-compat" ,pangox-compat)
|
||||
("sdl" ,sdl)
|
||||
("speex" ,speex)))
|
||||
(synopsis "Flash movie player")
|
||||
(description
|
||||
"Gnash is a Flash movie player. It supports SWF version v7 and some
|
||||
of v8 and v9. It is possible to configure Gnash to use several different
|
||||
audio or video backends, ensuring good performance.")
|
||||
(home-page "https://www.gnu.org/software/gnash/")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public papagayo
|
||||
(let ((commit "e143684b30e59fe4a554f965cb655d23cbe93ee7")
|
||||
(revision "1"))
|
||||
|
||||
+3
-14
@@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Christopher Andersson <christopher@8bits.nu>
|
||||
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
|
||||
;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
@@ -11,7 +11,6 @@
|
||||
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
|
||||
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -171,13 +170,6 @@ dictionaries, including personal ones.")
|
||||
(hash (content-hash sha256))))
|
||||
(home-page "https://www.softcatala.org/pub/softcatala/aspell/"))))
|
||||
|
||||
(define-public aspell-dict-cs
|
||||
(aspell-dictionary "cs" "Czech"
|
||||
#:version "20040614-1"
|
||||
#:sha256
|
||||
(base32
|
||||
"0rihj4hsw96pd9casvmpvw3r8040pfa28p1h73x4vyn20zwr3h01")))
|
||||
|
||||
(define-public aspell-dict-de
|
||||
(aspell-dictionary "de" "German"
|
||||
#:version "20161207-7-0"
|
||||
@@ -283,7 +275,6 @@ dictionaries, including personal ones.")
|
||||
(define-public aspell-dict-mi
|
||||
(aspell-dictionary "mi" "Maori"
|
||||
#:version "0.50-0"
|
||||
#:prefix "aspell-"
|
||||
#:sha256
|
||||
(base32
|
||||
"12bxplpd348yx8d2q8qvahi9dlp7qf28qmanzhziwc7np8rixvmy")))
|
||||
@@ -299,7 +290,6 @@ dictionaries, including personal ones.")
|
||||
(define-public aspell-dict-nn
|
||||
(aspell-dictionary "nn" "Norwegian Nynorsk"
|
||||
#:version "0.50.1-1"
|
||||
#:prefix "aspell-"
|
||||
#:sha256
|
||||
(base32
|
||||
"0w2k5l5rbqpliripgqwiqixz5ghnjf7i9ggbrc4ly4vy1ia10rmc")))
|
||||
@@ -307,7 +297,6 @@ dictionaries, including personal ones.")
|
||||
(define-public aspell-dict-pl
|
||||
(aspell-dictionary "pl" "Polish"
|
||||
#:version "0.51-0"
|
||||
#:prefix "aspell-"
|
||||
#:sha256
|
||||
(base32
|
||||
"1a3ccji6k5gys7l3ilr2lh5pzxgzb7ipc5vb737svl6nqgdy8757")))
|
||||
@@ -374,8 +363,8 @@ dictionaries, including personal ones.")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/wordlist/SCOWL/"
|
||||
version "/scowl-" version ".tar.gz"))
|
||||
"http://downloads.sourceforge.net/wordlist/scowl-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11lkrnhwrf5mvrrq45k4mads3n9aswgac8dc25ba61c75alxb5rs"))))
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
|
||||
;;; Copyright © 2019 Andy Tai <atai@atai.org>
|
||||
@@ -51,7 +51,7 @@
|
||||
#:use-module (gnu packages shells)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module ((guix utils)
|
||||
#:select (%current-system cc-for-target)))
|
||||
#:select (%current-system)))
|
||||
|
||||
(define-public nasm
|
||||
(package
|
||||
@@ -261,36 +261,28 @@ runtime")
|
||||
(define-public rgbds
|
||||
(package
|
||||
(name "rgbds")
|
||||
(version "0.4.2")
|
||||
(version "0.4.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/gbdev/rgbds")
|
||||
(url "https://github.com/rednex/rgbds")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0lygj7jzjlq4w0mkiir7ycysrd1p1akyvzrppjcchja05mi8wy9p"))))
|
||||
"05djzl3h18zg2z5p2a881wjbmgikzkhf67cgk00frhw4v05sq0lf"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'patch-pkg-config
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("pkg-config")
|
||||
(or (which "pkg-config")
|
||||
(string-append ,(%current-target-system)
|
||||
"-pkg-config"))))
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(with-directory-excursion "test/asm"
|
||||
(invoke "./test.sh"))
|
||||
(with-directory-excursion "test/link"
|
||||
(invoke "./test.sh")))))
|
||||
#:make-flags `(,(string-append "CC=" ,(cc-for-target))
|
||||
#:make-flags `("CC=gcc"
|
||||
,(string-append "PREFIX="
|
||||
(assoc-ref %outputs "out")))))
|
||||
(native-inputs
|
||||
@@ -300,7 +292,7 @@ runtime")
|
||||
("util-linux" ,util-linux)))
|
||||
(inputs
|
||||
`(("libpng" ,libpng)))
|
||||
(home-page "https://github.com/gbdev/rgbds")
|
||||
(home-page "https://github.com/rednex/rgbds")
|
||||
(synopsis "Rednex Game Boy Development System")
|
||||
(description
|
||||
"RGBDS (Rednex Game Boy Development System) is an assembler/linker
|
||||
@@ -444,7 +436,7 @@ sets, both THUMB and ARM mode.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/intelxed/mbuild")
|
||||
(url "https://github.com/intelxed/mbuild.git")
|
||||
(commit "5304b94361fccd830c0e2417535a866b79c1c297")))
|
||||
(sha256
|
||||
(base32
|
||||
|
||||
+115
-69
@@ -4,7 +4,7 @@
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2016 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
|
||||
@@ -58,7 +58,6 @@
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
@@ -141,7 +140,7 @@
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/KhronosGroup/OpenSL-ES-Registry")
|
||||
(url "https://github.com/KhronosGroup/OpenSL-ES-Registry.git")
|
||||
(commit "ea5104bf37bf525c25e6ae2386586048179d0fda")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -203,7 +202,7 @@ promoting the market for advanced audio.")
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/Mindwerks/wildmidi")
|
||||
(url "https://github.com/Mindwerks/wildmidi.git")
|
||||
(commit (string-append name "-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -278,7 +277,7 @@ Coding (AAC) encoder.")
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/tinyalsa/tinyalsa")
|
||||
(url "https://github.com/tinyalsa/tinyalsa.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -301,7 +300,7 @@ Linux kernel.")
|
||||
(define-public libopenmpt
|
||||
(package
|
||||
(name "libopenmpt")
|
||||
(version "0.5.4")
|
||||
(version "0.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -309,7 +308,7 @@ Linux kernel.")
|
||||
(string-append "https://download.openmpt.org/archive/libopenmpt/src/"
|
||||
"libopenmpt-" version "+release.autotools.tar.gz"))
|
||||
(sha256
|
||||
(base32 "0h7gpjx1221jwsq3k91p8zhf1h77qaxyasakc88s3g57vawhckgk"))))
|
||||
(base32 "1f155yf5v57dwhzb7z0kh67lckr3yq4x8040dm54qgbxw582la77"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
@@ -476,15 +475,41 @@ implementation of Adaptive Multi Rate Narrowband and Wideband
|
||||
(define-public alsa-modular-synth
|
||||
(package
|
||||
(name "alsa-modular-synth")
|
||||
(version "2.2.0")
|
||||
(version "2.1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/alsamodular/alsamodular"
|
||||
"/" version "/ams-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"056dn6b9c5nsw2jdww7z1kxrjqqfvxjzxhsd5x9gi4wkwyiv21nz"))))
|
||||
"1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0"))
|
||||
(patches
|
||||
(search-patches "alsa-modular-synth-fix-vocoder.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
'("--enable-qt5"
|
||||
"CXXFLAGS=-std=gnu++11")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'set-paths 'hide-default-gcc
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((gcc (assoc-ref inputs "gcc")))
|
||||
;; Remove the default GCC from CPLUS_INCLUDE_PATH to prevent
|
||||
;; conflicts with the GCC 5 input.
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-join
|
||||
(delete (string-append gcc "/include/c++")
|
||||
(string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
|
||||
":"))
|
||||
#t)))
|
||||
;; Insert an extra space between linker flags.
|
||||
(add-before 'configure 'add-missing-space
|
||||
(lambda _
|
||||
(substitute* "configure"
|
||||
(("LIBS\\+=\\$LIBSsave") "LIBS+=\" $LIBSsave\"")
|
||||
(("CFLAGS\\+=\\$CFLAGSsave") "CFLAGS+=\" $CFLAGSsave\""))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
;; We cannot use zita-alsa-pcmi (the successor of clalsadrv) due to
|
||||
@@ -497,7 +522,8 @@ implementation of Adaptive Multi Rate Narrowband and Wideband
|
||||
("qtbase" ,qtbase)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("qttools" ,qttools)))
|
||||
("qttools" ,qttools)
|
||||
("gcc@5" ,gcc-5)))
|
||||
(home-page "http://alsamodular.sourceforge.net/")
|
||||
(synopsis "Realtime modular synthesizer and effect processor")
|
||||
(description
|
||||
@@ -676,7 +702,7 @@ engineers, musicians, soundtrack editors and composers.")
|
||||
(define-public audacity
|
||||
(package
|
||||
(name "audacity")
|
||||
(version "2.4.2")
|
||||
(version "2.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -686,9 +712,8 @@ engineers, musicians, soundtrack editors and composers.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0lklcvqkxrr2gkb9gh3422iadzl2rv9v0a8s76rwq43lj2im7546"))
|
||||
(patches (search-patches "audacity-build-with-system-portaudio.patch"
|
||||
"audacity-add-include.patch"))
|
||||
"1xk0piv72d2xd3p7igr916fhcbrm76fhjr418k1rlqdzzg1hfljn"))
|
||||
(patches (search-patches "audacity-build-with-system-portaudio.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled libraries.
|
||||
@@ -698,7 +723,7 @@ engineers, musicians, soundtrack editors and composers.")
|
||||
(delete-file-recursively (string-append "lib-src/" dir)))
|
||||
'("expat" "ffmpeg" "lame" "libflac" "libid3tag" "libmad" "libogg"
|
||||
"libsndfile" "libsoxr" "libvamp" "libvorbis" "lv2"
|
||||
"portmidi" "soundtouch" "twolame"
|
||||
"portaudio-v19" "portmidi" "soundtouch" "twolame"
|
||||
;; FIXME: these libraries have not been packaged yet:
|
||||
;; "libnyquist"
|
||||
;; "libscorealign"
|
||||
@@ -712,7 +737,7 @@ engineers, musicians, soundtrack editors and composers.")
|
||||
;; "sbsms"
|
||||
))
|
||||
#t))))
|
||||
(build-system cmake-build-system)
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(inputs
|
||||
`(("wxwidgets" ,wxwidgets)
|
||||
("gtk+" ,gtk+)
|
||||
@@ -734,6 +759,7 @@ engineers, musicians, soundtrack editors and composers.")
|
||||
("lv2" ,lv2)
|
||||
("lilv" ,lilv) ;for lv2
|
||||
("suil" ,suil) ;for lv2
|
||||
("portaudio" ,portaudio)
|
||||
("portmidi" ,portmidi)))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
@@ -745,18 +771,52 @@ engineers, musicians, soundtrack editors and composers.")
|
||||
("which" ,which)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list
|
||||
;; Loading FFmpeg dynamically is problematic.
|
||||
"-Daudacity_use_ffmpeg=linked"
|
||||
"-Daudacity_use_lame=system"
|
||||
"-Daudacity_use_portsmf=system")
|
||||
(let ((libid3tag (assoc-ref %build-inputs "libid3tag"))
|
||||
(libmad (assoc-ref %build-inputs "libmad"))
|
||||
(portmidi (assoc-ref %build-inputs "portmidi")))
|
||||
(list
|
||||
;; Loading FFmpeg dynamically is problematic.
|
||||
"--disable-dynamic-loading"
|
||||
;; SSE instructions are available on Intel systems only.
|
||||
,@(if (any (cute string-prefix? <> (or (%current-target-system)
|
||||
(%current-system)))
|
||||
'("x86_64" "i686"))
|
||||
'()
|
||||
'("--enable-sse=no"))
|
||||
;; portmidi, libid3tag and libmad provide no .pc files, so
|
||||
;; pkg-config fails to find them. Force their inclusion.
|
||||
(string-append "ID3TAG_CFLAGS=-I" libid3tag "/include")
|
||||
(string-append "ID3TAG_LIBS=-L" libid3tag "/lib -lid3tag -lz")
|
||||
(string-append "LIBMAD_CFLAGS=-I" libmad "/include")
|
||||
(string-append "LIBMAD_LIBS=-L" libmad "/lib -lmad")
|
||||
(string-append "PORTMIDI_CFLAGS=-I" portmidi "/include")
|
||||
(string-append "PORTMIDI_LIBS=-L" portmidi "/lib -lportmidi")
|
||||
"EXPAT_USE_SYSTEM=yes"
|
||||
"FFMPEG_USE_SYSTEM=yes"
|
||||
"LAME_USE_SYSTEM=yes"
|
||||
"LIBFLAC_USE_SYSTEM=yes"
|
||||
"LIBID3TAG_USE_SYSTEM=yes"
|
||||
"LIBMAD_USE_SYSTEM=yes"
|
||||
"USE_LOCAL_LIBNYQUIST=" ;not packaged yet
|
||||
;;"LIBSBSMS_USE_SYSTEM=yes" ;bundled version is patched
|
||||
"LIBSNDFILE_USE_SYSTEM=yes"
|
||||
"LIBSOUNDTOUCH_USE_SYSTEM=yes"
|
||||
"LIBSOXR_USE_SYSTEM=yes"
|
||||
"LIBTWOLAME_USE_SYSTEM=yes"
|
||||
"LIBVAMP_USE_SYSTEM=yes"
|
||||
"LIBVORBIS_USE_SYSTEM=yes"
|
||||
"LV2_USE_SYSTEM=yes"
|
||||
"PORTAUDIO_USE_SYSTEM=yes"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'comment-out-revision-ident
|
||||
(add-after 'unpack 'fix-sbsms-check
|
||||
(lambda _
|
||||
(substitute* "src/AboutDialog.cpp"
|
||||
(("(.*RevisionIdent\\.h.*)" include-line)
|
||||
(string-append "// " include-line)))))
|
||||
;; This check is wrong: there is no 2.2.0 release; not even the
|
||||
;; bundled sources match this release string.
|
||||
(substitute* '("m4/audacity_checklib_libsbsms.m4"
|
||||
"configure")
|
||||
(("sbsms >= 2.2.0") "sbsms >= 2.0.0"))
|
||||
#t))
|
||||
(add-after 'unpack 'use-upstream-headers
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* '("src/NoteTrack.cpp"
|
||||
@@ -766,11 +826,12 @@ engineers, musicians, soundtrack editors and composers.")
|
||||
(("../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h")
|
||||
(("../lib-src/portmidi/porttime/porttime.h") "porttime.h"))
|
||||
(substitute* "src/prefs/MidiIOPrefs.cpp"
|
||||
(("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h")))))
|
||||
;; The test suite is not "well exercised" according to the developers,
|
||||
;; and fails with various errors. See
|
||||
;; <http://sourceforge.net/p/audacity/mailman/message/33524292/>.
|
||||
#:tests? #f))
|
||||
(("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h"))
|
||||
#t)))
|
||||
;; The test suite is not "well exercised" according to the developers,
|
||||
;; and fails with various errors. See
|
||||
;; <http://sourceforge.net/p/audacity/mailman/message/33524292/>.
|
||||
#:tests? #f))
|
||||
(home-page "https://www.audacityteam.org/")
|
||||
(synopsis "Software for recording and editing sounds")
|
||||
(description
|
||||
@@ -1907,15 +1968,8 @@ well suited to all musical instruments and vocals.")
|
||||
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
(string-append "INSTDIR="
|
||||
(assoc-ref %outputs "out") "/lib/lv2"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
;; See https://github.com/tomszilagyi/ir.lv2/pull/20
|
||||
(add-after 'unpack 'fix-type
|
||||
(lambda _
|
||||
(substitute* '("ir_gui.cc" "lv2_ui.h")
|
||||
(("_LV2UI_Descriptor") "LV2UI_Descriptor"))
|
||||
#t)))))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)))) ; no configure script
|
||||
(inputs
|
||||
`(("libsndfile" ,libsndfile)
|
||||
("libsamplerate" ,libsamplerate)
|
||||
@@ -2639,14 +2693,14 @@ different audio devices such as ALSA or PulseAudio.")
|
||||
(define-public qjackctl
|
||||
(package
|
||||
(name "qjackctl")
|
||||
(version "0.9.0")
|
||||
(version "0.6.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
|
||||
version "/qjackctl-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gaabf2ncd5xd846fjm3k5d0kzphlyc33k9pralc2j3r3g0cb5ji"))))
|
||||
"0zbb4jlx56qvcqyhx34mbagkqf3wbxgj84hk0ppf5cmcrxv67d4x"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; no check target
|
||||
@@ -2960,14 +3014,14 @@ input/output.")
|
||||
(define-public sratom
|
||||
(package
|
||||
(name "sratom")
|
||||
(version "0.6.6")
|
||||
(version "0.6.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.drobilla.net/sratom-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"178v90qvsp6lw4sqdmdz0bzyjkgwhv9m75ph1d1z8say5bv0p4gv"))))
|
||||
"0vh0biy3ngpzzgdml309c2mqz8xq9q0hlblczb4c6alhp0a8yv0l"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments `(#:tests? #f)) ;no check target
|
||||
(propagated-inputs
|
||||
@@ -2987,14 +3041,14 @@ the Turtle syntax.")
|
||||
(define-public suil
|
||||
(package
|
||||
(name "suil")
|
||||
(version "0.10.8")
|
||||
(version "0.10.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.drobilla.net/suil-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0h0ghk1s0lrj4gh12r7390b0ybaw7awnj0vhchyy9ll0gvhqgkci"))))
|
||||
"0z4v01pjw4wh65x38w6icn28wdwxz13ayl8hvn4p1g9kmamp1z06"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ;no check target
|
||||
@@ -3468,11 +3522,8 @@ interface.")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (list
|
||||
(string-append "mirror://sourceforge/qsynth/qsynth/" version
|
||||
"/qsynth-" version ".tar.gz")
|
||||
(string-append "mirror://sourceforge/qsynth/qsynth (attic)"
|
||||
"/qsynth-" version ".tar.gz")))
|
||||
(uri (string-append "mirror://sourceforge/qsynth/qsynth/" version
|
||||
"/qsynth-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "18im4w8agj60nkppwbkxqnhpp13z5li3w30kklv4lgs20rvgbvl6"))))
|
||||
(build-system gnu-build-system)
|
||||
@@ -3751,11 +3802,8 @@ machine-readable ASCII format.")
|
||||
(version "3.0.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list
|
||||
(string-append "http://etree.org/shnutils/shntool/dist/src/"
|
||||
"shntool-" version ".tar.gz")
|
||||
(string-append "mirror://debian/pool/main/s/shntool/shntool_"
|
||||
version ".orig.tar.gz")))
|
||||
(uri (string-append "http://etree.org/shnutils/shntool/dist/src/"
|
||||
"shntool-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"00i1rbjaaws3drkhiczaign3lnbhr161b7rbnjr8z83w8yn2wc3l"))))
|
||||
@@ -3786,9 +3834,9 @@ use them split WAVE data into multiple files.")
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; Test files are missing: https://github.com/foo86/dcadec/issues/53
|
||||
`(#:tests? #f
|
||||
'(#:tests? #f
|
||||
#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(list "CC=gcc"
|
||||
;; Build shared library.
|
||||
"CONFIG_SHARED=1"
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
@@ -3863,8 +3911,8 @@ loudness of audio and video files to the same level.")
|
||||
"0hbb290n3wb23f2k692a6bhc23nnqmxqi9sc9j15pnya8wifw64g"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list (string-append "PREFIX=" %output)
|
||||
(string-append "CC=" ,(cc-for-target)))
|
||||
'(#:make-flags (list (string-append "PREFIX=" %output)
|
||||
"CC=gcc")
|
||||
#:tests? #f ; No tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
@@ -4032,14 +4080,14 @@ on the ALSA software PCM plugin.")
|
||||
(define-public snd
|
||||
(package
|
||||
(name "snd")
|
||||
(version "20.9")
|
||||
(version "20.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
|
||||
"snd-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jxkycxn6jcbs4gklk9sk3gfr0y26dz1m71nxah9rnx80wnzj6hr"))))
|
||||
"1hw81innyyiwiyb8jkpq9aj7idmcb41yvgd1blac997023h78sss"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
@@ -4182,7 +4230,7 @@ representations.")
|
||||
(define-public cava
|
||||
(package
|
||||
(name "cava")
|
||||
(version "0.7.3")
|
||||
(version "0.6.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -4191,7 +4239,7 @@ representations.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"04j5hb29hivcbk542sfsx9m57dbnj2s6qpvy9fs488zvgjbgxrai"))))
|
||||
"1kvhqgijs29909w3sq9m0bslx2zxxn4b3i07kdz4hb0dqkppxpjy"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
@@ -4659,7 +4707,7 @@ in the package.")
|
||||
(define-public libaudec
|
||||
(package
|
||||
(name "libaudec")
|
||||
(version "0.2.4")
|
||||
(version "0.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4669,13 +4717,11 @@ in the package.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1570m2dfia17dbkhd2qhx8jjihrpm7g8nnyg6n4wif4vv229s7dz"))))
|
||||
"04hw61db8wscj28qjyiaiafx8xl87njgmvqszxyhs4gmg8xgjip7"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:meson ,meson-0.55
|
||||
#:configure-flags
|
||||
;; Build the tests.
|
||||
`("-Dtests=true")))
|
||||
;; Compile tests.
|
||||
`(#:configure-flags `("-Dtests=true")))
|
||||
(inputs
|
||||
`(("libsamplerate" ,libsamplerate)
|
||||
("libsndfile" ,libsndfile)))
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -33,14 +33,26 @@
|
||||
(define-public oath-toolkit
|
||||
(package
|
||||
(name "oath-toolkit")
|
||||
(version "2.6.4")
|
||||
(version "2.6.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.savannah.nongnu.org/releases/"
|
||||
name "/" name "-" version ".tar.gz"))
|
||||
(patches
|
||||
(append (search-patches "oath-toolkit-glibc-compat.patch")
|
||||
(list (origin
|
||||
;; This huge commit updates gnulib for GCC 7 compatibility.
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://gitlab.com/oath-toolkit/oath-toolkit/commit/"
|
||||
"2fffce2a471f74a585939c84cce16ef3015e5d3d.diff"))
|
||||
(file-name "oath-toolkit-update-gnulib.patch")
|
||||
(sha256
|
||||
(base32
|
||||
"088c9s4ay1b54bjqc4mwfs5l3f6357zj5vpw771zlq5g4addd4s0"))))))
|
||||
(sha256
|
||||
(base32 "116na9nncpwshl3ww8w3llzwk49igilplxcjy1k6jzl3mmg2bimz"))))
|
||||
(base32 "182ah8vfbg0yhv6mh1b6ap944d0na6x7lpfkwkmzb6jl9gx4cd5h"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; TODO ‘--enable-pskc’ causes xmlsec-related test suite failures.
|
||||
@@ -115,28 +127,3 @@ and the time-based @dfn{TOTP} algorithm (RFC6238).")
|
||||
(description "The Yubico PAM module provides an easy way to integrate the
|
||||
YubiKey into your existing user authentication infrastructure.")
|
||||
(license license:bsd-2))))
|
||||
|
||||
(define-public pamtester
|
||||
(package
|
||||
(name "pamtester")
|
||||
(version "0.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/pamtester/pamtester/"
|
||||
version "/pamtester-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1mdj1wj0adcnx354fs17928yn2xfr1hj5mfraq282dagi873sqw3"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("linux-pam" ,linux-pam)))
|
||||
(home-page "http://pamtester.sourceforge.net/")
|
||||
(synopsis "Utility for testing pluggable authentication modules (PAM) facility")
|
||||
(description
|
||||
"Pamtester is a tiny utility program to test the pluggable authentication
|
||||
modules (PAM) facility, specifically designed to help PAM module authors to
|
||||
intensively test their own modules.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
#:use-module (ice-9 match)
|
||||
#:export (autoconf-wrapper))
|
||||
|
||||
(define-public autoconf-2.69
|
||||
(define-public autoconf
|
||||
(package
|
||||
(name "autoconf")
|
||||
(version "2.69")
|
||||
@@ -103,39 +103,6 @@ scripts are self-contained and portable, freeing the user from needing to
|
||||
know anything about Autoconf or M4.")
|
||||
(license gpl3+))) ; some files are under GPLv2+
|
||||
|
||||
(define-public autoconf-2.70
|
||||
(package
|
||||
(inherit autoconf-2.69)
|
||||
(version "2.70")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/autoconf/autoconf-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ipckz0wr2mvhj9n3ys54fmf2aksin6bhqvzl304bn6rc1w257ps"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments autoconf-2.69)
|
||||
((#:tests? _ #f)
|
||||
;; FIXME: To run the test suite, fix all the instances where scripts
|
||||
;; generates "#! /bin/sh" shebangs.
|
||||
#f)
|
||||
((#:phases phases '%standard-phases)
|
||||
`(modify-phases ,phases
|
||||
(add-before 'check 'prepare-tests
|
||||
(lambda _
|
||||
(for-each patch-shebang
|
||||
(append (find-files "tests"
|
||||
(lambda (file stat)
|
||||
(executable-file? file)))
|
||||
(find-files "bin"
|
||||
(lambda (file stat)
|
||||
(executable-file? file)))))
|
||||
#t))))))))
|
||||
|
||||
(define-public autoconf autoconf-2.69)
|
||||
|
||||
(define-public autoconf-2.68
|
||||
(package (inherit autoconf)
|
||||
(version "2.68")
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* GNU Guix --- Functional package management for GNU
|
||||
Copyright 1996-1997,2000-2001,2006,2008,2011,2013,2018,2020
|
||||
Copyright 1996-1997,2000-2001,2006,2008,2011,2013,2018
|
||||
Free Software Foundation, Inc.
|
||||
Copyright (C) 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
|
||||
@@ -19,47 +19,14 @@
|
||||
along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* This file implements a variant of the 'guile' executable that does not
|
||||
complain about locale issues and arranges to reduce startup time by
|
||||
ignoring GUILE_LOAD_PATH and GUILE_LOAD_COMPILED_PATH until it has
|
||||
booted. */
|
||||
complain about locale issues. */
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <locale.h>
|
||||
#include <libguile.h>
|
||||
|
||||
/* Saved values of GUILE_LOAD_PATH and GUILE_LOAD_COMPILED_PATH. */
|
||||
static const char *load_path, *load_compiled_path;
|
||||
|
||||
static void
|
||||
inner_main (void *unused, int argc, char **argv)
|
||||
{
|
||||
if (load_path != NULL)
|
||||
{
|
||||
setenv ("GUILE_LOAD_PATH", load_path, 1);
|
||||
SCM load_path_var =
|
||||
scm_c_public_lookup ("guile", "%load-path");
|
||||
SCM addition =
|
||||
scm_parse_path (scm_from_locale_string (load_path), SCM_EOL);
|
||||
scm_variable_set_x (load_path_var,
|
||||
scm_append
|
||||
(scm_list_2 (scm_variable_ref (load_path_var),
|
||||
addition)));
|
||||
}
|
||||
|
||||
if (load_compiled_path != NULL)
|
||||
{
|
||||
setenv ("GUILE_LOAD_COMPILED_PATH", load_compiled_path, 1);
|
||||
SCM load_compiled_path_var =
|
||||
scm_c_public_lookup ("guile", "%load-compiled-path");
|
||||
SCM addition =
|
||||
scm_parse_path (scm_from_locale_string (load_compiled_path), SCM_EOL);
|
||||
scm_variable_set_x (load_compiled_path_var,
|
||||
scm_append
|
||||
(scm_list_2 (scm_variable_ref (load_compiled_path_var),
|
||||
addition)));
|
||||
}
|
||||
|
||||
scm_shell (argc, argv);
|
||||
}
|
||||
|
||||
@@ -73,15 +40,6 @@ main (int argc, char **argv)
|
||||
which is always preferable over the C locale. */
|
||||
setlocale (LC_ALL, "en_US.utf8");
|
||||
|
||||
const char *str;
|
||||
str = getenv ("GUILE_LOAD_PATH");
|
||||
load_path = str != NULL ? strdup (str) : NULL;
|
||||
str = getenv ("GUILE_LOAD_COMPILED_PATH");
|
||||
load_compiled_path = str ? strdup (str) : NULL;
|
||||
|
||||
unsetenv ("GUILE_LOAD_PATH");
|
||||
unsetenv ("GUILE_LOAD_COMPILED_PATH");
|
||||
|
||||
scm_install_gmp_memory_functions = 1;
|
||||
scm_boot_guile (argc, argv, inner_main, 0);
|
||||
return 0; /* never reached */
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
" This appends all of the vim plugins to the end of Vim's runtimepath.
|
||||
for directory in ["/run/current-system/profile", $HOME . "/.guix-profile", $GUIX_PROFILE, $GUIX_ENVIRONMENT]
|
||||
let vimplugins = directory . "/share/vim/vimfiles"
|
||||
if isdirectory(vimplugins)
|
||||
let &rtp = join([&rtp,vimplugins], ',')
|
||||
endif
|
||||
endfor
|
||||
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
File diff suppressed because it is too large
Load Diff
@@ -74,7 +74,7 @@
|
||||
("expat" ,expat)
|
||||
("gdbm" ,gdbm)
|
||||
("glib" ,glib)
|
||||
("libcap" ,libcap-2.31) ;to enable chroot support in avahi-daemon
|
||||
("libcap" ,libcap) ;to enable chroot support in avahi-daemon
|
||||
("libdaemon" ,libdaemon)
|
||||
("libevent" ,libevent)))
|
||||
(native-inputs
|
||||
|
||||
+53
-9
@@ -6,7 +6,7 @@
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
|
||||
@@ -82,7 +82,7 @@
|
||||
(define-public duplicity
|
||||
(package
|
||||
(name "duplicity")
|
||||
(version "0.8.17")
|
||||
(version "0.8.15")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -91,7 +91,7 @@
|
||||
"-series/" version "/+download/duplicity-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "114rwkf9b3h4fcagrx013sb7krc4hafbwl9gawjph2wd9pkv2wx2"))))
|
||||
(base32 "1kg467mxg5a97v1rlv4shk32krgv8ys4nczq4b11av4bp1lgysdc"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal) ; for msgfmt
|
||||
@@ -148,7 +148,7 @@ spying and/or modification by the server.")
|
||||
(define-public par2cmdline
|
||||
(package
|
||||
(name "par2cmdline")
|
||||
(version "0.8.1")
|
||||
(version "0.8.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -157,7 +157,7 @@ spying and/or modification by the server.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"11mx8q29cr0sryd11awab7y4mhqgbamb1ss77rffjj6in8pb4hdk"))))
|
||||
"0f1jsd5sw2wynjzi7yjqjaf13yhyjfdid91p8yh0jn32y03kjyrz"))))
|
||||
(native-inputs
|
||||
`(("automake" ,automake)
|
||||
("autoconf" ,autoconf)))
|
||||
@@ -392,7 +392,7 @@ list and implement the backup strategy.")
|
||||
`(("librsync" ,librsync-0.9)))
|
||||
(arguments
|
||||
`(#:make-flags `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
,(string-append "CC=" ,(cc-for-target)))
|
||||
"CC=gcc")
|
||||
#:tests? #f ;test input not distributed
|
||||
#:phases
|
||||
;; no configure phase
|
||||
@@ -696,6 +696,50 @@ to not fully trusted targets. Borg is a fork of Attic.")
|
||||
(home-page "https://www.borgbackup.org/")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public attic
|
||||
(package
|
||||
(name "attic")
|
||||
(version "0.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Attic" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0b5skd36r4c0915lwpkqg5hxm49gls9pprs1b7hc40910wlcsl36"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(;; The tests assume they are run as root:
|
||||
;; https://github.com/jborg/attic/issues/7
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before
|
||||
'build 'set-openssl-prefix
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "ATTIC_OPENSSL_PREFIX" (assoc-ref inputs "openssl"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("acl" ,acl)
|
||||
("openssl" ,openssl)
|
||||
("python-msgpack" ,python-msgpack)
|
||||
|
||||
;; Attic is probably incompatible with llfuse > 0.41.
|
||||
;; These links are to discussions of llfuse compatibility from
|
||||
;; the borg project. Borg is a recent fork of attic, and attic
|
||||
;; has not been updated since the fork, so it's likely that
|
||||
;; llfuse compatibility requirements are still the same.
|
||||
;; https://github.com/borgbackup/borg/issues/642
|
||||
;; https://github.com/borgbackup/borg/issues/643
|
||||
("python-llfuse" ,python-llfuse-0.41)))
|
||||
(synopsis "Deduplicating backup program")
|
||||
(description "Attic is a deduplicating backup program. The main goal of
|
||||
Attic is to provide an efficient and secure way to backup data. The data
|
||||
deduplication technique used makes Attic suitable for daily backups since only
|
||||
changes are stored.")
|
||||
(home-page "https://attic-backup.org/")
|
||||
(license license:bsd-3)
|
||||
(properties `((superseded . ,borg)))))
|
||||
|
||||
(define-public wimlib
|
||||
(package
|
||||
(name "wimlib")
|
||||
@@ -1028,7 +1072,7 @@ interactive mode.")
|
||||
(define-public burp
|
||||
(package
|
||||
(name "burp")
|
||||
(version "2.3.38")
|
||||
(version "2.3.36")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1036,7 +1080,7 @@ interactive mode.")
|
||||
(url "https://github.com/grke/burp")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "0m0s6rrgxn3l6bad45vyhks6iz6bwvd0f3rzdsc7l28gar79wsj6"))
|
||||
(base32 "18gj1sv1naql0xais01yniyzs8dxc8xk5sk8y9hsc0cd93mxgk17"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -1059,7 +1103,7 @@ interactive mode.")
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("check" ,check-0.14)
|
||||
("check" ,check)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://burp.grke.org")
|
||||
(synopsis "Differential backup and restore")
|
||||
|
||||
+5
-15
@@ -324,7 +324,7 @@ used to apply commands with arbitrarily long arguments.")
|
||||
,@(if (and (not (%current-target-system))
|
||||
(member (%current-system)
|
||||
(package-supported-systems libcap)))
|
||||
`(("libcap" ,libcap-2.31)) ;capability support in 'ls', etc.
|
||||
`(("libcap" ,libcap)) ;capability support in 'ls', etc.
|
||||
'())))
|
||||
(native-inputs
|
||||
;; Perl is needed to run tests in native builds, and to run the bundled
|
||||
@@ -1229,7 +1229,7 @@ command.")
|
||||
(define-public tzdata
|
||||
(package
|
||||
(name "tzdata")
|
||||
(version "2020d")
|
||||
(version "2020a")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -1237,10 +1237,10 @@ command.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wxskk9mh1x2073n99qna2mq58mgi648mbq5dxlqfcrnvrbkk0cd"))))
|
||||
"18lrp0zh8m931jjlrv8lvjas4ka5dfkzdbwnbw5lwd2dlbn62wal"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
'(#:tests? #f
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out"))
|
||||
(tmp (getenv "TMPDIR")))
|
||||
(list (string-append "TOPDIR=" out)
|
||||
@@ -1252,16 +1252,6 @@ command.")
|
||||
(string-append "LIBDIR=" tmp "/lib")
|
||||
(string-append "MANDIR=" tmp "/man")
|
||||
|
||||
;; XXX: tzdata 2020b changed the on-disk format
|
||||
;; of the time zone files from 'fat' to 'slim'.
|
||||
;; Many packages (particularly evolution-data-server)
|
||||
;; can not yet handle the latter, so we stick with
|
||||
;; 'fat' for now.
|
||||
,@(if (version>=? (package-version this-package)
|
||||
"2020b")
|
||||
'("CPPFLAGS=-DZIC_BLOAT_DEFAULT='\"fat\"'")
|
||||
'())
|
||||
|
||||
"AWK=awk"
|
||||
"CC=gcc"))
|
||||
#:modules ((guix build utils)
|
||||
@@ -1297,7 +1287,7 @@ command.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mgsckixmmk9qxzsflfxnp3999qi3ls72bgksclk01g852x51w3c"))))))
|
||||
"0sfnlqw1p93r7klny69rwr94fh22mz632h52phgzfgg01q9gfakx"))))))
|
||||
(home-page "https://www.iana.org/time-zones")
|
||||
(synopsis "Database of current and historical time zones")
|
||||
(description "The Time Zone Database (often called tz or zoneinfo)
|
||||
|
||||
@@ -8,8 +8,6 @@
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2020 malte Frank Gerdes <malte.f.gerdes@gmail.com>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020 Greg Hogan <code@greghogan.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -33,7 +31,6 @@
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
@@ -43,7 +40,6 @@
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages storage)
|
||||
#:use-module (ice-9 match))
|
||||
@@ -51,14 +47,14 @@
|
||||
(define-public fio
|
||||
(package
|
||||
(name "fio")
|
||||
(version "3.25")
|
||||
(version "3.23")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://brick.kernel.dk/snaps/"
|
||||
"fio-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"16r734an459cz1ax3jyhxc269i3syzdkll4qbv18wqaxpm5y34v6"))))
|
||||
"0cy32431hv0i84yrryna5byj4r610n6i1rm8nfflnrznbf051axs"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:test-target "test"
|
||||
@@ -132,7 +128,7 @@ is to write a job file matching the I/O load one wants to simulate.")
|
||||
(if (string=? (package-name mpi) "openmpi")
|
||||
""
|
||||
(string-append "-" (package-name mpi)))))
|
||||
(version "2019.6")
|
||||
(version "2019.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -141,16 +137,7 @@ is to write a job file matching the I/O load one wants to simulate.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"02hxbk9g9nl59bk5qcfl3djj7b58vsqys340m1xdbyqwcrbnahh9"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Some source configuration files in the original tarball
|
||||
;; have inappropriate execute permissions, which interferes
|
||||
;; with the install phase below.
|
||||
(for-each (lambda (file) (chmod file #o444))
|
||||
(find-files "WINDOWS" "."))
|
||||
#t))))
|
||||
"0si5xi6ilhd3w0gbsg124589pvp094hvf366rvjjb9pi7pdk5p4i"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("mpi" ,mpi)))
|
||||
@@ -280,66 +267,3 @@ benchmark how your file systems perform with respect to data read and write
|
||||
speed, the number of seeks that can be performed per second, and the number of
|
||||
file metadata operations that can be performed per second.")
|
||||
(license license:gpl2))) ;GPL 2 only, see copyright.txt
|
||||
|
||||
(define-public python-locust
|
||||
(package
|
||||
(name "python-locust")
|
||||
(version "1.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "locust" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1q2nza37fwsqf8qdmisfz6bmjpss90shi1bajrclf6gkbslhryxl"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'extend-PATH
|
||||
;; Add the 'locust' script to PATH, which is used in the test
|
||||
;; suite.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(setenv "PATH" (string-append out "/bin:"
|
||||
(getenv "PATH"))))
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "python" "-m" "pytest"
|
||||
"-k" (string-join
|
||||
(list
|
||||
;; These tests return "non-zero exit status 1".
|
||||
"not test_default_headless_spawn_options"
|
||||
"not test_default_headless_spawn_options_with_shape"
|
||||
"not test_headless_spawn_options_wo_run_time"
|
||||
;; This test depends on networking.
|
||||
"not test_web_options"
|
||||
;; This test fails because of the warning "System open
|
||||
;; file limit '1024' is below minimum setting '10000'".
|
||||
"not test_skip_logging") " and "))
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
`(("python-configargparse" ,python-configargparse)
|
||||
("python-flask" ,python-flask)
|
||||
("python-flask-basicauth" ,python-flask-basicauth)
|
||||
("python-gevent" ,python-gevent)
|
||||
("python-geventhttpclient" ,python-geventhttpclient)
|
||||
("python-msgpack" ,python-msgpack)
|
||||
("python-psutil" ,python-psutil)
|
||||
("python-pyzmq" ,python-pyzmq)
|
||||
("python-requests" ,python-requests)
|
||||
("python-werkzeug" ,python-werkzeug)))
|
||||
(native-inputs
|
||||
`(("python-mock" ,python-mock)
|
||||
("python-pyquery" ,python-pyquery)
|
||||
("python-pytest" ,python-pytest))) ;for more easily skipping tests
|
||||
(home-page "https://locust.io/")
|
||||
(synopsis "Distributed load testing framework")
|
||||
(description "Locust is a performance testing tool that aims to be easy to
|
||||
use, scriptable and scalable. The test scenarios are described in plain
|
||||
Python. It provides a web-based user interface to visualize the results in
|
||||
real-time, but can also be run non-interactively. Locust is primarily geared
|
||||
toward testing HTTP-based applications or services, but it can be customized to
|
||||
test any system or protocol.")
|
||||
(license license:expat)))
|
||||
|
||||
+668
-1218
File diff suppressed because it is too large
Load Diff
+284
-600
File diff suppressed because it is too large
Load Diff
+10
-18
@@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
|
||||
@@ -75,17 +75,12 @@
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wjmn96zrvmk8j1yz2ysmqd7a2x6ilvnwwapcvfzgxs2wwpnai4i"))
|
||||
(patches (search-patches "transmission-honor-localedir.patch"))))
|
||||
"1wjmn96zrvmk8j1yz2ysmqd7a2x6ilvnwwapcvfzgxs2wwpnai4i"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(outputs '("out" ; library and command-line interface
|
||||
"gui")) ; graphical user interface
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
(list (string-append "--localedir="
|
||||
(assoc-ref %outputs "gui")
|
||||
"/share/locale"))
|
||||
#:glib-or-gtk-wrap-excluded-outputs '("out")
|
||||
'(#:glib-or-gtk-wrap-excluded-outputs '("out")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'move-gui
|
||||
@@ -98,17 +93,14 @@
|
||||
(rename-file (string-append out "/bin/transmission-gtk")
|
||||
(string-append gui "/bin/transmission-gtk"))
|
||||
|
||||
;; Move the '.desktop' and icon files as well.
|
||||
(mkdir (string-append gui "/share"))
|
||||
(for-each
|
||||
(lambda (dir)
|
||||
(rename-file (string-append out "/share/" dir)
|
||||
(string-append gui "/share/" dir)))
|
||||
'("appdata" "applications" "icons" "pixmaps"))
|
||||
|
||||
(mkdir-p (string-append gui "/share/man/man1"))
|
||||
(rename-file
|
||||
(string-append out "/share/man/man1/transmission-gtk.1")
|
||||
(string-append gui "/share/man/man1/transmission-gtk.1"))
|
||||
#t))))))
|
||||
'("applications" "icons" "pixmaps")))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("libevent" ,libevent)
|
||||
("curl" ,curl)
|
||||
@@ -316,7 +308,7 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
|
||||
(define-public uget
|
||||
(package
|
||||
(name "uget")
|
||||
(version "2.2.1")
|
||||
(version "2.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -324,7 +316,7 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
|
||||
"uget%20%28stable%29/" version "/uget-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0dlrjhnm1pg2vwmp7nl2xv1aia5hyirb3021rl46x859k63zap24"))))
|
||||
(base32 "0rg2mr2cndxvnjib8zm5dp7y2hgbvnqkz2j2jmg0xlzfh9d34b2m"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
@@ -363,7 +355,7 @@ downloads, download scheduling, download rate limiting.")
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)) ; no configure script
|
||||
#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
#:make-flags (list "CC=gcc"
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
"NO_HASH_CHECK=1"
|
||||
"USE_LARGE_FILES=1"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 nee <nee@cock.li>
|
||||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
@@ -115,12 +115,11 @@
|
||||
;; determine the root file system when it's a RAID
|
||||
;; device. Failing to do that, 'grub-probe' silently
|
||||
;; fails if 'mdadm' is not in $PATH.
|
||||
(when (assoc-ref inputs "mdadm")
|
||||
(substitute* "grub-core/osdep/linux/getroot.c"
|
||||
(("argv\\[0\\] = \"mdadm\"")
|
||||
(string-append "argv[0] = \""
|
||||
(assoc-ref inputs "mdadm")
|
||||
"/sbin/mdadm\""))))
|
||||
(substitute* "grub-core/osdep/linux/getroot.c"
|
||||
(("argv\\[0\\] = \"mdadm\"")
|
||||
(string-append "argv[0] = \""
|
||||
(assoc-ref inputs "mdadm")
|
||||
"/sbin/mdadm\"")))
|
||||
|
||||
;; Make the font visible.
|
||||
(copy-file (assoc-ref (or native-inputs inputs)
|
||||
@@ -134,20 +133,6 @@
|
||||
(string-append (assoc-ref inputs "console-setup")
|
||||
"/bin/ckbcomp ")))
|
||||
#t))
|
||||
(add-after 'unpack 'set-freetype-variables
|
||||
;; These variables need to be set to the native versions
|
||||
;; of the dependencies because they are used to build
|
||||
;; programs which are executed during build time.
|
||||
(lambda* (#:key native-inputs #:allow-other-keys)
|
||||
(when (assoc-ref native-inputs "freetype")
|
||||
(let ((freetype (assoc-ref native-inputs "freetype")))
|
||||
(setenv "BUILD_FREETYPE_LIBS"
|
||||
(string-append "-L" freetype
|
||||
"/lib -lfreetype"))
|
||||
(setenv "BUILD_FREETYPE_CFLAGS"
|
||||
(string-append "-I" freetype
|
||||
"/include/freetype2"))))
|
||||
#t))
|
||||
(add-before 'check 'disable-flaky-test
|
||||
(lambda _
|
||||
;; This test is unreliable. For more information, see:
|
||||
@@ -164,11 +149,10 @@
|
||||
(("test_unset grub_func_test")
|
||||
"test_unset"))
|
||||
#t)))
|
||||
;; Disable tests on ARM and AARCH64 platforms or when cross-compiling.
|
||||
#:tests? ,(not (or (any (cute string-prefix? <> (or (%current-target-system)
|
||||
(%current-system)))
|
||||
'("arm" "aarch64"))
|
||||
(%current-target-system)))))
|
||||
;; Disable tests on ARM and AARCH64 platforms.
|
||||
#:tests? ,(not (any (cute string-prefix? <> (or (%current-target-system)
|
||||
(%current-system)))
|
||||
'("arm" "aarch64")))))
|
||||
(inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
|
||||
@@ -210,7 +194,6 @@
|
||||
("flex" ,flex)
|
||||
("texinfo" ,texinfo)
|
||||
("help2man" ,help2man)
|
||||
("freetype" ,freetype) ; native version needed for build-grub-mkfont
|
||||
|
||||
;; XXX: When building GRUB 2.02 on 32-bit x86, we need a binutils
|
||||
;; capable of assembling 64-bit instructions. However, our default
|
||||
@@ -258,25 +241,21 @@ menu to select one of the installed operating systems.")
|
||||
(fold alist-delete (package-native-inputs grub)
|
||||
'("help2man" "texinfo" "parted" "qemu" "xorriso")))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments grub)
|
||||
((#:configure-flags _ ''())
|
||||
'(list "PYTHON=true"))
|
||||
((#:tests? _ #t)
|
||||
#f)
|
||||
((#:phases phases '%standard-phases)
|
||||
`(modify-phases ,phases
|
||||
(replace 'patch-stuff
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(substitute* "grub-core/Makefile.in"
|
||||
(("/bin/sh") (which "sh")))
|
||||
`(#:configure-flags (list "PYTHON=true")
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-stuff
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(substitute* "grub-core/Makefile.in"
|
||||
(("/bin/sh") (which "sh")))
|
||||
|
||||
;; Make the font visible.
|
||||
(copy-file (assoc-ref (or native-inputs inputs)
|
||||
"unifont")
|
||||
"unifont.bdf.gz")
|
||||
(system* "gunzip" "unifont.bdf.gz")
|
||||
;; Make the font visible.
|
||||
(copy-file (assoc-ref (or native-inputs inputs)
|
||||
"unifont")
|
||||
"unifont.bdf.gz")
|
||||
(system* "gunzip" "unifont.bdf.gz")
|
||||
|
||||
#t))))))))
|
||||
#t)))
|
||||
#:tests? #f))))
|
||||
|
||||
(define-public grub-efi
|
||||
(package
|
||||
@@ -424,7 +403,7 @@ menu to select one of the installed operating systems.")
|
||||
(define-public dtc
|
||||
(package
|
||||
(name "dtc")
|
||||
(version "1.6.0")
|
||||
(version "1.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -432,7 +411,7 @@ menu to select one of the installed operating systems.")
|
||||
"dtc-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bf8801z6fpd1gz9mxd5pqqj8nq101x393cyw8rpkc712w13nl0h"))))
|
||||
"07q3mdsvl4smbiakriq3hnsyyd0q344lsm306q0kgz4hjq1p82v6"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
@@ -445,7 +424,7 @@ menu to select one of the installed operating systems.")
|
||||
`(("python" ,python)))
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(list "CC=gcc"
|
||||
|
||||
;; /bin/fdt{get,overlay,put} need help finding libfdt.so.1.
|
||||
(string-append "LDFLAGS=-Wl,-rpath="
|
||||
@@ -456,15 +435,6 @@ menu to select one of the installed operating systems.")
|
||||
"INSTALL=install")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-pkg-config
|
||||
(lambda _
|
||||
(substitute* '("Makefile"
|
||||
"tests/run_tests.sh")
|
||||
(("pkg-config")
|
||||
(or (which "pkg-config")
|
||||
(string-append ,(%current-target-system)
|
||||
"-pkg-config"))))
|
||||
#t))
|
||||
(delete 'configure)))) ; no configure script
|
||||
(home-page "https://www.devicetree.org")
|
||||
(synopsis "Compiles device tree source files")
|
||||
|
||||
@@ -1,123 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages browser-extensions)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu build chromium-extension)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages python))
|
||||
|
||||
(define play-to-kodi
|
||||
(package
|
||||
(name "play-to-kodi")
|
||||
(version "1.9.1")
|
||||
(home-page "https://github.com/khloke/play-to-xbmc-chrome")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url home-page) (commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"01rmcpbkn9vhcd8mrah2jmd2801k2r5fz7aqvp22hbwmh2z5f1ch"))))
|
||||
(build-system copy-build-system)
|
||||
(synopsis "Send website contents to Kodi")
|
||||
(description
|
||||
"Play to Kodi is a browser add-on that can send video, audio, and other
|
||||
supported content to the Kodi media center.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public play-to-kodi/chromium
|
||||
(make-chromium-extension play-to-kodi))
|
||||
|
||||
(define uassets
|
||||
(let ((commit "0b1bde3958d98ba4d78b0a28cda1239c2fc1d918"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/uBlockOrigin/uAssets")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "uAssets" (string-take commit 9)))
|
||||
(sha256
|
||||
(base32
|
||||
"0f5j3dcglra7y4ad3gryq6mgavc7pcn4rkkc5wf1mnnk00bnn4gk")))))
|
||||
|
||||
(define ublock-origin
|
||||
(package
|
||||
(name "ublock-origin")
|
||||
(version "1.32.0")
|
||||
(home-page "https://github.com/gorhill/uBlock")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url home-page) (commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14k04lww9nlx1f1pjkz542fd2la255c6yd72d0ri86k0m9i3vk7z"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("xpi" "firefox" "chromium"))
|
||||
(arguments
|
||||
'(#:tests? #f ;no tests
|
||||
#:allowed-references ()
|
||||
#:phases
|
||||
(modify-phases (map (lambda (phase)
|
||||
(assq phase %standard-phases))
|
||||
'(set-paths unpack patch-source-shebangs))
|
||||
(add-after 'unpack 'link-uassets
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(symlink (string-append (assoc-ref (or native-inputs inputs)
|
||||
"uassets"))
|
||||
"../uAssets")
|
||||
#t))
|
||||
(add-after 'unpack 'make-files-writable
|
||||
(lambda _
|
||||
;; The build system copies some files and later tries
|
||||
;; modifying them.
|
||||
(for-each make-file-writable (find-files "."))
|
||||
#t))
|
||||
(add-after 'patch-source-shebangs 'build-xpi
|
||||
(lambda _
|
||||
(invoke "./tools/make-firefox.sh" "all")))
|
||||
(add-after 'build-xpi 'build-chromium
|
||||
(lambda _
|
||||
(invoke "./tools/make-chromium.sh")))
|
||||
(add-after 'build-chromium 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((firefox (assoc-ref outputs "firefox"))
|
||||
(xpi (assoc-ref outputs "xpi"))
|
||||
(chromium (assoc-ref outputs "chromium")))
|
||||
(install-file "dist/build/uBlock0.firefox.xpi"
|
||||
(string-append xpi "/lib/mozilla/extensions"))
|
||||
(copy-recursively "dist/build/uBlock0.firefox" firefox)
|
||||
(copy-recursively "dist/build/uBlock0.chromium" chromium)
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("python" ,python-wrapper)
|
||||
("uassets" ,uassets)
|
||||
("zip" ,zip)))
|
||||
(synopsis "Block unwanted content from web sites")
|
||||
(description
|
||||
"uBlock Origin is a @dfn{wide spectrum blocker} for IceCat and
|
||||
ungoogled-chromium.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public ublock-origin/chromium
|
||||
(make-chromium-extension ublock-origin "chromium"))
|
||||
@@ -6,12 +6,11 @@
|
||||
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
|
||||
;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
|
||||
;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
|
||||
;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -36,27 +35,18 @@
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages regex)
|
||||
#:use-module (gnu packages rpc)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python))
|
||||
@@ -77,7 +67,7 @@
|
||||
"13br735ig7lygvzyfd15fc2rdygrqm503j6xj5xkrl1r7w2wipq6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags `(,(string-append "CC=" ,(cc-for-target))
|
||||
`(#:make-flags `("CC=gcc"
|
||||
,(string-append "INSTALL_PREFIX="
|
||||
(assoc-ref %outputs "out")))
|
||||
#:test-target "test"
|
||||
@@ -99,46 +89,19 @@ makes a few sacrifices to acquire fast full and incremental build times.")
|
||||
(define-public bear
|
||||
(package
|
||||
(name "bear")
|
||||
(version "3.0.4")
|
||||
(version "2.4.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rizsotto/Bear")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches
|
||||
"bear-disable-preinstall-tests.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"15r22sbk5bibrhf54lf0shiqw1gnsik24fr5as96w3hnj6iahgwn"))))
|
||||
"184dqjcpxiwcfziyi67zzran2c4fal1r3j8nhjdjadcmfxf4389d"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-before 'check 'set-build-environment
|
||||
(lambda _
|
||||
(setenv "CC" "gcc")
|
||||
#t))
|
||||
;; TODO: Test Configuration is Incomplete
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "ctest"))))))
|
||||
(inputs
|
||||
`(("c-ares" ,c-ares)
|
||||
("fmt" ,fmt)
|
||||
("grpc" ,grpc)
|
||||
("json-modern-cxx" ,json-modern-cxx)
|
||||
("protobuf" ,protobuf)
|
||||
("python" ,python-wrapper)
|
||||
("re2" ,re2)
|
||||
("spdlog" ,spdlog)))
|
||||
(native-inputs
|
||||
`(("abseil-cpp" ,abseil-cpp)
|
||||
("gcc-9" ,gcc-9) ; for <filesystem>, #44896
|
||||
("googletest" ,googletest)
|
||||
("openssl" ,openssl)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python-lit" ,python-lit)
|
||||
("zlib" ,zlib)))
|
||||
`(("python" ,python-wrapper)))
|
||||
(home-page "https://github.com/rizsotto/Bear")
|
||||
(synopsis "Tool for generating a compilation database")
|
||||
(description "A JSON compilation database is used in the Clang project to
|
||||
@@ -289,7 +252,7 @@ resembles Python.")
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip))) ; for unpacking the source
|
||||
(arguments
|
||||
`(#:make-flags (list (string-append "CC=" ,(cc-for-target)))
|
||||
`(#:make-flags '("CC=gcc")
|
||||
#:tests? #f ; No test suite
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@@ -22,7 +22,6 @@
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
@@ -33,7 +32,7 @@
|
||||
(define-public busybox
|
||||
(package
|
||||
(name "busybox")
|
||||
(version "1.32.0")
|
||||
(version "1.31.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -41,7 +40,10 @@
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"12g63zsvzfz04wbyga8riyl8ils05riw4xf26cyiaasbs3qqfpf3"))))
|
||||
"1659aabzp8w4hayr4z8kcpbk2z1q2wqhw7i1yb0l72b45ykl1yfh"))
|
||||
(patches
|
||||
(search-patches
|
||||
"busybox-1.31.1-fix-build-with-glibc-2.31.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
@@ -88,7 +90,7 @@
|
||||
;; true in guix build environment
|
||||
(substitute* "testsuite/pidof.tests"
|
||||
(("-s init") "-s $(cat /proc/1/comm)"))
|
||||
|
||||
|
||||
;; This test cannot possibly pass.
|
||||
;; It is trying to test that "which ls" returns "/bin/ls" when PATH is not set.
|
||||
;; However, this relies on /bin/ls existing. Which it does not in guix.
|
||||
@@ -133,11 +135,11 @@ any small or embedded system.")
|
||||
"00aw9d809wj1bqlb2fsssdgz7rj0363ya14py0gfdm0rkp98zcpa"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'set-environment-variables
|
||||
(lambda _
|
||||
(setenv "CC" ,(cc-for-target))
|
||||
(setenv "CC" (which "gcc"))
|
||||
(setenv "HOSTCC" (which "gcc"))
|
||||
#t))
|
||||
(replace 'configure
|
||||
|
||||
+4
-83
@@ -3,14 +3,13 @@
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020 Greg Hogan <code@greghogan.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -29,14 +28,11 @@
|
||||
|
||||
(define-module (gnu packages c)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix utils)
|
||||
#: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 build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages bootstrap)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages check)
|
||||
@@ -187,8 +183,6 @@ language with thin bindings for other languages.")
|
||||
(define-public udunits
|
||||
(package
|
||||
(name "udunits")
|
||||
;; Four-part version numbers are development snapshots, not releases. See
|
||||
;; <https://github.com/Unidata/UDUNITS-2/issues/99#issuecomment-732323472>.
|
||||
(version "2.2.26")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
@@ -376,7 +370,7 @@ any other grammar rules.")
|
||||
(define-public sparse
|
||||
(package
|
||||
(name "sparse")
|
||||
(version "0.6.3")
|
||||
(version "0.6.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@@ -384,7 +378,7 @@ any other grammar rules.")
|
||||
"sparse-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16d8c4dhipjzjf8z4z7pix1pdpqydz0v4r7i345f5s09hjnxpxnl"))))
|
||||
"1z11chawwcmf5xxx5v52cj7wrr3warz6q5wlcjvxpif1jbga172i"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("perl" ,perl)))
|
||||
(arguments
|
||||
@@ -524,8 +518,7 @@ replacement for the syslog() call, but retains its ease of use.")
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(delete 'configure))
|
||||
#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "prefix=" %output))
|
||||
#:make-flags (list "CC=gcc" (string-append "prefix=" %output))
|
||||
#:tests? #f)) ;no test suite
|
||||
(native-inputs
|
||||
`(("perl" ,perl)))
|
||||
@@ -539,75 +532,3 @@ avoiding distractions when studying code that uses @code{#ifdef} heavily for
|
||||
portability.")
|
||||
(license (list license:bsd-2 ;all files except...
|
||||
license:bsd-3)))) ;...the unidef.1 manual page
|
||||
|
||||
(define-public aws-c-common
|
||||
(package
|
||||
(name "aws-c-common")
|
||||
(version "0.4.63")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url (string-append "https://github.com/awslabs/" name))
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"16bc6fn1gq3nqcrzgpi2kjphq7xkkr73aljakrg89ysm6hyzyim9"))))
|
||||
(build-system cmake-build-system)
|
||||
(synopsis "Amazon Web Services core C library")
|
||||
(description
|
||||
"This library provides common C99 primitives, configuration, data
|
||||
structures, and error handling for the @acronym{AWS,Amazon Web Services} SDK.")
|
||||
(home-page "https://github.com/awslabs/aws-c-common")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public aws-checksums
|
||||
(package
|
||||
(name "aws-checksums")
|
||||
(version "0.1.10")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url (string-append "https://github.com/awslabs/" name))
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1f9scl5734pgjlsixspwljrrlndzhllwlfygdcr1gx5p0za08zjb"))
|
||||
(patches (search-patches "aws-checksums-cmake-prefix.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("aws-c-common" ,aws-c-common)))
|
||||
(synopsis "Amazon Web Services checksum library")
|
||||
(description
|
||||
"This library provides cross-Platform hardware accelerated CRC32c and CRC32
|
||||
with fallback to efficient C99 software implementations.")
|
||||
(home-page "https://github.com/awslabs/aws-checksums")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public aws-c-event-stream
|
||||
(package
|
||||
(name "aws-c-event-stream")
|
||||
(version "0.1.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url (string-append "https://github.com/awslabs/" name))
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vl9ainc4klv0g9gk1iv4833bsllni6jxn6mwb0fnv2dnlz7zv9q"))
|
||||
(patches (search-patches "aws-c-event-stream-cmake-prefix.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(propagated-inputs
|
||||
`(("aws-c-common" ,aws-c-common)))
|
||||
(inputs
|
||||
`(("aws-checksums" ,aws-checksums)))
|
||||
(synopsis "Amazon Web Services client-server message format library")
|
||||
(description
|
||||
"This library is a C99 implementation for @acronym{AWS,Amazon Web Services}
|
||||
event stream encoding, a binary format for bidirectional client-server
|
||||
communication.")
|
||||
(home-page "https://github.com/awslabs/aws-c-event-stream")
|
||||
(license license:asl2.0)))
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages dav)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
@@ -126,20 +125,12 @@ the <tz.h> library for handling time zones and leap seconds.")
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; test suite appears broken
|
||||
#:parallel-build? #f ;may cause GIR generation failure
|
||||
#:configure-flags '("-DSHARED_ONLY=true"
|
||||
;; required by evolution-data-server
|
||||
"-DGOBJECT_INTROSPECTION=true"
|
||||
"-DICAL_GLIB_VAPI=true")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-docbook-reference
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "doc/reference/libical-glib/libical-glib-docs.sgml.in"
|
||||
(("http://www.oasis-open.org/docbook/xml/4.3/")
|
||||
(string-append (assoc-ref inputs "docbook-xml")
|
||||
"/xml/dtd/docbook/")))
|
||||
#t))
|
||||
(add-before 'configure 'patch-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; TODO: libical 3.1.0 supports using TZDIR instead of a hard-coded
|
||||
@@ -154,8 +145,7 @@ the <tz.h> library for handling time zones and leap seconds.")
|
||||
(("\\\"/usr/share/lib/zoneinfo\\\"") "")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("docbook-xml" ,docbook-xml-4.3)
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
`(("gobject-introspection" ,gobject-introspection)
|
||||
("gtk-doc" ,gtk-doc)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)
|
||||
|
||||
@@ -953,7 +953,7 @@ CD data, and more. It's mostly compatible with @code{cdrtools}.")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/cdemu/libmirage/libmirage-"
|
||||
"https://downloads.sourceforge.net/cdemu/libmirage-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
@@ -982,7 +982,7 @@ the data stored in various image formats.")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/cdemu/cdemu-daemon/"
|
||||
"https://downloads.sourceforge.net/cdemu/cdemu-daemon/"
|
||||
"cdemu-daemon-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
@@ -1011,7 +1011,7 @@ drive and disc (including CD-ROMs and DVD-ROMs).")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/cdemu/cdemu-client/cdemu-client-"
|
||||
"https://downloads.sourceforge.net/cdemu/cdemu-client-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
(define-public nss-certs
|
||||
(package
|
||||
(name "nss-certs")
|
||||
(version "3.57")
|
||||
(version "3.52.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (let ((version-with-underscores
|
||||
@@ -87,7 +87,7 @@
|
||||
"nss-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"10n3pncg6k81ikjz12la147rppwqn57bkrdl9gb820w6pq0nra2m"))))
|
||||
"0y4jb9095f7bbgw7d7kvzm4c3g4p5i6y68fwhb8wlkpb7b1imj5w"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"))
|
||||
(native-inputs
|
||||
|
||||
+21
-83
@@ -35,7 +35,6 @@
|
||||
;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
|
||||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -82,8 +81,7 @@
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (srfi srfi-1))
|
||||
#:use-module (guix build-system trivial))
|
||||
|
||||
(define-public pedansee
|
||||
(package
|
||||
@@ -121,7 +119,7 @@ modify some aspects of this style through the use of regular expressions.")
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/ebassi/mutest")
|
||||
(url "https://github.com/ebassi/mutest.git")
|
||||
(commit "e6246c9")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -137,7 +135,7 @@ like Jasmine or Mocha.")
|
||||
(define-public check
|
||||
(package
|
||||
(name "check")
|
||||
(version "0.15.2")
|
||||
(version "0.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -145,7 +143,7 @@ like Jasmine or Mocha.")
|
||||
version "/check-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02m25y9m46pb6n46s51av62kpd936lkfv3b13kfpckgvmh5lxpm8"))))
|
||||
"02zkfiyklckmivrfvdsrlzvzphkdsgjrz3igncw05dv5pshhq3xx"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://libcheck.github.io/check/")
|
||||
(synopsis "Unit test framework for C")
|
||||
@@ -158,19 +156,7 @@ faults or other signals. The output from unit tests can be used within
|
||||
source code editors and IDEs.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
;; Some packages require older versions. Removed once no longer needed.
|
||||
(define-public check-0.14
|
||||
(package
|
||||
(inherit check)
|
||||
(version "0.14.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/libcheck/check/releases"
|
||||
"/download/" version "/check-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02zkfiyklckmivrfvdsrlzvzphkdsgjrz3igncw05dv5pshhq3xx"))))))
|
||||
|
||||
;; Some packages require this older version. Removed once no longer needed.
|
||||
(define-public check-0.12
|
||||
(package
|
||||
(inherit check)
|
||||
@@ -266,14 +252,14 @@ with a flexible variety of user interfaces.")
|
||||
(define-public cppunit
|
||||
(package
|
||||
(name "cppunit")
|
||||
(version "1.15.1")
|
||||
(version "1.14.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dev-www.libreoffice.org/src/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19qpqzy66bq76wcyadmi3zahk5v1ll2kig1nvg96zx9padkcdic9"))))
|
||||
"1027cyfx5gsjkdkaf6c2wnjh68882grw8n672018cj3vs9lrhmix"))))
|
||||
;; Explicitly link with libdl. This is expected to be done by packages
|
||||
;; relying on cppunit for their tests. However, not all of them do.
|
||||
;; If we added the linker flag to such packages, we would pollute all
|
||||
@@ -442,7 +428,7 @@ format.")
|
||||
(define-public cppcheck
|
||||
(package
|
||||
(name "cppcheck")
|
||||
(version "2.3")
|
||||
(version "1.90")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -450,7 +436,7 @@ format.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "03ic5mig3ryzkf85r95ryagf84s7y5nd6sqr915l3zj30apnifvz"))))
|
||||
(base32 "0h7ir2x0k005fm586dxmaphgv5cyz25k3k4sh02p7zb78gzx398h"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("-DBUILD_TESTS=ON")))
|
||||
@@ -511,7 +497,7 @@ and it supports a very flexible form of test discovery.")
|
||||
(define-public doctest
|
||||
(package
|
||||
(name "doctest")
|
||||
(version "2.4.1")
|
||||
(version "2.4.0")
|
||||
(home-page "https://github.com/onqtam/doctest")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
@@ -519,7 +505,7 @@ and it supports a very flexible form of test discovery.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"17g7n6rjs90i0b231x5s934qnr8m80ga2yg1z344bnsdiqcjd63w"))))
|
||||
"1yi95saqv8qb3ix6w8d7ffvs7qbwvqmq6wblckhxhicxxdxk85cd"))))
|
||||
(build-system cmake-build-system)
|
||||
(synopsis "C++ test framework")
|
||||
(description
|
||||
@@ -933,57 +919,18 @@ and many external plugins.")
|
||||
(license license:expat)
|
||||
(properties `((python2-variant . ,(delay python2-pytest))))))
|
||||
|
||||
(define-public python-pytest-6
|
||||
(package
|
||||
(inherit (strip-python2-variant python-pytest))
|
||||
(version "6.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0gl2sdm322vzmsh5k4f8kj9raiq2y7kdinnca4m45ifvii5fk9y0"))))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key (tests? #t) #:allow-other-keys)
|
||||
(setenv "TERM" "dumb") ;attempt disabling markup tests
|
||||
(if tests?
|
||||
(invoke "pytest" "-vv" "-k"
|
||||
(string-append
|
||||
;; This test involve the /usr directory, and fails.
|
||||
" not test_argcomplete"
|
||||
;; These test do not honor the isatty detection and
|
||||
;; fail.
|
||||
" and not test_code_highlight"
|
||||
" and not test_color_yes"))
|
||||
(format #t "test suite not run~%"))
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
(append (alist-delete "python-py"
|
||||
(package-propagated-inputs python-pytest))
|
||||
`(("python-py" ,python-py-next))))
|
||||
(native-inputs
|
||||
(append (alist-delete "python-pytest"
|
||||
(package-native-inputs python-pytest))
|
||||
`(("python-pytest" ,python-pytest-6-bootstrap)
|
||||
("python-toml" ,python-toml)
|
||||
("python-iniconfig" ,python-iniconfig))))))
|
||||
|
||||
;; Pytest 4.x are the last versions that support Python 2.
|
||||
(define-public python2-pytest
|
||||
(package
|
||||
(inherit (strip-python2-variant python-pytest))
|
||||
(name "python2-pytest")
|
||||
(version "4.6.11")
|
||||
(version "4.6.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ls3pqr86xgif6bphsb6wrww9r2vc7p7a2naq8zcq8115wwq5yjh"))))
|
||||
"0fgkmpc31nzy97fxfrkqbzycigdwxwwmninx3qhkzp81migggs0r"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2
|
||||
@@ -1016,15 +963,6 @@ and many external plugins.")
|
||||
(arguments `(#:tests? #f))
|
||||
(properties `((python2-variant . ,(delay python2-pytest-bootstrap))))))
|
||||
|
||||
(define-public python-pytest-6-bootstrap
|
||||
(package
|
||||
(inherit (strip-python2-variant python-pytest-6))
|
||||
(name "python-pytest-bootstrap")
|
||||
(arguments `(#:tests? #f))
|
||||
(native-inputs
|
||||
`(("python-setuptools-scm" ,python-setuptools-scm)
|
||||
("python-toml" ,python-toml)))))
|
||||
|
||||
(define-public python2-pytest-bootstrap
|
||||
(hidden-package
|
||||
(package/inherit
|
||||
@@ -1198,14 +1136,14 @@ same arguments.")
|
||||
(define-public python-pytest-xdist
|
||||
(package
|
||||
(name "python-pytest-xdist")
|
||||
(version "2.1.0")
|
||||
(version "1.25.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-xdist" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wh6pn66nncfs6ay0n863bgyriwsgppn8flx5l7551j1lbqkinc2"))
|
||||
"1d812apvcmshh2l8f38spqwb3bpp0x43yy7lyfpxxzc99h4r7y4n"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -1477,14 +1415,14 @@ use of resources by test cases.")))
|
||||
(define-public python-subunit-bootstrap
|
||||
(package
|
||||
(name "python-subunit-bootstrap")
|
||||
(version "1.4.0")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "python-subunit" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0j0ymmnc5nfxi1qzvy59j27viqca7l7xd0y9x29g7yr0h693j804"))))
|
||||
"1fsw8rsn1s3nklx06mayrg5rn2zbky6wwjc5z07s7rf1wjzfs1wn"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-extras" ,python-extras)
|
||||
@@ -1624,14 +1562,14 @@ have failed since the last commit or what tests are currently failing.")))
|
||||
(define-public python-coverage
|
||||
(package
|
||||
(name "python-coverage")
|
||||
(version "5.2.1")
|
||||
(version "5.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "coverage" version))
|
||||
(sha256
|
||||
(base32
|
||||
"16z8i18msgs8k74n73dj9x49wzkl0vk4vq8k5pl1bsj70y7b4k53"))))
|
||||
"1vrg8panqw79pswg52ygbrff3wdnxarrd9qz6c64ah0c4h2cmbvp"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; FIXME: 95 tests failed, 539 passed, 6 skipped, 2 errors.
|
||||
@@ -2743,7 +2681,7 @@ provides a simple way to achieve this.")
|
||||
(define-public umockdev
|
||||
(package
|
||||
(name "umockdev")
|
||||
(version "0.14.4")
|
||||
(version "0.14.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/martinpitt/umockdev/"
|
||||
@@ -2751,7 +2689,7 @@ provides a simple way to achieve this.")
|
||||
"umockdev-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xmi24ckpps32k7hc139psgbsnsf4g106sv4l9m445m46amkxggd"))))
|
||||
"15smnxwplk48nas2c8ji6a5fqcsh770f1yl5nc2j5iprjspbm4mg"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
||||
+15
-16
@@ -3,7 +3,6 @@
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -43,29 +42,29 @@
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define nanopass
|
||||
(let ((version "1.9.1"))
|
||||
(let ((version "1.9"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nanopass/nanopass-framework-scheme")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256 (base32 "1synadgaycca39jfx525975ss9y0lkl516sdrc62wrrllamm8n21"))
|
||||
(sha256 (base32 "0lrngdna6w7v9vlp1a873hgwrwsz2p0pgkccswa4smzvdyhgfsri"))
|
||||
(file-name (git-file-name "nanopass" version)))))
|
||||
|
||||
(define stex
|
||||
(let ((version "1.2.2"))
|
||||
(let ((version "1.2.1"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dybvig/stex")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256 (base32 "1q5i8pf4cdfjsj6r2k1rih7ljbfggyxdng2p2fvsgarzihpsin2i"))
|
||||
(sha256 (base32 "1jiawhhqnsj42hzmlbq5xby3iarhf8vhiqs0kg1a0zg5jsn6cf8n"))
|
||||
(file-name (git-file-name "stex" version)))))
|
||||
|
||||
(define-public chez-scheme
|
||||
(package
|
||||
(name "chez-scheme")
|
||||
(version "9.5.4")
|
||||
(version "9.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -73,15 +72,13 @@
|
||||
(url "https://github.com/cisco/ChezScheme")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "0prgn2z9l888j93ydxaf04ph424g0fi3a8w7f8m0b2r7fr1v7388"))
|
||||
(base32 "1hagrqdp649n2g0wq2a9gfnz7mjcjakkw7ziplbj3db412bb7kx5"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)
|
||||
("libuuid" ,util-linux "lib")
|
||||
("libx11" ,libx11)
|
||||
("lz4" ,lz4)
|
||||
("lz4:static" ,lz4 "static")
|
||||
("xorg-rgb" ,xorg-rgb)
|
||||
("nanopass" ,nanopass)
|
||||
("zlib" ,zlib)
|
||||
@@ -121,7 +118,7 @@
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(nanopass (assoc-ref inputs "nanopass"))
|
||||
(stex (assoc-ref inputs "stex"))
|
||||
(lz4-static (assoc-ref inputs "lz4:static"))
|
||||
(zlib (assoc-ref inputs "zlib"))
|
||||
(zlib-static (assoc-ref inputs "zlib:static"))
|
||||
(unpack (assoc-ref %standard-phases 'unpack))
|
||||
(patch-source-shebangs
|
||||
@@ -140,6 +137,13 @@
|
||||
;; and manually patch the needed modules for compilation.
|
||||
(substitute* "configure"
|
||||
(("! -f '") "-d '")) ; working around CURL.
|
||||
(substitute* (find-files "./c" "Mf-[a-zA-Z0-9.]+")
|
||||
(("\\$\\{Kernel\\}: \\$\\{kernelobj\\} \\.\\./zlib/libz\\.a")
|
||||
"${Kernel}: ${kernelobj}")
|
||||
(("ld ([-a-zA-Z0-9_${} ]+) \\.\\./zlib/libz\\.a" all args)
|
||||
(string-append "ld " args " " zlib-static "/lib/libz.a"))
|
||||
(("\\(cd \\.\\./zlib; ([-a-zA-Z0-9=./ ]+))")
|
||||
(which "true")))
|
||||
(substitute* (find-files "mats" "Mf-.*")
|
||||
(("^[[:space:]]+(cc ) *") "\tgcc "))
|
||||
(substitute*
|
||||
@@ -151,21 +155,16 @@
|
||||
"|stex\\.stex"
|
||||
"|newrelease"
|
||||
"|workarea"
|
||||
"|unix\\.ms"
|
||||
"|^6\\.ms"
|
||||
;;"|[a-zA-Z0-9.]+\\.ms" ; guile can't read
|
||||
")"))
|
||||
(("/bin/rm") (which "rm"))
|
||||
(("/bin/ln") (which "ln"))
|
||||
(("/bin/cp") (which "cp"))
|
||||
(("/bin/echo") (which "echo")))
|
||||
(("/bin/cp") (which "cp")))
|
||||
(substitute* "makefiles/installsh"
|
||||
(("/bin/true") (which "true")))
|
||||
(substitute* "stex/Makefile"
|
||||
(("PREFIX=/usr") (string-append "PREFIX=" out)))
|
||||
(invoke "./configure" "--threads"
|
||||
(string-append "ZLIB=" zlib-static "/lib/libz.a")
|
||||
(string-append "LZ4=" lz4-static "/lib/liblz4.a")
|
||||
(string-append "--installprefix=" out)))))
|
||||
;; Installation of the documentation requires a running "chez".
|
||||
(add-after 'install 'install-doc
|
||||
|
||||
+2
-216
@@ -1,7 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
|
||||
;;; Copyright © 2020 Evan Hanson <evhan@foldling.org>
|
||||
;;; Copyright © 2020 raingloom <raingloom@riseup.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -21,14 +20,11 @@
|
||||
(define-module (gnu packages chicken)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system chicken)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix svn-download)
|
||||
#:use-module (gnu packages commencement)
|
||||
#:use-module ((guix licenses)
|
||||
#:prefix license:))
|
||||
#:select (bsd-3)))
|
||||
|
||||
(define-public chicken
|
||||
(package
|
||||
@@ -63,11 +59,6 @@
|
||||
|
||||
;; Parallel builds are not supported, as noted in README.
|
||||
#:parallel-build? #f))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CHICKEN_REPOSITORY_PATH")
|
||||
;; TODO extract binary version into a module level definition.
|
||||
(files (list "var/lib/chicken/11")))))
|
||||
(propagated-inputs `(("gcc-toolchain" ,gcc-toolchain)))
|
||||
(home-page "https://www.call-cc.org/")
|
||||
(synopsis "R5RS Scheme implementation that compiles native code via C")
|
||||
@@ -75,209 +66,4 @@
|
||||
"CHICKEN is a compiler for the Scheme programming language. CHICKEN
|
||||
produces portable and efficient C, supports almost all of the R5RS Scheme
|
||||
language standard, and includes many enhancements and extensions.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public chicken-srfi-1
|
||||
(package
|
||||
(name "chicken-srfi-1")
|
||||
(version "0.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method svn-fetch)
|
||||
(uri (svn-reference
|
||||
(url (string-append
|
||||
"https://code.call-cc.org/svn/chicken-eggs/"
|
||||
"release/5/srfi-1/tags/"
|
||||
version))
|
||||
(revision 39055)
|
||||
(user-name "anonymous")
|
||||
(password "")))
|
||||
(file-name (string-append "chicken-srfi-1" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"02940zsjrmn7c34rnp1rllm2nahh9jvszlzrw8ak4pf31q09cmq1"))))
|
||||
(build-system chicken-build-system)
|
||||
(arguments '(#:egg-name "srfi-1"))
|
||||
(inputs
|
||||
`(("chicken-test" ,chicken-test)))
|
||||
(home-page "https://wiki.call-cc.org/eggref/5/srfi-1")
|
||||
(synopsis "SRFI-1 list library")
|
||||
(description
|
||||
"The list library defined in
|
||||
@uref{https://srfi.schemers.org/srfi-1/srfi-1.html, SRFI-1} contains a lot of
|
||||
useful list processing procedures for construction, examining, destructuring
|
||||
and manipulating lists and pairs.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public chicken-srfi-14
|
||||
(package
|
||||
(name "chicken-srfi-14")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method svn-fetch)
|
||||
(uri (svn-reference
|
||||
(url (string-append "https://code.call-cc.org/svn/chicken-eggs/"
|
||||
"release/5/srfi-14/tags/" version))
|
||||
(revision 39057)
|
||||
(user-name "anonymous")
|
||||
(password "")))
|
||||
(file-name (string-append "chicken-srfi-14-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wjsqfwawh9bx6vvii1gwag166bxkflc0ib374fbws14914g2ac1"))))
|
||||
(build-system chicken-build-system)
|
||||
(arguments '(#:egg-name "srfi-14"))
|
||||
(home-page "https://wiki.call-cc.org/eggref/5/srfi-14")
|
||||
(synopsis "Character set library")
|
||||
(description
|
||||
"Character sets can be created, extended, tested for the membership of
|
||||
a characters and be compared to other character sets")
|
||||
(license (license:non-copyleft
|
||||
"http://wiki.call-cc.org/eggref/5/srfi-14#license"))))
|
||||
|
||||
(define-public chicken-srfi-69
|
||||
(package
|
||||
(name "chicken-srfi-69")
|
||||
(version "0.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method svn-fetch)
|
||||
(uri (svn-reference
|
||||
(url (string-append "https://code.call-cc.org/svn/chicken-eggs/"
|
||||
"release/5/srfi-69/tags/"
|
||||
version))
|
||||
(revision 39057)
|
||||
(user-name "anonymous")
|
||||
(password "")))
|
||||
(file-name (string-append "chicken-srfi-69-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1z0m9vmg9bj9z0a941pls6igvg8nmhq4mj5psjjidbp0fac572mp"))))
|
||||
(arguments '(#:egg-name "srfi-69"))
|
||||
(build-system chicken-build-system)
|
||||
(home-page "https://wiki.call-cc.org/eggref/5/srfi-69")
|
||||
(synopsis "Implementation of SRFI 69 with SRFI 90 extensions")
|
||||
(description
|
||||
"This package provides an implementation of
|
||||
@uref{https://srfi.schemers.org/srfi-69/srfi-69.html, SRFI-69 hash tables} for
|
||||
CHICKEN Scheme, along with
|
||||
@uref{https://srfi.schemers.org/srfi-90/srfi-90.html, SRFI-90} extensions.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public chicken-agrep
|
||||
(package
|
||||
(name "chicken-agrep")
|
||||
(version "1.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/iraikov/chicken-agrep")
|
||||
(commit version)))
|
||||
(file-name (string-append "chicken-agrep-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0z05x7f154n9bgmainrsmncf5i6dil43r9ymr3rdgwbg4wnxmz4s"))))
|
||||
;; TODO do we really have to make these propagated?
|
||||
;; I don't know Chicken's module system well enough to tell
|
||||
(propagated-inputs
|
||||
`(("chicken-datatype" ,chicken-datatype)
|
||||
("chicken-srfi-1" ,chicken-srfi-1)
|
||||
("chicken-srfi-14" ,chicken-srfi-14)))
|
||||
(inputs
|
||||
`(("chicken-test" ,chicken-test)))
|
||||
(build-system chicken-build-system)
|
||||
(arguments '(#:egg-name "agrep"))
|
||||
(synopsis "Approximate string matching library")
|
||||
(home-page "https://wiki.call-cc.org/eggref/5/agrep")
|
||||
(description
|
||||
"This library implements the Wu-Manber algorithm for approximate string
|
||||
searching with errors, popularized by the agrep Unix command and the glimpse
|
||||
file indexing tool.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public chicken-datatype
|
||||
(package
|
||||
(name "chicken-datatype")
|
||||
(version "1.6")
|
||||
(source
|
||||
(origin
|
||||
(method svn-fetch)
|
||||
(uri (svn-reference
|
||||
(url (string-append "https://code.call-cc.org/svn/chicken-eggs/"
|
||||
"release/5/datatype/tags/" version))
|
||||
(revision 39266)
|
||||
(user-name "anonymous")
|
||||
(password "")))
|
||||
(file-name (string-append "chicken-datatype-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1a58q8ypjkjz6wdv25247wixds4179239d36nnvsfn6gp70s9jfq"))))
|
||||
(build-system chicken-build-system)
|
||||
(arguments '(#:egg-name "datatype"))
|
||||
(inputs
|
||||
`(("chicken-srfi-1" ,chicken-srfi-1)
|
||||
("chicken-test" ,chicken-test)))
|
||||
(home-page "https://wiki.call-cc.org/eggref/5/datatype")
|
||||
(synopsis "Facility for creating and using variant records")
|
||||
(description
|
||||
"This CHICKEN Scheme library provides a facility for creating and using
|
||||
variant records, as described in the book @i{Essentials of Programming
|
||||
Languages} by Friedman, Wand, and Haynes.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public chicken-iset
|
||||
(package
|
||||
(name "chicken-iset")
|
||||
(version "2.2")
|
||||
(source
|
||||
(origin
|
||||
(method svn-fetch)
|
||||
(uri (svn-reference
|
||||
(url (string-append "https://code.call-cc.org/svn/chicken-eggs/"
|
||||
"release/5/iset/tags/" version))
|
||||
(revision 39057)
|
||||
(user-name "anonymous")
|
||||
(password "")))
|
||||
(file-name (string-append "chicken-iset-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0gz50n5i561n5sk9prry0lrxz6bfrq9if5bclaq6a0f7lzinhnzb"))))
|
||||
(inputs
|
||||
`(("chicken-test" ,chicken-test)))
|
||||
(build-system chicken-build-system)
|
||||
(arguments '(#:egg-name "iset"))
|
||||
(synopsis "Integer set library")
|
||||
(home-page "https://wiki.call-cc.org/eggref/5/iset")
|
||||
(description
|
||||
"This ``integer set'' CHICKEN Scheme library implements bit vectors.
|
||||
Bit-vectors provide an abstract interface to bitwise operations typically done
|
||||
with integers.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public chicken-test
|
||||
(package
|
||||
(name "chicken-test")
|
||||
(version "1.1")
|
||||
(source
|
||||
(origin
|
||||
(method svn-fetch)
|
||||
(uri (svn-reference
|
||||
(url (string-append "https://code.call-cc.org/svn/chicken-eggs/"
|
||||
"release/5/test/tags/" version))
|
||||
(revision 39263)
|
||||
(user-name "anonymous")
|
||||
(password "")))
|
||||
(file-name (string-append "chicken-test-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"14i91cxsn6hjkx6kqf7i9syck73cw71jik61jmhg87vpxx5kfnzx"))))
|
||||
(build-system chicken-build-system)
|
||||
(arguments '(#:egg-name "test"))
|
||||
(home-page "https://wiki.call-cc.org/eggref/5/test")
|
||||
(synopsis "Yet another testing utility")
|
||||
(description
|
||||
"This package provides a simple testing utility for CHICKEN Scheme.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(license bsd-3)))
|
||||
|
||||
+48
-70
@@ -27,11 +27,9 @@
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages compression)
|
||||
@@ -143,7 +141,6 @@
|
||||
"third_party/depot_tools/owners.py" ;BSD-3
|
||||
"third_party/devtools-frontend" ;BSD-3
|
||||
"third_party/devtools-frontend/src/front_end/third_party/acorn" ;Expat
|
||||
"third_party/devtools-frontend/src/front_end/third_party/axe-core" ;MPL2.0
|
||||
"third_party/devtools-frontend/src/front_end/third_party/chromium" ;BSD-3
|
||||
"third_party/devtools-frontend/src/front_end/third_party/codemirror" ;Expat
|
||||
"third_party/devtools-frontend/src/front_end/third_party/fabricjs" ;Expat
|
||||
@@ -153,8 +150,8 @@
|
||||
"third_party/devtools-frontend/src/front_end/third_party/lit-html" ;BSD-3
|
||||
"third_party/devtools-frontend/src/front_end/third_party/lodash-isequal" ;Expat
|
||||
"third_party/devtools-frontend/src/front_end/third_party/marked" ;Expat, BSD-3
|
||||
"third_party/devtools-frontend/src/front_end/third_party/puppeteer" ;ASL2.0
|
||||
"third_party/devtools-frontend/src/front_end/third_party/wasmparser" ;ASL2.0
|
||||
"third_party/devtools-frontend/src/third_party/axe-core" ;MPL2.0
|
||||
"third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0
|
||||
"third_party/devtools-frontend/src/third_party/typescript" ;ASL2.0
|
||||
"third_party/dom_distiller_js" ;BSD-3
|
||||
@@ -222,7 +219,6 @@
|
||||
"third_party/pffft" ;the "FFTPACK" license, similar to BSD-3
|
||||
"third_party/ply" ;BSD-3
|
||||
"third_party/polymer" ;BSD-3
|
||||
"third_party/private_membership" ;ASL2.0
|
||||
"third_party/private-join-and-compute" ;ASL2.0
|
||||
"third_party/protobuf" ;BSD-3
|
||||
"third_party/protobuf/third_party/six" ;Expat
|
||||
@@ -235,8 +231,6 @@
|
||||
"third_party/s2cellid" ;ASL2.0
|
||||
"third_party/schema_org" ;CC-BY-SA3.0
|
||||
"third_party/securemessage" ;ASL2.0
|
||||
"third_party/shaka-player" ;ASL2.0
|
||||
"third_party/shell-encryption" ;ASL2.0
|
||||
"third_party/skia" ;BSD-3
|
||||
"third_party/skia/include/third_party/skcms" ;BSD-3
|
||||
"third_party/skia/third_party/skcms" ;BSD-3
|
||||
@@ -258,8 +252,6 @@
|
||||
"third_party/usb_ids" ;BSD-3
|
||||
"third_party/usrsctp" ;BSD-2
|
||||
"third_party/vulkan_memory_allocator" ;Expat
|
||||
"third_party/wayland/protocol" ;Expat
|
||||
"third_party/wayland/stubs" ;BSD-3, Expat
|
||||
"third_party/wayland/wayland_scanner_wrapper.py" ;BSD-3
|
||||
"third_party/wayland-protocols" ;Expat
|
||||
"third_party/web-animations-js" ;ASL2.0
|
||||
@@ -302,9 +294,17 @@
|
||||
(string-append "ungoogled-chromium-" category "-" name))))
|
||||
(sha256 (base32 hash))))
|
||||
|
||||
(define %chromium-version "87.0.4280.88")
|
||||
(define %ungoogled-revision "b78cb927fa8beaee0ddfb4385277edb96444c40f")
|
||||
(define (arch-patch name revision hash)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://raw.githubusercontent.com/archlinux"
|
||||
"/svntogit-packages/" revision "/trunk/" name))
|
||||
(sha256 (base32 hash))))
|
||||
|
||||
(define %chromium-version "86.0.4240.183")
|
||||
(define %ungoogled-revision "b68e17f32e9eff56615a07b44e457835bb9460c6")
|
||||
(define %debian-revision "debian/84.0.4147.105-1")
|
||||
(define %arch-revision "2cbe439471932d30ff2c8ded6b3dfd51b312bbc9")
|
||||
|
||||
(define %debian-patches
|
||||
(list (debian-patch "system/zlib.patch" %debian-revision
|
||||
@@ -312,6 +312,17 @@
|
||||
(debian-patch "system/openjpeg.patch" %debian-revision
|
||||
"0zd6v5njx1pc7i0y6mslxvpx5j4cq01mmyx55qcqx8qzkm0gm48j")))
|
||||
|
||||
(define %arch-patches
|
||||
(list (arch-patch "check-for-enable-accelerated-video-decode-on-Linux.patch"
|
||||
%arch-revision
|
||||
"12qj23dcp2g2ivyfyj13m4fzf68nllb9djwcxf1h195gn8wkml03")
|
||||
(arch-patch "only-fall-back-to-the-i965-driver-if-we-re-on-iHD.patch"
|
||||
%arch-revision
|
||||
"0073qjp0dp9kj2ix2j6cxrima01rpdpkcjj9crxlb9b43b4cc53m")
|
||||
(arch-patch "fix-invalid-end-iterator-usage-in-CookieMonster.patch"
|
||||
%arch-revision
|
||||
"1p1wy3dfncw0hhz77a1km0xjhix69ksgbpa569qz86nv76jbgn39")))
|
||||
|
||||
(define %ungoogled-origin
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -321,7 +332,7 @@
|
||||
(string-take %ungoogled-revision 7)))
|
||||
(sha256
|
||||
(base32
|
||||
"0w2137w8hfcgl6f938hqnb4ffp33v5r8vdzxrvs814w7dszkiqgg"))))
|
||||
"0visyhz321ykrmbjndvx31yd8xlmha9gas0xbkavc2i45rpfahjq"))))
|
||||
|
||||
(define %guix-patches
|
||||
(list (local-file
|
||||
@@ -352,7 +363,8 @@
|
||||
(for-each (lambda (patch)
|
||||
(invoke "patch" "-p1" "--force" "--input"
|
||||
patch "--no-backup-if-mismatch"))
|
||||
(append '#+%debian-patches '#+%guix-patches))
|
||||
(append '#+%debian-patches '#+%arch-patches
|
||||
'#+%guix-patches))
|
||||
|
||||
(with-directory-excursion #+%ungoogled-origin
|
||||
(format #t "Ungooglifying...~%")
|
||||
@@ -443,7 +455,7 @@
|
||||
%chromium-version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1h09g9b2zxad85vd146ymvg3w2kpngpi78yig3dn1vrmhwr4aiiy"))
|
||||
"1g39i82js7fm4fqb8i66d6xs0kzqjxzi4vzvvwz5y9rkbikcc4ma"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet (force ungoogled-chromium-snippet))))
|
||||
(build-system gnu-build-system)
|
||||
@@ -457,7 +469,7 @@
|
||||
#:configure-flags
|
||||
;; See tools/gn/docs/cookbook.md and
|
||||
;; https://www.chromium.org/developers/gn-build-configuration
|
||||
;; for usage. Run "gn args . --list" in the Release
|
||||
;; for usage. Run "./gn args . --list" in the Release
|
||||
;; directory for an exhaustive list of supported flags.
|
||||
;; (Note: The 'configure' phase will do that for you.)
|
||||
(list "is_debug=false"
|
||||
@@ -465,10 +477,8 @@
|
||||
;; a developer build.
|
||||
"is_official_build=true"
|
||||
(string-append "max_jobs_per_link="
|
||||
;; Respect the default cap of 8 jobs.
|
||||
(number->string (min 8 (parallel-job-count))))
|
||||
(number->string (parallel-job-count)))
|
||||
"clang_use_chrome_plugins=false"
|
||||
"chrome_pgo_phase=0"
|
||||
"use_sysroot=false"
|
||||
"goma_dir=\"\""
|
||||
"enable_nacl=false"
|
||||
@@ -502,11 +512,6 @@
|
||||
"use_system_libjpeg=true"
|
||||
"use_system_libopenjpeg2=true"
|
||||
"use_system_libpng=true"
|
||||
"use_system_wayland_scanner=true"
|
||||
(string-append "system_wayland_scanner_path=\""
|
||||
(assoc-ref %build-inputs "wayland-scanner")
|
||||
"/bin/wayland-scanner\"")
|
||||
|
||||
"use_system_zlib=true"
|
||||
"use_gnome_keyring=false" ;deprecated by libsecret
|
||||
"use_openh264=true"
|
||||
@@ -530,8 +535,6 @@
|
||||
|
||||
;; WebRTC stuff.
|
||||
"rtc_use_h264=true"
|
||||
"rtc_use_pipewire=true"
|
||||
"rtc_link_pipewire=true"
|
||||
;; Don't use bundled sources.
|
||||
"rtc_build_json=true" ;FIXME: libc++ std::string ABI difference
|
||||
"rtc_build_libevent=false"
|
||||
@@ -787,8 +790,7 @@
|
||||
|
||||
("python-beautifulsoup4" ,python2-beautifulsoup4)
|
||||
("python-html5lib" ,python2-html5lib)
|
||||
("python" ,python-2)
|
||||
("wayland-scanner" ,wayland)))
|
||||
("python" ,python-2)))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("atk" ,atk)
|
||||
@@ -838,14 +840,12 @@
|
||||
("opus" ,opus+custom)
|
||||
("pango" ,pango)
|
||||
("pciutils" ,pciutils)
|
||||
("pipewire" ,pipewire)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("snappy" ,snappy)
|
||||
("speech-dispatcher" ,speech-dispatcher)
|
||||
("udev" ,eudev)
|
||||
("valgrind" ,valgrind)
|
||||
("vulkan-headers" ,vulkan-headers)
|
||||
("wayland" ,wayland)))
|
||||
("vulkan-headers" ,vulkan-headers)))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CHROMIUM_EXTENSION_DIRECTORY")
|
||||
@@ -878,46 +878,24 @@ disabled in order to protect the users privacy.")
|
||||
license:lgpl2.1+))))
|
||||
|
||||
(define-public ungoogled-chromium/wayland
|
||||
(package
|
||||
(inherit ungoogled-chromium)
|
||||
(package/inherit ungoogled-chromium
|
||||
(name "ungoogled-chromium-wayland")
|
||||
(native-inputs '())
|
||||
(inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
("glibc-locales" ,glibc-utf8-locales)
|
||||
("ungoogled-chromium" ,ungoogled-chromium)))
|
||||
(build-system trivial-build-system)
|
||||
`(("wayland" ,wayland)
|
||||
("wayland-protocols" ,wayland-protocols)
|
||||
,@(package-inputs ungoogled-chromium)))
|
||||
(arguments
|
||||
'(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((bash (assoc-ref %build-inputs "bash"))
|
||||
(chromium (assoc-ref %build-inputs "ungoogled-chromium"))
|
||||
(locales (assoc-ref %build-inputs "glibc-locales"))
|
||||
(out (assoc-ref %outputs "out"))
|
||||
(exe (string-append out "/bin/chromium")))
|
||||
|
||||
;; Use a Unicode locale so we can substitute the file below.
|
||||
(setenv "GUIX_LOCPATH" (string-append locales "/lib/locale"))
|
||||
(setlocale LC_ALL "en_US.utf8")
|
||||
|
||||
(mkdir-p (dirname exe))
|
||||
(symlink (string-append chromium "/bin/chromedriver")
|
||||
(string-append out "/bin/chromedriver"))
|
||||
|
||||
(call-with-output-file exe
|
||||
(lambda (port)
|
||||
(format port "#!~a
|
||||
exec ~a --enable-features=UseOzonePlatform --ozone-platform=wayland $@"
|
||||
(string-append bash "/bin/bash")
|
||||
(string-append chromium "/bin/chromium"))))
|
||||
(chmod exe #o555)
|
||||
|
||||
;; Provide the manual and .desktop file.
|
||||
(copy-recursively (string-append chromium "/share")
|
||||
(string-append out "/share"))
|
||||
(substitute* (string-append
|
||||
out "/share/applications/chromium.desktop")
|
||||
((chromium) out))
|
||||
#t))))))
|
||||
(substitute-keyword-arguments (package-arguments ungoogled-chromium)
|
||||
((#:configure-flags flags)
|
||||
`(append (list "use_ozone=true"
|
||||
"ozone_platform_wayland=true"
|
||||
"ozone_platform_x11=true"
|
||||
"ozone_auto_platforms=false"
|
||||
"ozone_platform=\"wayland\""
|
||||
"use_xkbcommon=true"
|
||||
"use_system_minigbm=true"
|
||||
"use_system_libwayland=true"
|
||||
(string-append "system_wayland_scanner_path=\""
|
||||
(assoc-ref %build-inputs "wayland")
|
||||
"/bin/wayland-scanner\""))
|
||||
(delete "use_vaapi=true" ,flags)))))))
|
||||
|
||||
+4
-4
@@ -68,8 +68,8 @@
|
||||
(file-name (string-append name "-" version "-checkout")))))))
|
||||
|
||||
(define-public cuirass
|
||||
(let ((commit "697fa14584551d9595cd042f1ffeba240e45a127")
|
||||
(revision "56"))
|
||||
(let ((commit "df2d13621f4b2ace33a460746e704115b7b1541e")
|
||||
(revision "53"))
|
||||
(package
|
||||
(name "cuirass")
|
||||
(version (git-version "0.0.1" revision commit))
|
||||
@@ -81,7 +81,7 @@
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0gw9cja8fiyra9vnn3y384gwanvsqdq6gwjcvmz91sy5lvfwv34m"))))
|
||||
"1vgb1wl1rkijm1vv5chqllf4i5w1j7g02xqlaf2xmqjh2phy5dxa"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:modules ((guix build utils)
|
||||
@@ -94,7 +94,7 @@
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-repo-tests
|
||||
(lambda _
|
||||
(λ _
|
||||
;; Disable tests that use a connection to the Guix daemon.
|
||||
(substitute* "Makefile.am"
|
||||
(("tests/repo.scm \\\\") "\\"))
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
|
||||
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@@ -22,7 +21,6 @@
|
||||
|
||||
(define-module (gnu packages clojure)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
@@ -80,8 +78,6 @@
|
||||
(sha256
|
||||
(base32 "1kcyv2836acs27vi75hvf3r773ahv2nlh9b3j9xa9m9sdanz1h83")))))
|
||||
(build-system ant-build-system)
|
||||
(inputs
|
||||
`(("jre" ,icedtea)))
|
||||
(arguments
|
||||
`(#:imported-modules ((guix build clojure-utils)
|
||||
(guix build guile-build-system)
|
||||
@@ -118,23 +114,7 @@
|
||||
(add-after 'install-license-files 'install-doc
|
||||
(cut install-doc #:doc-dirs '("doc/clojure/") <...>))
|
||||
(add-after 'install-doc 'install-javadoc
|
||||
(install-javadoc "target/javadoc/"))
|
||||
(add-after 'install 'make-wrapper
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(wrapper (string-append out "/bin/clojure")))
|
||||
(mkdir-p (string-append out "/bin"))
|
||||
(with-output-to-file wrapper
|
||||
(lambda _
|
||||
(display
|
||||
(string-append
|
||||
"#!"
|
||||
(which "sh")
|
||||
"\n\n"
|
||||
(assoc-ref inputs "jre") "/bin/java -jar "
|
||||
out "/share/java/clojure.jar \"$@\"\n"))))
|
||||
(chmod wrapper #o555))
|
||||
#t)))))
|
||||
(install-javadoc "target/javadoc/")))))
|
||||
(native-inputs libraries)
|
||||
(home-page "https://clojure.org/")
|
||||
(synopsis "Lisp dialect running on the JVM")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
|
||||
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Andrew Miloradovsky <andrew@interpretmath.pw>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;;
|
||||
@@ -39,7 +39,7 @@
|
||||
(define-public drbd-utils
|
||||
(package
|
||||
(name "drbd-utils")
|
||||
(version "9.15.1")
|
||||
(version "9.15.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; Older releases are moved to /archive. List it first because in
|
||||
@@ -51,7 +51,7 @@
|
||||
"/utils/drbd-utils-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"1q92bwnprqkkj9iy6fxcybcfpxvvjw5clis0igrbxqnq869kwp1i"))
|
||||
"0jh7zdxpbjkq53pmrn0jfn33abi4vs8axp55h5256czwc2gfb6z8"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
||||
+3
-72
@@ -7,8 +7,8 @@
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
@@ -101,7 +101,7 @@
|
||||
(version "3.16.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://cmake.org/files/v"
|
||||
(uri (string-append "https://www.cmake.org/files/v"
|
||||
(version-major+minor version)
|
||||
"/cmake-" version ".tar.gz"))
|
||||
(sha256
|
||||
@@ -297,39 +297,6 @@ and workspaces that can be used in the compiler environment of your choice.")
|
||||
(package
|
||||
(inherit cmake-minimal)
|
||||
(name "cmake")
|
||||
(version "3.19.2")
|
||||
;; TODO: Move the following source field to the cmake-bootstrap package in
|
||||
;; the next rebuild cycle.
|
||||
(source (origin
|
||||
(inherit (package-source cmake-bootstrap))
|
||||
(uri (string-append "https://cmake.org/files/v"
|
||||
(version-major+minor version)
|
||||
"/cmake-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1w67w0ak6vf37501dlz9yhnzlvvpw1w10n2nm3hi7yxp4cxzvq73"))
|
||||
(snippet
|
||||
(match (origin-snippet (package-source cmake-bootstrap))
|
||||
((_ _ exp ...)
|
||||
;; Now we can delete the remaining software bundles.
|
||||
(append `(begin
|
||||
(define preserved-files
|
||||
'(,@%preserved-third-party-files
|
||||
;; TODO: Move this file to the
|
||||
;; %preserved-third-party-files variable in
|
||||
;; the next rebuild cycle.
|
||||
"Utilities/cm3p" ;CMake header wrappers
|
||||
;; Use the bundled JsonCpp during bootstrap
|
||||
;; to work around a circular dependency.
|
||||
;; TODO: JsonCpp can be built with Meson
|
||||
;; instead of CMake, but meson-build-system
|
||||
;; currently does not support
|
||||
;; cross-compilation.
|
||||
"Utilities/cmjsoncpp"
|
||||
;; LibUV is required to bootstrap the initial
|
||||
;; build system.
|
||||
"Utilities/cmlibuv")))
|
||||
exp))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments cmake-minimal)
|
||||
;; Use cmake-minimal this time.
|
||||
@@ -351,42 +318,6 @@ and workspaces that can be used in the compiler environment of your choice.")
|
||||
,flags))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
;; TODO: Remove this override in the next rebuild cycle and adjust
|
||||
;; the %common-build-phases variable instead: the
|
||||
;; Utilities/Release/release_cmake.cmake file no longer exists in
|
||||
;; version 3.19.0.
|
||||
(replace 'patch-bin-sh
|
||||
(lambda _
|
||||
;; Replace "/bin/sh" by the right path in... a lot of
|
||||
;; files.
|
||||
(substitute*
|
||||
'("Modules/CompilerId/Xcode-3.pbxproj.in"
|
||||
"Modules/Internal/CPack/CPack.RuntimeScript.in"
|
||||
"Source/cmGlobalXCodeGenerator.cxx"
|
||||
"Source/cmLocalUnixMakefileGenerator3.cxx"
|
||||
"Source/cmExecProgramCommand.cxx"
|
||||
"Tests/CMakeLists.txt"
|
||||
"Tests/RunCMake/File_Generate/RunCMakeTest.cmake")
|
||||
(("/bin/sh") (which "sh")))
|
||||
#t))
|
||||
;; TODO: Remove this override in the next rebuild cycle and adjust
|
||||
;; the %common-disabled-tests variable instead.
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
|
||||
(let ((skipped-tests (list ,@%common-disabled-tests
|
||||
;; This test fails for unknown reason.
|
||||
"RunCMake.file-GET_RUNTIME_DEPENDENCIES"
|
||||
;; This test requires the bundled libuv.
|
||||
"BootstrapTest")))
|
||||
(if tests?
|
||||
(begin
|
||||
(invoke "ctest" "-j" (if parallel-tests?
|
||||
(number->string (parallel-job-count))
|
||||
"1")
|
||||
"--exclude-regex"
|
||||
(string-append "^(" (string-join skipped-tests "|") ")$")))
|
||||
(format #t "test suite not run~%"))
|
||||
#t)))
|
||||
(add-after 'install 'move-html-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
|
||||
@@ -2818,12 +2818,6 @@ exec " gcc "/bin/" program
|
||||
"--disable-shared"
|
||||
"--enable-languages=c,c++"
|
||||
|
||||
,@(if (equal? "powerpc64le-linux-gnu" (boot-triplet))
|
||||
;; On POWER9 (little endian) glibc needs the
|
||||
;; 128-bit long double type.
|
||||
'("--with-long-double-128")
|
||||
'())
|
||||
|
||||
;; libstdc++ cannot be built at this stage
|
||||
;; ("Link tests are not allowed after
|
||||
;; GCC_NO_EXECUTABLES.").
|
||||
|
||||
+30
-102
@@ -787,43 +787,39 @@ decompression of some loosely related file formats used by Microsoft.")
|
||||
(define-public lz4
|
||||
(package
|
||||
(name "lz4")
|
||||
(version "1.9.3")
|
||||
(version "1.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url "https://github.com/lz4/lz4")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1w02kazh1fps3sji2sn89fz862j1199c5ajrqcgl1bnlxj09kcbz"))
|
||||
(base32
|
||||
"0lpaypmk70ag2ks3kf2dl4ac3ba40n5kc1ainkp9wfjawz76mh61"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs (list "out" "static"))
|
||||
(native-inputs
|
||||
`(;; For tests.
|
||||
("python" ,python)
|
||||
("valgrind" ,valgrind)))
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
#:make-flags (list "CC=gcc"
|
||||
(string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(add-before 'check 'disable-broken-test
|
||||
(lambda _
|
||||
(substitute* "tests/Makefile"
|
||||
;; This fails when $prefix is not a single top-level directory.
|
||||
(("^test: (.*) test-install" _ targets)
|
||||
(string-append "test: " targets)))
|
||||
#t))
|
||||
(add-after 'install 'move-static-library
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(static (assoc-ref outputs "static")))
|
||||
(mkdir-p (string-append static "/lib"))
|
||||
(rename-file (string-append out "/lib/liblz4.a")
|
||||
(string-append static "/lib/liblz4.a"))
|
||||
#t))))))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure) ;no configure script
|
||||
(add-before 'check 'disable-broken-test
|
||||
(lambda _
|
||||
;; XXX: test_install.sh fails when prefix is a subdirectory.
|
||||
(substitute* "tests/Makefile"
|
||||
(("^test: (.*) test-install" _ targets)
|
||||
(string-append "test: " targets)))
|
||||
#t))
|
||||
(add-after 'install 'delete-static-library
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(delete-file (string-append out "/lib/liblz4.a"))
|
||||
#t))))))
|
||||
(home-page "https://www.lz4.org")
|
||||
(synopsis "Compression algorithm focused on speed")
|
||||
(description "LZ4 is a lossless compression algorithm, providing
|
||||
@@ -849,9 +845,9 @@ time for compression ratio.")
|
||||
"0zmhvczscqz0mzh4b9m8m42asq14db0a6lc8clp5ljq5ybrv70d9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
'(#:tests? #f ; no check target
|
||||
#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(list "CC=gcc"
|
||||
"XZ_SUPPORT=1"
|
||||
"LZO_SUPPORT=1"
|
||||
"LZ4_SUPPORT=1"
|
||||
@@ -956,8 +952,7 @@ tarballs.")
|
||||
"0j2zm3z271x5aw63mwhr3vymzn45p2vvrlrpm9cz2nywna41b0hq"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list "INSTALL=install"
|
||||
(string-append "CC=" ,(cc-for-target))
|
||||
`(#:make-flags (list "INSTALL=install" "CC=gcc"
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
@@ -1302,7 +1297,7 @@ or junctions, and always follows hard links.")
|
||||
(source
|
||||
(origin (method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "http://github.com/twogood/unshield")
|
||||
(url "http://github.com/twogood/unshield.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -1427,10 +1422,7 @@ or junctions, and always follows hard links.")
|
||||
|
||||
#t))))
|
||||
#:make-flags
|
||||
;; TODO: Integrate in next rebuild cycle.
|
||||
(list ,(if (%current-target-system)
|
||||
(string-append "CC=" (cc-for-target))
|
||||
"CC=gcc")
|
||||
(list "CC=gcc"
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
(string-append "LIBDIR=" (assoc-ref %outputs "lib") "/lib")
|
||||
(string-append "INCLUDEDIR=" (assoc-ref %outputs "lib") "/include")
|
||||
@@ -1462,14 +1454,8 @@ speed.")
|
||||
(version (package-version zstd))
|
||||
(source (package-source zstd))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(,@(if (%current-target-system)
|
||||
`(("googletest" ,googletest))
|
||||
'())))
|
||||
(native-inputs
|
||||
`(,@(if (%current-system)
|
||||
`(("googletest" ,googletest))
|
||||
'())))
|
||||
`(("googletest" ,googletest)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
@@ -1487,8 +1473,7 @@ speed.")
|
||||
(install-file "README.md" doc)
|
||||
#t))))
|
||||
#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "CXX=" ,(cxx-for-target))
|
||||
(list "CC=gcc"
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))))
|
||||
(home-page (package-home-page zstd))
|
||||
(synopsis "Threaded implementation of the Zstandard compression algorithm")
|
||||
@@ -1606,55 +1591,6 @@ recreates the stored directory structure by default.")
|
||||
(license (license:non-copyleft "file://LICENSE"
|
||||
"See LICENSE in the distribution."))))
|
||||
|
||||
(define-public ziptime
|
||||
(let ((commit "2a5bc9dfbf7c6a80e5f7cb4dd05b4036741478bc")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "ziptime")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://android.googlesource.com/platform/build")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0hrn61b3a97dlc4iqc28rwx8k8zf7ycbwzqqp93vj34zy5a541kn"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no test suite
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory
|
||||
(lambda _
|
||||
(chdir "tools/ziptime")))
|
||||
(delete 'configure) ; nothing to configure
|
||||
(replace 'build
|
||||
;; There is no Makefile, only an ‘Android.bp’ file. Ignore it.
|
||||
(lambda _
|
||||
(let ((c++ ,(cxx-for-target)))
|
||||
(apply invoke c++ "-O2" "-o" "ziptime"
|
||||
(find-files "." "\\.cpp$")))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(doc (string-append out "/share/doc/" ,name "-" ,version)))
|
||||
(install-file "ziptime" bin)
|
||||
(install-file "README.txt" doc)))))))
|
||||
;; There is no separate home page for this tiny bundled build tool.
|
||||
(home-page (string-append "https://android.googlesource.com/platform/build/"
|
||||
"+/master/tools/ziptime/README.txt"))
|
||||
(synopsis "Normalize @file{.zip} archive header timestamps")
|
||||
(description
|
||||
"Ziptime helps make @file{.zip} archives reproducible by replacing
|
||||
timestamps in the file header with a fixed time (1 January 2008).
|
||||
|
||||
``Extra fields'' are not changed, so you'll need to use the @code{-X} option to
|
||||
@command{zip} to prevent it from storing the ``universal time'' field.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public zziplib
|
||||
(package
|
||||
(name "zziplib")
|
||||
@@ -1731,7 +1667,7 @@ archive can be reverted.")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/atool/atool-"
|
||||
(uri (string-append "http://savannah.nongnu.org/download/atool/atool-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
@@ -1898,7 +1834,7 @@ non-Windows systems without running the actual installer using wine.")
|
||||
(define-public google-brotli
|
||||
(package
|
||||
(name "google-brotli")
|
||||
(version "1.0.9")
|
||||
(version "1.0.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1907,15 +1843,7 @@ non-Windows systems without running the actual installer using wine.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1fikasxf7r2dwlk8mv8w7nmjkn0jw5ic31ky3mvpkdzwgd4xfndl"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Cherry-picked from upstream since the latest release
|
||||
;; https://github.com/google/brotli/commit/09b0992b6acb7faa6fd3b23f9bc036ea117230fc
|
||||
(substitute* (find-files "scripts" "^lib.*pc\\.in")
|
||||
(("-R\\$\\{libdir\\} ") ""))
|
||||
#t))))
|
||||
(base32 "1811b55wdfg4kbsjcgh1kc938g118jpvif97ilgrmbls25dfpvvw"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@@ -2202,7 +2130,7 @@ file compression algorithm.")
|
||||
(define-public xarchiver
|
||||
(package
|
||||
(name "xarchiver")
|
||||
(version "0.5.4.16")
|
||||
(version "0.5.4.15")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2211,7 +2139,7 @@ file compression algorithm.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0nblyk65w1in0zpfbyzy6dw4x0fzx3q7xs85dby5ap4w0gjz9s44"))))
|
||||
(base32 "0a3y54r5zp2c0cqm77r07qrl1vh200wvqmbhm35diy22fvkq5mwc"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
|
||||
@@ -114,7 +114,7 @@ performance).
|
||||
(define-public picom
|
||||
(package
|
||||
(name "picom")
|
||||
(version "8.2")
|
||||
(version "7.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -123,7 +123,7 @@ performance).
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"0gjksayz2xpmgglvw17ppsan2imrd1fijs579kbf27xwp503xgfl"))
|
||||
"1l48fxl04vkzr4r94sl37nbbw7a621rn8sxmkbdv4252i1gjxd4z"))
|
||||
(file-name (string-append "picom-" version))))
|
||||
(build-system meson-build-system)
|
||||
(inputs
|
||||
|
||||
@@ -522,7 +522,7 @@ Coq proof assistant.")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "git://github.com/uds-psl/autosubst")
|
||||
(url "git://github.com/uds-psl/autosubst.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
|
||||
+9
-86
@@ -43,12 +43,10 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages code)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages libunwind)
|
||||
@@ -196,7 +194,7 @@ combination of these streams.")
|
||||
(define-public xsimd
|
||||
(package
|
||||
(name "xsimd")
|
||||
(version "7.4.9")
|
||||
(version "7.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -204,7 +202,7 @@ combination of these streams.")
|
||||
(url "https://github.com/QuantStack/xsimd")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "11by8gbshm4vv6flqp0ihff8c6nmbaqq7ms93b38rrq68bigcply"))
|
||||
(base32 "1ny2qin1j4h35mljivh8z52kwdyjxf4yxlzb8j52ji91v2ccc88j"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
@@ -214,12 +212,11 @@ combination of these streams.")
|
||||
`(("googletest" ,googletest)))
|
||||
(home-page "https://github.com/QuantStack/xsimd")
|
||||
(synopsis "C++ wrappers for SIMD intrinsics and math implementations")
|
||||
(description
|
||||
"xsimd provides a unified means for using @acronym{SIMD, single instruction
|
||||
multiple data} features for library authors. Namely, it enables manipulation of
|
||||
batches of numbers with the same arithmetic operators as for single values.
|
||||
It also provides accelerated implementation of common mathematical functions
|
||||
operating on batches.")
|
||||
(description "xsimd provides a unified means for using SIMD features for
|
||||
library authors. Namely, it enables manipulation of batches of numbers with
|
||||
the same arithmetic operators as for single values. It also provides
|
||||
accelerated implementation of common mathematical functions operating on
|
||||
batches.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public chaiscript
|
||||
@@ -376,7 +373,7 @@ intuitive syntax and trivial integration.")
|
||||
(define-public xtl
|
||||
(package
|
||||
(name "xtl")
|
||||
(version "0.6.23")
|
||||
(version "0.6.21")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
@@ -385,7 +382,7 @@ intuitive syntax and trivial integration.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"1kd9zl4h6nrsg29hq13vwp4zhfj8sa90vj40726lpw6vxz48k4di"))
|
||||
"08xhyy9fm2ddkdrgb1qyd2bs371a2xr7xzar482pwphz27vr035w"))
|
||||
(file-name (git-file-name name version))))
|
||||
(native-inputs
|
||||
`(("googletest" ,googletest)
|
||||
@@ -733,77 +730,3 @@ of C++14 components that complements @code{std} and Boost.")
|
||||
;; 32-bit is not supported: https://github.com/facebook/folly/issues/103
|
||||
(supported-systems '("aarch64-linux" "x86_64-linux"))
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public aws-sdk-cpp
|
||||
(package
|
||||
(name "aws-sdk-cpp")
|
||||
(version "1.8.102")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aws/aws-sdk-cpp")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1w8x2vakg5ngjyyg08n4g3dqy8wqnz0k3gkrlqrh460s2pvdivba"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(;; Tests are run during the build phase.
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
'("-DBUILD_SHARED_LIBS=OFF"
|
||||
"-DBUILD_DEPS=OFF")))
|
||||
(propagated-inputs
|
||||
`(("aws-c-common" ,aws-c-common)
|
||||
("aws-c-event-stream" ,aws-c-event-stream)))
|
||||
(inputs
|
||||
`(("aws-checksums" ,aws-checksums)
|
||||
("curl" ,curl)
|
||||
("openssl" ,openssl)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "Amazon Web Services SDK for C++")
|
||||
(description
|
||||
"The AWS SDK for C++ provides a C++11 interface to the @acronym{AWS,Amazon
|
||||
Web Services} API. AWS provides on-demand computing infrastructure and software
|
||||
services including database, analytic, and machine learning technologies.")
|
||||
(home-page "https://github.com/aws/aws-sdk-cpp")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public libexpected
|
||||
(package
|
||||
(name "libexpected")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/TartanLlama/expected")
|
||||
(commit (string-append "v" version))
|
||||
;; NOTE: Requires TL_CMAKE from custom
|
||||
;; repository. Should not affect reproducibility.
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
;; NOTE: This patch will be unnecessary on subsequent tags.
|
||||
(patches (search-patches "libexpected-nofetch.patch"))
|
||||
(sha256
|
||||
(base32 "1ckzfrljzzdw9wf8hvdfjz4wjx5na57iwxc48mbv9rf5067m21a5"))))
|
||||
(build-system cmake-build-system)
|
||||
;; TODO: Clean up install phase.
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "./tests"))))))
|
||||
(native-inputs
|
||||
`(("catch2" ,catch-framework2)))
|
||||
(synopsis "C++11/14/17 std::expected with functional-style extensions")
|
||||
(description "@code{std::expected} is proposed as the preferred way to
|
||||
represent objects which will either have an expected value, or an unexpected
|
||||
value giving information about why something failed. Unfortunately, chaining
|
||||
together many computations which may fail can be verbose, as error-checking
|
||||
code will be mixed in with the actual programming logic. This implementation
|
||||
provides a number of utilities to make coding with expected cleaner.")
|
||||
(home-page "https://tl.tartanllama.xyz/")
|
||||
(license license:cc0)))
|
||||
|
||||
+187
-920
File diff suppressed because it is too large
Load Diff
@@ -8,8 +8,6 @@
|
||||
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -168,38 +166,8 @@ text or blue underlined text, on ANSI terminals.")
|
||||
"1xif1bh938qpfc3d0f9xgidibpm65xix11w9gszwqnia00q7rb13"))))
|
||||
(arguments `())))
|
||||
|
||||
(define-public rust-aom-sys-0.2
|
||||
(package
|
||||
(name "rust-aom-sys")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "aom-sys" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"03a0xhaafjn0hlpcf9ba73hv557m0jqnmj9wl57wzrcnka96zvgj"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bindgen" ,rust-bindgen-0.54)
|
||||
("rust-metadeps" ,rust-metadeps-1.1))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("libaom" ,libaom)
|
||||
("clang" ,clang)
|
||||
("llvm" ,llvm)))
|
||||
(home-page "https://github.com/rust-av/aom-rs")
|
||||
(synopsis "FFI bindings to aom")
|
||||
(description "This package provides FFI bindings to aom.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-aom-sys-0.1
|
||||
(package
|
||||
(inherit rust-aom-sys-0.2)
|
||||
(name "rust-aom-sys")
|
||||
(version "0.1.4")
|
||||
(source
|
||||
@@ -215,13 +183,25 @@ text or blue underlined text, on ANSI terminals.")
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bindgen" ,rust-bindgen-0.53)
|
||||
("rust-metadeps" ,rust-metadeps-1.1))))
|
||||
("rust-metadeps" ,rust-metadeps-1.1))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-environmental-variable
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((clang (assoc-ref inputs "libclang")))
|
||||
(setenv "LIBCLANG_PATH"
|
||||
(string-append clang "/lib")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("libaom" ,libaom)
|
||||
("clang" ,clang)
|
||||
("llvm" ,llvm)))))
|
||||
("libclang" ,clang)
|
||||
("llvm" ,llvm)))
|
||||
(home-page "https://github.com/rust-av/aom-rs")
|
||||
(synopsis "FFI bindings to aom")
|
||||
(description "This package provides FFI bindings to aom.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-ascii-canvas-2
|
||||
(package
|
||||
@@ -422,12 +402,19 @@ for computer graphics.")
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bindgen" ,rust-bindgen-0.54)
|
||||
("rust-metadeps" ,rust-metadeps-1.1))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
("rust-metadeps" ,rust-metadeps-1.1))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-environmental-variable
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((clang (assoc-ref inputs "libclang")))
|
||||
(setenv "LIBCLANG_PATH"
|
||||
(string-append clang "/lib")))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("dav1d" ,dav1d)
|
||||
("clang" ,clang)
|
||||
("pkg-config" ,pkg-config)
|
||||
("libclang" ,clang)
|
||||
("llvm" ,llvm)))
|
||||
(home-page "https://github.com/rust-av/dav1d-rs")
|
||||
(synopsis "FFI bindings to dav1d")
|
||||
@@ -2296,7 +2283,7 @@ protocol extensions. Look at the crate wayland-client for usable bindings.")
|
||||
(define-public rust-x11-2
|
||||
(package
|
||||
(name "rust-x11")
|
||||
(version "2.18.2")
|
||||
(version "2.18.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -2304,16 +2291,17 @@ protocol extensions. Look at the crate wayland-client for usable bindings.")
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0wz7l6dlbraa9zalh9i45v9wibvkir9m2m1sg0jnzcbcaj9d1v3p"))))
|
||||
(base32
|
||||
"0dg2d0yrqmwg6prpxkw3vpmwzwxnaki2cn0v64ylh5gp4cqpws9r"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-libc" ,rust-libc-0.2)
|
||||
("rust-pkg-config" ,rust-pkg-config-0.3))))
|
||||
(home-page "https://github.com/erlepereira/x11-rs")
|
||||
(home-page "https://github.com/erlepereira/x11-rs.git")
|
||||
(synopsis "X11 library bindings for Rust")
|
||||
(description "This crate provides X11 library bindings for Rust.")
|
||||
(license license:expat)))
|
||||
(description "X11 library bindings for Rust.")
|
||||
(license license:cc0)))
|
||||
|
||||
(define-public rust-x11-clipboard-0.4
|
||||
(package
|
||||
|
||||
+152
-710
File diff suppressed because it is too large
Load Diff
+657
-3591
File diff suppressed because it is too large
Load Diff
@@ -153,12 +153,6 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
|
||||
"--disable-decimal-float" ;would need libc
|
||||
"--disable-libcilkrts"
|
||||
|
||||
,@(if (equal? "powerpc64le-linux-gnu" target)
|
||||
;; On POWER9 (little endian) glibc needs
|
||||
;; the 128-bit long double type.
|
||||
'("--with-long-double-128")
|
||||
'())
|
||||
|
||||
;; When target is any OS other than 'none' these
|
||||
;; libraries will fail if there is no libc
|
||||
;; present. See
|
||||
|
||||
+10
-17
@@ -5,7 +5,7 @@
|
||||
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2016, 2017, 2019 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
@@ -444,14 +444,15 @@ total number of shares generated.")
|
||||
(define-public tomb
|
||||
(package
|
||||
(name "tomb")
|
||||
(version "2.8")
|
||||
(version "2.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://files.dyne.org/tomb/releases/"
|
||||
(uri (string-append "https://files.dyne.org/tomb/"
|
||||
"Tomb-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bggzzqmpfiknr76lyl8iszybrcpyqlbgiqk47fxq08h2b5ln1ic"))))
|
||||
"0x3al02796vx1cvy6y6h685c367qx70dwv471g0hmks2gr10f0cn"))
|
||||
(patches (search-patches "tomb-fix-errors-on-open.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("sudo" ,sudo))) ;presence needed for 'check' phase
|
||||
(inputs
|
||||
@@ -570,19 +571,12 @@ attacks than alternative functions such as @code{PBKDF2} or @code{bcrypt}.")
|
||||
(base32
|
||||
"1d76ys6cp7fi4ng1w3mz2l0p9dbr7ljbk33dcywyimzjz8bahdng"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs (list "out" "static"))
|
||||
(arguments
|
||||
`(#:make-flags (list (string-append "PREFIX=" %output)
|
||||
"CC=gcc")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'install 'install:static
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib")))
|
||||
(install-file "libscrypt.a" lib)
|
||||
#t))))))
|
||||
(delete 'configure))))
|
||||
(home-page "https://lolware.net/libscrypt.html")
|
||||
(synopsis "Password hashing library")
|
||||
(description "@code{libscrypt} implements @code{scrypt} key derivation
|
||||
@@ -1229,7 +1223,7 @@ Trusted comments are signed, thus verified, before being displayed.")
|
||||
(define-public libolm
|
||||
(package
|
||||
(name "libolm")
|
||||
(version "3.2.1")
|
||||
(version "3.1.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1237,16 +1231,15 @@ Trusted comments are signed, thus verified, before being displayed.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"14b5cplcnbf2baq0lvz4f97m6swxpb13rvxdajxyw3s4mbvasia4"))
|
||||
"030g0jmmvhx2dh32k708sz6cdd5q1wz48i4gigh6dclqk10w28lm"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(with-directory-excursion "tests"
|
||||
(invoke "ctest" ".")))))))
|
||||
(invoke "ctest" "build/tests"))))))
|
||||
(build-system cmake-build-system)
|
||||
(synopsis "Implementation of the olm and megolm cryptographic ratchets")
|
||||
(description "The libolm library implements the Double Ratchet
|
||||
cryptographic ratchet. It is written in C and C++11, and exposed as a C
|
||||
|
||||
+37
-102
@@ -28,7 +28,6 @@
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages avahi)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages fonts) ; font-dejavu
|
||||
#:use-module (gnu packages fontutils)
|
||||
@@ -50,7 +49,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix svn-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
@@ -416,16 +415,17 @@ should only be used as part of the Guix cups-pk-helper service.")
|
||||
(define-public hplip
|
||||
(package
|
||||
(name "hplip")
|
||||
(version "3.20.11")
|
||||
(version "3.20.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/hplip/hplip/" version
|
||||
"/hplip-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04fvdyjyjbkviy3awgm7g43p3lrvrsmgaqz8bwra22g7v2rpa5hb"))
|
||||
"1prdbp410405xrfggjc7y34nzljg7jnbgjzalgv4khwwma4i299n"))
|
||||
(modules '((guix build utils)))
|
||||
(patches (search-patches "hplip-remove-imageprocessor.patch"))
|
||||
(patches (search-patches "hplip-fix-bug-1898438.patch"
|
||||
"hplip-remove-imageprocessor.patch"))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete non-free blobs: .so files, pre-compiled
|
||||
@@ -446,7 +446,6 @@ should only be used as part of the Guix cups-pk-helper service.")
|
||||
"locatedriverdir = $(pkglibexecdir)\n"))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs (list "out" "ppd"))
|
||||
(home-page "https://developers.hp.com/hp-linux-imaging-and-printing")
|
||||
(synopsis "HP printer drivers")
|
||||
(description
|
||||
@@ -474,8 +473,6 @@ should only be used as part of the Guix cups-pk-helper service.")
|
||||
(assoc-ref %outputs "out") "/lib/cups/filter")
|
||||
,(string-append "--with-cupsbackenddir="
|
||||
(assoc-ref %outputs "out") "/lib/cups/backend")
|
||||
,(string-append "--with-hpppddir="
|
||||
(assoc-ref %outputs "ppd") "/share/ppd/HP")
|
||||
,(string-append "--with-icondir="
|
||||
(assoc-ref %outputs "out") "/share/applications")
|
||||
,(string-append "--with-systraydir="
|
||||
@@ -537,7 +534,7 @@ should only be used as part of the Guix cups-pk-helper service.")
|
||||
(add-before 'configure 'fix-build-with-python-3.8
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((python (assoc-ref inputs "python")))
|
||||
;; XXX: The configure script looks for Python headers in the
|
||||
;; XXX: The configure script of looks for Python headers in the
|
||||
;; wrong places as of version 3.20.3. Help it by adding the
|
||||
;; include directory on C_INCLUDE_PATH.
|
||||
(when python
|
||||
@@ -717,41 +714,6 @@ printer/driver specific, but spooler-independent PPD file.")
|
||||
(("^MODTIME[[:blank:]]*=.*$")
|
||||
"MODTIME = echo Thu Jan 01 01:00:00 1970\n"))
|
||||
#t))
|
||||
(add-before 'install 'make-install-dirs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Make missing install dirs
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(dirs '("/share/cups/model"
|
||||
"/share/foomatic/db/source/opt"
|
||||
"/share/foomatic/db/source/printer"
|
||||
"/share/foomatic/db/source/driver"
|
||||
"/lib/cups/filter")))
|
||||
(for-each (lambda (dir)
|
||||
(mkdir-p (string-append out dir)))
|
||||
dirs))))
|
||||
(add-after 'install 'wrap-wrappers
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(ghostscript (assoc-ref inputs "ghostscript"))
|
||||
(coreutils (assoc-ref inputs "coreutils"))
|
||||
(sed (assoc-ref inputs "sed")))
|
||||
(for-each (lambda (file)
|
||||
(wrap-program file
|
||||
`("PATH" ":" prefix
|
||||
(,(string-append ghostscript "/bin:"
|
||||
coreutils "/bin:"
|
||||
sed "/bin")))))
|
||||
(find-files (string-append
|
||||
out "/bin") "wrapper$")))))
|
||||
(add-after 'install 'install-cups-filters-symlinks
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(symlink file
|
||||
(string-append out "/lib/cups/filter/"
|
||||
(basename file))))
|
||||
(find-files (string-append out "/bin"))))))
|
||||
(add-after 'install 'remove-pdf
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Remove 'manual.pdf' which is (1) useless (it's a
|
||||
@@ -765,9 +727,7 @@ printer/driver specific, but spooler-independent PPD file.")
|
||||
#:tests? #f ;no tests
|
||||
#:make-flags '("CC=gcc")))
|
||||
(inputs
|
||||
`(("coreutils" ,coreutils)
|
||||
("sed" ,sed)
|
||||
("ghostscript" ,ghostscript)
|
||||
`(("ghostscript" ,ghostscript)
|
||||
("foomatic-filters" ,foomatic-filters))) ;for 'foomatic-rip'
|
||||
(native-inputs
|
||||
`(("bc" ,bc)
|
||||
@@ -784,10 +744,10 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
|
||||
(license (list license:expat ; icc2ps/*.[ch]
|
||||
license:gpl2+)))) ; everything else
|
||||
|
||||
(define-public epson-inkjet-printer-escpr
|
||||
(define-public escpr
|
||||
(package
|
||||
(name "epson-inkjet-printer-escpr")
|
||||
(version "1.7.8")
|
||||
(name "escpr")
|
||||
(version "1.7.7")
|
||||
;; XXX: This currently works. But it will break as soon as a newer
|
||||
;; version is available since the URLs for older versions are not
|
||||
;; preserved. An alternative source will be added as soon as
|
||||
@@ -795,19 +755,15 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/12/04/32/"
|
||||
"1a455ef8618def65700ca4e446311c2fb43cd839/"
|
||||
"epson-inkjet-printer-escpr-1.7.8-1lsb3.2.tar.gz"))
|
||||
(uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/10/49/18/"
|
||||
"f3016be6120a7271a6d9cb64872f817bce1920b8/"
|
||||
"epson-inkjet-printer-escpr-1.7.7-1lsb3.2.tar.gz"))
|
||||
(sha256
|
||||
(base32 "1pygg2bd2gh27dc65h3dzwrpvi6bq5c87wl0ldchqlc2b3blsx6p"))))
|
||||
(base32 "0khdf2a9iwh9aplj2gzyzl53yyfnfv0kszk3p018jnirl5l475ld"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules
|
||||
((srfi srfi-26)
|
||||
,@%gnu-build-system-modules)
|
||||
#:configure-flags
|
||||
`("--disable-static"
|
||||
,(string-append "--prefix="
|
||||
`(#:configure-flags
|
||||
`(,(string-append "--prefix="
|
||||
(assoc-ref %outputs "out"))
|
||||
,(string-append "--with-cupsfilterdir="
|
||||
(assoc-ref %outputs "out") "/lib/cups/filter")
|
||||
@@ -825,13 +781,7 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
|
||||
(string-append match "aclocal"))
|
||||
(("^(AUTOMAKE=).*" _ match)
|
||||
(string-append match "automake")))
|
||||
#t))
|
||||
(add-after 'install 'compress-PPDs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(with-directory-excursion out
|
||||
(for-each (cut invoke "gzip" "-9" <>)
|
||||
(find-files "share/cups" "\\.ppd$")))))))))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)))
|
||||
@@ -843,39 +793,31 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
|
||||
System} that offers high-quality printing with Seiko@tie{}Epson color ink jet
|
||||
printers. It can be used only with printers that support the Epson@tie{}ESC/P-R
|
||||
language.")
|
||||
(home-page "http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX")
|
||||
(home-page "http://download.ebz.epson.net/dsc/search/01/search")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public escpr
|
||||
(deprecated-package "escpr" epson-inkjet-printer-escpr))
|
||||
|
||||
(define-public splix
|
||||
;; Last released in 2009 <https://sourceforge.net/projects/splix/files/>.
|
||||
;; Last SVN commit was 2013 <https://svn.code.sf.net/p/splix/code/splix/>.
|
||||
;; Use a more maintained fork with several bug fixes and support for newer
|
||||
;; printer models.
|
||||
(let ((commit "76268c4dd7dbc8218ea7426401104c3b40cc707a")
|
||||
(revision "315"))
|
||||
;; The last release was in 2009. The SVN repository contains 5 years of
|
||||
;; unreleased bug fixes and support for newer printer models.
|
||||
(let ((revision 315))
|
||||
(package
|
||||
(name "splix")
|
||||
(version (git-version "2.0.0" revision commit))
|
||||
(version (string-append "2.0.0-" (number->string revision)))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/ScumCoder/splix")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(method svn-fetch)
|
||||
(uri (svn-reference
|
||||
(url "https://svn.code.sf.net/p/splix/code/splix/")
|
||||
(revision revision)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32 "1mxsvllwwr1v8sgrax0b7gkajjhnm0l06s67spmaxz47lyll1qab"))))
|
||||
(base32 "16wbm4xnz35ca3mw2iggf5f4jaxpyna718ia190ka6y4ah932jxl"))))
|
||||
(build-system gnu-build-system)
|
||||
;; PPDs have been obsolete since CUPS 1.2 and make up 90% of total size.
|
||||
;; 90% (3.8 MiB) of output are .ppd files. Don't install them by default:
|
||||
;; CUPS has been able to read the .drv sources directly since version 1.2.
|
||||
(outputs (list "out" "ppd"))
|
||||
(arguments
|
||||
`(#:modules
|
||||
((srfi srfi-26)
|
||||
,@%gnu-build-system-modules)
|
||||
#:make-flags
|
||||
'(#:make-flags
|
||||
(list (string-append "CUPSDRV="
|
||||
(assoc-ref %outputs "out") "/share/cups/drv")
|
||||
(string-append "CUPSFILTER="
|
||||
@@ -886,28 +828,21 @@ language.")
|
||||
"THREADS=4") ; compress and print faster
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enter-subdirectory
|
||||
;; The git repository replicates the top-level SVN layout.
|
||||
(lambda _
|
||||
(chdir "splix")
|
||||
#t))
|
||||
(delete 'configure) ; no configure script
|
||||
(add-before 'build 'build-.drv-files
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "drv" make-flags)))
|
||||
(add-after 'install 'install-.drv-files
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "install" "DRV_ONLY=1" make-flags)))
|
||||
(add-after 'install 'compress-PPDs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((ppd (assoc-ref outputs "ppd")))
|
||||
(for-each (cut invoke "gzip" "-9" <>)
|
||||
(find-files ppd "\\.ppd$"))))))
|
||||
(apply invoke "make" "install" "DRV_ONLY=1" make-flags))))
|
||||
#:tests? #f)) ; no test suite
|
||||
(inputs
|
||||
`(("cups" ,cups-minimal)
|
||||
("jbigkit" ,jbigkit)
|
||||
("zlib" ,zlib)))
|
||||
("zlib" ,zlib)
|
||||
|
||||
;; This dependency can be dropped by setting DISABLE_JBIG=1, but the
|
||||
;; result will not support some printers like the Samsung CLP-600.
|
||||
("jbigkit" ,jbigkit)))
|
||||
(synopsis "QPDL (SPL2) printer driver")
|
||||
(description
|
||||
"SpliX is a set of CUPS drivers for printers that speak @acronym{QPDL,
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
(package
|
||||
(name "curl")
|
||||
(version "7.69.1")
|
||||
(replacement curl-7.74.0)
|
||||
(replacement curl-7.71.0)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://curl.haxx.se/download/curl-"
|
||||
@@ -171,18 +171,18 @@ tunneling, and so on.")
|
||||
(name "curl-minimal")
|
||||
(inputs (alist-delete "openldap" (package-inputs curl))))))
|
||||
|
||||
;; Replacement package to fix multiple security vulnerabilities.
|
||||
(define curl-7.74.0
|
||||
;; Replacement package to fix CVE-2020-8169 and CVE-2020-8177.
|
||||
(define curl-7.71.0
|
||||
(package
|
||||
(inherit curl)
|
||||
(version "7.74.0")
|
||||
(version "7.71.0")
|
||||
(source (origin
|
||||
(inherit (package-source curl))
|
||||
(uri (string-append "https://curl.haxx.se/download/curl-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12w7gskrglg6qrmp822j37fmbr0icrcxv7rib1fy5xiw80n5z7cr"))))
|
||||
"0wlppmx9iry8slh4pqcxj7lwc6fqwnlhh9ri2pcym2rx76a8gwfd"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments curl)
|
||||
((#:phases phases)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -27,13 +26,13 @@
|
||||
(define-public ropgadget
|
||||
(package
|
||||
(name "ropgadget")
|
||||
(version "6.4")
|
||||
(version "6.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ROPGadget" version))
|
||||
(sha256
|
||||
(base32 "1hz6y5a8d4gc2sryz5alpz9mivrk8kj4l3dw00zkz2xca7gwpmsi"))))
|
||||
(base32 "0v34w88if3p4vn46aby24msfnxj6znmkf4848n4d24jnykxcsqk9"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-capstone" ,python-capstone)))
|
||||
|
||||
+110
-302
@@ -87,16 +87,13 @@
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages time)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages language)
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages parallel)
|
||||
@@ -237,7 +234,7 @@ standard Go idioms.")
|
||||
(define-public ephemeralpg
|
||||
(package
|
||||
(name "ephemeralpg")
|
||||
(version "3.1")
|
||||
(version "3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -245,10 +242,10 @@ standard Go idioms.")
|
||||
"https://eradman.com/ephemeralpg/code/ephemeralpg-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1ap22ki8yz6agd0qybcjgs4b9izw1rwwcgpxn3jah2ccfyax34s6"))))
|
||||
(base32 "1j0g7g114ma7y7sadbng5p1ss1zsm9zpicm77qspym6565733vvh"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
'(#:make-flags (list "CC=gcc"
|
||||
(string-append "PREFIX=" %output))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
@@ -311,183 +308,6 @@ ElasticSearch server")
|
||||
(home-page "https://github.com/patientslikeme/es_dump_restore")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public firebird
|
||||
(package
|
||||
(name "firebird")
|
||||
(version "3.0.7")
|
||||
(source
|
||||
(let ((revision "33374-0"))
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/FirebirdSQL/"
|
||||
"firebird/releases/download/R"
|
||||
(string-replace-substring version "." "_") "/"
|
||||
"Firebird-" version "." revision ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0xpy1bncz36c6n28y7kllm1dkrdkn4vb4gw2n43f2351mznmrf5c"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
(for-each
|
||||
delete-file-recursively
|
||||
(list "extern/btyacc/test" ; TODO: package and remove entirely
|
||||
"extern/editline"
|
||||
"extern/icu"
|
||||
"extern/libtommath"
|
||||
"extern/zlib"
|
||||
"src/include/firebird/impl/boost"
|
||||
|
||||
;; Missing licence.
|
||||
"builds/install/arch-specific/solaris"
|
||||
"extern/SfIO"
|
||||
"src/msgs/templates.sql"
|
||||
|
||||
;; Generated files missing sources.
|
||||
"doc/Firebird-3-QuickStart.pdf"
|
||||
(string-append "doc/Firebird-" ,version
|
||||
"-ReleaseNotes.pdf")
|
||||
"doc/README.SecureRemotePassword.html"))
|
||||
#t)))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs (list "debug" "out"))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "--with-fbsbin=" out "/sbin")
|
||||
(string-append "--with-fbdoc=" out "/share/doc/"
|
||||
,name "-" ,version)
|
||||
(string-append "--with-fbconf=" out "/lib/firebird")
|
||||
(string-append "--with-fbintl=" out "/lib/firebird/intl")
|
||||
(string-append "--with-fbmisc=" out "/lib/firebird/misc")
|
||||
(string-append "--with-fbmsg=" out "/lib/firebird")
|
||||
(string-append "--with-fbplugins=" out "/lib/firebird/plugins")
|
||||
(string-append "--with-fbudf=" out "/lib/firebird/UDF")
|
||||
"--with-fbglock=/run/firebird"
|
||||
"--with-fblog=/var/log/firebird"
|
||||
"--with-fbhelp=/var/lib/firebird/system"
|
||||
"--with-fbsecure-db=/var/lib/firebird/secure"
|
||||
"--without-fbsample"
|
||||
"--without-fbsample-db"
|
||||
"--with-system-editline"))
|
||||
#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
;; The plugins/ can't find libfbclient otherwise.
|
||||
(string-append "LDFLAGS=-Wl,-rpath="
|
||||
(assoc-ref %outputs "out") "/lib"))
|
||||
#:tests? #f ; no test suite
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-system-boost
|
||||
(lambda _
|
||||
(substitute* "src/include/firebird/Message.h"
|
||||
(("\"\\./impl/boost/preprocessor/seq/for_each_i\\.hpp\"")
|
||||
"<boost/preprocessor/seq/for_each_i.hpp>")
|
||||
(("FB_BOOST_") "BOOST_"))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-installation
|
||||
(lambda _
|
||||
(substitute*
|
||||
"builds/install/arch-specific/linux/makeInstallImage.sh.in"
|
||||
(("/bin/sh") (which "bash"))
|
||||
;; Remove shell script helpers from $PATH.
|
||||
(("(addLibs|cp) .*\\.sh .*@FB_SBINDIR@") ":")
|
||||
;; Put files where Guix users expect them.
|
||||
(("(License\\.txt.*)@FB_CONFDIR" match)
|
||||
(string-append match "@FB_DOCDIR@"))
|
||||
(("@FB_CONFDIR@(.*License\\.txt.*)" match)
|
||||
(string-append "@FB_DOCDIR@" match))
|
||||
(("(cp .*/doc/.*)@FB_CONFDIR@(.*)" _ head tail)
|
||||
(string-append head "@FB_DOCDIR@" tail "\n")))
|
||||
(substitute*
|
||||
(list "builds/install/posix-common/changeServerMode.sh.in"
|
||||
"builds/install/posix-common/install.sh.in")
|
||||
;; Skip phases that (could) cause problems in Guix.
|
||||
(("check(InstallUser|IfServerRunning|Libraries)|addFirebirdUser")
|
||||
":")
|
||||
;; Skip phases that are merely pointless on Guix.
|
||||
(("buildUninstallFile|installInitdScript|startFirebird") ":")
|
||||
;; Omit randomly generated password with bonus timestamp.
|
||||
(("setDBAPassword") ":"))
|
||||
|
||||
;; These promote proprietary workflows not relevant on Guix.
|
||||
(for-each delete-file-recursively
|
||||
(find-files "doc" "README\\.(build\\.msvc|NT|Win)"))
|
||||
#t))
|
||||
(add-after 'configure 'delete-init-scripts
|
||||
(lambda _
|
||||
(delete-file-recursively "gen/install/misc")
|
||||
#t))
|
||||
(add-before 'build 'set-build-environment-variables
|
||||
(lambda _
|
||||
;; ‘isql’ needs to run & find libfbclient.so during the build.
|
||||
;; This doubles as a rudimentary test in lieu of a test suite.
|
||||
(setenv "LD_LIBRARY_PATH"
|
||||
(string-append (assoc-ref %build-inputs "icu4c") "/lib"))
|
||||
#t))
|
||||
(add-before 'install 'keep-embedded-debug-symbols
|
||||
(lambda _
|
||||
;; Let the gnu-build-system separate & deal with them later.
|
||||
;; XXX Upstream would use ‘--strip-unneeded’, shaving a whole
|
||||
;; megabyte off Guix's 7.7M libEngine12.so, for example.
|
||||
(substitute* "gen/Makefile.install"
|
||||
(("readelf") "false"))
|
||||
#t))
|
||||
(add-after 'install 'prune-undesirable-files
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(with-directory-excursion out
|
||||
;; Remove example binaries.
|
||||
(for-each delete-file-recursively
|
||||
(find-files "." "example"))
|
||||
;; Delete (now-)empty directories.
|
||||
(for-each rmdir
|
||||
(list "include/firebird/impl"
|
||||
"lib/firebird/plugins/udr"))
|
||||
#t)))))))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("editline" ,editline)
|
||||
("icu4c" ,icu4c-67)
|
||||
("libtommath" ,libtommath)
|
||||
("ncurses" ,ncurses)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://www.firebirdsql.org")
|
||||
(synopsis "Relational database with many ANSI SQL standard features")
|
||||
(description
|
||||
"Firebird is an SQL @acronym{RDBMS, relational database management system}
|
||||
with rich support for ANSI SQL (e.g., @code{INSERT...RETURNING}) including
|
||||
@acronym{UDFs, user-defined functions} and PSQL stored procedures, cursors, and
|
||||
triggers. Transactions provide full ACID-compliant referential integrity.
|
||||
|
||||
The database requires very little manual maintenance once set up, making it
|
||||
ideal for small business or embedded use.
|
||||
|
||||
When installed as a traditional local or remote (network) database server,
|
||||
Firebird can grow to terabyte scale with proper tuning---although PostgreSQL
|
||||
may be a better choice for such very large environments.
|
||||
|
||||
Firebird can also be embedded into stand-alone applications that don't want or
|
||||
need a full client & server. Used in this manner, it offers richer SQL support
|
||||
than SQLite as well as the option to seamlessly migrate to a client/server
|
||||
database later.")
|
||||
(properties
|
||||
`((lint-hidden-cve . ("CVE-2017-6369"))))
|
||||
(license
|
||||
;; See doc/license/README.license.usage.txt for rationale & details.
|
||||
(list license:bsd-3 ; src/common/sha2/
|
||||
license:bsd-4 ; src/common/enc.cpp
|
||||
license:gpl2+ ; builds/posix/make.defaults
|
||||
(license:non-copyleft "file:///builds/install/misc/IPLicense.txt"
|
||||
"InterBase Public License v1.0")
|
||||
(license:non-copyleft "file:///builds/install/misc/IDPLicense.txt"
|
||||
"Initial Developer's Public License v1.0")
|
||||
license:lgpl2.1 ; exception for OSI-compatible licences
|
||||
license:mpl1.1 ; examples/interfaces/0{6,8}*.cpp
|
||||
license:public-domain)))) ; including files without explicit licence
|
||||
|
||||
(define-public leveldb
|
||||
(package
|
||||
(name "leveldb")
|
||||
@@ -516,14 +336,14 @@ mapping from string keys to string values.")
|
||||
(define-public memcached
|
||||
(package
|
||||
(name "memcached")
|
||||
(version "1.6.9")
|
||||
(version "1.5.20")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://memcached.org/files/memcached-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1lcjy1b9krnb2gk72qd1fvivlfiyfvknfi3wngyvyk9ifzijr9nm"))))
|
||||
(base32 "1r511qr95q0ywdaql3pdjiwzkfqxhhfzb13ilvl7mznfm4iv1myg"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libevent" ,libevent)
|
||||
@@ -898,7 +718,7 @@ Language.")
|
||||
(define-public mariadb
|
||||
(package
|
||||
(name "mariadb")
|
||||
(version "10.5.6")
|
||||
(version "10.1.45")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://downloads.mariadb.com/MariaDB"
|
||||
@@ -906,7 +726,8 @@ Language.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1i257h0zdypdfj5wkg6ck9pxlkph0jvjs92k22pjr6gnx5lxs1gz"))
|
||||
"1mfs0x4c0z7d306n128dxdawk3llk25vxif5zwl20fv1z5qhz3wx"))
|
||||
(patches (search-patches "mariadb-client-test-32bit.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -924,8 +745,8 @@ Language.")
|
||||
(for-each (lambda (file)
|
||||
(unless (string-suffix? "CMakeLists.txt" file)
|
||||
(delete-file file)))
|
||||
(append (find-files "extra/wolfssl")
|
||||
(find-files "zlib")))
|
||||
(append (find-files "extra/yassl")
|
||||
(find-files "pcre") (find-files "zlib")))
|
||||
#t))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "lib" "dev"))
|
||||
@@ -979,20 +800,29 @@ Language.")
|
||||
"-DINSTALL_SHAREDIR=share")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'adjust-output-references
|
||||
,@(if (string-prefix? "arm" (%current-system))
|
||||
;; XXX: Because of the GCC 5 input, we need to hide GCC 7 from
|
||||
;; CPLUS_INCLUDE_PATH so that its headers do not shadow GCC 5.
|
||||
'((add-after 'set-paths 'hide-default-gcc
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((gcc (assoc-ref inputs "gcc")))
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-join
|
||||
(delete (string-append gcc "/include/c++")
|
||||
(string-split (getenv "CPLUS_INCLUDE_PATH")
|
||||
#\:))
|
||||
":"))
|
||||
#t))))
|
||||
'())
|
||||
(add-after 'unpack 'fix-pcre-detection
|
||||
(lambda _
|
||||
;; The build system invariably prepends $CMAKE_INSTALL_PREFIX
|
||||
;; to other variables such as $INSTALL_INCLUDEDIR, which does
|
||||
;; not work when the latter uses an absolute file name.
|
||||
(substitute* "libmariadb/mariadb_config/mariadb_config.c.in"
|
||||
(("@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@")
|
||||
"@INSTALL_INCLUDEDIR@"))
|
||||
(substitute* "libmariadb/mariadb_config/libmariadb.pc.in"
|
||||
(("\\$\\{prefix\\}/@INSTALL_INCLUDEDIR@")
|
||||
"@INSTALL_INCLUDEDIR@"))
|
||||
(substitute* "include/CMakeLists.txt"
|
||||
(("\\\\\\$\\{CMAKE_INSTALL_PREFIX\\}/\\$\\{INSTALL_INCLUDEDIR\\}")
|
||||
"${INSTALL_INCLUDEDIR}"))
|
||||
;; The bundled PCRE in MariaDB has a patch that was upstreamed
|
||||
;; in version 8.34. Unfortunately the upstream patch behaves
|
||||
;; slightly differently and the build system fails to detect it.
|
||||
;; See <https://bugs.exim.org/show_bug.cgi?id=2173>.
|
||||
;; XXX: Consider patching PCRE instead.
|
||||
(substitute* "cmake/pcre.cmake"
|
||||
((" OR NOT PCRE_STACK_SIZE_OK") ""))
|
||||
#t))
|
||||
(add-after 'unpack 'adjust-tests
|
||||
(lambda _
|
||||
@@ -1000,7 +830,6 @@ Language.")
|
||||
'(;; These fail because root@hostname == root@localhost in
|
||||
;; the build environment, causing a user count mismatch.
|
||||
;; See <https://jira.mariadb.org/browse/MDEV-7761>.
|
||||
"funcs_1.is_columns_mysql"
|
||||
"main.join_cache"
|
||||
"main.explain_non_select"
|
||||
"main.stat_tables"
|
||||
@@ -1009,7 +838,20 @@ Language.")
|
||||
|
||||
;; This file contains a time bomb which makes it fail after
|
||||
;; 2030-12-31. See <https://bugs.gnu.org/34351> for details.
|
||||
"main.mysqldump"))
|
||||
"main.mysqldump"
|
||||
|
||||
;; FIXME: This test fails on i686:
|
||||
;; -myisampack: Can't create/write to file (Errcode: 17 "File exists")
|
||||
;; +myisampack: Can't create/write to file (Errcode: 17 "File exists)
|
||||
;; When running "myisampack --join=foo/t3 foo/t1 foo/t2"
|
||||
;; (all three tables must exist and be identical)
|
||||
;; in a loop it produces the same error around 1/240 times.
|
||||
;; montywi on #maria suggested removing the real_end check in
|
||||
;; "strings/my_vsnprintf.c" on line 503, yet it still does not
|
||||
;; reach the ending quote occasionally. Disable it for now.
|
||||
"main.myisampack"
|
||||
;; FIXME: This test fails on armhf-linux:
|
||||
"mroonga/storage.index_read_multiple_double"))
|
||||
|
||||
;; This file contains a list of known-flaky tests for this
|
||||
;; release. Append our own items.
|
||||
@@ -1020,10 +862,9 @@ Language.")
|
||||
disabled-tests)
|
||||
(close-port unstable-tests)
|
||||
|
||||
;; XXX: These fail because they expect a latin1 charset and
|
||||
;; XXX: This test fails because it expects a latin1 charset and
|
||||
;; collation. See <https://jira.mariadb.org/browse/MDEV-21264>.
|
||||
(substitute* '("mysql-test/main/gis_notembedded.result"
|
||||
"mysql-test/main/system_mysql_db.result")
|
||||
(substitute* "mysql-test/r/gis_notembedded.result"
|
||||
(("latin1_swedish_ci") "utf8_general_ci")
|
||||
(("\tlatin1") "\tutf8"))
|
||||
|
||||
@@ -1056,10 +897,6 @@ Language.")
|
||||
"--testcase-timeout=40"
|
||||
"--suite-timeout=600"
|
||||
"--parallel" (number->string (parallel-job-count))
|
||||
;; Skip the replication tests: they are very I/O
|
||||
;; intensive and frequently causes indeterministic
|
||||
;; failures even on powerful hardware.
|
||||
"--skip-rpl"
|
||||
"--skip-test-list=unstable-tests"))
|
||||
(format #t "test suite not run~%"))
|
||||
#t))
|
||||
@@ -1070,57 +907,56 @@ Language.")
|
||||
(dev (assoc-ref outputs "dev"))
|
||||
(lib (assoc-ref outputs "lib"))
|
||||
(openssl (assoc-ref inputs "openssl")))
|
||||
(substitute* (list (string-append out "/bin/mariadb-install-db")
|
||||
(string-append out "/bin/mysql_install_db"))
|
||||
(substitute* (string-append out "/bin/mysql_install_db")
|
||||
(("basedir=\"\"")
|
||||
(string-append "basedir=\"" out "\""))
|
||||
(("\\$basedir/share/mysql")
|
||||
(string-append lib "/share/mysql")))
|
||||
|
||||
(string-append "basedir=\"" out "\"")))
|
||||
;; Remove unneeded files for testing.
|
||||
(with-directory-excursion lib
|
||||
(for-each delete-file-recursively
|
||||
'("mysql-test" "sql-bench"))
|
||||
'("data" "mysql-test" "sql-bench"))
|
||||
;; And static libraries.
|
||||
(for-each delete-file (find-files "lib" "\\.a$")))
|
||||
(with-directory-excursion out
|
||||
(delete-file "share/man/man1/mysql-test-run.pl.1")
|
||||
;; Delete huge and unnecessary executables.
|
||||
(for-each delete-file (find-files "bin" "test$")))
|
||||
(for-each delete-file (find-files "bin" "(test|embedded)")))
|
||||
(mkdir-p (string-append dev "/share"))
|
||||
(mkdir-p (string-append dev "/bin"))
|
||||
(rename-file (string-append lib "/bin/mariadbd")
|
||||
(string-append out "/bin/mariadbd"))
|
||||
(rename-file (string-append lib "/bin/mysqld")
|
||||
(string-append out "/bin/mysqld"))
|
||||
(mkdir-p (string-append dev "/lib"))
|
||||
(rename-file (string-append lib "/lib/pkgconfig")
|
||||
(string-append dev "/lib/pkgconfig"))
|
||||
(rename-file (string-append lib "/bin/mariadb_config")
|
||||
(string-append dev "/bin/mariadb_config"))
|
||||
(rename-file (string-append lib "/share/pkgconfig")
|
||||
(string-append dev "/share/pkgconfig"))
|
||||
(rename-file (string-append out "/bin/mysql_config")
|
||||
(string-append dev "/bin/mysql_config"))
|
||||
|
||||
|
||||
(substitute* (string-append out "/bin/mysql_install_db")
|
||||
(("\\$basedir/share/mysql")
|
||||
(string-append lib "/share/mysql")))
|
||||
|
||||
;; Embed an absolute reference to OpenSSL in mysql_config
|
||||
;; and the pkg-config file to avoid propagation.
|
||||
;; XXX: how to do this for mariadb_config.c.in?
|
||||
(substitute* (list (string-append dev "/bin/mysql_config")
|
||||
(string-append dev "/lib/pkgconfig/mariadb.pc"))
|
||||
(string-append dev "/share/pkgconfig/mariadb.pc"))
|
||||
(("-lssl -lcrypto" all)
|
||||
(string-append "-L" openssl "/lib " all)))
|
||||
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
;; XXX: On armhf, use GCC 5 to work around <https://bugs.gnu.org/37605>.
|
||||
,@(if (string-prefix? "armhf" (%current-system))
|
||||
`(("gcc@5" ,gcc-5))
|
||||
'())
|
||||
("perl" ,perl)))
|
||||
(inputs
|
||||
`(("jemalloc" ,jemalloc)
|
||||
("libaio" ,libaio)
|
||||
("libxml2" ,libxml2)
|
||||
("ncurses" ,ncurses)
|
||||
("openssl" ,openssl)
|
||||
("openssl" ,openssl-1.0)
|
||||
("pam" ,linux-pam)
|
||||
("pcre2" ,pcre2)
|
||||
("pcre" ,pcre)
|
||||
("xz" ,xz)
|
||||
("zlib" ,zlib)))
|
||||
;; The test suite is very resource intensive and can take more than three
|
||||
@@ -1136,16 +972,16 @@ as a drop-in replacement of MySQL.")
|
||||
(define-public mariadb-connector-c
|
||||
(package
|
||||
(name "mariadb-connector-c")
|
||||
(version "3.1.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://downloads.mariadb.org/f/connector-c-" version
|
||||
"/mariadb-connector-c-" version "-src.tar.gz"
|
||||
"/from/https%3A//mirrors.ukfast.co.uk/sites/mariadb/?serve"))
|
||||
(sha256
|
||||
(base32 "03svzahdf7czjlm695c11r4bfd04qdqgx8r1vkpr1zlkjhwnqvry"))))
|
||||
(version "3.1.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://downloads.mariadb.org/f/connector-c-"
|
||||
version "/mariadb-connector-c-"
|
||||
version "-src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13v5z4w1cl890lnr2fbwbziw638lqw2aga45vdq1z0cyrc9mcgmg"))))
|
||||
(inputs
|
||||
`(("openssl" ,openssl)))
|
||||
(build-system cmake-build-system)
|
||||
@@ -1206,18 +1042,6 @@ pictures, sounds, or video.")
|
||||
|
||||
(define-public postgresql-10 postgresql)
|
||||
|
||||
(define-public postgresql-13
|
||||
(package
|
||||
(inherit postgresql)
|
||||
(version "13.1")
|
||||
(source (origin
|
||||
(inherit (package-source postgresql))
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"07z6zwr58dckaa97yl9ml240z83d1lhgaxw9aq49i8lsp21mqd0j"))))))
|
||||
|
||||
(define-public postgresql-11
|
||||
(package
|
||||
(inherit postgresql)
|
||||
@@ -1319,13 +1143,13 @@ organized in a hash table or B+ tree.")
|
||||
|
||||
(native-inputs `(("bc" ,bc)
|
||||
("bash:include" ,bash "include")
|
||||
("check" ,check-0.14)
|
||||
("check" ,check)
|
||||
("libuuid" ,util-linux)
|
||||
("pkg-config" ,pkg-config)))
|
||||
|
||||
;; TODO: Add more optional inputs.
|
||||
(inputs `(("curl" ,curl)
|
||||
("libgcrypt" ,libgcrypt)
|
||||
("libuuid" ,util-linux "lib")))
|
||||
("libgcrypt" ,libgcrypt)))
|
||||
(synopsis "Manipulate plain text files as databases")
|
||||
(description
|
||||
"GNU Recutils is a set of tools and libraries for creating and
|
||||
@@ -1382,7 +1206,6 @@ including field and record folding.")))
|
||||
`(#:make-flags (list "CC=gcc" "V=1"
|
||||
;; Ceph requires that RTTI is enabled.
|
||||
"USE_RTTI=1"
|
||||
"date=1970-01-01" ; build reproducibly
|
||||
(string-append "INSTALL_PATH="
|
||||
(assoc-ref %outputs "out"))
|
||||
|
||||
@@ -2082,7 +1905,7 @@ valid SQL query.")
|
||||
(define-public unixodbc
|
||||
(package
|
||||
(name "unixodbc")
|
||||
(version "2.3.9")
|
||||
(version "2.3.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@@ -2090,7 +1913,7 @@ valid SQL query.")
|
||||
"ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "01xj65d02i3yjy7p9z08y9jakcs5szmz4rask868n7387nn3x0sj"))))
|
||||
(base32 "0xry3sg497wly8f7715a7gwkn2k36bcap0mvzjw74jj53yx6kwa5"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Data source abstraction library")
|
||||
(description "Unixodbc is a library providing an API with which to access
|
||||
@@ -2332,7 +2155,7 @@ database.")
|
||||
(define-public lmdb
|
||||
(package
|
||||
(name "lmdb")
|
||||
(version "0.9.27")
|
||||
(version "0.9.26")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2341,7 +2164,7 @@ database.")
|
||||
(commit (string-append "LMDB_" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "09xqqm8yjsf1gv4gd4llal48sms76hfhxadx6rik1j2g5v3d3f1k"))))
|
||||
(base32 "0323xwb2rqyrr9vr6gbxc2kl89drhqw0ifmyh9pg9qgqmymyhxdx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
@@ -2352,25 +2175,7 @@ database.")
|
||||
(chdir "libraries/liblmdb")
|
||||
(substitute* "Makefile"
|
||||
(("/usr/local") (assoc-ref outputs "out")))
|
||||
#t))
|
||||
(add-after 'install 'create-pkg-config-file
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(mkdir-p (string-append out "/lib/pkgconfig"))
|
||||
(with-output-to-file (string-append out "/lib/pkgconfig/liblmdb.pc")
|
||||
(lambda _
|
||||
(format #t "prefix=~a~@
|
||||
exec_prefix=~a~@
|
||||
libdir=~a/lib~@
|
||||
includedir=~a/include~@
|
||||
~@
|
||||
Name: liblmdb~@
|
||||
Version: ~a~@
|
||||
Description: Lightning Memory-Mapped Database library~@
|
||||
Libs: -L${libdir} -llmdb~@
|
||||
Cflags: -I${includedir}~%"
|
||||
out out out out ,version)))
|
||||
#t))))))
|
||||
#t)))))
|
||||
(home-page "https://symas.com/lmdb/")
|
||||
(synopsis "Lightning Memory-Mapped Database library")
|
||||
(description
|
||||
@@ -2451,18 +2256,17 @@ on another machine, accessed via TCP/IP.")
|
||||
(define-public python-peewee
|
||||
(package
|
||||
(name "python-peewee")
|
||||
(version "3.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "peewee" version))
|
||||
(sha256
|
||||
(base32 "1yl49gxrg0c2x3n3r60z3lixw9am8b61s0477l9vjabhhx1yziar"))))
|
||||
(version "3.9.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "peewee" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1j4sh946k0736m7pd54z0y6i2hjhgg3kdllx1pwq8xkzzcgrx1xw"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; fails to import test data
|
||||
(inputs
|
||||
`(("sqlite" ,sqlite)))
|
||||
`(#:tests? #f)) ; Fails to import test data
|
||||
(native-inputs
|
||||
`(("python-cython" ,python-cython)))
|
||||
(home-page "https://github.com/coleifer/peewee/")
|
||||
@@ -3236,7 +3040,8 @@ files or Python scripts that define a list of migration steps.")
|
||||
(build-system python-build-system)
|
||||
(arguments '(#:tests? #f)) ;XXX: requires a live database
|
||||
(inputs
|
||||
`(("mysql-dev" ,mariadb "dev")))
|
||||
`(("mysql" ,mariadb "lib")
|
||||
("mysql-dev" ,mariadb "dev")))
|
||||
(home-page "https://github.com/PyMySQL/mysqlclient-python")
|
||||
(synopsis "MySQLdb is an interface to the popular MySQL database server for Python")
|
||||
(description "MySQLdb is an interface to the popular MySQL database server
|
||||
@@ -3487,7 +3292,7 @@ transforms idiomatic python function calls to well-formed SQL queries.")
|
||||
(define-public python-pypika
|
||||
(package
|
||||
(name "python-pypika")
|
||||
(version "0.44.0")
|
||||
(version "0.37.2")
|
||||
(source
|
||||
(origin (method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -3496,7 +3301,7 @@ transforms idiomatic python function calls to well-formed SQL queries.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mpddrw9z1pzcc40j3pzhd583hlgjx96aa8ak6m9zzhpm4bv3ard"))))
|
||||
"089z1c778q1fwhzsc88ws8j5gm2hgxknibabn4wpax8rz2bfs3ck"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-parameterized" ,python-parameterized)))
|
||||
@@ -3901,7 +3706,7 @@ The drivers officially supported by @code{libdbi} are:
|
||||
(define-public soci
|
||||
(package
|
||||
(name "soci")
|
||||
(version "4.0.1")
|
||||
(version "4.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -3910,21 +3715,24 @@ The drivers officially supported by @code{libdbi} are:
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14x2gjblkgpflv75wl144cyjp1sis5rbxnr9r2gj3yw16v2av0bp"))))
|
||||
"06faswdxd2frqr9xnx6bxc7zwarlzsbdi3bqpz7kwdxsjvq41rnb"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("firebird" ,firebird)
|
||||
("postgresql" ,postgresql)
|
||||
`(("postgresql" ,postgresql)
|
||||
("sqlite" ,sqlite)
|
||||
("odbc" ,unixodbc)
|
||||
("boost" ,boost)
|
||||
("mariadb:dev" ,mariadb "dev")))
|
||||
("mariadb:dev" ,mariadb "dev")
|
||||
("mariadb:lib" ,mariadb "lib")))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
;; C++11 (-DSOCI_CXX11) is OFF by default. hyperledger-iroha needs it.
|
||||
(list "-DCMAKE_CXX_STANDARD=17"
|
||||
"-DSOCI_LIBDIR=lib")
|
||||
#:tests? #f)) ; may require running database management systems
|
||||
`(#:tests? #f ; Tests may require running database management systems.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-lib-path
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("set\\(SOCI_LIBDIR \"lib64\"\\)") ""))
|
||||
#t)))))
|
||||
(synopsis "C++ Database Access Library")
|
||||
(description
|
||||
"SOCI is an abstraction layer for several database backends, including
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
|
||||
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2020 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -25,15 +24,13 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages build-tools) ;for meson-0.55
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#: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 build-system meson))
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public gdsl
|
||||
(package
|
||||
@@ -283,28 +280,6 @@ complexity of an operation performed on the classical data structure and the
|
||||
equivalent succinct data structure are (most of the time) identical.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public tllist
|
||||
(package
|
||||
(name "tllist")
|
||||
(version "1.0.4")
|
||||
(home-page "https://codeberg.org/dnkl/tllist")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url home-page) (commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a26vwb7ll6mv3h8rbafsdx4vic1f286hiqn8s359sw8b7yjkvzs"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:meson ,meson-0.55))
|
||||
(synopsis "Typed link list for C")
|
||||
(description
|
||||
"@code{tllist} is a @dfn{typed linked list} C header file only library
|
||||
implemented using pre-processor macros. It supports primitive data types as
|
||||
well as aggregated ones such as structs, enums and unions.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public libdivsufsort
|
||||
(package
|
||||
(name "libdivsufsort")
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
(define-public radicale
|
||||
(package
|
||||
(name "radicale")
|
||||
(version "3.0.6")
|
||||
(version "3.0.4")
|
||||
(source
|
||||
(origin
|
||||
;; There are no tests in the PyPI tarball.
|
||||
@@ -49,7 +49,7 @@
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xlsvrmx6jhi71j6j8z9sli5vwxasivzjyqf8zq8r0l5p7350clf"))))
|
||||
(base32 "0hj9mmhrj32mzhxlnjcfijb7768cyjsn603nalp54clgb2gkmvw8"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
@@ -41,7 +41,7 @@
|
||||
"See LICENSE in the distribution."))
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.oracle.com/berkeley-db/db-"
|
||||
(uri (string-append "http://download.oracle.com/berkeley-db/db-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
@@ -104,7 +104,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
|
||||
(version "5.3.28")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.oracle.com/berkeley-db/db-"
|
||||
(uri (string-append "http://download.oracle.com/berkeley-db/db-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
@@ -116,7 +116,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
|
||||
(version "6.2.32")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.oracle.com/berkeley-db/db-"
|
||||
(uri (string-append "http://download.oracle.com/berkeley-db/db-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
|
||||
+3
-119
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;;
|
||||
@@ -26,17 +26,12 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages dbm)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages wget))
|
||||
#:use-module (gnu packages wget)
|
||||
#:use-module (gnu packages perl))
|
||||
|
||||
(define-public debian-archive-keyring
|
||||
(package
|
||||
@@ -280,114 +275,3 @@ debian/copyright for more information.")))))
|
||||
selectively mirror Debian and Ubuntu GNU/Linux distributions or any
|
||||
other apt sources typically provided by open source developers.")
|
||||
(license license:gpl2))))
|
||||
|
||||
(define-public dpkg
|
||||
(package
|
||||
(name "dpkg")
|
||||
(version "1.20.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.dpkg.org/git/dpkg/dpkg")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"190q968g1vdz07byvfvc2gladhpq3yl765mfiacglyix3nkisy0j"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'patch-version
|
||||
(lambda _
|
||||
(patch-shebang "get-version")
|
||||
(with-output-to-file ".dist-version"
|
||||
(lambda () (display ,version)))
|
||||
#t))
|
||||
(add-after 'unpack 'set-perl-libdir
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(perl (assoc-ref inputs "perl")))
|
||||
(setenv "PERL_LIBDIR"
|
||||
(string-append out
|
||||
"/lib/perl5/site_perl/"
|
||||
,(package-version perl)))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("gettext" ,gettext-minimal)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)
|
||||
("perl-io-string" ,perl-io-string)))
|
||||
(inputs
|
||||
`(("bzip2" ,bzip2)
|
||||
("libmd" ,libmd)
|
||||
("ncurses" ,ncurses)
|
||||
("perl" ,perl)
|
||||
("xz" ,xz)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://wiki.debian.org/Teams/Dpkg")
|
||||
(synopsis "Debian package management system")
|
||||
(description "This package provides the low-level infrastructure for
|
||||
handling the installation and removal of Debian software packages.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public reprepro
|
||||
(package
|
||||
(name "reprepro")
|
||||
(version "5.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://salsa.debian.org/brlink/reprepro.git/")
|
||||
(commit (string-append name "-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1kn7m5rxay6q2c4vgjgm4407xx2r46skkkb6rn33m6dqk1xfkqnh"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; testtool not found
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(if tests?
|
||||
(with-directory-excursion "tests"
|
||||
(invoke (which "sh") "test.sh"))
|
||||
#t)))
|
||||
(add-after 'install 'install-completions
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bash (string-append out "/etc/bash_completion.d/"))
|
||||
(zsh (string-append out "/share/zsh/site-fucnctions/")))
|
||||
(mkdir-p bash)
|
||||
(mkdir-p zsh)
|
||||
(copy-file "docs/reprepro.bash_completion"
|
||||
(string-append bash "reprepro"))
|
||||
(copy-file "docs/reprepro.zsh_completion"
|
||||
(string-append zsh "_reprepro"))
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("bdb" ,bdb)
|
||||
("bzip2" ,bzip2)
|
||||
("gpgme" ,gpgme)
|
||||
("libarchive" ,libarchive)
|
||||
("xz" ,xz)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)))
|
||||
(home-page "https://salsa.debian.org/brlink/reprepro")
|
||||
(synopsis "Debian package repository producer")
|
||||
(description "Reprepro is a tool to manage a repository of Debian packages
|
||||
(@code{.deb}, @code{.udeb}, @code{.dsc}, ...). It stores files either being
|
||||
injected manually or downloaded from some other repository (partially) mirrored
|
||||
into one pool/ hierarchy. Managed packages and files are stored in a Berkeley
|
||||
DB, so no database server is needed. Checking signatures of mirrored
|
||||
repositories and creating signatures of the generated Package indices is
|
||||
supported.")
|
||||
(license license:gpl2)))
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
@@ -566,7 +566,7 @@ error reporting, better tracing, profiling, and a debugger.")
|
||||
(define-public rr
|
||||
(package
|
||||
(name "rr")
|
||||
(version "5.4.0")
|
||||
(version "5.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -574,19 +574,18 @@ error reporting, better tracing, profiling, and a debugger.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"1sfldgkkmsdyaqa28i5agcykc63gwm3zjihd64g86i852w8al2w6"))
|
||||
"1x6l1xsdksnhz9v50p4r7hhmr077cq20kaywqy1jzdklvkjqzf64"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
;; The 'rr_exec_stub' is a static binary, which leads CMake to fail
|
||||
;; with ‘file RPATH_CHANGE could not write new RPATH: ...’.
|
||||
;; with:
|
||||
;;
|
||||
;; file RPATH_CHANGE could not write new RPATH:
|
||||
;;
|
||||
;; Clear CMAKE_INSTALL_RPATH to avoid that problem.
|
||||
(list "-DCMAKE_INSTALL_RPATH="
|
||||
;; Satisfy the ‘validate-runpath’ phase. This isn't a direct
|
||||
;; consequence of clearing CMAKE_INSTALL_RPATH.
|
||||
(string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath="
|
||||
(assoc-ref %build-inputs "capnproto") "/lib")
|
||||
,@(if (and (not (%current-target-system))
|
||||
(member (%current-system)
|
||||
'("x86_64-linux" "aarch64-linux")))
|
||||
@@ -614,7 +613,7 @@ error reporting, better tracing, profiling, and a debugger.")
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("gdb" ,gdb)
|
||||
("capnproto" ,capnproto)
|
||||
("cpanproto" ,capnproto)
|
||||
("python" ,python)
|
||||
("python-pexpect" ,python-pexpect)))
|
||||
(home-page "https://rr-project.org/")
|
||||
|
||||
@@ -211,14 +211,14 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
|
||||
(define-public grammalecte
|
||||
(package
|
||||
(name "grammalecte")
|
||||
(version "2.0.0")
|
||||
(version "1.12.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch/zipbomb)
|
||||
(uri (string-append "https://grammalecte.net/grammalecte/zip/"
|
||||
"Grammalecte-fr-v" version ".zip"))
|
||||
(sha256
|
||||
(base32 "1mcpqglndcafiz9bnz69vjxncl5k98yzcy8pr8rmn738hgpzb53v"))))
|
||||
(base32 "1qny2l5dr08pfj2dnzmvm5gmwqz8m879ryxfaw4k8dhaacrrrf62"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://grammalecte.net")
|
||||
(synopsis "French spelling and grammar checker")
|
||||
@@ -242,7 +242,7 @@ and a Python library.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url"https://github.com/soimort/translate-shell")
|
||||
(url"https://github.com/soimort/translate-shell.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -304,15 +304,15 @@ translation engines from your terminal.")
|
||||
(define-public lttoolbox
|
||||
(package
|
||||
(name "lttoolbox")
|
||||
(version "3.5.3")
|
||||
(version "3.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/apertium/lttoolbox/releases/download/v"
|
||||
version "/lttoolbox-" version ".tar.bz2"))
|
||||
version "/lttoolbox-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "109l91ailish1a3vya5zmfg3kb67cwyzl36ndnh8f59chsbm6n2f"))))
|
||||
(base32 "14yyrkzyqlsrii3v3ggg4dyvwlrcqcqc0aprphz5781a44jsrcwz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
(define-public diffoscope
|
||||
(package
|
||||
(name "diffoscope")
|
||||
(version "162")
|
||||
(version "161")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -81,7 +81,7 @@
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"02wjjbmdbyqpyizw384j50bc2ar4g5m40amz9q102gqbw6sflwbf"))))
|
||||
"1c9afc0s8p2wh7pw7xclr8j06ma3fjk6r1dnfaf1gdfk05hdxi78"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user