1
0
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 Message Date
Mathieu Othacehe 8d84a9ee71 ci: Add missing include.
* gnu/ci.scm: Add missing include.
2021-06-14 10:13:40 +02:00
Mathieu Othacehe c13ad2b889 ci: Backport package-channels procedure.
* gnu/ci.scm (package-channels): New procedure.
2021-06-14 10:08:49 +02:00
Mathieu Othacehe 7546a1d3c0 ci: Backport sexp->channel procedure.
* gnu/ci.scm (sexp->channel): New procedure.
2021-06-14 09:09:25 +02:00
Mathieu Othacehe 1b0bfb5df1 ci: Update to the last version.
* gnu/ci.scm: Update to the master version.
2021-06-14 09:03:26 +02:00
Maxim Cournoyer 8603bcd582 doc: Remove the guile-lib/htmlprag-fixed package.
This hotfix package is no longer necessary as the ability to parameterize the
way htmlprag tokenizes HTML was added in guile-lib 0.2.7.

* doc/build.scm (guile-lib/htmlprag-fixed): Remove variable.
(html-manual-identifier-index): Replace guile-lib/htmlprag-fixed by guile-lib,
and make set the %strict-tokenizer? parameter to #t.
(syntax-highlighted-html): Likewise.
2021-04-02 11:09:06 +02:00
Holger Peters f350df405f doc: Fix incorrect GUIX_PROFILE value for 'guix pull'.
* doc/guix.texi (Getting Started): Fix invalid GUIX_PROFILE value.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-12-07 15:08:51 +01:00
Ludovic Courtès 91bcb1d043 nls: Update 'fr' translation of the manual. 2020-12-03 16:39:12 +01:00
501 changed files with 18059 additions and 84731 deletions
-1
View File
@@ -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))
-4
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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 Guiles @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
+1 -1
View File
@@ -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
View File
@@ -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 youre
installing;
@item
Servers may serve substitute over HTTP, unencrypted, so anyone on the
LAN can see what software youre 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
+3 -21
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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")
-10
View File
@@ -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
View File
@@ -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
View File
@@ -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,
-192
View File
@@ -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"))))))))
+1 -60
View File
@@ -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
View File
@@ -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))
+1 -2
View File
@@ -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
-62
View File
@@ -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)
+10 -6
View File
@@ -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
View File
@@ -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
View File
@@ -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)))
-7
View File
@@ -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)
-5
View File
@@ -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)
+1 -3
View File
@@ -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 \
+1 -1
View File
@@ -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)))
-43
View File
@@ -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)))
+5 -1
View File
@@ -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
-3
View File
@@ -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
-41
View File
@@ -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
View File
@@ -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
View File
@@ -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 = \
-3
View File
@@ -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
View File
@@ -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
View File
@@ -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)))
+1 -1
View File
@@ -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
View File
@@ -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.
+1 -96
View File
@@ -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
View File
@@ -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"))))
+8 -16
View File
@@ -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
View File
@@ -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)))
+16 -29
View File
@@ -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)))
+1 -34
View File
@@ -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")
+2 -44
View File
@@ -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 */
-7
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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)
+4 -80
View File
@@ -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)))
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+10 -18
View File
@@ -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"
+26 -56
View File
@@ -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")
-123
View File
@@ -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 -43
View File
@@ -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
+9 -7
View File
@@ -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
View File
@@ -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)))
+1 -11
View File
@@ -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)
+3 -3
View File
@@ -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
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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 \\\\") "\\"))
+1 -21
View File
@@ -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")
+3 -3
View File
@@ -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
View File
@@ -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"))
-6
View File
@@ -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
View File
@@ -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)
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+32 -44
View File
@@ -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
File diff suppressed because it is too large Load Diff
+657 -3591
View File
File diff suppressed because it is too large Load Diff
-6
View File
@@ -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
View File
@@ -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
View File
@@ -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,
+5 -5
View File
@@ -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)
+2 -3
View File
@@ -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
View File
@@ -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
+1 -26
View File
@@ -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")
+2 -2
View File
@@ -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)
+4 -4
View File
@@ -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
View File
@@ -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)))
+8 -9
View File
@@ -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/")
+6 -6
View File
@@ -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
+2 -2
View File
@@ -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