Merge remote-tracking branch master into core-updates

This commit is contained in:
Mathieu Othacehe 2019-11-16 09:34:27 +01:00
commit 154d97abdd
No known key found for this signature in database
GPG Key ID: 8354763531769CA6
302 changed files with 18070 additions and 7813 deletions

View File

@ -278,6 +278,7 @@ MODULES = \
guix/scripts/container.scm \
guix/scripts/container/exec.scm \
guix/scripts/deploy.scm \
guix/scripts/time-machine.scm \
guix.scm \
$(GNU_SYSTEM_MODULES)
@ -564,7 +565,7 @@ EXTRA_DIST += \
tests/test.drv \
tests/signing-key.pub \
tests/signing-key.sec \
tests/cve-sample.xml \
tests/cve-sample.json \
build-aux/config.rpath \
bootstrap \
doc/build.scm \

3
README
View File

@ -63,7 +63,8 @@ To do so:
- Re-run the 'configure' script passing it the option
'--localstatedir=/somewhere', where '/somewhere' is the 'localstatedir'
value of the currently installed Guix (failing to do that would lead the
new Guix to consider the store to be empty!).
new Guix to consider the store to be empty!). We recommend to use the
value '/var'.
- Run "make", "make check", and "make install".

View File

@ -18,10 +18,15 @@
(define-module (run-system-tests)
#:use-module (gnu tests)
#:use-module (gnu packages package-management)
#:use-module ((gnu ci) #:select (channel-instance->package))
#:use-module (guix store)
#:use-module ((guix status) #:select (with-status-verbosity))
#:use-module (guix monads)
#:use-module (guix channels)
#:use-module (guix derivations)
#:use-module ((guix git-download) #:select (git-predicate))
#:use-module (guix utils)
#:use-module (guix ui)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-34)
@ -46,28 +51,48 @@
lst)
(lift1 reverse %store-monad))))
(define (run-system-tests . args)
(define tests
;; Honor the 'TESTS' environment variable so that one can select a subset
;; of tests to run in the usual way:
;;
;; make check-system TESTS=installed-os
(define (tests-for-channel-instance instance)
"Return a list of tests for perform, using Guix from INSTANCE, a channel
instance."
;; Honor the 'TESTS' environment variable so that one can select a subset
;; of tests to run in the usual way:
;;
;; make check-system TESTS=installed-os
(parameterize ((current-guix-package
(channel-instance->package instance)))
(match (getenv "TESTS")
(#f
(all-system-tests))
((= string-tokenize (tests ...))
(filter (lambda (test)
(member (system-test-name test) tests))
(all-system-tests)))))
(all-system-tests))))))
(format (current-error-port) "Running ~a system tests...~%"
(length tests))
(define (run-system-tests . args)
(define source
(string-append (current-source-directory) "/.."))
(with-store store
(with-status-verbosity 2
(run-with-store store
(mlet* %store-monad ((drv (mapm %store-monad system-test-value tests))
;; Intern SOURCE so that 'build-from-source' in (guix channels) sees
;; "fresh" file names and thus doesn't find itself loading .go files
;; from ~/.cache/guile when it loads 'build-aux/build-self.scm'.
;; XXX: It would be best to not do it upfront because we may need it.
(mlet* %store-monad ((source (interned-file source "guix-source"
#:recursive? #t
#:select?
(or (git-predicate source)
(const #t))))
(instance -> (checkout->channel-instance source))
(tests -> (tests-for-channel-instance instance))
(drv (mapm %store-monad system-test-value tests))
(out -> (map derivation->output-path drv)))
(format (current-error-port) "Running ~a system tests...~%"
(length tests))
(mbegin %store-monad
(show-what-to-build* drv)
(set-build-options* #:keep-going? #t #:keep-failed? #t

View File

@ -50,10 +50,8 @@ then
# it or its parent directories. See <http://bugs.gnu.org/17935>.
NIX_STORE_DIR="`cd "@GUIX_TEST_ROOT@/store"; pwd -P`"
NIX_LOCALSTATE_DIR="@GUIX_TEST_ROOT@/var"
GUIX_LOG_DIRECTORY="@GUIX_TEST_ROOT@/var/log/guix"
GUIX_DATABASE_DIRECTORY="@GUIX_TEST_ROOT@/db"
NIX_ROOT_FINDER="@abs_top_builddir@/nix/scripts/list-runtime-roots"
# Choose a PID-dependent name to allow for parallel builds. Note
# that the directory name must be chosen so that the socket's file
@ -97,8 +95,8 @@ then
NIXPKGS="@NIXPKGS@"
export NIX_IGNORE_SYMLINK_STORE NIX_STORE_DIR \
NIX_LOCALSTATE_DIR GUIX_LOG_DIRECTORY GUIX_STATE_DIRECTORY GUIX_DATABASE_DIRECTORY \
NIX_ROOT_FINDER GUIX_BINARY_SUBSTITUTE_URL \
GUIX_LOG_DIRECTORY GUIX_STATE_DIRECTORY GUIX_DATABASE_DIRECTORY \
GUIX_BINARY_SUBSTITUTE_URL \
GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES \
GUIX_CONFIGURATION_DIRECTORY XDG_CACHE_HOME NIXPKGS

View File

@ -115,9 +115,6 @@ if test "x$guix_build_daemon" = "xyes"; then
dnl to do i686-linux builds on x86_64-linux machines.
AC_CHECK_HEADERS([sys/personality.h])
dnl Check for <linux/fs.h> (for immutable file support).
AC_CHECK_HEADERS([linux/fs.h])
dnl Determine the appropriate default list of substitute URLs (GnuTLS
dnl is required so we can default to 'https'.)
guix_substitute_urls="https://ci.guix.gnu.org"

View File

@ -280,9 +280,14 @@ dnl Documentation translation.
AM_MISSING_PROG([PO4A_TRANSLATE], [po4a-translate])
AM_MISSING_PROG([PO4A_UPDATEPO], [po4a-updatepo])
dnl Emacs (optional), for 'etc/indent-package.el'.
AC_PATH_PROG([EMACS], [emacs], [/usr/bin/emacs])
AC_SUBST([EMACS])
dnl Emacs (optional), for 'etc/indent-code.el'.
AC_PATH_PROG([EMACS], [emacs])
if test "x$EMACS" = x; then
AC_MSG_WARN([Please install GNU Emacs to use etc/indent-code.el.])
else
AC_SUBST([EMACS])
AC_CONFIG_FILES([etc/indent-code.el], [chmod +x etc/indent-code.el])
fi
case "$storedir" in
/gnu/store)
@ -302,6 +307,5 @@ AC_CONFIG_FILES([Makefile
AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env])
AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in],
[chmod +x pre-inst-env])
AC_CONFIG_FILES([etc/indent-code.el], [chmod +x etc/indent-code.el])
AC_OUTPUT

View File

@ -51,6 +51,12 @@
(define info-manual
(@@ (guix self) info-manual))
(define %manual
;; The manual to build--i.e., the base name of a .texi file, such as "guix"
;; or "guix-cookbook".
(or (getenv "GUIX_MANUAL")
"guix"))
(define %languages
'("de" "en" "es" "fr" "ru" "zh_CN"))
@ -164,7 +170,9 @@ as well as images, OS examples, and translations."
(define %makeinfo-html-options
;; Options passed to 'makeinfo --html'.
'("--css-ref=https://www.gnu.org/software/gnulib/manual.css"))
'("--css-ref=https://www.gnu.org/software/gnulib/manual.css"
"-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).
@ -359,7 +367,7 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(define* (html-manual source #:key (languages %languages)
(version "0.0")
(manual "guix")
(manual %manual)
(date 1)
(options %makeinfo-html-options))
"Return the HTML manuals built from SOURCE for all LANGUAGES, with the given
@ -386,6 +394,13 @@ makeinfo OPTIONS."
(chr chr))
(string-downcase language)))
(define (language->texi-file-name language)
(if (string=? language "en")
(string-append #$manual-source "/"
#$manual ".texi")
(string-append #$manual-source "/"
#$manual "." language ".texi")))
;; Install a UTF-8 locale so that 'makeinfo' is at ease.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
@ -395,15 +410,12 @@ makeinfo OPTIONS."
(setvbuf (current-error-port) 'line)
(for-each (lambda (language)
(let ((opts `("--html"
"-c" ,(string-append "TOP_NODE_UP_URL=/manual/"
(let* ((texi (language->texi-file-name language))
(opts `("--html"
"-c" ,(string-append "TOP_NODE_UP_URL=/manual/"
language)
#$@options
,(if (string=? language "en")
(string-append #$manual-source "/"
#$manual ".texi")
(string-append #$manual-source "/"
#$manual "." language ".texi")))))
#$@options
,texi)))
(format #t "building HTML manual for language '~a'...~%"
language)
(mkdir-p (string-append #$output "/"
@ -433,7 +445,8 @@ makeinfo OPTIONS."
(symlink #$images
(string-append #$output "/" (normalize language)
"/html_node/images"))))
'#$languages))))
(filter (compose file-exists? language->texi-file-name)
'#$languages)))))
(let* ((name (string-append manual "-html-manual"))
(manual (computed-file name build)))
@ -442,7 +455,7 @@ makeinfo OPTIONS."
(define* (pdf-manual source #:key (languages %languages)
(version "0.0")
(manual "guix")
(manual %manual)
(date 1)
(options '()))
"Return the HTML manuals built from SOURCE for all LANGUAGES, with the given
@ -570,7 +583,10 @@ from SOURCE."
(define* (html-manual-indexes source
#:key (languages %languages)
(version "0.0")
(manual "guix")
(manual %manual)
(title (if (string=? "guix" manual)
"GNU Guix Reference Manual"
"GNU Guix Cookbook"))
(date 1))
(define build
(with-extensions (list guile-json-3)
@ -674,7 +690,7 @@ from SOURCE."
(define (language-index language)
(define title
(translate "GNU Guix Reference Manual" language))
(translate #$title language))
(sxml-index
language title
@ -732,8 +748,7 @@ from SOURCE."
%iso639-languages)))
(define (top-level-index languages)
(define title
"GNU Guix Reference Manual")
(define title #$title)
(sxml-index
"en" title
`(main
@ -741,7 +756,7 @@ from SOURCE."
(@ (class "page centered-block limit-width"))
(h2 ,title)
(div
"The GNU Guix Reference Manual is available in the following
"This document is available in the following
languages:\n"
(ul
,@(map (lambda (language)
@ -782,7 +797,7 @@ languages:\n"
#:key (languages %languages)
(version "0.0")
(date (time-second (current-time time-utc)))
(manual "guix"))
(manual %manual))
"Return the union of the HTML and PDF manuals, as well as the indexes."
(directory-union (string-append manual "-manual")
(map (lambda (proc)

View File

@ -94,7 +94,8 @@ more information.
Then, run @command{./configure} as usual. Make sure to pass
@code{--localstatedir=@var{directory}} where @var{directory} is the
@code{localstatedir} value used by your current installation (@pxref{The
Store}, for information about this).
Store}, for information about this). We recommend to use the value
@code{/var}.
Finally, you have to invoke @code{make check} to run tests
(@pxref{Running the Test Suite}). If anything

File diff suppressed because it is too large Load Diff

View File

@ -66,6 +66,8 @@ Copyright @copyright{} 2019 Josh Holland@*
Copyright @copyright{} 2019 Diego Nicola Barbato@*
Copyright @copyright{} 2019 Ivan Petkov@*
Copyright @copyright{} 2019 Jakob L. Kreuze@*
Copyright @copyright{} 2019 Kyle Andrews@*
Copyright @copyright{} 2019 Alex Griffin@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@ -196,6 +198,7 @@ Package Management
* Invoking guix gc:: Running the garbage collector.
* Invoking guix pull:: Fetching the latest Guix and distribution.
* Channels:: Customizing the package collection.
* Invoking guix time-machine:: Running an older revision of Guix.
* Inferiors:: Interacting with another revision of Guix.
* Invoking guix describe:: Display information about your Guix revision.
* Invoking guix archive:: Exporting and importing store files.
@ -791,8 +794,9 @@ When configuring Guix on a system that already has a Guix installation,
be sure to specify the same state directory as the existing installation
using the @code{--localstatedir} option of the @command{configure}
script (@pxref{Directory Variables, @code{localstatedir},, standards,
GNU Coding Standards}). The @command{configure} script protects against
unintended misconfiguration of @var{localstatedir} so you do not
GNU Coding Standards}). Usually, this @var{localstatedir} option is
set to the value @file{/var}. The @command{configure} script protects
against unintended misconfiguration of @var{localstatedir} so you do not
inadvertently corrupt your store (@pxref{The Store}).
@node Running the Test Suite
@ -2110,7 +2114,7 @@ ifconfig -a
@dots{} or, using the GNU/Linux-specific @command{ip} command:
@example
ip a
ip address
@end example
@c https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c#n20
@ -2128,6 +2132,13 @@ To configure a wired network run the following command, substituting
ifconfig @var{interface} up
@end example
@noindent
@dots{} or, using the GNU/Linux-specific @command{ip} command:
@example
ip link set @var{interface} up
@end example
@item Wireless connection
@cindex wireless
@cindex WiFi
@ -2540,6 +2551,7 @@ guix install emacs-guix
* Invoking guix gc:: Running the garbage collector.
* Invoking guix pull:: Fetching the latest Guix and distribution.
* Channels:: Customizing the package collection.
* Invoking guix time-machine:: Running an older revision of Guix.
* Inferiors:: Interacting with another revision of Guix.
* Invoking guix describe:: Display information about your Guix revision.
* Invoking guix archive:: Exporting and importing store files.
@ -3666,6 +3678,21 @@ descriptions, and deploys it. Source code is downloaded from a
@uref{https://git-scm.com, Git} repository, by default the official
GNU@tie{}Guix repository, though this can be customized.
Specifically, @command{guix pull} downloads code from the @dfn{channels}
(@pxref{Channels}) specified by one of the followings, in this order:
@enumerate
@item
the @option{--channels} option;
@item
the user's @file{~/.config/guix/channels.scm} file;
@item
the system-wide @file{/etc/guix/channels.scm} file;
@item
the built-in default channels specified in the @code{%default-channels}
variable.
@end enumerate
On completion, @command{guix package} will use packages and package
versions from this just-retrieved copy of Guix. Not only that, but all
the Guix commands and Scheme modules will also be taken from that latest
@ -3763,7 +3790,8 @@ configuration in the @file{~/.config/guix/channels.scm} file or using the
@item --channels=@var{file}
@itemx -C @var{file}
Read the list of channels from @var{file} instead of
@file{~/.config/guix/channels.scm}. @var{file} must contain Scheme code that
@file{~/.config/guix/channels.scm} or @file{/etc/guix/channels.scm}.
@var{file} must contain Scheme code that
evaluates to a list of channel objects. @xref{Channels}, for more
information.
@ -4126,7 +4154,10 @@ say, on another machine, by providing a channel specification in
@end lisp
The @command{guix describe --format=channels} command can even generate this
list of channels directly (@pxref{Invoking guix describe}).
list of channels directly (@pxref{Invoking guix describe}). The resulting
file can be used with the -C options of @command{guix pull}
(@pxref{Invoking guix pull}) or @command{guix time-machine}
(@pxref{Invoking guix time-machine}).
At this point the two machines run the @emph{exact same Guix}, with access to
the @emph{exact same packages}. The output of @command{guix build gimp} on
@ -4140,6 +4171,61 @@ artifacts with very fine grain, and to reproduce software environments at
will---some sort of ``meta reproducibility'' capabilities, if you will.
@xref{Inferiors}, for another way to take advantage of these super powers.
@node Invoking guix time-machine
@section Invoking @command{guix time-machine}
@cindex @command{guix time-machine}
@cindex pinning, channels
@cindex replicating Guix
@cindex reproducibility, of Guix
The @command{guix time-machine} command provides access to other
revisions of Guix, for example to install older versions of packages,
or to reproduce a computation in an identical environment. The revision
of Guix to be used is defined by a commit or by a channel
description file created by @command{guix describe}
(@pxref{Invoking guix describe}).
The general syntax is:
@example
guix time-machine @var{options}@dots{} -- @var{command} @var {arg}@dots{}
@end example
where @var{command} and @var{arg}@dots{} are passed unmodified to the
@command{guix} command if the specified revision. The @var{options} that define
this revision are the same as for @command{guix pull} (@pxref{Invoking guix pull}):
@table @code
@item --url=@var{url}
@itemx --commit=@var{commit}
@itemx --branch=@var{branch}
Use the @code{guix} channel from the specified @var{url}, at the
given @var{commit} (a valid Git commit ID represented as a hexadecimal
string), or @var{branch}.
@item --channels=@var{file}
@itemx -C @var{file}
Read the list of channels from @var{file}. @var{file} must contain
Scheme code that evaluates to a list of channel objects.
@xref{Channels} for more information.
@end table
As for @command{guix pull}, the absence of any options means that the
the latest commit on the master branch will be used. The command
@example
guix time-machine -- build hello
@end example
will thus build the package @code{hello} as defined in the master branch,
which is in general a newer revison of Guix than you have installed.
Time travel works in both directions!
Note that @command{guix time-machine} can trigger builds of channels and
their dependencies, and these are controlled by the standard build
options (@pxref{Common Build Options}).
@node Inferiors
@section Inferiors
@ -5662,9 +5748,6 @@ The URL to the home-page of the package, as a string.
The list of systems supported by the package, as strings of the form
@code{architecture-kernel}, for example @code{"x86_64-linux"}.
@item @code{maintainers} (default: @code{'()})
The list of maintainers of the package, as @code{maintainer} objects.
@item @code{location} (default: source location of the @code{package} form)
The source location of the package. It is useful to override this when
inheriting from another package, in which case this field is not
@ -8297,6 +8380,11 @@ The returned source tarball is the result of applying any patches and
code snippets specified in the package @code{origin} (@pxref{Defining
Packages}).
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
the packages.
@item --sources
Fetch and return the source of @var{package-or-derivation} and all their
dependencies, recursively. This is a handy way to obtain a local copy
@ -9487,7 +9575,7 @@ that limit has been reset.
@cindex CVE, Common Vulnerabilities and Exposures
Report known vulnerabilities found in the Common Vulnerabilities and
Exposures (CVE) databases of the current and past year
@uref{https://nvd.nist.gov/download.cfm#CVE_FEED, published by the US
@uref{https://nvd.nist.gov/vuln/data-feeds, published by the US
NIST}.
To view information about a particular vulnerability, visit pages such as:
@ -9504,7 +9592,7 @@ where @code{CVE-YYYY-ABCD} is the CVE identifier---e.g.,
@code{CVE-2015-7554}.
Package developers can specify in package recipes the
@uref{https://nvd.nist.gov/cpe.cfm,Common Platform Enumeration (CPE)}
@uref{https://nvd.nist.gov/products/cpe,Common Platform Enumeration (CPE)}
name and version of the package when they differ from the name or version
that Guix uses, as in this example:
@ -9886,7 +9974,18 @@ The package dependency graph is largely architecture-independent, but there
are some architecture-dependent bits that this option allows you to visualize.
@end table
On top of that, @command{guix graph} supports all the usual package
transformation options (@pxref{Package Transformation Options}). This
makes it easy to view the effect of a graph-rewriting transformation
such as @option{--with-input}. For example, the command below outputs
the graph of @code{git} once @code{openssl} has been replaced by
@code{libressl} everywhere in the graph:
@example
guix graph git --with-input=openssl=libressl
@end example
So many possibilities, so much fun!
@node Invoking guix publish
@section Invoking @command{guix publish}
@ -10094,7 +10193,7 @@ of the @code{operating-system} declaration (@pxref{guix-publish-service-type,
@code{guix-publish-service-type}}).
If you are instead running Guix on a ``foreign distro'', follow these
instructions:
instructions:
@itemize
@item
@ -10550,7 +10649,6 @@ ClientPID: 19419
ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}
@end example
@node System Configuration
@chapter System Configuration
@ -13940,6 +14038,52 @@ Package object of the Open vSwitch.
@end table
@end deftp
@defvr {Scheme Variable} pagekite-service-type
This is the service type for the @uref{https://pagekite.net, PageKite} service,
a tunneling solution for making localhost servers publicly visible, even from
behind NAT or restrictive firewalls. The value for this service type is a
@code{pagekite-configuration} record.
Here's an example exposing the local HTTP and SSH daemons:
@lisp
(service pagekite-service-type
(pagekite-configuration
(kites '("http:@@kitename:localhost:80:@@kitesecret"
"raw/22:@@kitename:localhost:22:@@kitesecret"))
(extra-file "/etc/pagekite.rc")))
@end lisp
@end defvr
@deftp {Data Type} pagekite-configuration
Data type representing the configuration of PageKite.
@table @asis
@item @code{package} (default: @var{pagekite})
Package object of PageKite.
@item @code{kitename} (default: @code{#f})
PageKite name for authenticating to the frontend server.
@item @code{kitesecret} (default: @code{#f})
Shared secret for authenticating to the frontend server. You should probably
put this inside @code{extra-file} instead.
@item @code{frontend} (default: @code{#f})
Connect to the named PageKite frontend server instead of the
@uref{https://pagekite.net,,pagekite.net} service.
@item @code{kites} (default: @code{'("http:@@kitename:localhost:80:@@kitesecret")})
List of service kites to use. Exposes HTTP on port 80 by default. The format
is @code{proto:kitename:host:port:secret}.
@item @code{extra-file} (default: @code{#f})
Extra configuration file to read, which you are expected to create manually.
Use this to add additional options and manage shared secrets out-of-band.
@end table
@end deftp
@node X Window
@subsection X Window
@ -13991,6 +14135,9 @@ When @code{auto-login?} is false, GDM presents a log-in screen.
When @code{auto-login?} is true, GDM logs in directly as
@code{default-user}.
@item @code{debug?} (default: @code{#f})
When true, GDM writes debug messages to its log.
@item @code{gnome-shell-assets} (default: ...)
List of GNOME Shell assets needed by GDM: icon theme, fonts, etc.
@ -14196,16 +14343,43 @@ Relogin after logout.
@cindex login manager
@cindex X11 login
@deffn {Scheme Procedure} sddm-service config
Return a service that spawns the SDDM graphical login manager for config of
type @code{<sddm-configuration>}.
@defvr {Scheme Variable} sddm-service-type
This is the type of the service to run the
@uref{https://github.com/sddm/sddm,SSDM display manager}. Its value
must be a @code{sddm-configuration} record (see below).
@example
(sddm-service (sddm-configuration
(auto-login-user "Alice")
(auto-login-session "xfce.desktop")))
@end example
@end deffn
Here's an example use:
@lisp
(service sddm-service-type
(sddm-configuration
(auto-login-user "alice")
(auto-login-session "xfce.desktop")))
@end lisp
@end defvr
@deftp {Data Type} sddm-configuration
This data type represents the configuration of the SDDM login manager.
The available fields are:
@table @asis
@item @code{sddm} (default: @code{sddm})
The SDDM package to use.
@item @code{display-server} (default: @code{"x11"})
This must be either @code{"x11"} or @code{"wayland"}.
@c FIXME: Add more fields.
@item @code{auto-login-user} (default: @code{""})
If non-empty, this is the user account under which to log in
automatically.
@item @code{auto-login-session} (default: @code{""})
If non-empty, this is the @file{.desktop} file name to use as the
auto-login session.
@end table
@end deftp
@cindex Xorg, configuration
@deftp {Data Type} xorg-configuration
@ -15487,8 +15661,9 @@ notifications and ways to mount/unmount disks. Programs that talk to UDisks
include the @command{udisksctl} command, part of UDisks, and GNOME Disks.
@end deffn
@deffn {Scheme Procedure} colord-service [#:colord @var{colord}]
Return a service that runs @command{colord}, a system service with a D-Bus
@deffn {Scheme Variable} colord-service-type
This is the type of the service that runs @command{colord}, a system
service with a D-Bus
interface to manage the color profiles of input and output devices such as
screens and scanners. It is notably used by the GNOME Color Manager graphical
tool. See @uref{https://www.freedesktop.org/software/colord/, the colord web
@ -17417,7 +17592,7 @@ Defaults to @samp{#f}.
@deftypevr {@code{getmail-options-configuration} parameter} non-negative-integer delete-after
Getmail will delete messages this number of days after seeing them, if
they have not been delivered. This means messages will be left on the
they have been delivered. This means messages will be left on the
server this number of days after delivering them. A value of @samp{0}
disabled this feature.
@ -19702,6 +19877,17 @@ use the size of the processors cache line.
@item @code{server-names-hash-bucket-max-size} (default: @code{#f})
Maximum bucket size for the server names hash tables.
@item @code{modules} (default: @code{'()})
List of nginx dynamic modules to load. This should be a list of file
names of loadable modules, as in this example:
@lisp
(modules
(list
(file-append nginx-accept-language-module "\
/etc/nginx/modules/ngx_http_accept_language_module.so")))
@end lisp
@item @code{extra-content} (default: @code{""})
Extra content for the @code{http} block. Should be string or a string
valued G-expression.
@ -21006,6 +21192,44 @@ The list of knot-zone-configuration used by this configuration.
@end table
@end deftp
@subsubheading Knot Resolver Service
@deffn {Scheme Variable} knot-resolver-service-type
This this the type of the knot resolver service, whose value should be
an @code{knot-resolver-configuration} object as in this example:
@lisp
(service knot-resolver-service-type
(knot-resolver-configuration
(kresd-config-file (plain-file "kresd.conf" "
net.listen('192.168.0.1', 5353)
user('knot-resolver', 'knot-resolver')
modules = @{ 'hints > iterate', 'stats', 'predict' @}
cache.size = 100 * MB
"))))
@end lisp
For more information, refer its @url{https://knot-resolver.readthedocs.org/en/stable/daemon.html#configuration, manual}.
@end deffn
@deftp {Data Type} knot-resolver-configuration
Data type representing the configuration of knot-resolver.
@table @asis
@item @code{package} (default: @var{knot-resolver})
Package object of the knot DNS resolver.
@item @code{kresd-config-file} (default: %kresd.conf)
File-like object of the kresd configuration file to use, by default it
will listen on @code{127.0.0.1} and @code{::1}.
@item @code{garbage-collection-interval} (default: 1000)
Number of milliseconds for @code{kres-cache-gc} to periodically trim the cache.
@end table
@end deftp
@subsubheading Dnsmasq Service
@deffn {Scheme Variable} dnsmasq-service-type
@ -22351,9 +22575,69 @@ The port to run mpd on.
The address that mpd will bind to. To use a Unix domain socket,
an absolute path can be specified here.
@item @code{outputs} (default: @code{"(list (mpd-output))"})
The audio outputs that MPD can use. By default this is a single output using pulseaudio.
@end table
@end deftp
@deftp {Data Type} mpd-output
Data type representing an @command{mpd} audio output.
@table @asis
@item @code{name} (default: @code{"MPD"})
The name of the audio output.
@item @code{type} (default: @code{"pulse"})
The type of audio output.
@item @code{enabled?} (default: @code{#t})
Specifies whether this audio output is enabled when MPD is started. By
default, all audio outputs are enabled. This is just the default
setting when there is no state file; with a state file, the previous
state is restored.
@item @code{tags?} (default: @code{#t})
If set to @code{#f}, then MPD will not send tags to this output. This
is only useful for output plugins that can receive tags, for example the
@code{httpd} output plugin.
@item @code{always-on?} (default: @code{#f})
If set to @code{#t}, then MPD attempts to keep this audio output always
open. This may be useful for streaming servers, when you dont want to
disconnect all listeners even when playback is accidentally stopped.
@item @code{mixer-type}
This field accepts a symbol that specifies which mixer should be used
for this audio output: the @code{hardware} mixer, the @code{software}
mixer, the @code{null} mixer (allows setting the volume, but with no
effect; this can be used as a trick to implement an external mixer
External Mixer) or no mixer (@code{none}).
@item @code{extra-options} (default: @code{'()"})
An association list of option symbols to string values to be appended to
the audio output configuration.
@end table
@end deftp
The following example shows a configuration of @code{mpd} that provides
an HTTP audio streaming output.
@lisp
(service mpd-service-type
(mpd-configuration
(outputs
(list (mpd-output
(name "streaming")
(type "httpd")
(mixer-type 'null)
(extra-options
`((encoder . "vorbis")
(port . "8080"))))))))
@end lisp
@node Virtualization Services
@subsection Virtualization services
@ -24549,6 +24833,10 @@ The type of device to connect to. Run @command{inputattach --help}, from the
@item @code{device} (default: @code{"/dev/ttyS0"})
The device file to connect to the device.
@item @code{baud-rate} (default: @code{#f})
Baud rate to use for the serial connection.
Should be a number or @code{#f}.
@item @code{log-file} (default: @code{#f})
If true, this must be the name of a file to log messages to.
@end table
@ -25976,12 +26264,10 @@ The object of the operating system configuration to deploy.
@item @code{environment}
An @code{environment-type} describing how the machine should be provisioned.
At the moment, the only supported value is
@code{managed-host-environment-type}.
@item @code{configuration} (default: @code{#f})
An object describing the configuration for the machine's @code{environment}.
If the @code{environment} has a default configuration, @code{#f} maybe used.
If the @code{environment} has a default configuration, @code{#f} may be used.
If @code{#f} is used for an environment with no default configuration,
however, an error will be thrown.
@end table
@ -26009,6 +26295,26 @@ remote host.
@end table
@end deftp
@deftp {Data Type} digital-ocean-configuration
This is the data type describing the Droplet that should be created for a
machine with an @code{environment} of @code{digital-ocean-environment-type}.
@table @asis
@item @code{ssh-key}
The path to the SSH private key to use to authenticate with the remote
host. In the future, this field may not exist.
@item @code{tags}
A list of string ``tags'' that uniquely identify the machine. Must be given
such that no two machines in the deployment have the same set of tags.
@item @code{region}
A Digital Ocean region slug, such as @code{"nyc3"}.
@item @code{size}
A Digital Ocean size slug, such as @code{"s-1vcpu-1gb"}
@item @code{enable-ipv6?}
Whether or not the droplet should be created with IPv6 networking.
@end table
@end deftp
@node Running Guix in a VM
@section Running Guix in a Virtual Machine

View File

@ -9,9 +9,184 @@
(channel-news
(version 0)
(entry (commit "f675f8dec73d02e319e607559ed2316c299ae8c7")
(title (en "New command @command{guix time-machine}")
(de "Neuer Befehl @command{guix time-machine}")
(fr "Nouvelle commande @command{guix time-machine}"))
(body (en "The new command @command{guix time-machine} facilitates
access to older or newer revisions of Guix than the one that is installed.
It can be used to install different versions of packages, and to
re-create computational environments exactly as used in the past.")
(de "Der neue Befehl @command{guix time-machine} vereinfacht
den Zugriff auf ältere oder neuere Guix-Versionen als die installierte.
Er kann zur Installation bestimmer Paketversionen verwendet werden, aber
auch zur Wiederherstellung von Entwicklungsumgebungen, wie sie in der
Vergagngenheit verwendet wurden.")
(fr "La nouvelle commande @command{guix time-machine}
facilite l'accès à des versions antérieures ou postérieures par rapport
à la version installée. Elle sert à installer des versions spécifiques
de paquets, ainsi à la restauration d'environnements dans un état
historique.")))
(entry (commit "3e962e59d849e4300e447d94487684102d9d412e")
(title (en "@command{guix graph} now supports package
transformations")
(de "@command{guix graph} unterstützt nun Paketumwandlungen"))
(body
(en "The @command{guix graph} command now supports the common package
transformation options (see @command{info \"(guix) Package Transformation
Options\"}). This is useful in particular to see the effect of the
@option{--with-input} dependency graph rewriting option.")
(de "Der Befehl @command{guix graph} unterstützt nun die mit anderen
Befehlen gemeinsamen Umwandlungsoptionen (siehe @command{info \"(guix.de)
Paketumwandlungsoptionen\"}). Sie helfen insbesondere dabei, die Wirkung der
Befehlszeilenoption @option{--with-input} zum Umschreiben des
Abhängigkeitsgraphen zu sehen.")
(es "La orden @command{guix graph} ahora implementa las opciones
comunes de transformación de paquetes (véase @command{info \"(guix.es)
Opciones de transformación de paquetes\"}). Esto es particularmente
útil para comprobar el efecto de la opción de reescritura del grafo
de dependencias @option{--with-input}.")))
(entry (commit "49af34cfac89d384c46269bfd9388b2c73b1220a")
(title (en "@command{guix pull} now honors
@file{/etc/guix/channels.scm}")
(de "@command{guix pull} berücksichtigt nun
@file{/etc/guix/channels.scm}")
(es "Ahora @command{guix pull} tiene en cuenta
@file{/etc/guix/channels.scm}")
(fr "@command{guix pull} lit maintenant
@file{/etc/guix/channels.scm}"))
(body
(en "The @command{guix pull} command will now read the
@file{/etc/guix/channels.scm} file if it exists and if the per-user
@file{~/.config/guix/channels.scm} is not present. This allows administrators
of multi-user systems to define site-wide defaults.")
(de "Der Befehl @command{guix pull} liest nun die Datei
@file{/etc/guix/channels.scm}, wenn sie existiert und es für den jeweiligen
Benutzer keine @file{~/.config/guix/channels.scm} gibt. Dadurch können
Administratoren von Mehrbenutzersystemen systemweite Voreinstellungen
vornehmen.")
(es "Ahora la orden @command{guix pull} lee el fichero
@file{/etc/guix/channels.scm} si existe y el fichero personalizable
@file{~/.config/guix/channels.scm} no está presente. Esto permite a quienes
administran sistemas con múltiples usuarias definir valores predeterminados
en el sistema.")
(fr "La commande @command{guix pull} lira maintenant le fichier
@file{/etc/guix/channels.scm} s'il existe et si le fichier
@file{~/.config/guix/channels.scm} par utilisateur·rice n'est pas présent.
Cela permet aux personnes administrant des systèmes multi-utilisateurs de
définir les canaux par défaut.")))
(entry (commit "81c580c8664bfeeb767e2c47ea343004e88223c7")
(title (en "Insecure @file{/var/guix/profiles/per-user} permissions (CVE-2019-18192)")
(de "Sicherheitslücke in @file{/var/guix/profiles/per-user}-Berechtigungen (CVE-2019-18192)")
(es "Vulnerabilidad en los permisos de @file{/var/guix/profiles/per-user} (CVE-2019-18192)")
(fr "Permissions laxistes pour @file{/var/guix/profiles/per-user} (CVE-2019-18192)")
(nl "Onveilige @file{/var/guix/profiles/per-user}-rechten (CVE-2019-18192)"))
(body
(en "The default user profile, @file{~/.guix-profile}, points to
@file{/var/guix/profiles/per-user/$USER}. Until now,
@file{/var/guix/profiles/per-user} was world-writable, allowing the
@command{guix} command to create the @code{$USER} sub-directory.
On a multi-user system, this allowed a malicious user to create and populate
that @code{$USER} sub-directory for another user that had not yet logged in.
Since @code{/var/@dots{}/$USER} is in @code{$PATH}, the target user could end
up running attacker-provided code. See
@uref{https://issues.guix.gnu.org/issue/37744} for more information.
This is now fixed by letting @command{guix-daemon} create these directories on
behalf of users and removing the world-writable permissions on
@code{per-user}. On multi-user systems, we recommend updating the daemon now.
To do that, run @code{sudo guix pull} if you're on a foreign distro, or run
@code{guix pull && sudo guix system reconfigure @dots{}} on Guix System. In
both cases, make sure to restart the service afterwards, with @code{herd} or
@code{systemctl}.")
(de "Das voreingestellte Benutzerprofil, @file{~/.guix-profile},
verweist auf @file{/var/guix/profiles/per-user/$USER}. Bisher hatte jeder
Benutzer Schreibzugriff auf @file{/var/guix/profiles/per-user}, wodurch der
@command{guix}-Befehl berechtigt war, das Unterverzeichnis @code{$USER}
anzulegen.
Wenn mehrere Benutzer dasselbe System benutzen, kann ein böswilliger Benutzer
so das Unterverzeichnis @code{$USER} und Dateien darin für einen anderen
Benutzer anlegen, wenn sich dieser noch nie angemeldet hat. Weil
@code{/var//$USER} auch in @code{$PATH} aufgeführt ist, kann der betroffene
Nutzer dazu gebracht werden, vom Angreifer vorgegebenen Code auszuführen.
Siehe @uref{https://issues.guix.gnu.org/issue/37744} für weitere
Informationen.
Der Fehler wurde nun behoben, indem @command{guix-daemon} diese Verzeichnisse
jetzt selbst anlegt statt das dem jeweiligen Benutzerkonto zu überlassen. Der
Schreibzugriff auf @code{per-user} wird den Benutzern entzogen. Für Systeme
mit mehreren Benutzern empfehlen wir, den Daemon jetzt zu aktualisieren. Auf
einer Fremddistribution führen Sie dazu @code{sudo guix pull} aus; auf einem
Guix-System führen Sie @code{guix pull && sudo guix system reconfigure }
aus. Achten Sie in beiden Fällen darauf, den Dienst mit @code{herd} oder
@code{systemctl} neuzustarten.")
(es "El perfil predeterminado de la usuaria, @file{~/.guix-profile},
apunta a @file{/var/guix/profiles/per-user/$USUARIA}. Hasta ahora cualquiera
podía escribir en @file{/var/guix/profiles/per-user}, lo cual permitía
a la orden @command{guix} crear el subdirectorio @code{$USUARIA}.
En un sistema con múltiples usuarias, esto permitiría a cualquiera con
intención de causar daño crear ese subdirectorio @code{$USUARIA} con el nombre
de alguien que no hubiese ingresado en el sistema. Puesto que ese
subdirectorio @code{/var/@dots{}/$USUARIA} se encuentra en la ruta de binarios
predeterminada @code{$PATH}, el objetivo del ataque podría ejecutar código
proporcionado por la parte atacante. Véase
@uref{https://issues.guix.gnu.org/issue/37744} para obtener más información.
Se ha solucionando delegando en @command{guix-daemon} la creación de esos
directorios y eliminando los permisos de escritura para todo el mundo en
@code{per-user}. En sistemas con múltiples usuarias recomendamos actualizar
cuanto antes el daemon. Para hacerlo ejecute @code{sudo guix pull} si se
encuentra en una distribución distinta, o ejecute @code{guix pull && sudo guix system reconfigure @dots{}} en el sistema Guix. En ambos casos, asegurese de
reiniciar el servicio tras ello, con @code{herd} o @code{systemctl}.")
(fr "Le profil utilisateur par défaut, @file{~/.guix-profile},
pointe vers @file{/var/guix/profiles/per-user/$USER}. Jusqu
maintenant, @file{/var/guix/profiles/per-user} était disponible en
écriture pour tout le monde, ce qui permettait à la commande
@command{guix} de créér le sous-répertoire @code{$USER}.
Sur un système multi-utilisateur, cela permet à un utilisateur
malveillant de créer et de remplir le sous-répertoire @code{USER} pour
n'importe quel utilisateur qui ne s'est jamais connecté. Comme
@code{/var/@dots{}/$USER} fait partie de @code{$PATH}, l'utilisateur
ciblé pouvait exécuter des programmes fournis par l'attaquant. Voir
@uref{https://issues.guix.gnu.org/issue/37744} pour plus de détails.
Cela est maintenant corrigé en laissant à @command{guix-daemon} le soin
de créer ces répertoire pour le compte des utilisateurs et en
supprimant les permissions en écriture pour tout le monde sur
@code{per-user}. Nous te recommandons de mettre à jour le démon
immédiatement. Pour cela, lance @code{sudo guix pull} si tu es sur
une distro externe ou @code{guix pull && sudo guix system reconfigure
@dots{}} sur le système Guix. Dans tous les cas, assure-toi ensuite de
redémarrer le service avec @code{herd} ou @code{systemctl}.")
(nl "Het standaard gebruikersprofiel, @file{~/.guix-profile}, verwijst
naar @file{/var/guix/profiles/per-user/$USER}. Tot op heden kon om het even wie
in @file{/var/guix/profiles/per-user} schrijven, wat het @command{guix}-commando
toestond de @code{$USER} submap aan te maken.
Op systemen met meerdere gebruikers kon hierdoor een kwaadaardige gebruiker een
@code{$USER} submap met inhoud aanmaken voor een andere gebruiker die nog niet
was ingelogd. Omdat @code{/var/@dots{}/$USER} zich in @code{$PATH} bevindt,
kon het doelwit zo code uitvoeren die door de aanvaller zelf werd aangeleverd.
Zie @uref{https://issues.guix.gnu.org/issue/37744} voor meer informatie.
Dit probleem is nu verholpen: schrijven door iedereen in @code{per-user} is niet
meer toegestaan en @command{guix-daemon} maakt zelf submappen aan namens de
gebruiker. Op systemen met meerdere gebruikers raden we aan om
@code{guix-daemon} nu bij te werken. Op Guix System kan dit met
@code{guix pull && sudo guix system reconfigure @dots{}}, op andere distributies
met @code{sudo guix pull}. Herstart vervolgens in beide gevallen
@code{guix-daemon} met @code{herd} of @code{systemctl}.")))
(entry (commit "5f3f70391809f8791c55c05bd1646bc58508fa2c")
(title (en "GNU C Library upgraded")
(de "GNU-C-Bibliothek aktualisiert")
(es "Actualización de la biblioteca C de GNU")
(fr "Mise à jour de la bibliothèque C de GNU")
(nl "GNU C-bibliotheek bijgewerkt"))
(body
@ -38,6 +213,18 @@ guix install glibc-locales glibc-locales-2.28
Auf Guix System genügt es, das @code{locale-libcs}-Feld Ihrer
@code{operating-system}-Form anzupassen. Führen Sie @code{info \"(guix.de)
Locales\"} aus, um weitere Informationen dazu zu erhalten.")
(es "Se ha actualizado la biblioteca de C de GNU (glibc) a la versión
2.29. Para ejecutar programas instalados previamente que se encuentren
enlazados con glibc 2.28, es necesario que instale los datos de localización
de la versión 2.28 junto a los datos de localización de la versión 2.29:
@example
guix install glibc-locales glibc-locales-2.28
@end example
En el sistema Guix, puede ajustar el campo @code{locale-libcs} de su
declaración @code{operating-system}. Ejecute @code{info \"(guix.es)
Localizaciones\"} para obtener más información.")
(fr "La bibliothèque C de GNU (glibc) a été mise à jour en version
2.29. Pour pouvoir lancer tes programmes déjà installés et liés à glibc 2.28,
tu dois installer les données pour la version 2.28 en plus des données de
@ -61,10 +248,11 @@ guix install glibc-locales glibc-locales-2.28
Op Guix System kunt u het @code{locale-libcs}-veld van uw
@code{operating-system}-vorm aanpassen. Voer @code{info \"(guix) Locales\"}
uit voor verdere uitleg." )))
uit voor verdere uitleg.")))
(entry (commit "cdd3bcf03883d129581a79e6d6611b2afd3b277b")
(title (en "New reduced binary seed bootstrap")
(de "Neues Bootstrapping mit kleinerem Seed")
(es "Nueva reducción de la semilla binaria para el lanzamiento inicial")
(fr "Nouvel ensemble de binaires de bootstrap réduit")
(nl "Nieuwe bootstrap met verkleinde binaire kiem"))
(body
@ -85,6 +273,12 @@ binaires à partir desquels les paquets sont construits pèse maintenant environ
130 Mio, soit la moitié par rapport à l'ensemble précédent. Tu peux lancer
@code{info \"(guix) Bootstrapping\"} pour plus de détails, ou regarder la
présentation sur @uref{https://archive.fosdem.org/2019/schedule/event/gnumes/}.")
(es "El grafo de paquetes en x86_64 y i686 ahora tiene su raíz en un
@dfn{conjunto reducido de semillas binarias}. El conjunto inicial de binarios
desde el que se construyen los paquetes ahora tiene un tamaño aproximado de
130_MiB , la mitad de su tamaño anterior. Ejecute @code{info \"(guix.es)
Lanzamiento inicial\"} para aprender más, o puede ver la charla en inglés
en@uref{https://archive.fosdem.org/2019/schedule/event/gnumes/}.")
(nl "Het netwerk van pakketten voor x86_64 en i686 is nu geworteld in
een @dfn{verkleinde verzameling van binaire kiemen}. Die beginverzameling
van binaire bestanden waaruit pakketten gebouwd worden is nu zo'n 130 MiB
@ -95,6 +289,7 @@ Bootstrapping\"} uit voor meer details, of bekijk de presentatie op
(entry (commit "dcc90d15581189dbc30e201db2b807273d6484f0")
(title (en "New channel news mechanism")
(de "Neuer Mechanismus, um Neuigkeiten über Kanäle anzuzeigen.")
(es "Nuevo mecanismo de noticias de los canales")
(fr "Nouveau mécanisme d'information sur les canaux")
(nl "Nieuw mechanisme voor nieuwsberichten per kanaal"))
(body
@ -108,6 +303,11 @@ Mechanismus können Kanalautoren Ihren Nutzern @dfn{Einträge zu
Neuigkeiten} mitteilen, die diese sich mit @command{guix pull --news}
anzeigen lassen können. Führen Sie @command{info \"(guix.de) Aufruf
von guix pull\"} aus, um weitere Informationen zu erhalten.")
(es "Está leyendo este mensaje a través del mecanismo de noticias del
canal, ¡enhorabuena! Este mecanismo permite a las autoras de canales
proporcionar @dfn{entradas de noticias} que las usuarias pueden ver con
@command{guix pull --news}. Ejecute @command{info \"(guix.es) Invocación de
guix pull\"} para obtener más información.")
(fr "Ce message t'arrive à travers le nouveau mécanisme d'information
des canaux, bravo ! Ce mécanisme permet aux auteur·rice·s de canaux de
fournir des informations qu'on peut visualiser avec @command{guix pull

View File

@ -28,12 +28,15 @@
u-boot-a20-olinuxino-micro-bootloader
u-boot-bananapi-m2-ultra-bootloader
u-boot-beaglebone-black-bootloader
u-boot-firefly-rk3399-bootloader
u-boot-mx6cuboxi-bootloader
u-boot-nintendo-nes-classic-edition-bootloader
u-boot-novena-bootloader
u-boot-pine64-plus-bootloader
u-boot-pinebook-bootloader
u-boot-puma-rk3399-bootloader
u-boot-rock64-rk3328-bootloader
u-boot-rockpro64-rk3399-bootloader
u-boot-wandboard-bootloader))
(define install-u-boot
@ -90,6 +93,33 @@
(write-file-on-device u-boot (stat:size (stat u-boot))
device (* 512 512)))))
(define install-firefly-rk3399-u-boot
#~(lambda (bootloader device mount-point)
(let ((idb (string-append bootloader "/libexec/idbloader.img"))
(u-boot (string-append bootloader "/libexec/u-boot.itb")))
(write-file-on-device idb (stat:size (stat idb))
device (* 64 512))
(write-file-on-device u-boot (stat:size (stat u-boot))
device (* 16384 512)))))
(define install-rock64-rk3328-u-boot
#~(lambda (bootloader device mount-point)
(let ((idb (string-append bootloader "/libexec/idbloader.img"))
(u-boot (string-append bootloader "/libexec/u-boot.itb")))
(write-file-on-device idb (stat:size (stat idb))
device (* 64 512))
(write-file-on-device u-boot (stat:size (stat u-boot))
device (* 16384 512)))))
(define install-rockpro64-rk3399-u-boot
#~(lambda (bootloader device mount-point)
(let ((idb (string-append bootloader "/libexec/idbloader.img"))
(u-boot (string-append bootloader "/libexec/u-boot.itb")))
(write-file-on-device idb (stat:size (stat idb))
device (* 64 512))
(write-file-on-device u-boot (stat:size (stat u-boot))
device (* 16384 512)))))
;;;
@ -149,6 +179,13 @@
(inherit u-boot-allwinner-bootloader)
(package u-boot-bananapi-m2-ultra)))
(define u-boot-firefly-rk3399-bootloader
;; SD and eMMC use the same format
(bootloader
(inherit u-boot-bootloader)
(package u-boot-firefly-rk3399)
(installer install-firefly-rk3399-u-boot)))
(define u-boot-mx6cuboxi-bootloader
(bootloader
(inherit u-boot-imx-bootloader)
@ -179,3 +216,17 @@
(inherit u-boot-bootloader)
(package u-boot-puma-rk3399)
(installer install-puma-rk3399-u-boot)))
(define u-boot-rock64-rk3328-bootloader
;; SD and eMMC use the same format
(bootloader
(inherit u-boot-bootloader)
(package u-boot-rock64-rk3328)
(installer install-rock64-rk3328-u-boot)))
(define u-boot-rockpro64-rk3399-bootloader
;; SD and eMMC use the same format
(bootloader
(inherit u-boot-bootloader)
(package u-boot-rockpro64-rk3399)
(installer install-rockpro64-rk3399-u-boot)))

View File

@ -54,7 +54,8 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:export (hydra-jobs))
#:export (channel-instance->package
hydra-jobs))
;;; Commentary:
;;;

View File

@ -22,6 +22,7 @@
# Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
# Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
# Copyright © 2019 John Soo <jsoo1@asu.edu>
# Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
#
# This file is part of GNU Guix.
#
@ -212,6 +213,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gl.scm \
%D%/packages/glib.scm \
%D%/packages/gnome.scm \
%D%/packages/gnome-xyz.scm \
%D%/packages/gnu-doc.scm \
%D%/packages/gnucash.scm \
%D%/packages/gnunet.scm \
@ -425,6 +427,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/ruby.scm \
%D%/packages/rush.scm \
%D%/packages/rust.scm \
%D%/packages/rust-cbindgen.scm \
%D%/packages/samba.scm \
%D%/packages/sagemath.scm \
%D%/packages/sawfish.scm \
@ -580,6 +583,7 @@ GNU_SYSTEM_MODULES = \
%D%/system/vm.scm \
\
%D%/machine.scm \
%D%/machine/digital-ocean.scm \
%D%/machine/ssh.scm \
\
%D%/build/accounts.scm \
@ -694,12 +698,16 @@ dist_patch_DATA = \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
%D%/packages/patches/apr-skip-getservbyname-test.patch \
%D%/packages/patches/arm-trusted-firmware-disable-hdcp.patch \
%D%/packages/patches/arm-trusted-firmware-optional-bin-generation.patch \
%D%/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch \
%D%/packages/patches/aspell-default-dict-dir.patch \
%D%/packages/patches/ath9k-htc-firmware-binutils.patch \
%D%/packages/patches/ath9k-htc-firmware-gcc.patch \
%D%/packages/patches/ath9k-htc-firmware-objcopy.patch \
%D%/packages/patches/audacity-build-with-system-portaudio.patch \
%D%/packages/patches/automake-skip-amhello-tests.patch \
%D%/packages/patches/avahi-CVE-2018-1000845.patch \
%D%/packages/patches/avahi-localstatedir.patch \
%D%/packages/patches/avogadro-boost148.patch \
%D%/packages/patches/avogadro-eigen3-update.patch \
@ -755,7 +763,6 @@ dist_patch_DATA = \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/combinatorial-blas-awpm.patch \
%D%/packages/patches/combinatorial-blas-io-fix.patch \
%D%/packages/patches/cpio-CVE-2016-2037.patch \
%D%/packages/patches/cpufrequtils-fix-aclocal.patch \
%D%/packages/patches/crawl-upgrade-saves.patch \
%D%/packages/patches/crda-optional-gcrypt.patch \
@ -778,6 +785,7 @@ dist_patch_DATA = \
%D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch \
%D%/packages/patches/doc++-include-directives.patch \
%D%/packages/patches/doc++-segfault-fix.patch \
%D%/packages/patches/docker-adjust-tests-for-changes-in-go.patch \
%D%/packages/patches/docker-engine-test-noinstall.patch \
%D%/packages/patches/docker-fix-tests.patch \
%D%/packages/patches/docker-use-fewer-modprobes.patch \
@ -797,6 +805,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-magit-log-format-author-margin.patch \
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/emacs-undohist-ignored.patch \
@ -973,6 +982,7 @@ dist_patch_DATA = \
%D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \
%D%/packages/patches/hplip-remove-imageprocessor.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-gnuzilla-fixes.patch \
%D%/packages/patches/icecat-makeicecat.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
%D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \
@ -995,11 +1005,13 @@ dist_patch_DATA = \
%D%/packages/patches/java-jeromq-fix-tests.patch \
%D%/packages/patches/java-powermock-fix-java-files.patch \
%D%/packages/patches/java-simple-xml-fix-tests.patch \
%D%/packages/patches/java-svg-salamander-Fix-non-det.patch \
%D%/packages/patches/java-xerces-bootclasspath.patch \
%D%/packages/patches/java-xerces-build_dont_unzip.patch \
%D%/packages/patches/java-xerces-xjavac_taskdef.patch \
%D%/packages/patches/jbig2dec-ignore-testtest.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/libvirt-create-machine-cgroup.patch \
%D%/packages/patches/libziparchive-add-includes.patch \
%D%/packages/patches/localed-xorg-keyboard.patch \
%D%/packages/patches/kiki-level-selection-crash.patch \
@ -1018,6 +1030,7 @@ dist_patch_DATA = \
%D%/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch \
%D%/packages/patches/kobodeluxe-midicon-segmentation-fault.patch \
%D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \
%D%/packages/patches/kodi-increase-test-timeout.patch \
%D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \
%D%/packages/patches/kodi-skip-test-449.patch \
%D%/packages/patches/laby-make-install.patch \
@ -1057,9 +1070,10 @@ dist_patch_DATA = \
%D%/packages/patches/libmad-md_size.patch \
%D%/packages/patches/libmad-mips-newgcc.patch \
%D%/packages/patches/libmp4v2-c++11.patch \
%D%/packages/patches/libmpeg2-arm-private-symbols.patch \
%D%/packages/patches/libmpeg2-global-symbol-test.patch \
%D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
%D%/packages/patches/libreoffice-boost.patch \
%D%/packages/patches/libreoffice-icu.patch \
%D%/packages/patches/libreoffice-glm.patch \
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
@ -1137,6 +1151,9 @@ dist_patch_DATA = \
%D%/packages/patches/mtools-mformat-uninitialized.patch \
%D%/packages/patches/mumble-1.2.19-abs.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/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
%D%/packages/patches/mutt-store-references.patch \
@ -1179,6 +1196,7 @@ dist_patch_DATA = \
%D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch \
%D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
%D%/packages/patches/openmpi-psm2-priority.patch \
%D%/packages/patches/openocd-nrf52.patch \
%D%/packages/patches/opensmtpd-fix-crash.patch \
%D%/packages/patches/openssl-runpath.patch \
@ -1193,8 +1211,6 @@ dist_patch_DATA = \
%D%/packages/patches/p7zip-CVE-2016-9296.patch \
%D%/packages/patches/p7zip-CVE-2017-17969.patch \
%D%/packages/patches/p7zip-remove-unused-code.patch \
%D%/packages/patches/patchelf-page-size.patch \
%D%/packages/patches/patchelf-rework-for-arm.patch \
%D%/packages/patches/patchutils-test-perms.patch \
%D%/packages/patches/patch-hurd-path-max.patch \
%D%/packages/patches/pcre2-fix-jit_match-crash.patch \
@ -1262,6 +1278,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-configobj-setuptools.patch \
%D%/packages/patches/python-faker-fix-build-32bit.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 \
%D%/packages/patches/python-flint-includes.patch \
%D%/packages/patches/python-libxml2-utf8.patch \
@ -1304,8 +1321,6 @@ dist_patch_DATA = \
%D%/packages/patches/rtags-separate-rct.patch \
%D%/packages/patches/racket-store-checksum-override.patch \
%D%/packages/patches/ruby-rubygems-276-for-ruby24.patch \
%D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \
%D%/packages/patches/ruby-concurrent-test-arm.patch \
%D%/packages/patches/ruby-rack-ignore-failing-test.patch \
%D%/packages/patches/ruby-safe-yaml-add-require-time.patch \
%D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
@ -1316,11 +1331,13 @@ dist_patch_DATA = \
%D%/packages/patches/rust-coresimd-doctest.patch \
%D%/packages/patches/rust-reproducible-builds.patch \
%D%/packages/patches/rxvt-unicode-escape-sequences.patch \
%D%/packages/patches/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/sdl-libx11-1.6.patch \
%D%/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
%D%/packages/patches/shishi-fix-libgcrypt-detection.patch \
@ -1374,11 +1391,13 @@ dist_patch_DATA = \
%D%/packages/patches/tk-find-library.patch \
%D%/packages/patches/ttf2eot-cstddef.patch \
%D%/packages/patches/ttfautohint-source-date-epoch.patch \
%D%/packages/patches/tomb-fix-errors-on-open.patch \
%D%/packages/patches/totem-meson-compat.patch \
%D%/packages/patches/totem-meson-easy-codec.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/txr-shell.patch \
%D%/packages/patches/u-boot-fix-mkimage-header-verification.patch \
%D%/packages/patches/udiskie-no-appindicator.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \
%D%/packages/patches/unzip-CVE-2014-8140.patch \
%D%/packages/patches/unzip-CVE-2014-8141.patch \
@ -1404,6 +1423,7 @@ dist_patch_DATA = \
%D%/packages/patches/vinagre-newer-freerdp.patch \
%D%/packages/patches/vinagre-newer-rdp-parameters.patch \
%D%/packages/patches/virglrenderer-CVE-2017-6386.patch \
%D%/packages/patches/vlc-fix-test_libvlc_slaves.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \
%D%/packages/patches/vorbis-tools-CVE-2015-6749.patch \
@ -1413,6 +1433,7 @@ dist_patch_DATA = \
%D%/packages/patches/wavpack-CVE-2018-6767.patch \
%D%/packages/patches/wavpack-CVE-2018-7253.patch \
%D%/packages/patches/wavpack-CVE-2018-7254.patch \
%D%/packages/patches/weasyprint-library-paths.patch \
%D%/packages/patches/wicd-bitrate-none-fix.patch \
%D%/packages/patches/wicd-get-selected-profile-fix.patch \
%D%/packages/patches/wicd-urwid-1.3.patch \
@ -1435,9 +1456,7 @@ dist_patch_DATA = \
%D%/packages/patches/xfce4-panel-plugins.patch \
%D%/packages/patches/xfce4-settings-defaults.patch \
%D%/packages/patches/xinetd-fix-fd-leak.patch \
%D%/packages/patches/xinetd-CVE-2013-4342.patch \
%D%/packages/patches/xorriso-no-partition-table-in-inner-efi.patch \
%D%/packages/patches/xorriso-no-mbr-in-inner-efi.patch
%D%/packages/patches/xinetd-CVE-2013-4342.patch
MISC_DISTRO_FILES = \
%D%/packages/ld-wrapper.in

View File

@ -0,0 +1,422 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.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 machine digital-ocean)
#:use-module (gnu machine ssh)
#:use-module (gnu machine)
#:use-module (gnu services)
#:use-module (gnu services networking)
#:use-module (gnu system)
#:use-module (gnu system pam)
#:use-module (guix base32)
#:use-module (guix derivations)
#:use-module (guix i18n)
#:use-module (guix import json)
#:use-module (guix monads)
#:use-module (guix records)
#:use-module (guix ssh)
#:use-module (guix store)
#:use-module (ice-9 iconv)
#:use-module (json)
#:use-module (rnrs bytevectors)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-2)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (ssh key)
#:use-module (ssh sftp)
#:use-module (ssh shell)
#:use-module (web client)
#:use-module (web request)
#:use-module (web response)
#:use-module (web uri)
#:export (digital-ocean-configuration
digital-ocean-configuration?
digital-ocean-configuration-ssh-key
digital-ocean-configuration-tags
digital-ocean-configuration-region
digital-ocean-configuration-size
digital-ocean-configuration-enable-ipv6?
digital-ocean-environment-type))
;;; Commentary:
;;;
;;; This module implements a high-level interface for provisioning "droplets"
;;; from the Digital Ocean virtual private server (VPS) service.
;;;
;;; Code:
(define %api-base "https://api.digitalocean.com")
(define %digital-ocean-token
(make-parameter (getenv "GUIX_DIGITAL_OCEAN_TOKEN")))
(define* (post-endpoint endpoint body)
"Encode BODY as JSON and send it to the Digital Ocean API endpoint
ENDPOINT. This procedure is quite a bit more specialized than 'http-post', as
it takes care to set headers such as 'Content-Type', 'Content-Length', and
'Authorization' appropriately."
(let* ((uri (string->uri (string-append %api-base endpoint)))
(body (string->bytevector (scm->json-string body) "UTF-8"))
(headers `((User-Agent . "Guix Deploy")
(Accept . "application/json")
(Content-Type . "application/json")
(Authorization . ,(format #f "Bearer ~a"
(%digital-ocean-token)))
(Content-Length . ,(number->string
(bytevector-length body)))))
(port (open-socket-for-uri uri))
(request (build-request uri
#:method 'POST
#:version '(1 . 1)
#:headers headers
#:port port))
(request (write-request request port)))
(write-request-body request body)
(force-output (request-port request))
(let* ((response (read-response port))
(body (read-response-body response)))
(unless (= 2 (floor/ (response-code response) 100))
(raise
(condition (&message
(message (format
#f
(G_ "~a: HTTP post failed: ~a (~s)")
(uri->string uri)
(response-code response)
(response-reason-phrase response)))))))
(close-port port)
(bytevector->string body "UTF-8"))))
(define (fetch-endpoint endpoint)
"Return the contents of the Digital Ocean API endpoint ENDPOINT as an
alist. This procedure is quite a bit more specialized than 'json-fetch', as it
takes care to set headers such as 'Accept' and 'Authorization' appropriately."
(define headers
`((user-agent . "Guix Deploy")
(Accept . "application/json")
(Authorization . ,(format #f "Bearer ~a" (%digital-ocean-token)))))
(json-fetch (string-append %api-base endpoint) #:headers headers))
;;;
;;; Parameters for droplet creation.
;;;
(define-record-type* <digital-ocean-configuration> digital-ocean-configuration
make-digital-ocean-configuration
digital-ocean-configuration?
this-digital-ocean-configuration
(ssh-key digital-ocean-configuration-ssh-key) ; string
(tags digital-ocean-configuration-tags) ; list of strings
(region digital-ocean-configuration-region) ; string
(size digital-ocean-configuration-size) ; string
(enable-ipv6? digital-ocean-configuration-enable-ipv6?)) ; boolean
(define (read-key-fingerprint file-name)
"Read the private key at FILE-NAME and return the key's fingerprint as a hex
string."
(let* ((privkey (private-key-from-file file-name))
(pubkey (private-key->public-key privkey))
(hash (get-public-key-hash pubkey 'md5)))
(bytevector->hex-string hash)))
(define (machine-droplet machine)
"Return an alist describing the droplet allocated to MACHINE."
(let ((tags (digital-ocean-configuration-tags
(machine-configuration machine))))
(find (lambda (droplet)
(equal? (assoc-ref droplet "tags") (list->vector tags)))
(vector->list
(assoc-ref (fetch-endpoint "/v2/droplets") "droplets")))))
(define (machine-public-ipv4-network machine)
"Return the public IPv4 network interface of the droplet allocated to
MACHINE as an alist. The expected fields are 'ip_address', 'netmask', and
'gateway'."
(and-let* ((droplet (machine-droplet machine))
(networks (assoc-ref droplet "networks"))
(network (find (lambda (network)
(string= "public" (assoc-ref network "type")))
(vector->list (assoc-ref networks "v4")))))
network))
;;;
;;; Remote evaluation.
;;;
(define (digital-ocean-remote-eval target exp)
"Internal implementation of 'machine-remote-eval' for MACHINE instances with
an environment type of 'digital-ocean-environment-type'."
(let* ((network (machine-public-ipv4-network target))
(address (assoc-ref network "ip_address"))
(ssh-key (digital-ocean-configuration-ssh-key
(machine-configuration target)))
(delegate (machine
(inherit target)
(environment managed-host-environment-type)
(configuration
(machine-ssh-configuration
(host-name address)
(identity ssh-key)
(system "x86_64-linux"))))))
(machine-remote-eval delegate exp)))
;;;
;;; System deployment.
;;;
;; The following script was adapted from the guide available at
;; <https://wiki.pantherx.org/Installation-digital-ocean/>.
(define (guix-infect network)
"Given NETWORK, an alist describing the Droplet's public IPv4 network
interface, return a Bash script that will install the Guix system."
(format #f "#!/bin/bash
apt-get update
apt-get install xz-utils -y
wget https://ftp.gnu.org/gnu/guix/guix-binary-1.0.1.x86_64-linux.tar.xz
cd /tmp
tar --warning=no-timestamp -xf ~~/guix-binary-1.0.1.x86_64-linux.tar.xz
mv var/guix /var/ && mv gnu /
mkdir -p ~~root/.config/guix
ln -sf /var/guix/profiles/per-user/root/current-guix ~~root/.config/guix/current
export GUIX_PROFILE=\"`echo ~~root`/.config/guix/current\" ;
source $GUIX_PROFILE/etc/profile
groupadd --system guixbuild
for i in `seq -w 1 10`; do
useradd -g guixbuild -G guixbuild \
-d /var/empty -s `which nologin` \
-c \"Guix build user $i\" --system \
guixbuilder$i;
done;
cp ~~root/.config/guix/current/lib/systemd/system/guix-daemon.service /etc/systemd/system/
systemctl start guix-daemon && systemctl enable guix-daemon
mkdir -p /usr/local/bin
cd /usr/local/bin
ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix
mkdir -p /usr/local/share/info
cd /usr/local/share/info
for i in /var/guix/profiles/per-user/root/current-guix/share/info/*; do
ln -s $i;
done
guix archive --authorize < ~~root/.config/guix/current/share/guix/ci.guix.gnu.org.pub
# guix pull
guix package -i glibc-utf8-locales
export GUIX_LOCPATH=\"$HOME/.guix-profile/lib/locale\"
guix package -i openssl
cat > /etc/bootstrap-config.scm << EOF
(use-modules (gnu))
(use-service-modules networking ssh)
(operating-system
(host-name \"gnu-bootstrap\")
(timezone \"Etc/UTC\")
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(target \"/dev/vda\")
(terminal-outputs '(console))))
(file-systems (cons (file-system
(mount-point \"/\")
(device \"/dev/vda1\")
(type \"ext4\"))
%base-file-systems))
(services
(append (list (static-networking-service \"eth0\" \"~a\"
#:netmask \"~a\"
#:gateway \"~a\"
#:name-servers '(\"84.200.69.80\" \"84.200.70.40\"))
(simple-service 'guile-load-path-in-global-env
session-environment-service-type
\\`((\"GUILE_LOAD_PATH\"
. \"/run/current-system/profile/share/guile/site/2.2\")
(\"GUILE_LOAD_COMPILED_PATH\"
. ,(string-append \"/run/current-system/profile/lib/guile/2.2/site-ccache:\"
\"/run/current-system/profile/share/guile/site/2.2\"))))
(service openssh-service-type
(openssh-configuration
(log-level 'debug)
(permit-root-login 'without-password))))
%base-services)))
EOF
# guix pull
guix system build /etc/bootstrap-config.scm
guix system reconfigure /etc/bootstrap-config.scm
mv /etc /old-etc
mkdir /etc
cp -r /old-etc/{passwd,group,shadow,gshadow,mtab,guix,bootstrap-config.scm} /etc/
guix system reconfigure /etc/bootstrap-config.scm"
(assoc-ref network "ip_address")
(assoc-ref network "netmask")
(assoc-ref network "gateway")))
(define (machine-wait-until-available machine)
"Block until the initial Debian image has been installed on the droplet
named DROPLET-NAME."
(and-let* ((droplet (machine-droplet machine))
(droplet-id (assoc-ref droplet "id"))
(endpoint (format #f "/v2/droplets/~a/actions" droplet-id)))
(let loop ()
(let ((actions (assoc-ref (fetch-endpoint endpoint) "actions")))
(unless (every (lambda (action)
(string= "completed" (assoc-ref action "status")))
(vector->list actions))
(sleep 5)
(loop))))))
(define (wait-for-ssh address ssh-key)
"Block until the an SSH session can be made as 'root' with SSH-KEY at ADDRESS."
(let loop ()
(catch #t
(lambda ()
(open-ssh-session address #:user "root" #:identity ssh-key))
(lambda args
(sleep 5)
(loop)))))
(define (add-static-networking target network)
"Return an <operating-system> based on TARGET with a static networking
configuration for the public IPv4 network described by the alist NETWORK."
(operating-system
(inherit (machine-operating-system target))
(services (cons* (static-networking-service "eth0"
(assoc-ref network "ip_address")
#:netmask (assoc-ref network "netmask")
#:gateway (assoc-ref network "gateway")
#:name-servers '("84.200.69.80" "84.200.70.40"))
(simple-service 'guile-load-path-in-global-env
session-environment-service-type
`(("GUILE_LOAD_PATH"
. "/run/current-system/profile/share/guile/site/2.2")
("GUILE_LOAD_COMPILED_PATH"
. ,(string-append "/run/current-system/profile/lib/guile/2.2/site-ccache:"
"/run/current-system/profile/share/guile/site/2.2"))))
(operating-system-user-services
(machine-operating-system target))))))
(define (deploy-digital-ocean target)
"Internal implementation of 'deploy-machine' for 'machine' instances with an
environment type of 'digital-ocean-environment-type'."
(maybe-raise-missing-api-key-error)
(maybe-raise-unsupported-configuration-error target)
(let* ((config (machine-configuration target))
(name (machine-display-name target))
(region (digital-ocean-configuration-region config))
(size (digital-ocean-configuration-size config))
(ssh-key (digital-ocean-configuration-ssh-key config))
(fingerprint (read-key-fingerprint ssh-key))
(enable-ipv6? (digital-ocean-configuration-enable-ipv6? config))
(tags (digital-ocean-configuration-tags config))
(request-body `(("name" . ,name)
("region" . ,region)
("size" . ,size)
("image" . "debian-9-x64")
("ssh_keys" . ,(vector fingerprint))
("backups" . #f)
("ipv6" . ,enable-ipv6?)
("user_data" . #nil)
("private_networking" . #nil)
("volumes" . #nil)
("tags" . ,(list->vector tags))))
(response (post-endpoint "/v2/droplets" request-body)))
(machine-wait-until-available target)
(let* ((network (machine-public-ipv4-network target))
(address (assoc-ref network "ip_address")))
(wait-for-ssh address ssh-key)
(let* ((ssh-session (open-ssh-session address #:user "root" #:identity ssh-key))
(sftp-session (make-sftp-session ssh-session)))
(call-with-remote-output-file sftp-session "/tmp/guix-infect.sh"
(lambda (port)
(display (guix-infect network) port)))
(rexec ssh-session "/bin/bash /tmp/guix-infect.sh")
;; Session will close upon rebooting, which will raise 'guile-ssh-error.
(catch 'guile-ssh-error
(lambda () (rexec ssh-session "reboot"))
(lambda args #t)))
(wait-for-ssh address ssh-key)
(let ((delegate (machine
(operating-system (add-static-networking target network))
(environment managed-host-environment-type)
(configuration
(machine-ssh-configuration
(host-name address)
(identity ssh-key)
(system "x86_64-linux"))))))
(deploy-machine delegate)))))
;;;
;;; Roll-back.
;;;
(define (roll-back-digital-ocean target)
"Internal implementation of 'roll-back-machine' for MACHINE instances with an
environment type of 'digital-ocean-environment-type'."
(let* ((network (machine-public-ipv4-network target))
(address (assoc-ref network "ip_address"))
(ssh-key (digital-ocean-configuration-ssh-key
(machine-configuration target)))
(delegate (machine
(inherit target)
(environment managed-host-environment-type)
(configuration
(machine-ssh-configuration
(host-name address)
(identity ssh-key)
(system "x86_64-linux"))))))
(roll-back-machine delegate)))
;;;
;;; Environment type.
;;;
(define digital-ocean-environment-type
(environment-type
(machine-remote-eval digital-ocean-remote-eval)
(deploy-machine deploy-digital-ocean)
(roll-back-machine roll-back-digital-ocean)
(name 'digital-ocean-environment-type)
(description "Provisioning of \"droplets\": virtual machines
provided by the Digital Ocean virtual private server (VPS) service.")))
(define (maybe-raise-missing-api-key-error)
(unless (%digital-ocean-token)
(raise (condition
(&message
(message (G_ "No Digital Ocean access token was provided. This \
may be fixed by setting the environment variable GUIX_DIGITAL_OCAEN_TOKEN to \
one procured from https://cloud.digitalocean.com/account/api/tokens.")))))))
(define (maybe-raise-unsupported-configuration-error machine)
"Raise an error if MACHINE's configuration is not an instance of
<digital-ocean-configuration>."
(let ((config (machine-configuration machine))
(environment (environment-type-name (machine-environment machine))))
(unless (and config (digital-ocean-configuration? config))
(raise (condition
(&message
(message (format #f (G_ "unsupported machine configuration '~a'
for environment of type '~a'")
config
environment))))))))

View File

@ -228,9 +228,7 @@ package module."
#:outputs (package-outputs package)
#:location (package-location package)
#:supported?
(->bool
(member (%current-system)
(package-supported-systems package)))
(->bool (supported-package? package))
#:deprecated?
(->bool
(package-superseded package))))

View File

@ -83,7 +83,7 @@
;; the tests to pass.
#:tests? #f
#:make-flags
(list "CXXFLAGS=-std=c++11" "gtk_update_icon_cache=true")))
(list "gtk_update_icon_cache=true")))
(inputs
`(("boost" ,boost)
("enchant" ,enchant)

View File

@ -19,7 +19,7 @@
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
@ -1128,7 +1128,7 @@ system administrator.")
(define-public sudo
(package
(name "sudo")
(version "1.8.27")
(version "1.8.29")
(source (origin
(method url-fetch)
(uri
@ -1138,7 +1138,7 @@ system administrator.")
version ".tar.gz")))
(sha256
(base32
"1h1f7v9pv0rzp14cxzv8kaa8mdd717fbqv83l7c5dvvi8jwnisvv"))
"0z4wyadh9cks17gdpfgx4kvbrlnyb6nai2sd6chk7qh4jsngylyf"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1184,6 +1184,12 @@ system administrator.")
(("\\$\\(DESTDIR\\)\\$\\(vardir\\)")
;; Don't try to create /var/db/sudo.
"$(TMPDIR)/dummy"))
;; Checking existing [/etc/]sudoers file for syntax errors is
;; not the task of the build system, and fails.
(substitute* "plugins/sudoers/Makefile.in"
(("^pre-install:" match)
(string-append match "\ndisabled-" match)))
#t)))
;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
@ -1593,6 +1599,7 @@ system is under heavy load.")
(uri (git-reference
(url "https://github.com/dharple/detox.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1dd608c7g65s5lj02cddvani3q9kzirddgkjqa22ap9d4f8b9xgr"))))
@ -1839,13 +1846,13 @@ of supported upstream metrics systems simultaneously.")
(define-public ansible
(package
(name "ansible")
(version "2.8.1")
(version "2.8.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ansible" version))
(sha256
(base32 "0ia4x17ywym3r1m96ar4h0wc2xlylhbjp6x4wzwkh4p2i0x1vmg1"))))
(base32 "11k94ifp42psivzx147xwbmq1ak7qnjdgkb6c1xz53nfapkh754f"))))
(build-system python-build-system)
(native-inputs
`(("python-bcrypt" ,python-bcrypt)
@ -1880,21 +1887,16 @@ import re
sys.argv[0] = re.sub(r'\\.([^/]*)-real$', r'\\1', sys.argv[0])
")))
#t))
(add-after 'wrap 'fix-symlinks
(add-after 'install 'replace-symlinks
(lambda* (#:key outputs #:allow-other-keys)
;; Replace symlinks with duplicate copies of the ansible
;; executable.
(let ((out (assoc-ref outputs "out")))
(for-each
(lambda (subprogram)
;; The symlinks point to the ansible wrapper script. Make
;; them point to the real executable (.ansible-real).
(delete-file (string-append out "/bin/.ansible-" subprogram "-real"))
(symlink (string-append out "/bin/.ansible-real")
(string-append out "/bin/.ansible-" subprogram "-real"))
;; The wrapper scripts of the symlinks invoke the ansible
;; wrapper script. Fix them to invoke the correct executable.
(substitute* (string-append out "/bin/ansible-" subprogram)
(("/bin/ansible")
(string-append "/bin/.ansible-" subprogram "-real"))))
(delete-file (string-append out "/bin/ansible-" subprogram))
(copy-file (string-append out "/bin/ansible")
(string-append out "/bin/ansible-" subprogram)))
(list "config" "console" "doc" "galaxy"
"inventory" "playbook" "pull" "vault")))
#t)))))
@ -2420,13 +2422,13 @@ a new command using the matched rule, and runs it.")
(define-public di
(package
(name "di")
(version "4.47.1")
(version "4.47.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
(sha256
(base32 "1bdbl9k3gqf4h6g21difqc0w17pjid6r587y19wi37vx36aava7f"))))
(base32 "1g97pp2hznskqlkhl6ppyzgdmv878bcqiwh633kdnm70d1pvh192"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; obscure test failures
@ -2611,22 +2613,24 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
environment-variable-names)
(for-each
(lambda (env-name)
(let* ((env-value (getenv env-name))
(search-path (search-path-as-string->list env-value))
(new-search-path (filter filter-predicate
search-path))
(new-env-value (list->search-path-as-string
new-search-path ":")))
(setenv env-name new-env-value)))
(when (getenv env-name)
(let* ((env-value (getenv env-name))
(search-path (search-path-as-string->list env-value))
(new-search-path (filter filter-predicate
search-path))
(new-env-value (list->search-path-as-string
new-search-path ":")))
(setenv env-name new-env-value))))
environment-variable-names))
(setenv "CROSS_CPATH" (getenv "CPATH"))
(setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
(setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
(setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
(filter-environment! cross?
'("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"
'("CROSS_CPATH" "CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"
"CROSS_LIBRARY_PATH"))
(filter-environment! (lambda (e) (not (cross? e)))
'("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"
'("CPATH" "C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"
"LIBRARY_PATH"))
#t))
(replace 'build
@ -2831,6 +2835,7 @@ tool for remote execution and deployment.")
(uri (git-reference
(url "https://github.com/dylanaraps/neofetch")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"022xzn9jk18k2f4b6011d8jk5nbl84i3mw3inlz4q52p2hvk8fch"))))

View File

@ -130,8 +130,7 @@ C/C++ programs to use its capabilities without restrictions or overhead.")
"--with-python=auto"
(string-append "--with-dbusconfdir="
(assoc-ref %outputs "out")
"/etc")
"CXXFLAGS=-std=c++11")))
"/etc"))))
(native-inputs
`(("glib" ,glib "bin")
("pkg-config" ,pkg-config)))

View File

@ -202,6 +202,7 @@ the real span of the lattice.")
(uri (git-reference
(url "https://github.com/fplll/fpylll.git")
(commit (string-append version "dev"))))
(file-name (git-file-name name version))
(sha256
(base32
"01x2sqdv0sbjj4g4waj0hj4rcn4bq7h17442xaqwbznym9azmn9w"))))
@ -345,7 +346,7 @@ precision.")
(define-public giac
(package
(name "giac")
(version "1.5.0-65")
(version "1.5.0-69")
(source (origin
(method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly
@ -357,7 +358,7 @@ precision.")
"source/giac_" version ".tar.gz"))
(sha256
(base32
"1g2fp9vgy0gqjmi6mlc3ldfn8ryq3h4mfd7rcq5hs6ry21hblv30"))))
"05l1qa2kfmvsbp0iqjmg3ixkcqa3h9ry1mjpcps52bxw05s3k1z9"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 ftw)
@ -484,7 +485,7 @@ fast arithmetic.")
(define-public arb
(package
(name "arb")
(version "2.16.0")
(version "2.17.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -493,7 +494,7 @@ fast arithmetic.")
(file-name (git-file-name name version))
(sha256
(base32
"0478671wfwy3gl26sbxh1jq1ih36z4k72waa8y2y2lvn649gb7cd"))))
"05lpy3hkl5f8ik19aw40cqydrb932xaf2n8hbq9ib5dnk7f010p1"))))
(build-system gnu-build-system)
(propagated-inputs
`(("flint" ,flint))) ; flint.h is included by arf.h
@ -509,8 +510,8 @@ fast arithmetic.")
(flint (assoc-ref inputs "flint"))
(gmp (assoc-ref inputs "gmp"))
(mpfr (assoc-ref inputs "mpfr")))
;; do not pass "--enable-fast-install", which makes the
;; homebrew configure process fail
;; Do not pass "--enable-fast-install", which makes the
;; homebrew configure process fail.
(invoke "./configure"
(string-append "--prefix=" out)
(string-append "--with-flint=" flint)
@ -523,7 +524,7 @@ arithmetic. It supports efficient high-precision computation with
polynomials, power series, matrices and special functions over the
real and complex numbers, with automatic, rigorous error control.")
(license license:lgpl2.1+)
(home-page "http://fredrikj.net/arb/")))
(home-page "http://arblib.org")))
(define-public python-flint
(package
@ -996,7 +997,7 @@ features, and more.")
(define-public xtensor
(package
(name "xtensor")
(version "0.20.9")
(version "0.20.10")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1004,7 +1005,7 @@ features, and more.")
(commit version)))
(sha256
(base32
"1rw04bdi7mzp362dhkxr9m4rafnvb47xjsi9p3fp4vfif8v0jij8"))
"1fmv2hpx610xwhxrndfsfvlbqfyk4l3gi5q5d7pa9m82kblxjj9l"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(native-inputs

View File

@ -5,7 +5,7 @@
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
@ -217,7 +217,6 @@ in Main, System, Radio and Events sub-logs.")
(build-system android-ndk-build-system)
(arguments
`(#:tests? #f ; Test failure: logging.UNIMPLEMENTED
#:make-flags '("CXXFLAGS=-std=gnu++11")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-source
@ -257,7 +256,7 @@ various Android core host applications.")
"CC = gcc\n"
"CFLAGS += -fPIC\n"
"CXXFLAGS += -std=gnu++11 -fPIC\n"
"CXXFLAGS += -fPIC\n"
"CPPFLAGS += -Iinclude -I../include\n"
"LDFLAGS += -shared -Wl,-soname,$(NAME).so.0\n"
@ -312,7 +311,7 @@ various Android core host applications.")
(build-system android-ndk-build-system)
(arguments
`(#:make-flags '("CFLAGS=-Wno-error"
"CXXFLAGS=-fpermissive -Wno-error -std=gnu++11")
"CXXFLAGS=-fpermissive -Wno-error")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-source
@ -631,8 +630,7 @@ file system.")
(source (android-platform-system-core version))
(build-system android-ndk-build-system)
(arguments
`(#:make-flags (list "CXXFLAGS=-std=gnu++11")
#:phases
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-source
(lambda _
@ -676,16 +674,16 @@ file system.")
(define-public android-udev-rules
(package
(name "android-udev-rules")
(version "20180112")
(version "20191103")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/M0Rf30/android-udev-rules")
(commit version)))
(file-name (string-append name "-" version "-checkout"))
(file-name (git-file-name name version))
(sha256
(base32 "13gj79nnd04szqlrrzzkdr6wi1fky08pi7x8xfbg0jj3d3v0giah"))))
(base32 "0x2f2sv0x0ry7kccp47s0hlxps3hbpg37dj3xjjgpdm5hmn2cjq3"))))
(build-system trivial-build-system)
(native-inputs `(("source" ,source)))
(arguments

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
@ -44,14 +44,14 @@
(define-public clamav
(package
(name "clamav")
(version "0.101.2")
(version "0.102.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.clamav.net/downloads/production/"
"clamav-" version ".tar.gz"))
(sha256
(base32
"0d3n4y8i5q594h4cjglmvpk4jd73r9ajpp1bvq5lr9zpdzgyn4ha"))
"1qdyj4r39266bmbsd2nwyspm20k9wh3c30awrg8c54y78s61izj8"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -149,18 +149,27 @@ dictionaries, including personal ones.")
"1svls9p7rsfi3hs0afh0cssj006qb4v1ik2yzqgj8hm10c6as2sm")))
(define-public aspell-dict-ca
(aspell-dictionary "ca" "Catalan"
#:version "2.1.5-1"
#:sha256
(base32
"1fb5y5kgvk25nlsfvc8cai978hg66x3pbp9py56pldc7vxzf9npb")))
(let ((version "2.5.0")
(sha256
(base32 "0kbi8fi7a1bys31kfqrlh332gyik0cfdmxgl7n15sa9c305rkgwq")))
(package
(inherit (aspell-dictionary "ca" "Catalan"
#:version version
#:sha256 sha256))
(source
(origin
(method url-fetch)
(uri (string-append "https://www.softcatala.org/pub/softcatala/aspell/"
version "/aspell6-ca-" version ".tar.bz2"))
(sha256 sha256)))
(home-page "https://www.softcatala.org/pub/softcatala/aspell/"))))
(define-public aspell-dict-de
(aspell-dictionary "de" "German"
#:version "20030222-1"
#:version "20161207-7-0"
#:sha256
(base32
"01p92qj66cqb346gk7hjfynaap5sbcn85xz07kjfdq623ghr8v5s")))
"0wamclvp66xfmv5wff96v6gdlnfv4y8lx3f8wvxyzm5imwgms4n2")))
(define-public aspell-dict-da
(aspell-dictionary "da" "Danish"
@ -180,10 +189,10 @@ dictionaries, including personal ones.")
(define-public aspell-dict-en
(aspell-dictionary "en" "English"
#:version "2018.04.16-0"
#:version "2019.10.06-0"
#:sha256
(base32
"0bxxdzkk9g27plg22y9qzsx9cfjw3aa29w5bmzs561qc9gkp247i")))
"1zai9wrqwgb9z9vfgb22qhrvxvg73jg0ix44j1khm2f6m96lncr4")))
(define-public aspell-dict-eo
(aspell-dictionary "eo" "Esperanto"
@ -282,19 +291,17 @@ dictionaries, including personal ones.")
(define-public aspell-dict-pt-br
(aspell-dictionary "pt_BR" "Brazilian Portuguese"
#:version "20090702-0"
#:prefix "aspell6-"
#:version "20131030-12-0"
#:sha256
(base32
"1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p")))
"1xqlpk21s93c6blkdnpk7l62q9fxjvzdv2x86chl8p2x1gdrj3gb")))
(define-public aspell-dict-pt-pt
(aspell-dictionary "pt_PT" "Portuguese"
#:version "20070510-0"
#:prefix "aspell6-"
#:version "20190329-1-0"
#:sha256
(base32
"1mnr994cwlag6shy8865ky99lymysiln07mbldcncahg90dagdxq")))
"0ld0d0ily4jqifjfsxfv4shbicz6ymm2gk56fq9gbzra1j4qnw75")))
(define-public aspell-dict-ru
(aspell-dictionary "ru" "Russian"

View File

@ -99,6 +99,10 @@ has strong support for macros.")
(base32
"0gv0slmm0qpq91za3v2v9glff3il594x5xsrbgab7xcmnh0ndkix"))))
(build-system gnu-build-system)
(arguments
'(#:parallel-tests? #f)) ; Some tests fail
; non-deterministically when run in
; parallel
(inputs
`(("python" ,python-wrapper)
("xmlto" ,xmlto)))

View File

@ -23,6 +23,7 @@
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -63,6 +64,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages dbm)
#:use-module (gnu packages documentation)
#:use-module (gnu packages emacs)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
@ -521,8 +523,6 @@ formant warp.")
`(#:tests? #f ; no check target
#:make-flags
(list "LV2PEG=ttl2c"
"CXXFLAGS=-std=gnu++11"
"CFLAGS=-std=gnu++11"
(string-append "prefix=" %output)
(string-append "pkgdatadir=" %output "/share/azr3-jack"))
#:phases
@ -1109,7 +1109,7 @@ follower.")
(define-public fluidsynth
(package
(name "fluidsynth")
(version "2.0.7")
(version "2.0.9")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1118,7 +1118,7 @@ follower.")
(file-name (git-file-name name version))
(sha256
(base32
"1h1dj3wmjwzny2hgr41k3p67w4kxvzn365kkqwyfd6yk0v3rahic"))))
"08bhwv0gw7zq1z0b36m2dzxl6zcgvmvaa60nly2wif7rinkprp5n"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no check target
@ -1169,28 +1169,17 @@ also play midifiles using a Soundfont.")
(define-public faad2
(package
(name "faad2")
(version "2.7")
(version "2.8.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/faac/faad2-src/faad2-"
version "/faad2-" version ".zip"))
(version-major+minor version) ".0/"
"faad2-" version ".tar.gz"))
(sha256
(base32
"16f3l16c00sg0wkrkm3vzv0gy3g97x309vw788igs0cap2x1ak3z"))))
"089zqykqgmmysznvk0bi2pfvdqwclnn540d0zks83sv2pynpfjb5"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("unzip" ,unzip)))
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'bootstrap
(lambda _
(substitute* "bootstrap" (("\r\n") "\n"))
(invoke "sh" "bootstrap"))))))
(home-page "http://www.audiocoding.com/faad2.html")
(home-page "https://www.audiocoding.com/faad2.html")
(synopsis "MPEG-4 and MPEG-2 AAC decoder")
(description
"FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR,
@ -1328,8 +1317,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
#:configure-flags
(list
;; Add the output lib directory to the RUNPATH.
(string-append "--ldflags=-Wl,-rpath=" %output "/lib")
"--cxxflags=-std=c++11")
(string-append "--ldflags=-Wl,-rpath=" %output "/lib"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-boost-includes
@ -1586,24 +1574,26 @@ synchronous execution of all clients, and low latency operation.")
(define-public jalv
(package
(name "jalv")
(version "1.6.0")
(version "1.6.4")
(source (origin
(method url-fetch)
(uri (string-append "https://download.drobilla.net/jalv-"
version ".tar.bz2"))
(sha256
(base32
"1x2wpzzx2cgvz3dgdcgsj8dr0w3zsasy62mvl199bsdj5fbjaili"))))
"1wwfn7yzbs37s2rdlfjgks63svd5g14yyzd2gdl7h0z12qncwsy2"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
`(#:tests? #f ; no check target
#:python ,python-2))
(inputs
`(("lv2" ,lv2)
("lilv" ,lilv)
("suil" ,suil)
("gtk" ,gtk+)
("gtkmm" ,gtkmm)
("gtk2" ,gtk+-2)
("gtk3" ,gtk+)
("gtkmm" ,gtkmm-2)
("qtbase" ,qtbase)
("jack" ,jack-1)))
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -1817,26 +1807,32 @@ included are the command line utilities @code{send_osc} and @code{dump_osc}.")
(define-public lilv
(package
(name "lilv")
(version "0.24.4")
(version "0.24.6")
(source (origin
(method url-fetch)
(uri (string-append "https://download.drobilla.net/lilv-"
version ".tar.bz2"))
(sha256
(base32
"0f24cd7wkk5l969857g2ydz2kjjrkvvddg1g87xzzs78lsvq8fy3"))))
"1p3hafsxgs5d4za7n66lf5nz74qssfqpmk520cm7iq2njvvlqm2z"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(add-before
'configure 'set-ldflags
(add-before 'configure 'set-ldflags
(lambda* (#:key outputs #:allow-other-keys)
(setenv "LDFLAGS"
(string-append "-Wl,-rpath="
(assoc-ref outputs "out") "/lib"))
#t)))))
#t))
(add-after 'unpack 'full-store-path-to-shared-library
(lambda* (#:key outputs #:allow-other-keys)
(with-directory-excursion "bindings/python"
(substitute* "lilv.py"
(("liblilv-0.so") (string-append (assoc-ref outputs "out")
"/lib/liblilv-0.so"))))
#t)))))
;; Required by lilv-0.pc.
(propagated-inputs
`(("lv2" ,lv2)
@ -1844,8 +1840,9 @@ included are the command line utilities @code{send_osc} and @code{dump_osc}.")
("sord" ,sord)
("sratom" ,sratom)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://drobilla.net/software/lilv/")
`(("python" ,python)
("pkg-config" ,pkg-config)))
(home-page "https://drobilla.net/software/lilv")
(synopsis "Library to simplify use of LV2 plugins in applications")
(description
"Lilv is a C library to make the use of LV2 plugins as simple as possible
@ -2344,33 +2341,22 @@ tempo and pitch of an audio recording independently of one another.")
(define-public rtmidi
(package
(name "rtmidi")
(version "2.1.0")
(version "4.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/powertab/rtmidi.git")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "https://www.music.mcgill.ca/~gary/rtmidi"
"/release/rtmidi-" version ".tar.gz"))
(file-name (string-append "rtmidi-" version ".tar.gz"))
(sha256
(base32
"106v177y3nrjv2l1yskch4phpqd8h97b67zj0jiq9pc3c69jr1ay"))))
"1k962ljpnwyjw9jjiky2372khhri1wqvrj5qsalfpys31xqzw31p"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
#:phases
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-makefile
(add-before 'bootstrap 'noconfigure
(lambda _
(substitute* "Makefile"
(("/bin/ln") "ln")
(("RtMidi.h RtError.h") "RtMidi.h"))
#t))
(add-before 'install 'make-target-dirs
(lambda _
(let ((out (assoc-ref %outputs "out")))
(mkdir-p (string-append out "/bin"))
(mkdir (string-append out "/lib"))
(mkdir (string-append out "/include")))
(setenv "NOCONFIGURE" "yes")
#t)))))
(inputs
`(("jack" ,jack-1)
@ -2380,7 +2366,7 @@ tempo and pitch of an audio recording independently of one another.")
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/powertab/rtmidi")
(home-page "https://www.music.mcgill.ca/~gary/rtmidi")
(synopsis "Cross-platform MIDI library for C++")
(description
"RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific
@ -2391,17 +2377,18 @@ input/output.")
(define-public sratom
(package
(name "sratom")
(version "0.6.2")
(version "0.6.4")
(source (origin
(method url-fetch)
(uri (string-append "https://download.drobilla.net/sratom-"
version ".tar.bz2"))
(sha256
(base32
"0lz883ravxjf7r9wwbx2gx9m8vhyiavxrl9jdxfppjxnsralll8a"))))
(method url-fetch)
(uri (string-append "https://download.drobilla.net/sratom-"
version ".tar.bz2"))
(sha256
(base32
"0vh0biy3ngpzzgdml309c2mqz8xq9q0hlblczb4c6alhp0a8yv0l"))))
(build-system waf-build-system)
(arguments `(#:tests? #f)) ; no check target
(inputs
(arguments `(#:tests? #f)) ;no check target
(propagated-inputs
;; In Requires of sratom-0.pc.
`(("lv2" ,lv2)
("serd" ,serd)
("sord" ,sord)))
@ -2417,19 +2404,17 @@ the Turtle syntax.")
(define-public suil
(package
(name "suil")
(version "0.10.4")
(version "0.10.6")
(source (origin
(method url-fetch)
(uri (string-append "https://download.drobilla.net/suil-"
version ".tar.bz2"))
(sha256
(base32
"0ay7hl6nr6ip1nn9k2m8ri3b52b6sx9mhixmcy4fy3kr2a88ksd1"))))
"0z4v01pjw4wh65x38w6icn28wdwxz13ayl8hvn4p1g9kmamp1z06"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
#:configure-flags
'("CXXFLAGS=-std=gnu++11")))
`(#:tests? #f)) ;no check target
(inputs
`(("lv2" ,lv2)
("gtk+" ,gtk+-2)
@ -2951,7 +2936,7 @@ result.")
(define-public zita-convolver
(package
(name "zita-convolver")
(version "3.1.0")
(version "4.0.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -2961,31 +2946,33 @@ result.")
(snippet
;; Don't optimize for a specific processor architecture.
'(begin
(substitute* "libs/Makefile"
(substitute* "source/Makefile"
(("^CXXFLAGS \\+= -march=native") ""))
#t))
(modules '((guix build utils)))
(sha256
(base32
"14qrnczhp5mbwhky64il7kxc4hl1mmh495v60va7i2qnhasr6zmz"))))
"0prji66p86z2bzminywkwchr5bfgxcg2i8y803pydd1hzf2198cs"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
(string-append "SUFFIX="))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-makefile-and-enter-directory
(lambda _
(substitute* "libs/Makefile"
(substitute* "source/Makefile"
(("ldconfig") "true")
(("^LIBDIR =.*") "LIBDIR = lib\n"))
(chdir "libs")
(chdir "source")
#t))
(add-after 'install 'install-symlink
(lambda _
(symlink "libzita-convolver.so"
(string-append (assoc-ref %outputs "out")
"/lib/libzita-convolver.so.3"))
"/lib/libzita-convolver.so.4"))
#t))
;; no configure script
(delete 'configure))))
@ -3685,16 +3672,16 @@ library.")
(define-public faudio
(package
(name "faudio")
(version "19.09")
(version "19.11")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/FNA-XNA/FAudio.git")
(commit version)))
(file-name (string-append name "-" version "-checkout"))
(file-name (git-file-name name version))
(sha256
(base32 "0fagik55jmy3qmb27nhg0zxash1ahfkxphx8m8gs0pimqqrdrd9d"))))
(base32 "0ckpr6ffz8ssfh1y850dhip5s5jv0j6n90qz5yx1v9d6gpwf08rp"))))
(arguments
'(#:tests? #f ; No tests.
#:configure-flags '("-DFFMPEG=ON")))
@ -3769,3 +3756,58 @@ other Gnaural instances, allowing synchronous sessions between many users.")
a sound card, encodes it into Ogg Vorbis and/or mp3, and sends the audio
stream to one or more IceCast and/or ShoutCast servers.")
(license license:gpl3+)))
(define-public libltc
(package
(name "libltc")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/x42/libltc/releases/download/v"
version "/libltc-" version ".tar.gz"))
(sha256
(base32
"173h9dgmain3nyrwk6q2d7yl4fnh4vacag4s2p01n5b7nyrkxrjh"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f)) ;tests fail otherwise
(native-inputs
`(("doxygen" ,doxygen)
("pkg-config" ,pkg-config)))
(synopsis "Encode or decode Linear/Longitudinal Time Code (LTC) audio")
(description "Libltc is a POSIX-C Library for handling
@dfn{Linear/Longitudinal Time Code} (LTC) data.")
(home-page "https://x42.github.io/libltc/")
(license license:lgpl3+)))
(define-public redkite
(package
(name "redkite")
(version "0.6.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/geontime/redkite.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1i874izajbdhlfacwwj84qrsxf7g4y6nblzxalrkzaap9sa7d1r6"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;no tests included
(inputs
`(("cairo" ,cairo)))
(native-inputs
`(("pkg-config", pkg-config)))
(synopsis "Small GUI toolkit")
(description "Redkite is a small GUI toolkit developed in C++17 and
inspired from other well known GUI toolkits such as Qt and GTK. It is
minimal on purpose and is intended to be statically linked to applications,
therefore satisfying any requirements they may have to be self contained,
as is the case with audio plugins.")
(home-page "https://gitlab.com/geontime/redkite")
(license license:gpl3+)))

View File

@ -35,6 +35,7 @@
(package
(name "avahi")
(version "0.7")
(replacement avahi/fixed)
(home-page "http://avahi.org")
(source (origin
(method url-fetch)
@ -74,6 +75,17 @@ network. It is an implementation of the mDNS (for \"Multicast DNS\") and
DNS-SD (for \"DNS-Based Service Discovery\") protocols.")
(license lgpl2.1+)))
(define avahi/fixed
(package
(inherit avahi)
(source (origin
(inherit (package-source avahi))
(patches
(append (search-patches "avahi-CVE-2018-1000845.patch")
(origin-patches (package-source avahi))))))
;; Hide a duplicate of the CVE fixed above.
(properties `((lint-hidden-cve . ("CVE-2017-6519"))))))
(define-public nss-mdns
(package
(name "nss-mdns")

View File

@ -303,13 +303,13 @@ random access nor for in-place modification.")
(version "1.1.15")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(uri (string-append "https://github.com/miekg/rdup/archive/"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/miekg/rdup.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1jr91hgcf0rrpanqlwws72ql9db6d6grs2i122ki1s4bx0vqqyvq"))))
(base32 "0bzyv6qmnivxnv9nw7lnfn46k0m1dlxcjj53zcva6v8y8084l1iw"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@ -319,11 +319,14 @@ random access nor for in-place modification.")
;; For tests.
("dejagnu" ,dejagnu)))
(inputs
;; XXX Compiling with nettle (encryption) support requires patching out
;; -Werror from GNUmakefile.in. Then, rdup-tr-{en,de}crypt tests fail:
;; free(): invalid pointer
;; ** rdup-tr: SIGPIPE received, exiting
`(("glib" ,glib)
("pcre" ,pcre)
("libarchive" ,libarchive)
("mcrypt" ,mcrypt)
("nettle" ,nettle)))
("mcrypt" ,mcrypt)))
(arguments
`(#:parallel-build? #f ;race conditions
#:phases
@ -339,6 +342,13 @@ random access nor for in-place modification.")
;; Avoid frivolous dependency on which with a shell builtin.
(("which") "command -v"))
#t))
(add-before 'check 'disable-encryption-tests
(lambda _
(for-each delete-file
(list "testsuite/rdup/rdup.rdup-tr-crypt.exp"
"testsuite/rdup/rdup.rdup-tr-decrypt.exp"
"testsuite/rdup/rdup.rdup-tr-encrypt.exp"))
#t))
(add-before 'check 'pre-check
(lambda _
(setenv "HOME" (getcwd))
@ -722,63 +732,6 @@ NTFS volumes using @code{ntfs-3g}, preserving NTFS-specific attributes.")
license:lgpl3+
license:cc0))))
(define-public obnam
(package
(name "obnam")
(version "1.21")
(source
(origin
(method url-fetch)
(uri (string-append
"http://code.liw.fi/debian/pool/main/o/obnam/obnam_"
version ".orig.tar.xz"))
(sha256
(base32
"0qlipsq50hca71zc0dp1mg9zs12qm0sbblw7qfzl0hj6mk2rv1by"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(substitute* "obnamlib/vfs_local_tests.py"
;; Check for the nobody user instead of root.
(("self.fs.get_username\\(0\\), 'root'")
"self.fs.get_username(65534), 'nobody'")
;; Disable tests checking for root group.
(("self.fs.get_groupname\\(0\\)") "'root'"))
(substitute* "obnamlib/vfs_local.py"
;; Don't cover get_groupname function.
(("def get_groupname\\(self, gid\\):")
"def get_groupname(self, gid): # pragma: no cover"))
;; Can't run network tests.
(invoke "./check" "--unit-tests"))))))
(inputs
`(("python2-cliapp" ,python2-cliapp)
("python2-larch" ,python2-larch)
("python2-paramiko" ,python2-paramiko)
("python2-pyaml" ,python2-pyaml)
("python2-tracing" ,python2-tracing)
("python2-ttystatus" ,python2-ttystatus)))
(native-inputs
`(("gnupg" ,gnupg)
("python2-coverage" ,python2-coverage)
("python2-coverage-test-runner" ,python2-coverage-test-runner)
("python2-pep8" ,python2-pep8)
("python2-pylint" ,python2-pylint)))
(home-page "https://obnam.org/")
(synopsis "Retired backup program")
(description
"Warning: @uref{https://blog.liw.fi/posts/2017/08/13/retiring_obnam/,
the Obnam project is retired}. You should use another backup solution instead.
Obnam was an easy, secure backup program. Features included snapshot backups,
data de-duplication and encrypted backups using GnuPG. Backups can be stored on
local hard disks, or online via the SSH SFTP protocol. The backup server, if
used, does not require any special software, on top of SSH.")
(license license:gpl3+)))
(define-public dirvish
(package
(name "dirvish")

View File

@ -981,18 +981,23 @@ with the Linux kernel.")
(substitute-keyword-arguments
(ensure-keyword-arguments (package-arguments base-gcc)
'(#:implicit-inputs? #f))
((#:make-flags flags)
`(let ((libc (assoc-ref %build-inputs "libc")))
;; FLAGS_FOR_TARGET are needed for the target libraries to receive
;; the -Bxxx for the startfiles.
(cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
,flags)))))
((#:phases phases)
`(modify-phases ,phases
(add-before 'configure 'treat-glibc-as-system-header
(lambda _
(let ((libc (assoc-ref %build-inputs "libc")))
;; GCCs build processes requires that the libc
;; we're building against is on the system header
;; search path.
(for-each (lambda (var)
(setenv var (string-append libc "/include")))
'("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"))
#t)))))))
(native-inputs
`(("libc" ,libc)
("libc:static" ,libc "static")
,@(append (package-inputs base-gcc)
(fold alist-delete (%final-inputs) '("libc" "libc:static")))))
(inputs '())))
`(,@(package-native-inputs base-gcc)
,@(append (fold alist-delete (%final-inputs) '("libc" "libc:static")))
("libc" ,libc)
("libc:static" ,libc "static")))))
(define-public (make-glibc-locales glibc)
(package

View File

@ -3,7 +3,7 @@
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -31,6 +31,7 @@
#:use-module (gnu packages linux)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (guix monads)
@ -310,14 +311,15 @@ completion for many common commands.")
(package
(name "bash-tap")
(version "1.0.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/illusori/bash-tap/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0qs1qi38bl3ns4mpagcawv618dsk2q1lgrbddgvs0wl3ia12cyz5"))))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/illusori/bash-tap.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "13zz9h6bhhnk3hiwhlpafrnf2isws249h3fz785dcgymk02arz9c"))))
;; There is no compilation process to use this package, however, the bash
;; scripts installed by this package start with "#!/bin/bash". To fix
;; these lines, we use the patch-shebangs of the GNU build system. The

View File

@ -2,6 +2,7 @@
;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -832,6 +833,36 @@ Disease Ontology.")
using data from public repositories.")
(license license:artistic2.0)))
(define-public r-phastcons100way-ucsc-hg19
(package
(name "r-phastcons100way-ucsc-hg19")
(version "3.7.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "phastCons100way.UCSC.hg19"
version 'annotation))
(sha256
(base32
"1jmc4k4zgkx5vr2plnidnd9bidlwlb0kr7mjg60cqjw7dq7jl1fa"))))
(properties
`((upstream-name . "phastCons100way.UCSC.hg19")))
(build-system r-build-system)
(propagated-inputs
`(("r-bsgenome" ,r-bsgenome)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-genomicscores" ,r-genomicscores)
("r-iranges" ,r-iranges)
("r-s4vectors" ,r-s4vectors)))
(home-page "https://bioconductor.org/packages/phastCons100way.UCSC.hg19")
(synopsis "UCSC phastCons conservation scores for hg19")
(description
"This package provides UCSC phastCons conservation scores for the human
genome (hg19) calculated from multiple alignments with other 99 vertebrate
species.")
(license license:artistic2.0)))
;;; Experiment data
@ -3453,14 +3484,14 @@ profiles (GO and KEGG) of gene and gene clusters.")
(define-public r-mlinterfaces
(package
(name "r-mlinterfaces")
(version "1.64.0")
(version "1.64.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MLInterfaces" version))
(sha256
(base32
"0zqvxmvbkig3cc4r5k405s53d7y5ccvrf8kf5j6v8s1kkrklai4j"))))
"1c1hciwy37zpr5bzdjj2xxx2r4jdfmr5w0zmg010lm2985z41gqh"))))
(properties `((upstream-name . "MLInterfaces")))
(build-system r-build-system)
(propagated-inputs
@ -4537,14 +4568,14 @@ based on @dfn{Continuous Wavelet Transform} (CWT).")
(define-public r-xcms
(package
(name "r-xcms")
(version "3.6.1")
(version "3.6.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "xcms" version))
(sha256
(base32
"06vhqvvzlkc5bslswagrapmn5ag3x84xg9gxk0fhlmgwapqwki1g"))))
"0icww3f1kahyk96mc07yhsbyiranzm2614n509as09jf8bdhq23v"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
@ -6048,3 +6079,61 @@ attributable to individual, tissue, time point, or technical variables. The
package includes dream differential expression analysis for repeated
measures.")
(license license:gpl2+)))
(define-public r-htqpcr
(package
(name "r-htqpcr")
(version "1.38.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "HTqPCR" version))
(sha256
(base32
"09xgj797f0qsbm4jswxw7ijjwa4jxg06bfkq66xfhbvascyyrhg7"))))
(properties `((upstream-name . "HTqPCR")))
(build-system r-build-system)
(propagated-inputs
`(("r-affy" ,r-affy)
("r-biobase" ,r-biobase)
("r-gplots" ,r-gplots)
("r-limma" ,r-limma)
("r-rcolorbrewer" ,r-rcolorbrewer)))
(home-page "http://www.ebi.ac.uk/bertone/software")
(synopsis "Automated analysis of high-throughput qPCR data")
(description
"Analysis of Ct values from high throughput quantitative real-time
PCR (qPCR) assays across multiple conditions or replicates. The input data
can be from spatially-defined formats such ABI TaqMan Low Density Arrays or
OpenArray; LightCycler from Roche Applied Science; the CFX plates from Bio-Rad
Laboratories; conventional 96- or 384-well plates; or microfluidic devices
such as the Dynamic Arrays from Fluidigm Corporation. HTqPCR handles data
loading, quality assessment, normalization, visualization and parametric or
non-parametric testing for statistical significance in Ct values between
features (e.g. genes, microRNAs).")
(license license:artistic2.0)))
(define-public r-unifiedwmwqpcr
(package
(name "r-unifiedwmwqpcr")
(version "1.20.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "unifiedWMWqPCR" version))
(sha256
(base32
"10j70bp5y1x2prz2iagqmwf04y79yqinq08wz4ilh8wggb9f7l8a"))))
(properties
`((upstream-name . "unifiedWMWqPCR")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-htqpcr" ,r-htqpcr)))
(home-page "https://bioconductor.org/packages/unifiedWMWqPCR")
(synopsis "Unified Wilcoxon-Mann Whitney Test for differential expression in qPCR data")
(description
"This package implements the unified Wilcoxon-Mann-Whitney Test for qPCR
data. This modified test allows for testing differential expression in qPCR
data.")
(license license:gpl2+)))

View File

@ -1443,8 +1443,7 @@ confidence to have in an alignment.")
"-lboost_system"
"-lboost_iostreams"
"-lz"
"-fopenmp"
"-std=c++11"))))
"-fopenmp"))))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'do-not-build-bundled-pigz
@ -1556,14 +1555,14 @@ gapped, local, and paired-end alignment modes.")
(define-public bowtie1
(package
(name "bowtie1")
(version "1.2.2")
(version "1.2.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/bowtie-bio/bowtie/"
version "/bowtie-" version "-src.zip"))
version "/bowtie-src-x86_64.zip"))
(sha256
(base32
"1jl2cj9bz8lwz8dwnxbycn8yp8g4kky62fkcxifyf1ri0y6n2vc0"))
"0vmiqdhc9dzyfy9sh6vgi7k9xy2hiw8g87vbamnc6cgpm179zsa4"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile"
@ -7731,13 +7730,13 @@ biological sequences or sets of sequences.")
(define-public r-rsamtools
(package
(name "r-rsamtools")
(version "2.0.2")
(version "2.0.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "Rsamtools" version))
(sha256
(base32
"188k5g40lbli7dxr96hldyvg9r9hmlbh2fp0qs5nnd12b8zbf338"))))
"03qfpaqbffirpnby88mv6h45njfapli28crdvg35h2zi2jkkmhvp"))))
(properties
`((upstream-name . "Rsamtools")))
(build-system r-build-system)
@ -8283,14 +8282,14 @@ secondary structure and comparative analysis in R.")
(define-public r-rhtslib
(package
(name "r-rhtslib")
(version "1.16.2")
(version "1.16.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Rhtslib" version))
(sha256
(base32
"07qaqj2hypmrg40m3pci082bzar6wi10dh77r4a8x74dfppcwdzf"))))
"1lmrfr32nrz36abn440kvzzck53y2320xjxqzs2jw7m2a9h3ryak"))))
(properties `((upstream-name . "Rhtslib")))
(build-system r-build-system)
;; Without this a temporary directory ends up in the Rhtslib.so binary,
@ -8571,13 +8570,13 @@ of gene-level counts.")
(define-public r-rhdf5
(package
(name "r-rhdf5")
(version "2.28.0")
(version "2.28.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "rhdf5" version))
(sha256
(base32
"0y1w3cs7wg2b3jlkd6wyyz6626xg011nrg36si8gg371iqck9a1i"))))
"027cv1kh3xl66lrrahv2jgfmvgcwfpcj9dpgdj5fd9ybf5nyjcwb"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rhdf5lib" ,r-rhdf5lib)))
@ -9705,14 +9704,14 @@ microarrays or GRanges for sequencing data.")
(define-public r-keggrest
(package
(name "r-keggrest")
(version "1.24.0")
(version "1.24.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "KEGGREST" version))
(sha256
(base32
"1yjrpbm5zfg0h3nb5gg06q2f19ydbhjqwi0jb6q3p8dyrgww9mqp"))))
"0yxp3iajdy61q6mjgp1nxdgmf2yb58cvqmdgab7lqxr0ky1wkfkr"))))
(properties `((upstream-name . "KEGGREST")))
(build-system r-build-system)
(propagated-inputs
@ -9852,14 +9851,14 @@ originally made available by Holmes, Harris, and Quince, 2012, PLoS ONE 7(2):
(define-public r-ensembldb
(package
(name "r-ensembldb")
(version "2.8.0")
(version "2.8.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ensembldb" version))
(sha256
(base32
"09s5g9xm9m8mqvzk6pkp9fyhx3zyb4p8yziz49mhfji5n35nydjr"))))
"103z902104ljdp6s9y2dmgrl5wkdz8vvlbbqgk8r4drkg7m3d4lj"))))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
@ -10032,14 +10031,14 @@ interval to data view, mismatch pileup, and several splicing summaries.")
(define-public r-gprofiler
(package
(name "r-gprofiler")
(version "0.6.8")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "gProfileR" version))
(sha256
(base32
"05d6y6b7vkkzp2qhs1cwlvp02djij1b28dbwxnrms08f8qi35iaj"))))
"1h1v0kgpsn04ald2izznh7fr2riwisj5hcgz4k7h3qc931rf0r4k"))))
(properties `((upstream-name . "gProfileR")))
(build-system r-build-system)
(propagated-inputs
@ -10188,14 +10187,14 @@ by Ernst and Kellis.")
(define-public r-ldblock
(package
(name "r-ldblock")
(version "1.14.2")
(version "1.14.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ldblock" version))
(sha256
(base32
"0xx04cghx6ads1ackwnw3z0gf72qv461nznzmcnkgmp7w5n9m2af"))))
"154yvrvs8ik7ifcny1681cmqra0i163j00k4vbvkvl701p5gsp5q"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
@ -10322,14 +10321,14 @@ with your data.")
(define-public r-gwascat
(package
(name "r-gwascat")
(version "2.16.0")
(version "2.16.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "gwascat" version))
(sha256
(base32
"0akb36mrybmxbb1bc9kgxbnj3cdypfylj3yzrmhjwqxml03mg61i"))))
"0d4krqx8zjniwp6k2vzwqgfws39w03x51kqiwd5dks1fp05sw4xh"))))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
@ -10428,14 +10427,14 @@ provided.")
(define-public r-hdf5array
(package
(name "r-hdf5array")
(version "1.12.2")
(version "1.12.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "HDF5Array" version))
(sha256
(base32
"0afradisrr5gn0lf2kxjw55vdm3lm9mlgx53qlr9r40c1hrydpf5"))))
"1037j6f0yyw4cf6p051810qamxi1sji5w4d0fgq5lyzyl5d36fm6"))))
(properties `((upstream-name . "HDF5Array")))
(build-system r-build-system)
(inputs
@ -10457,14 +10456,14 @@ block processing.")
(define-public r-rhdf5lib
(package
(name "r-rhdf5lib")
(version "1.6.1")
(version "1.6.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Rhdf5lib" version))
(sha256
(base32
"0niz9dh66fcwbvqpkpsdlz9d06kwi3kfh45dhk3qz9g9qqyiakr1"))
"0q68n5jm7w99paibj8vkxbdksbyrxilzwc9dkp3zf8zrdc5qfxzy"))
(modules '((guix build utils)))
(snippet
'(begin
@ -10510,8 +10509,8 @@ block processing.")
(("HDF5_CXX_INCLUDE=.*") "HDF5_CXX_INCLUDE=./hdf5/c++/src\n")
(("HDF5_INCLUDE=.*") "HDF5_INCLUDE=./hdf5/src\n")
;; szip is non-free software
(("cp \\$\\{SZIP_LIB\\}.*") "")
(("\\$\\{USER_LIB_DIR\\}libsz.a") "")))
(("cp \"\\$\\{SZIP_LIB\\}.*") "")
(("PKG_LIBS =.*") "PKG_LIBS = -lz -lhdf5\n")))
#t)))))
(inputs
`(("zlib" ,zlib)))
@ -12850,6 +12849,7 @@ HTML reports with interesting findings about your samples.")
(uri (git-reference
(url "https://github.com/jsh58/Genrich.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0x0q6z0208n3cxzqjla4rgjqpyqgwpmz27852lcvzkzaigymq4zp"))))
@ -14799,6 +14799,7 @@ and reflect the fast5 file schema, and tools to convert between
(uri (git-reference
(url "https://github.com/phoenixding/tbsp.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"025ym14x8gbd6hb55lsinqj6f5qzw36i10klgs7ldzxxd7s39ki1"))))
@ -15260,3 +15261,91 @@ and/or unmapped/clipped reads to a separate FASTQ file. When marking
duplicates, samblaster will require approximately 20MB of memory per 1M read
pairs.")
(license license:expat)))
(define-public r-velocyto
(let ((commit "d7790346cb99f49ab9c2b23ba70dcf9d2c9fc350")
(revision "1"))
(package
(name "r-velocyto")
(version (git-version "0.6" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/velocyto-team/velocyto.R.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"16wqf70j7rd7pay2q513iyz12i8n9vrpg1bisah4lddbcpx5dz1n"))))
(build-system r-build-system)
(inputs
`(("boost" ,boost)))
(propagated-inputs
`(("r-hdf5r" ,r-hdf5r)
("r-mass" ,r-mass)
("r-mgcv" ,r-mgcv)
("r-pcamethods" ,r-pcamethods)
("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)
;; Suggested packages
("r-rtsne" ,r-rtsne)
("r-cluster" ,r-cluster)
("r-abind" ,r-abind)
("r-h5" ,r-h5)
("r-biocgenerics" ,r-biocgenerics)
("r-genomicalignments" ,r-genomicalignments)
("r-rsamtools" ,r-rsamtools)
("r-edger" ,r-edger)
("r-igraph" ,r-igraph)))
(home-page "http://velocyto.org")
(synopsis "RNA velocity estimation in R")
(description
"This package provides basic routines for estimation of gene-specific
transcriptional derivatives and visualization of the resulting velocity
patterns.")
(license license:gpl3))))
(define-public methyldackel
(package
(name "methyldackel")
(version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dpryan79/MethylDackel.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"10gh8k0ca92kywnrw5pkacq3g6r8s976s12k8jhp8g3g49q9a97g"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:make-flags
(list "CC=gcc"
(string-append "prefix="
(assoc-ref %outputs "out") "/bin/"))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
(("install MethylDackel \\$\\(prefix\\)" match)
(string-append "install -d $(prefix); " match)))
#t)))))
(inputs
`(("htslib" ,htslib)
("zlib" ,zlib)))
;; Needed for tests
(native-inputs
`(("python" ,python-wrapper)))
(home-page "https://github.com/dpryan79/MethylDackel")
(synopsis "Universal methylation extractor for BS-seq experiments")
(description
"MethylDackel will process a coordinate-sorted and indexed BAM or CRAM
file containing some form of BS-seq alignments and extract per-base
methylation metrics from them. MethylDackel requires an indexed fasta file
containing the reference genome as well.")
;; See https://github.com/dpryan79/MethylDackel/issues/85
(license license:expat)))

View File

@ -110,7 +110,7 @@
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(home-page "http://www.transmissionbt.com/")
(home-page "https://transmissionbt.com/")
(synopsis "Fast and easy BitTorrent client")
(description
"Transmission is a BitTorrent client that comes with graphical,
@ -400,18 +400,7 @@ and will take advantage of multiple processor cores where possible.")
"--enable-tests")
#:make-flags (list
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'compile-python-c++11
(lambda _
;; Make sure the Python bindings are compiled in C++ mode to
;; avoid undefined references as mentioned in
;; <https://github.com/qbittorrent/qBittorrent/issues/638>.
;; XXX: This can be removed for 1.2+.
(substitute* "bindings/python/setup.py"
(("\\+ target_specific\\(\\)\\,")
"+ target_specific() + ['-std=c++11'],"))
#t)))))
(assoc-ref %outputs "out") "/lib"))))
(inputs `(("boost" ,boost)
("openssl" ,openssl)))
(native-inputs `(("python" ,python-2)
@ -427,7 +416,7 @@ desktops.")
(define-public qbittorrent
(package
(name "qbittorrent")
(version "4.1.6")
(version "4.1.9.1")
(source
(origin
(method git-fetch)
@ -436,7 +425,7 @@ desktops.")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1y9kv84sy5fg64wbl4xpm8qh0hjba7ibk045cazp0m736rjmxk8c"))))
(base32 "19zgqlby7i1kr20wa4zd99qzd062a879xxxbmlf40rnqiqy4bhyi"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -11,6 +11,7 @@
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -161,6 +162,55 @@ across a broad spectrum of applications.")
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences."))))
;; TODO: Merge with 'Boost' in the next rebuild cycle.
(define-public boost-with-python3
(package
(inherit boost)
(name "boost-python3")
(native-inputs
`(("perl" ,perl)
("python" ,python)
("tcsh" ,tcsh)))
(arguments (substitute-keyword-arguments (package-arguments boost)
((#:phases phases)
`(modify-phases ,phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((icu (assoc-ref inputs "icu4c"))
(python (assoc-ref inputs "python"))
(out (assoc-ref outputs "out")))
(substitute* '("libs/config/configure"
"libs/spirit/classic/phoenix/test/runtest.sh"
"tools/build/src/engine/execunix.c"
"tools/build/src/engine/Jambase"
"tools/build/src/engine/jambase.c")
(("/bin/sh") (which "sh")))
(setenv "SHELL" (which "sh"))
(setenv "CONFIG_SHELL" (which "sh"))
(substitute* "tools/build/src/tools/python.jam"
(("include/python\\$\\(version\\)")
"include/python$(version)m"))
(invoke "./bootstrap.sh"
(string-append "--prefix=" out)
;; Auto-detection looks for dependencies only
;; in traditional install locations.
(string-append "--with-icu=" icu)
(string-append "--with-python=" python "/bin/python3")
(string-append "--with-python-root=" python)
"--with-python-version=3.7"
"--with-toolset=gcc"))))
(replace 'provide-libboost_python
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion (string-append out "/lib")
(symlink "libboost_python37.so" "libboost_python.so")
;; Some packages also look for libboost_python3.so
(symlink "libboost_python37.so" "libboost_python3.so"))
#t)))))))))
(define-public boost-for-mysql
;; Older version for MySQL 5.7.23.
(package

View File

@ -430,6 +430,19 @@ tree binary files. These are board description files used by Linux and BSD.")
also initializes the boards (RAM etc).")
(license license:gpl2+)))
(define u-boot-2019.10
(package
(inherit u-boot)
(version "2019.10")
(source (origin
(method url-fetch)
(uri (string-append
"ftp://ftp.denx.de/pub/u-boot/"
"u-boot-" version ".tar.bz2"))
(sha256
(base32
"053hcrwwlacqh2niisn0zas95zkbffw5aw5sdhixs8lmfdq60vcd"))))))
(define-public u-boot-tools
(package
(inherit u-boot)
@ -541,9 +554,9 @@ board-independent tools.")))
"_" "-")))
(native-inputs
`(,@(if (not (same-arch?))
`(("cross-gcc" ,(cross-gcc triplet #:xgcc gcc-7))
`(("cross-gcc" ,(cross-gcc triplet))
("cross-binutils" ,(cross-binutils triplet)))
`(("gcc-7" ,gcc-7)))
`())
,@(package-native-inputs u-boot)))
(arguments
`(#:modules ((ice-9 ftw)
@ -746,6 +759,76 @@ to Novena upstream, does not load u-boot.img from the first partition.")
("firmware-m0" ,rk3399-cortex-m0)
,@(package-native-inputs base))))))
(define-public u-boot-rock64-rk3328
(let ((base (make-u-boot-package "rock64-rk3328" "aarch64-linux-gnu")))
(package
(inherit base)
(version (package-version u-boot-2019.10))
(source (package-source u-boot-2019.10))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'set-environment
(lambda* (#:key inputs #:allow-other-keys)
(let ((bl31 (string-append (assoc-ref inputs "firmware")
"/bl31.elf")))
(setenv "BL31" bl31))
#t))
(add-after 'unpack 'add-u-boot-itb
(lambda _
(substitute* "Kconfig"
(("default .u-boot.itb. if SPL_LOAD_FIT && .ROCKCHIP_RK3399")
"default \"u-boot.itb\" if SPL_LOAD_FIT && (ARCH_ROCKCHIP"))
#t))))))
(native-inputs
`(("firmware" ,arm-trusted-firmware-rk3328)
,@(package-native-inputs base))))))
(define-public u-boot-firefly-rk3399
(let ((base (make-u-boot-package "firefly-rk3399" "aarch64-linux-gnu")))
(package
(inherit base)
(version (package-version u-boot-2019.10))
(source (package-source u-boot-2019.10))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'set-environment
(lambda* (#:key inputs #:allow-other-keys)
(setenv "BL31" (string-append (assoc-ref inputs "firmware")
"/bl31.elf"))
#t))
;; Phases do not succeed on the bl31 ELF.
(delete 'strip)
(delete 'validate-runpath)))))
(native-inputs
`(("firmware" ,arm-trusted-firmware-rk3399)
,@(package-native-inputs base))))))
(define-public u-boot-rockpro64-rk3399
(let ((base (make-u-boot-package "rockpro64-rk3399" "aarch64-linux-gnu")))
(package
(inherit base)
(version (package-version u-boot-2019.10))
(source (package-source u-boot-2019.10))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'set-environment
(lambda* (#:key inputs #:allow-other-keys)
(setenv "BL31" (string-append (assoc-ref inputs "firmware")
"/bl31.elf"))
#t))
;; Phases do not succeed on the bl31 ELF.
(delete 'strip)
(delete 'validate-runpath)))))
(native-inputs
`(("firmware" ,arm-trusted-firmware-rk3399)
,@(package-native-inputs base))))))
(define-public vboot-utils
(package
(name "vboot-utils")

View File

@ -33,6 +33,7 @@
#:use-module ((guix derivations)
#:select (derivation derivation-input derivation->output-path))
#:use-module ((guix utils) #:select (gnu-triplet->nix-system))
#:use-module ((guix gexp) #:select (lower-object))
#:use-module (guix memoization)
#:use-module (guix i18n)
#:use-module (srfi srfi-1)
@ -148,38 +149,42 @@ for system '~a'")
;;; Helper procedures.
;;;
(define (bootstrap-origin source)
"Return a variant of SOURCE, an <origin> instance, whose method uses
(define bootstrap-origin
(mlambdaq (source)
"Return a variant of SOURCE, an <origin> instance, whose method uses
%BOOTSTRAP-GUILE to do its job."
(define (boot fetch)
(lambda* (url hash-algo hash
#:optional name #:key system)
(fetch url hash-algo hash name
#:guile %bootstrap-guile
#:system system)))
(define (boot fetch)
(lambda* (url hash-algo hash
#:optional name #:key system)
(fetch url hash-algo hash name
#:guile %bootstrap-guile
#:system system)))
(define %bootstrap-patch-inputs
;; Packages used when an <origin> has a non-empty 'patches' field.
`(("tar" ,%bootstrap-coreutils&co)
("xz" ,%bootstrap-coreutils&co)
("bzip2" ,%bootstrap-coreutils&co)
("gzip" ,%bootstrap-coreutils&co)
("patch" ,%bootstrap-coreutils&co)))
(define %bootstrap-patch-inputs
;; Packages used when an <origin> has a non-empty 'patches' field.
`(("tar" ,%bootstrap-coreutils&co)
("xz" ,%bootstrap-coreutils&co)
("bzip2" ,%bootstrap-coreutils&co)
("gzip" ,%bootstrap-coreutils&co)
("patch" ,%bootstrap-coreutils&co)))
(let ((orig-method (origin-method source)))
(origin (inherit source)
(method (cond ((eq? orig-method url-fetch)
(boot url-fetch))
(else orig-method)))
(patch-guile %bootstrap-guile)
(patch-inputs %bootstrap-patch-inputs)
(let ((orig-method (origin-method source)))
(if (or (not (null? (origin-patches source)))
(origin-snippet source))
(origin (inherit source)
(method (if (eq? orig-method url-fetch)
(boot url-fetch)
orig-method))
(patch-guile %bootstrap-guile)
(patch-inputs %bootstrap-patch-inputs)
;; Patches can be origins as well, so process them.
(patches (map (match-lambda
((? origin? patch)
(bootstrap-origin patch))
(patch patch))
(origin-patches source))))))
;; Patches can be origins as well, so process them.
(patches (map (match-lambda
((? origin? patch)
(bootstrap-origin patch))
(patch patch))
(origin-patches source))))
source))))
(define* (package-from-tarball name source program-to-test description
#:key snippet)
@ -345,8 +350,8 @@ or false to signal an error."
#:allow-other-keys)
(define (->store file)
(run-with-store store
(origin->derivation (bootstrap-executable file system)
system)))
(lower-object (bootstrap-executable file system)
system)))
(let* ((tar (->store "tar"))
(xz (->store "xz"))

View File

@ -102,8 +102,8 @@ generate such a compilation database.")
(license license:gpl3+)))
(define-public gn
(let ((commit "1ab6fa2cab7ec64840db720a56018ca8939329f9")
(revision "1530")) ;as returned by `git describe`, used below
(let ((commit "6e5ba2e7210823cf7ccce3eb2a23336a4e7f1349")
(revision "1666")) ;as returned by `git describe`, used below
(package
(name "gn")
(version (git-version "0.0" revision commit))
@ -113,17 +113,15 @@ generate such a compilation database.")
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
"06h974d1lag3wwsz6s5asmpv0njmf671ag4la2fpnbh494m97lfk"))
"157ax65sixjm0i1j89wvny48v1mbsl4pbvv5vqinjc6r0fryaf2r"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;FIXME: How to run?
#:phases (modify-phases %standard-phases
`(#:phases (modify-phases %standard-phases
(add-before 'configure 'set-build-environment
(lambda _
(setenv "CC" "gcc") (setenv "CXX" "g++")
(setenv "AR" "ar")
(setenv "LDFLAGS" "-pthread")
#t))
(replace 'configure
(lambda _
@ -143,6 +141,14 @@ generate such a compilation database.")
(lambda _
(invoke "ninja" "-C" "out" "gn"
"-j" (number->string (parallel-job-count)))))
(replace 'check
(lambda* (#:key (tests? #t) #:allow-other-keys)
(if tests?
(lambda ()
(invoke "ninja" "-C" "out" "gn_unittests"
"-j" (number->string (parallel-job-count)))
(invoke "./out/gn_unittests"))
(format #t "test suite not run~%"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))

View File

@ -3,7 +3,7 @@
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
@ -155,17 +155,14 @@ libcdio.")
(define-public xorriso
(package
(name "xorriso")
(version "1.5.0")
(version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/xorriso/xorriso-"
version ".tar.gz"))
(sha256
(base32
"0aq6lvlwlkxz56l5sbvgycr6j5c82ch2bv6zrnc2345ibfpafgx9"))
(patches
(search-patches "xorriso-no-partition-table-in-inner-efi.patch"
"xorriso-no-mbr-in-inner-efi.patch"))))
"1rqpzj95f70jfwpn4lamasfgqpizjsipz12aprdhri777b4zas9v"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -671,7 +668,7 @@ information is written to standard error.")
(define-public asunder
(package
(name "asunder")
(version "2.9.3")
(version "2.9.5")
(source (origin
(method url-fetch)
(uri
@ -680,7 +677,7 @@ information is written to standard error.")
".tar.bz2"))
(sha256
(base32
"1630i1df06y840v3fgdf75jxw1s8kwbfn5bhi0686viah0scccw5"))))
"069x6az2r3wlb2hd07iz0hxpxwknw7s9h7pyhnkmzv1pw9ci3kk4"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:out-of-source? #f
@ -815,14 +812,14 @@ DVD-RW, DVD-R, DVD-R/DL, BD-R, and BD-RE.")
(define-public libisofs
(package
(name "libisofs")
(version "1.5.0")
(version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append "http://files.libburnia-project.org/releases/"
"libisofs-" version ".tar.gz"))
(sha256
(base32
"001l3akf3wb6msl9man776w560iqyvsbwwzs7d7y7msx13irspys"))))
"002mcyqwg625a8hqvsrmgm26mhhfwj0j7rahfhsqirmk02b16npg"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)

View File

@ -21,11 +21,11 @@
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
@ -288,7 +288,7 @@ format.")
(define-public cppcheck
(package
(name "cppcheck")
(version "1.87")
(version "1.89")
(source (origin
(method git-fetch)
(uri (git-reference
@ -296,7 +296,7 @@ format.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1xiy54rz99nzbpwj35jiyssd2nc6k5k0lw5ml6nh2qnmbfkl8swl"))))
(base32 "07yn1zycsb7sn1v7fprihbl0ih4n2zkd7l9jvmkjcskvwn4n21h0"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DBUILD_TESTS=ON")))
@ -1703,19 +1703,22 @@ unit tests and failing them if the unit test module does not exercise all
statements in the module it tests.")
(license license:gpl3+)))
;; Further releases, up to 2.4.3, have failing unit tests. See:
;; https://github.com/PyCQA/pylint/issues/3198.
(define-public python-pylint
(package
(name "python-pylint")
(version "1.7.2")
(version "2.3.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/PyCQA/pylint/archive/pylint-"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/PyCQA/pylint")
(commit (string-append "pylint-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0mzn1czhf1mgr2wiqfihb274sja02h899b85kywdpivppa9nwrmp"))))
"17vvzbcqmkhr4icq5p3737nbiiyj1y3g1pa08n9mb1bsnvxmqq0z"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)
@ -1726,22 +1729,6 @@ statements in the module it tests.")
("python-isort" ,python-isort)
("python-mccabe" ,python-mccabe)
("python-six" ,python-six)))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
;; Somehow, tests for python2-pylint
;; fail if run from the build directory
(let ((work "/tmp/work"))
(mkdir-p work)
(setenv "PYTHONPATH"
(string-append (getenv "PYTHONPATH") ":" work))
(copy-recursively "." work)
(with-directory-excursion "/tmp"
(invoke "python" "-m" "unittest" "discover"
"-s" (string-append work "/pylint/test")
"-p" "*test_*.py"))))))))
(home-page "https://github.com/PyCQA/pylint")
(synopsis "Python source code analyzer which looks for coding standard
errors")
@ -1756,10 +1743,42 @@ possible to write plugins to add your own checks.")
(properties `((python2-variant . ,(delay python2-pylint))))
(license license:gpl2+)))
;; Python2 is not supported anymore by Pylint. See:
;; https://github.com/PyCQA/pylint/issues/1763.
(define-public python2-pylint
(let ((pylint (package-with-python2
(strip-python2-variant python-pylint))))
(strip-python2-variant python-pylint))))
(package (inherit pylint)
(version "1.7.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/PyCQA/pylint")
(commit (string-append "pylint-" version))))
(file-name (git-file-name (package-name pylint) version))
(sha256
(base32
"0yyc1gxq66li2adyx8njs83dh1pliylzkdmihw0k5bn6z4aakh8s"))))
(arguments
`(,@(package-arguments pylint)
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
;; Somehow, tests fail if run from the build directory.
(let ((work "/tmp/work"))
(mkdir-p work)
(setenv "PYTHONPATH"
(string-append (getenv "PYTHONPATH") ":" work))
(copy-recursively "." work)
(with-directory-excursion "/tmp"
(invoke "python" "-m" "unittest" "discover"
"-s" (string-append work "/pylint/test")
"-p" "*test_*.py"))))))))
(native-inputs
`(("python2-futures" ,python2-futures)
,@(package-native-inputs pylint)))
(propagated-inputs
`(("python2-backports-functools-lru-cache"
,python2-backports-functools-lru-cache)
@ -2310,6 +2329,38 @@ program or test suite under a test bed with the previously recorded devices
loaded.")
(license license:lgpl2.1+)))
(define-public virtest
;; No releases yet, so we take the commit that "vc" expects.
(let ((commit "f7d03ef39fceba168745bd29e1b20af6e7971e04")
(revision "0"))
(package
(name "virtest")
(version (git-version "0.0" revision commit))
(home-page "https://github.com/mattkretz/virtest")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"07pjyb0mk7y2w1dg1bhl26nb7416xa1mw16ifj6mmps5y6aq054l"))))
(build-system cmake-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'adjust-install-directory
(lambda _
;; Vc is the only consumer of this library, and expects
;; to find it in "virtest/vir/" instead of "vir/vir/".
(substitute* "CMakeLists.txt"
(("DESTINATION include/vir")
"DESTINATION include/virtest"))
#t)))))
(synopsis "Header-only test framework")
(description
"@code{virtest} is a small header-only test framework for C++. It
grew out of the @dfn{Vc} project.")
(license license:bsd-3))))
(define-public python-pyfakefs
(package
(name "python-pyfakefs")

View File

@ -69,12 +69,11 @@
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-1))
#:use-module (gnu packages xorg))
(define %preserved-third-party-files
'("base/third_party/cityhash" ;Expat
"base/third_party/dmg_fp" ;X11-style
"base/third_party/double_conversion" ;BSD-3
"base/third_party/dynamic_annotations" ;BSD-2
"base/third_party/icu" ;Unicode, X11-style
"base/third_party/superfasthash" ;BSD-3
@ -125,6 +124,7 @@
"third_party/catapult/tracing/third_party/pako" ;Expat
"third_party/ced" ;BSD-3
"third_party/cld_3" ;ASL2.0
"third_party/closure_compiler" ;ASL2.0
"third_party/crashpad" ;ASL2.0
"third_party/crashpad/crashpad/third_party/lss" ;ASL2.0
"third_party/crashpad/crashpad/third_party/zlib/zlib_crashpad.h" ;Zlib
@ -132,6 +132,7 @@
"third_party/cros_system_api" ;BSD-3
"third_party/dav1d" ;BSD-2
"third_party/dawn" ;ASL2.0
"third_party/depot_tools/owners.py" ;BSD-3
"third_party/dom_distiller_js" ;BSD-3
"third_party/emoji-segmenter" ;ASL2.0
"third_party/flatbuffers" ;ASL2.0
@ -169,7 +170,9 @@
"third_party/nasm" ;BSD-2
"third_party/node" ;Expat
"third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2" ;BSD-2
"third_party/one_euro_filter" ;BSD-3
"third_party/openscreen" ;BSD-3
"third_party/openscreen/src/third_party/tinycbor" ;Expat
"third_party/ots" ;BSD-3
"third_party/pdfium" ;BSD-3
"third_party/pdfium/third_party/agg23" ;Expat
@ -180,6 +183,7 @@
"third_party/pffft" ;the "FFTPACK" license, similar to BSD-3
"third_party/ply" ;BSD-3
"third_party/polymer" ;BSD-3
"third_party/private-join-and-compute" ;ASL2.0
"third_party/protobuf" ;BSD-3
"third_party/protobuf/third_party/six" ;Expat
"third_party/pyjson5" ;ASL2.0
@ -238,9 +242,9 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
(define %chromium-version "76.0.3809.132")
(define %ungoogled-revision "8eba5c0df1a318012e3deab39a9add252a0d56a3")
(define %debian-revision "debian/76.0.3809.87-2")
(define %chromium-version "78.0.3904.97")
(define %ungoogled-revision "acaf16383f264d8a2f24142ad054c9b4355771d3")
(define %debian-revision "e43d74632091324774a5049668782dba7b09cf72")
(define package-revision "0")
(define %package-version (string-append %chromium-version "-"
package-revision "."
@ -254,7 +258,7 @@ from forcing GEXP-PROMISE."
%chromium-version ".tar.xz"))
(sha256
(base32
"0hajwjf7swlgh1flpf8ljfrb2zhmcpzvrigvvxqd36g3nm04cknm"))))
"01wx5bi397d80za0sdfwgfbjj6n2ad2i31zmcrhm6wzryjwrmx6i"))))
(define %ungoogled-origin
(origin
@ -265,7 +269,7 @@ from forcing GEXP-PROMISE."
(string-take %ungoogled-revision 7)))
(sha256
(base32
"08fd9whfc1qky44xqxbypr7jz1rg6cma017wj4b5c5b14grxz6k6"))))
"1gqbch6dnww3c3vn1i4nb07iz1f78mws9dsxscj3rsrkcgwhsdz8"))))
(define %debian-origin
(origin
@ -279,7 +283,7 @@ from forcing GEXP-PROMISE."
(string-take %debian-revision 7))))
(sha256
(base32
"1fjhpzrxmgjr7i31li1vsfmp0qkbi0cpyc7p1zjwvf2x4da0v907"))))
"1l1ajjkn1y7ql5w4zb3c3vw57hkydvy1mac7y81rycx4g5djasaz"))))
(define (gentoo-patch name hash revision)
(origin
@ -289,20 +293,6 @@ from forcing GEXP-PROMISE."
(file-name name)
(sha256 (base32 hash))))
(define-syntax-rule (gentoo-patches (name hash) ...)
(list (gentoo-patch name hash "9fd80e7d75aa63843ec33c9d44fee32596ae8f25")
...))
(define %auxiliary-patches
;; XXX: Debians "gcc/wrong-namespace.patch" and "fixes/inspector.patch" does
;; not work for us, so we take these upstream fixes via Gentoo instead.
(gentoo-patches
("chromium-76-quiche.patch" "1cs0y16jn7r1nxh0j36vqcsdvigl902kdcqfmyivnxgblrx66l2i")
("chromium-76-gcc-blink-namespace1.patch"
"0k7nrn0dhvqxj4sg2gndzxih0l1f77h6pv7jhcdz7h69sm4xci2z")
("chromium-76-gcc-blink-namespace2.patch"
"014y2d8ii9sr340sjbv1fhsjd5s3dl0vbmq5wzlkdjsp91dcn9ch")))
;; This is a "computed" origin that does the following:
;; *) Runs the Ungoogled scripts on a pristine Chromium tarball.
;; *) Applies Debians Chromium patches, for their unbundling and GCC work.
@ -374,12 +364,19 @@ from forcing GEXP-PROMISE."
;; Skip the Debian-specific ones.
(not (string-prefix? "debianization/" line))
(not (string-prefix? "buster/" line))
;; And those that conflict with Ungoogled.
(not (any (cute string-suffix? <> line)
;; These conflict with Ungoogled.
'("widevine-buildflag.patch"
"signin.patch"
"third-party-cookies.patch"
;; Disable workarounds for the
;; Chromium "-lite" tarball. We
;; use the "full" version and don't
;; need these patches.
"closure.patch"
"owners.patch"
;; XXX: 'fixes/inspector.patch'
;; makes v8 reuse the top-level
;; third_party/inspector_protocol
@ -387,21 +384,12 @@ from forcing GEXP-PROMISE."
;; but that does not work here for
;; some reason. Ignore that patch
;; and those that depend on it.
"wrong-namespace.patch"
"explicit-specialization.patch"
"inspector.patch"))))
(invoke "patch" "--force" "-p1" "--input"
(string-append patches "/" line)
"--no-backup-if-mismatch"))
(loop (read-line)))))))
(format #t "Applying Guix-specific patches...~%")
(force-output)
(for-each (lambda (patch)
(invoke "patch" "--force" "-p1" "--input"
patch "--no-backup-if-mismatch"))
'#+%auxiliary-patches)
(format #t "Pruning third party files...~%")
(force-output)
(apply invoke "python"
@ -441,6 +429,21 @@ from forcing GEXP-PROMISE."
`(cons "--enable-custom-modes"
,flags))))))
;; Chromium 78 requires libvpx features that are not in any release.
(define libvpx/chromium
(package/inherit
libvpx
(version "m78-3904")
(source (origin
(inherit (package-source libvpx))
(uri (git-reference
(url "https://chromium.googlesource.com/webm/libvpx")
(commit version)))
(file-name (git-file-name "libvpx" version))
(sha256
(base32
"1pphjfmg0aqq93n5cq790884v1h84di8p9mk3r28sm053wszhm7g"))))))
(define-public ungoogled-chromium
(package
(name "ungoogled-chromium")
@ -590,8 +593,14 @@ from forcing GEXP-PROMISE."
;; TODO: Add ~/.guix-profile.
"/run/current-system/profile/share/chromium/extensions"))
;; Many files try to include ICU headers from "third_party/icu/...".
;; Remove the "third_party/" prefix to use system headers instead.
(substitute* (find-files "chrome" "\\.cc$")
(("third_party/icu/source/(common|i18n)/")
""))
;; XXX: Should be unnecessary when use_system_lcms2=true.
(substitute* "third_party/pdfium/core/fxcodec/codec/ccodec_iccmodule.h"
(substitute* "third_party/pdfium/core/fxcodec/icc/iccmodule.h"
(("include \"third_party/lcms/include/lcms2\\.h\"")
"include \"lcms2.h\""))
@ -631,10 +640,6 @@ from forcing GEXP-PROMISE."
;; Prevent GCC from optimizing away null pointer safety checks.
(setenv "CXXFLAGS" "-fno-delete-null-pointer-checks")
;; Work around <https://bugs.gnu.org/30756>.
(unsetenv "C_INCLUDE_PATH")
(unsetenv "CPLUS_INCLUDE_PATH")
;; TODO: pre-compile instead. Avoids a race condition.
(setenv "PYTHONDONTWRITEBYTECODE" "1")
@ -657,6 +662,22 @@ from forcing GEXP-PROMISE."
(invoke "gn" "args" "out/Release" "--list"))))
(replace 'build
(lambda* (#:key (parallel-build? #t) #:allow-other-keys)
;; XXX: Chromiums linking step requires a lot of simultaneous file
;; accesses. Having a too low ulimit will result in bogus linker
;; errors such as "foo.a: error adding symbols: malformed archive".
;; Try increasing the soft resource limit of max open files to 4096,
;; or equal to the hard limit, whichever is lower.
(call-with-values (lambda () (getrlimit 'nofile))
(lambda (soft hard)
(when (and soft (< soft 4096))
(if hard
(setrlimit 'nofile (min hard 4096) hard)
(setrlimit 'nofile 4096 #f))
(format #t
"increased maximum number of open files from ~d to ~d~%"
soft (if hard (min hard 4096) 4096)))))
(invoke "ninja" "-C" "out/Release"
"-j" (if parallel-build?
(number->string (parallel-job-count))
@ -727,7 +748,7 @@ from forcing GEXP-PROMISE."
(mkdir-p icons)
(copy-file (string-append "product_logo_" size ".png")
(string-append icons "/chromium.png"))))
'("22" "24" "48" "64" "128" "256")))
'("24" "48" "64" "128" "256")))
#t))))))
(native-inputs
`(("bison" ,bison)
@ -770,7 +791,7 @@ from forcing GEXP-PROMISE."
("libjpeg-turbo" ,libjpeg-turbo)
("libpng" ,libpng)
("libva" ,libva)
("libvpx" ,libvpx)
("libvpx" ,libvpx/chromium)
("libwebp" ,libwebp)
("libx11" ,libx11)
("libxcb" ,libxcb)
@ -832,12 +853,7 @@ disabled in order to protect the users privacy.")
(inputs
`(("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)
;; Remove inputs only needed for X11.
,@(fold alist-delete (package-inputs ungoogled-chromium)
'("libx11" "libxcb" "libxcomposite" "libxcursor"
"libxdamage" "libxext" "libxfixes" "libxi"
"libxrender" "libxtst" "libxext" "libxrandr"
"libxscrnsaver"))))
,@(package-inputs ungoogled-chromium)))
(arguments
(substitute-keyword-arguments (package-arguments ungoogled-chromium)

View File

@ -3,7 +3,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
@ -47,8 +47,8 @@
#:use-module (guix build-system gnu))
(define-public cuirass
(let ((commit "d27ff21e430cd38b02bd70a0dc8d60c9c2736f83")
(revision "24"))
(let ((commit "e20ff86d97f7dd92dad140b5919e3cbdf2fb1ce6")
(revision "26"))
(package
(name "cuirass")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@ -60,7 +60,7 @@
(file-name (string-append name "-" version))
(sha256
(base32
"166xl9zfy7dm645fk2ln45bvw0y0gy0xw8fb7mprbjz8v95dh27p"))))
"1c3rcfmx7vm13x3nid9xbl18rrqljh5vb71qxps4yqid75br4hrb"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)
@ -68,6 +68,8 @@
(ice-9 rdelim)
(ice-9 popen))
#:configure-flags '("--localstatedir=/var") ;for /var/log/cuirass
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-repo-tests

View File

@ -229,6 +229,22 @@ and workspaces that can be used in the compiler environment of your choice.")
(search-paths
(package-native-search-paths cmake-minimal))))
(define-public cmake-3.15.5
;; CMake 3.15.5 fixes some issues, but declare another version to
;; avoid triggering the rebuild of all CMake-based packages.
;; See <https://issues.guix.gnu.org/issue/38060>.
(package
(inherit cmake)
(version "3.15.5")
(source (origin
(inherit (package-source cmake))
(uri (string-append "https://www.cmake.org/files/v"
(version-major+minor version)
"/cmake-" version ".tar.gz"))
(sha256
(base32
"1d5y8d92axcc6rfqlsxamayfs3fc1vdby91hn5mx1kn02ppprpgv"))))))
(define-public emacs-cmake-mode
(package
(inherit cmake)

View File

@ -321,18 +321,21 @@ features that are not supported by the standard @code{stdio} implementation.")
(package
(name "withershins")
(version "0.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/cameronwhite/withershins/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"08z3lyvswx7sad10637vfpwglbcbgzzcpfihw0x8lzr74f3b70bh"))))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cameronwhite/withershins.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1cviqvbbcwljm1zx12j6511hazr3kscwrvcyifrkfi4fpy5z985m"))))
(build-system cmake-build-system)
(arguments
`(#:out-of-source? #f
#:configure-flags
;; XXX A (justified!) misleading-indentation error breaks the build.
(list "-DENABLE_WERROR=OFF")
#:phases
(modify-phases %standard-phases
(add-after
@ -432,7 +435,6 @@ functionality such as HTML output.")
'(#:build-type "RelWithDebInfo"
#:configure-flags
'("-DRTAGS_NO_ELISP_FILES=1"
"-DCMAKE_CXX_FLAGS=-std=c++11"
"-DBUILD_TESTING=FALSE")
#:tests? #f))
(native-inputs
@ -460,30 +462,24 @@ importantly we give you proper follow-symbol and find-references support.")
(version "0.9.20140503")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/pagekite/Colormake/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/pagekite/Colormake.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"08ldss9zd8ls6bjahvxhffpsjcysifr720yf3jz9db2mlklzmyd3"))))
(base32 "1f9v5s0viq4yc9iv6701h3pv7j21zz1ckl37lpp9hsnliiizv03p"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
("gzip" ,gzip)
("perl" ,perl)
("tar" ,tar)))
("perl" ,perl)))
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
;; bootstrap
(setenv "PATH" (string-append
(assoc-ref %build-inputs "tar") "/bin" ":"
(assoc-ref %build-inputs "gzip") "/bin"))
(invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
(chdir (string-append (string-capitalize ,name) "-" ,version))
(copy-recursively (assoc-ref %build-inputs "source") "source")
(chdir "source")
(patch-shebang "colormake.pl"
(list (string-append (assoc-ref %build-inputs "perl")
"/bin")))
@ -504,7 +500,7 @@ importantly we give you proper follow-symbol and find-references support.")
"clmake-short" "colormake.pl")
bin)
#t))))
(home-page "http://bre.klaki.net/programs/colormake/")
(home-page "https://bre.klaki.net/programs/colormake/")
(synopsis "Wrapper around @command{make} to produce colored output")
(description "This package provides a wrapper around @command{make} to
produce colored output.")
@ -514,14 +510,15 @@ produce colored output.")
(package
(name "makefile2graph")
(version "1.5.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/lindenb/" name
"/archive/v" version ".tar.gz"))
(sha256
(base32
"0h1vchkpmm9h6s87p5nf0ksjxcmsxpx8k62a508w428n570wcr4l"))
(file-name (string-append name "-" version ".tar.gz"))))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lindenb/makefile2graph.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1gjfk3d8qg3cla7qd2y7r9s03whlfwy83q8k76xfcnqrjjfavdgk"))))
(build-system gnu-build-system)
(arguments
'(#:test-target "test"

View File

@ -2049,12 +2049,13 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
("bash" ,bash)))
(inputs '())))
(define (gcc-boot0-intermediate-wrapped)
;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the
;; non-cross names.
(cross-gcc-wrapper gcc-boot0 binutils-boot0
glibc-final-with-bootstrap-bash
(car (assoc-ref (%boot1-inputs) "bash"))))
(define gcc-boot0-intermediate-wrapped
(mlambda ()
;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the
;; non-cross names.
(cross-gcc-wrapper gcc-boot0 binutils-boot0
glibc-final-with-bootstrap-bash
(car (assoc-ref (%boot1-inputs) "bash")))))
(define static-bash-for-glibc
;; A statically-linked Bash to be used by GLIBC-FINAL in system(3) & co.
@ -2145,11 +2146,12 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
,@(package-arguments glibc-final-with-bootstrap-bash)))))
(define (gcc-boot0-wrapped)
;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the
;; non-cross names.
(cross-gcc-wrapper gcc-boot0 binutils-boot0 glibc-final
(car (assoc-ref (%boot1-inputs) "bash"))))
(define gcc-boot0-wrapped
(mlambda ()
;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the
;; non-cross names.
(cross-gcc-wrapper gcc-boot0 binutils-boot0 glibc-final
(car (assoc-ref (%boot1-inputs) "bash")))))
(define (%boot2-inputs)
;; 3rd stage inputs.
@ -2376,8 +2378,9 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define gnu-make-final
;; The final GNU Make, which uses the final Guile.
(let ((pkg-config (package
(inherit pkg-config)
(inputs (%boot5-inputs))
(inherit %pkg-config) ;the native pkg-config
(inputs `(("guile" ,guile-final)
,@(%boot5-inputs)))
(arguments
`(#:implicit-inputs? #f
,@(package-arguments pkg-config))))))

View File

@ -1895,13 +1895,17 @@ The specification of the Brotli Compressed Data Format is defined in RFC 7932.")
(version "1.03")
(source (origin
(method url-fetch)
(uri (string-append "http://www.oberhumer.com/opensource/"
(uri (string-append "https://www.oberhumer.com/opensource/"
name "/download/" name "-" version ".tar.gz"))
(sha256
(base32
"0j036lkwsxvm15gr29n8wn07cqq79dswjs9k54939ms5zngjjrdq"))))
(build-system gnu-build-system)
(home-page "http://www.oberhumer.com/opensource/ucl/")
(arguments
`(;; UCL 1.03 fails to build with newer C standards.
#:configure-flags '("CFLAGS=-std=gnu90"
"--enable-shared" "--disable-static")))
(home-page "https://www.oberhumer.com/opensource/ucl/")
(synopsis "Portable lossless data compression library")
(description "UCL implements a number of compression algorithms that
achieve an excellent compression ratio while allowing fast decompression.
@ -1924,9 +1928,11 @@ decompression is a little bit slower.")
"08anybdliqsbsl6x835iwzljahnm9i7v26icdjkcv33xmk6p5vw1"))
(patches (search-patches "upx-fix-CVE-2017-15056.patch"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)
("ucl" ,ucl)))
(inputs `(("zlib" ,zlib)))
(native-inputs
`(("perl" ,perl)))
(inputs
`(("ucl" ,ucl)
("zlib" ,zlib)))
(arguments
`(#:make-flags
(list "all"

View File

@ -56,11 +56,10 @@
(arguments
`(#:configure-flags
(list "--enable-nmcompat"
"--enable-polkit"
"--enable-polkit" ; Polkit doesn't need to be present at build time.
"--enable-openconnect"
"--enable-openvpn"
"--enable-vpnc"
"--enable-pptp"
"--enable-l2tp"
"--localstatedir=/var"
(string-append
@ -69,13 +68,12 @@
"--with-dbusdatadir=" (assoc-ref %outputs "out") "/share"))))
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python-2)))
("python" ,python-wrapper)))
(inputs
`(("dbus" ,dbus)
("glib" ,glib)
("gnutls" ,gnutls)
("iptables" ,iptables)
("polkit" ,polkit) ;so connman can be used by unprivileged users
("readline" ,readline)
;; These inputs are needed for connman to include the interface to
;; these technologies so IF they are installed they can be used.
@ -84,7 +82,8 @@
("openvpn" ,openvpn)
("ppp" ,ppp)
("vpnc" ,vpnc)
("wpa-supplicant" ,wpa-supplicant)))
("wpa-supplicant" ,wpa-supplicant)
("xl2tpd" ,xl2tpd)))
(home-page "https://01.org/connman")
(synopsis "Connection management daemon")
(description "Connman provides a daemon for managing Internet connections.
@ -126,9 +125,9 @@ sharing) to clients via USB, ethernet, WiFi, cellular and Bluetooth.")
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
`(("efl" ,efl)
("python-2" ,python-2)
("python2-dbus" ,python2-dbus)
("python2-efl" ,python2-efl)))
("python" ,python-wrapper)
("python-dbus" ,python-dbus)
("python-efl" ,python-efl)))
(home-page "https://www.enlightenment.org")
(synopsis "Connman User Interface written using the EFL")
(description

View File

@ -256,8 +256,7 @@ inside Coq.")
(arguments
`(#:configure-flags
(list (string-append "--libdir=" (assoc-ref %outputs "out")
"/lib/coq/user-contrib/Gappa")
"CXXFLAGS=-std=c++11")
"/lib/coq/user-contrib/Gappa"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-remake

View File

@ -28,15 +28,14 @@
(define-public cpio
(package
(name "cpio")
(version "2.12")
(version "2.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/cpio/cpio-"
version ".tar.bz2"))
(sha256
(base32
"0vi9q475h1rki53100zml75vxsykzyhrn70hidy41s5c2rc8r6bh"))
(patches (search-patches "cpio-CVE-2016-2037.patch"))))
"0vbgnhkawdllgnkdn6zn1f56fczwk0518krakz2qbwhxmv2vvdga"))))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/cpio/")
(synopsis "Manage cpio and tar file archives")

View File

@ -4,6 +4,7 @@
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,12 +28,14 @@
#: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 autotools)
#:use-module (gnu packages check)
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
#:use-module (gnu packages llvm)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls)
#:use-module (gnu packages web))
@ -252,7 +255,7 @@ intuitive syntax and trivial integration.")
(define-public xtl
(package
(name "xtl")
(version "0.6.7")
(version "0.6.8")
(source (origin
(method git-fetch)
(uri
@ -261,7 +264,7 @@ intuitive syntax and trivial integration.")
(commit version)))
(sha256
(base32
"0dds2fzyis42b1c3biqr3ir9l96csyyfkwrkm3fqjksdhgdklzmj"))
"13gm8vm1b9nzvlcc632f9khnjw1xdjqj6c7k51r173y1hlk0div7"))
(file-name (git-file-name name version))))
(native-inputs
`(("googletest" ,googletest)
@ -313,3 +316,62 @@ code analysis and supports cross references, hierarchies, completion and
syntax highlighting. @code{ccls} is derived from @code{cquery} which is not
maintained anymore.")
(license license:asl2.0)))
(define-public gperftools
(package
(name "gperftools")
(version "2.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gperftools/gperftools")
(commit (string-append "gperftools-" version))))
(sha256
(base32 "0amvwrzn5qc0b0jpxpy5g6zkmj97zjh4hhjrd130hsg2lwwcwhy1"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
;; For tests:
("perl" ,perl)))
(home-page "https://github.com/gperftools/gperftools")
(synopsis "Multi-threaded malloc() and performance analysis tools for C++")
(description
"@code{gperftools} is a collection of a high-performance multi-threaded
malloc() implementation plus some thread-friendly performance analysis
tools:
@itemize
@item tcmalloc,
@item heap profiler,
@item heap checker,
@item CPU checker.
@end itemize\n")
(license license:bsd-3)))
(define-public cpplint
(package
(name "cpplint")
(version "1.4.4")
(source
(origin
(method git-fetch)
;; Fetch from github instead of pypi, since the test cases are not in
;; the pypi archive.
(uri (git-reference
(url "https://github.com/cpplint/cpplint")
(commit version)))
(sha256
(base32 "1ns9wbizr10w7rpyp106d7ip68s5nyskr54vw9bij11sci9z0v3j"))
(file-name (git-file-name name version))))
(build-system python-build-system)
(home-page "https://github.com/cpplint/cpplint")
(synopsis "Static code checker for C++")
(description "@code{cpplint} is a command-line tool to check C/C++ files
for style issues following Googles C++ style guide. While Google maintains
it's own version of the tool, this is a fork that aims to be more responsive
and make @code{cpplint} usable in wider contexts.")
(license license:bsd-3)))

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -454,7 +454,9 @@ target that libc."
"Return LIBC cross-built for TARGET, a GNU triplet. Use XGCC and XBINUTILS
and the cross tool chain."
(if (cross-newlib? target libc)
(native-libc target libc)
(native-libc target libc
#:xgcc xgcc
#:xbinutils xbinutils)
(let ((libc libc))
(package (inherit libc)
(name (string-append "glibc-cross-" target))
@ -511,10 +513,15 @@ and the cross tool chain."
(define* (native-libc target
#:optional
(libc glibc))
(libc glibc)
#:key
xgcc
xbinutils)
(if (target-mingw? target)
(let ((machine (substring target 0 (string-index target #\-))))
(make-mingw-w64 machine))
(make-mingw-w64 machine
#:xgcc xgcc
#:xbinutils xbinutils))
libc))
(define* (cross-newlib? target

View File

@ -13,6 +13,7 @@
;;; Copyright © 2018 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -46,6 +47,7 @@
#:use-module (gnu packages libbsd)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages lsof)
#:use-module (gnu packages nettle)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages perl)
@ -131,7 +133,7 @@ communication, encryption, decryption, signatures, etc.")
(define-public signify
(package
(name "signify")
(version "26")
(version "27")
(home-page "https://github.com/aperezdc/signify")
(source (origin
(method url-fetch)
@ -139,7 +141,7 @@ communication, encryption, decryption, signatures, etc.")
"/download/v" version "/signify-" version ".tar.xz"))
(sha256
(base32
"16sl1yq5bbsads5q4a0fbrf31b0x8r1hi4wagl90nbrhrca98baw"))))
"0ngjsqz95yb0knlw9zs02fnclif40s63r1mydgiv17ii3mds82df"))))
(build-system gnu-build-system)
;; TODO Build with libwaive (described in README.md), to implement something
;; like OpenBSD's pledge().
@ -210,6 +212,15 @@ OpenBSD tool of the same name.")
(copy-recursively (assoc-ref inputs "googletest-source")
"vendor/github.com/google/googletest")
#t))
(add-before 'configure 'patch-CMakeLists.txt
(lambda _
;; Prevent CMake from adding libc on the system include path.
;; Otherwise it will interfere with the libc used by GCC and
;; ultimately cause #include_next errors.
(substitute* "CMakeLists.txt"
(("include_directories \\(SYSTEM \\$\\{Intl_INCLUDE_DIRS\\}\\)")
""))
#t))
(add-before 'check 'make-unittests
(lambda _
(invoke "make" "unittests"))))))
@ -329,14 +340,15 @@ no man page, refer to the home page for usage details.")
(define-public tomb
(package
(name "tomb")
(version "2.6")
(version "2.7")
(source (origin
(method url-fetch)
(uri (string-append "https://files.dyne.org/tomb/"
"Tomb-" version ".tar.gz"))
(sha256
(base32
"1sr3jcn96mciyn8xd0amd1jzamxxzpybakf8an7laf26gjim1dh2"))))
"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
@ -345,6 +357,7 @@ no man page, refer to the home page for usage details.")
("cryptsetup" ,cryptsetup)
("e2fsprogs" ,e2fsprogs) ;for mkfs.ext4
("gettext" ,gettext-minimal) ;used at runtime
("lsof" ,lsof)
("mlocate" ,mlocate)
("pinentry" ,pinentry)
("qrencode" ,qrencode)
@ -352,6 +365,10 @@ no man page, refer to the home page for usage details.")
("util-linux" ,util-linux)))
(arguments
`(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
;; The "sudo" input is needed only to satisfy dependency checks in the
;; 'check' phase. The "sudo" used at runtime should come from the
;; system's setuid-programs, so ensure no reference is kept.
#:disallowed-references (,sudo)
;; TODO: Build and install gtk and qt trays
#:phases
(modify-phases %standard-phases
@ -370,8 +387,8 @@ no man page, refer to the home page for usage details.")
,@(map (lambda (program)
(or (and=> (which program) dirname)
(error "program not found:" program)))
'("seq" "mkfs.ext4" "pinentry" "sudo"
"gpg" "cryptsetup" "gettext"
'("seq" "mkfs.ext4" "pinentry"
"gpg" "cryptsetup" "gettext" "lsof"
"qrencode" "steghide" "findmnt")))))
#t)))
(delete 'check)
@ -724,14 +741,14 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R
(define-public botan
(package
(name "botan")
(version "2.7.0")
(version "2.12.1")
(source (origin
(method url-fetch)
(uri (string-append "https://botan.randombit.net/releases/"
"Botan-" version ".tgz"))
"Botan-" version ".tar.xz"))
(sha256
(base32
"142aqabwc266jxn8wrp0f1ffrmcvdxwvyh8frb38hx9iaqazjbg4"))))
"1ada3ga7b0z4m0vjmxlvfi4nsic2l8kjcy85jwss3z2i58a5y0vy"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@ -740,12 +757,17 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref %outputs "out"))
(lib (string-append out "/lib")))
;; Upstream tests and benchmarks with -O3.
(setenv "CXXFLAGS" "-O3")
(invoke "python" "./configure.py"
(string-append "--prefix=" out)
;; Otherwise, the `botan` executable cannot find
;; libbotan.
(string-append "--ldflags=-Wl,-rpath=" lib)
"--with-os-feature=getentropy"
"--with-rst2man"
;; Recommended by upstream
"--with-zlib" "--with-bzip2" "--with-sqlite3"))))
(replace 'check
@ -937,6 +959,7 @@ utility/testing functions.")
(uri (git-reference
(url "https://github.com/vstakhov/hpenc")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1fb5yi3d2k8kd4zm7liiqagpz610y168xrr1cvn7cbq314jm2my1"))))
@ -974,3 +997,36 @@ pre-shared keys out of band. It is designed to handle large amounts of data
quickly by using all your CPU cores and hardware acceleration.")
(home-page "https://github.com/vstakhov/hpenc")
(license license:bsd-3)))
(define-public minisign
(package
(name "minisign")
(version "0.8")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/jedisct1/minisign/releases/download/"
version "/minisign-" version ".tar.gz"))
(sha256
(base32
"10hhgwxf9rcdlr00shrkcyxndrc22dh5lj8k5z27xg3nc0jba3hk"))))
(build-system cmake-build-system)
(arguments
; No test suite
`(#:tests? #f))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("libsodium" ,libsodium)))
(home-page "https://jedisct1.github.io/minisign")
(synopsis "Tool to sign files and verify signatures")
(description
"Minisign is a dead simple tool to sign files and verify signatures. It is
portable, lightweight, and uses the highly secure Ed25519 public-key signature
system. Signature written by minisign can be verified using OpenBSD's
signify tool: public key files and signature files are compatible. However,
minisign uses a slightly different format to store secret keys. Minisign
signatures include trusted comments in addition to untrusted comments.
Trusted comments are signed, thus verified, before being displayed.")
(license license:isc)))

View File

@ -35,7 +35,7 @@
(define-public cryptsetup
(package
(name "cryptsetup")
(version "2.2.1")
(version "2.2.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/cryptsetup/v"
@ -43,7 +43,7 @@
"/cryptsetup-" version ".tar.xz"))
(sha256
(base32
"0q8w3khiwsw708169vahm0nccajsc2hwqz5gv6nb1g9qxlqrmrwl"))))
"0ija889kfhg4n2fshpq9yh2b1jl2ipvd7sfafh08g75ba6ayrw1a"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -419,14 +419,14 @@ should only be used as part of the Guix cups-pk-helper service.")
(define-public hplip
(package
(name "hplip")
(version "3.19.8")
(version "3.19.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/hplip/hplip/" version
"/hplip-" version ".tar.gz"))
(sha256
(base32
"0cmshi5dkmc1n5yiahhp0cv5p94zg61018piiqa2sna10ahgx1d3"))
"0lfmym225dr4qnssglqd0gyf0nmm7jpbzkdr1s2wyknmx8z7fx9x"))
(modules '((guix build utils)))
(patches (search-patches "hplip-remove-imageprocessor.patch"))
(snippet
@ -491,54 +491,83 @@ should only be used as part of the Guix cups-pk-helper service.")
(guix build utils)
((guix build python-build-system) #:prefix python:))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'fix-hard-coded-file-names
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
;; FIXME: use merged ppds (I think actually only
;; drvs need to be merged).
(cupsdir (assoc-ref inputs "cups-minimal")))
(substitute* "base/g.py"
(("'/usr/share;[^']*'")
(string-append "'" cupsdir "/share'"))
(("'/etc/hp/hplip.conf'")
(string-append "'" out
"/etc/hp/hplip.conf" "'")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-hard-coded-file-names
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
;; FIXME: use merged ppds (I think actually only
;; drvs need to be merged).
(cupsdir (assoc-ref inputs "cups-minimal")))
(substitute* "base/g.py"
(("'/usr/share;[^']*'")
(string-append "'" cupsdir "/share'"))
(("'/etc/hp/hplip.conf'")
(string-append "'" out
"/etc/hp/hplip.conf" "'")))
(substitute* "Makefile.in"
(("[[:blank:]]check-plugin\\.py[[:blank:]]") " ")
;; FIXME Use beginning-of-word in regexp.
(("[[:blank:]]plugin\\.py[[:blank:]]") " ")
(("/usr/include/libusb-1.0")
(string-append (assoc-ref inputs "libusb")
"/include/libusb-1.0"))
(("hplip_statedir =.*$")
;; Don't bail out while trying to create
;; /var/lib/hplip. We can safely change its value
;; here because it's hard-coded in the code anyway.
"hplip_statedir = $(prefix)\n")
(("hplip_confdir = /etc/hp")
;; This is only used for installing the default config.
(string-append "hplip_confdir = " out
"/etc/hp"))
(("halpredir = /usr/share/hal/fdi/preprobe/10osvendor")
;; We don't use hal.
(string-append "halpredir = " out
"/share/hal/fdi/preprobe/10osvendor"))
(("rulesdir = /etc/udev/rules.d")
;; udev rules will be merged by base service.
(string-append "rulesdir = " out
"/lib/udev/rules.d"))
(("rulessystemdir = /usr/lib/systemd/system")
;; We don't use systemd.
(string-append "rulessystemdir = " out
"/lib/systemd/system"))
(("/etc/sane.d")
(string-append out "/etc/sane.d"))))))
;; Wrap bin/* so that the Python libraries are found.
(add-after 'install 'wrap-binaries
(assoc-ref python:%standard-phases 'wrap)))))
(substitute* "Makefile.in"
(("[[:blank:]]check-plugin\\.py[[:blank:]]") " ")
;; FIXME Use beginning-of-word in regexp.
(("[[:blank:]]plugin\\.py[[:blank:]]") " ")
(("/usr/include/libusb-1.0")
(string-append (assoc-ref inputs "libusb")
"/include/libusb-1.0"))
(("hplip_statedir =.*$")
;; Don't bail out while trying to create
;; /var/lib/hplip. We can safely change its value
;; here because it's hard-coded in the code anyway.
"hplip_statedir = $(prefix)\n")
(("hplip_confdir = /etc/hp")
;; This is only used for installing the default config.
(string-append "hplip_confdir = " out
"/etc/hp"))
(("halpredir = /usr/share/hal/fdi/preprobe/10osvendor")
;; We don't use hal.
(string-append "halpredir = " out
"/share/hal/fdi/preprobe/10osvendor"))
(("rulesdir = /etc/udev/rules.d")
;; udev rules will be merged by base service.
(string-append "rulesdir = " out
"/lib/udev/rules.d"))
(("rulessystemdir = /usr/lib/systemd/system")
;; We don't use systemd.
(string-append "rulessystemdir = " out
"/lib/systemd/system"))
(("/etc/sane.d")
(string-append out "/etc/sane.d"))))))
(add-after 'install 'wrap-binaries
;; Scripts in /bin are all symlinks to .py files in /share/hplip.
;; Symlinks are immune to the Python build system's 'WRAP phase,
;; and the .py files can't be wrapped because they are reused as
;; modules. Replacing the symlinks in /bin with copies and
;; wrapping them also doesn't work (“ModuleNotFoundError:
;; No module named 'base'”). Behold: a custom WRAP-PROGRAM.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(python (assoc-ref inputs "python")))
(with-directory-excursion bin
(for-each (lambda (file)
(let ((target (readlink file)))
(delete-file file)
(with-output-to-file file
(lambda _
(format #t
"#!~a~@
export PYTHONPATH=\"~a:~a\"~@
exec -a \"$0\" \"~a/~a\" \"$@\"~%"
(which "bash")
(string-append
out "/lib/python"
(python:python-version python)
"/site-packages")
(getenv "PYTHONPATH")
bin target)))
(chmod file #o755)))
(find-files "." (lambda (file stat)
(eq? 'symlink (stat:type stat)))))
#t)))))))
;; Note that the error messages printed by the tools in the case of
;; missing dependencies are often downright misleading.

View File

@ -216,6 +216,68 @@ standard Go idioms.")
(home-page "http://labix.org/mgo")
(license license:bsd-2)))
(define-public ephemeralpg
(package
(name "ephemeralpg")
(version "2.8")
(source
(origin
(method url-fetch)
(uri (string-append
"http://eradman.com/ephemeralpg/code/ephemeralpg-"
version ".tar.gz"))
(sha256
(base32 "1dpfxsd8a52psx3zlfbqkw53m35w28qwyb87a8anz143x6gnkkr4"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc"
(string-append "PREFIX=" %output))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'check
(lambda* (#:key inputs #:allow-other-keys)
;; The intention for one test is to test without PostgreSQL on
;; the $PATH, so replace the test $PATH with just the util-linux
;; bin, which contains getopt. It will hopefully be possible to
;; remove this for releases after 2.8.
(substitute* "test.rb"
(("/bin:/usr/bin")
(string-append (assoc-ref inputs "util-linux")
"/bin")))
;; Set the LC_ALL=C as some tests use sort, and the locale
;; affects the order. It will hopefully be possible to remove
;; this for releases after 2.8.
(setenv "LC_ALL" "C")
(invoke "ruby" "test.rb")
#t))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/pg_tmp")
`("PATH" ":" prefix
(,(string-append (assoc-ref inputs "util-linux")
"/bin")
,(string-append (assoc-ref inputs "postgresql")
"/bin")
;; For getsocket
,(string-append out "/bin")))))
#t)))))
(inputs
`(("postgresql" ,postgresql)
("util-linux" ,util-linux)))
(native-inputs
`(("ruby" ,ruby)))
(home-page "http://eradman.com/ephemeralpg/")
(synopsis "Run temporary PostgreSQL databases")
(description
"@code{pg_tmp} creates temporary PostgreSQL databases, suitable for tasks
like running software test suites. Temporary databases created with
@code{pg_tmp} have a limited shared memory footprint and are automatically
garbage-collected after a configurable number of seconds (the default is
60).")
(license license:isc)))
(define-public es-dump-restore
(package
(name "es-dump-restore")
@ -262,7 +324,7 @@ ElasticSearch server")
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON" "-DLEVELDB_BUILD_TESTS=ON")))
(inputs
`(("snappy" ,snappy)))
(home-page "http://leveldb.org/")
(home-page "https://github.com/google/leveldb")
(synopsis "Fast key-value storage library")
(description
"LevelDB is a fast key-value storage library that provides an ordered
@ -377,14 +439,13 @@ the API, and provides features such as:
(define-public python-pylibmc
(package
(name "python-pylibmc")
(version "1.6.0")
(version "1.6.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pylibmc" version))
(sha256
(base32
"1n6nvvhl0g52gpzzwdj1my6049xljkfwyxxygnwda9smrbj7pyay"))))
(base32 "1sg7d9j0v6g3xg3finf4l1hb72c13vcyyi6rqrc9shbx903d93ca"))))
(build-system python-build-system)
(arguments
'(#:phases
@ -400,10 +461,8 @@ the API, and provides features such as:
`(("libmemcached" ,libmemcached)
("zlib" ,zlib)
("cyrus-sasl" ,cyrus-sasl)))
(home-page
"http://sendapatch.se/projects/pylibmc/")
(synopsis
"Python client for memcached")
(home-page "http://sendapatch.se/projects/pylibmc/")
(synopsis "Python client for memcached")
(description
"@code{pylibmc} is a client in Python for memcached. It is a wrapper
around TangentOrgs libmemcached library, and can be used as a drop-in
@ -439,7 +498,7 @@ replacement for the code@{python-memcached} library.")
(search-patch "mongodb-support-unknown-linux-distributions.patch")))))
(build-system scons-build-system)
(inputs
`(("openssl" ,openssl)
`(("openssl" ,openssl-1.0)
("pcre" ,pcre)
,@(match (%current-system)
((or "x86_64-linux" "aarch64-linux" "mips64el-linux")
@ -479,6 +538,15 @@ replacement for the code@{python-memcached} library.")
,(format #f "--jobs=~a" (parallel-job-count))
"--ssl")))
(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda _
;; Remove use of GNU extensions in parse_number_test.cpp, to
;; allow compiling with GCC 7 or later
;; https://jira.mongodb.org/browse/SERVER-28063
(substitute* "src/mongo/base/parse_number_test.cpp"
(("0xabcab\\.defdefP-10")
"687.16784283419838"))
#t))
(add-after 'unpack 'scons-propagate-environment
(lambda _
;; Modify the SConstruct file to arrange for
@ -1156,17 +1224,15 @@ for example from a shell script.")
(define-public sqitch
(package
(name "sqitch")
(version "0.9999")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-"
version
".tar.gz"))
"mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-v"
version ".tar.gz"))
(sha256
(base32
"1cvj8grs3bzc4g7dw1zc26g4biv1frav18sq0fkvi2kk0q1aigzm"))))
(base32 "0p4wraqiscvwmmsvfqfy65blgsilwpvd9zj4d2zvm2xdx70ncr7l"))))
(build-system perl-build-system)
(arguments
'(#:phases
@ -1210,7 +1276,6 @@ for example from a shell script.")
("perl-dbi" ,perl-dbi)
("perl-devel-stacktrace" ,perl-devel-stacktrace)
("perl-encode-locale" ,perl-encode-locale)
("perl-file-homedir" ,perl-file-homedir)
("perl-hash-merge" ,perl-hash-merge)
("perl-ipc-run3" ,perl-ipc-run3)
("perl-ipc-system-simple" ,perl-ipc-system-simple)
@ -2287,7 +2352,7 @@ implementation for Python.")
#:configure-flags '("--without-internal-zlib"
"--with-readline")))
(inputs
`(("openssl" ,openssl)
`(("openssl" ,openssl-1.0)
("net-tools" ,net-tools)
("readline" ,readline)
("zlib" ,zlib)))
@ -2938,7 +3003,7 @@ transforms idiomatic python function calls to well-formed SQL queries.")
(native-inputs
`(("go-github.com-howeyc-gopass" ,go-github.com-howeyc-gopass)
("go-github.com-jessevdk-go-flags" ,go-github.com-jessevdk-go-flags)
("go-golang.org-x-crypto-ssh-terminal" ,go-golang.org-x-crypto-ssh-terminal)
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
("go-gopkg.in-mgo.v2" ,go-gopkg.in-mgo.v2)
("go-gopkg.in-tomb.v2" ,go-gopkg.in-tomb.v2)
("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)
@ -3088,13 +3153,13 @@ NumPy, and other traditional Python scientific computing packages.")
(define-public python-crate
(package
(name "python-crate")
(version "0.23.0")
(version "0.23.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "crate" version))
(sha256
(base32
"0s3s7yg4m2zflg9q96aibwb5hizsn10ql63fsj6h5z624qkavnlp"))))
"0ngmlvi320c5gsxab0s7qgq0ck4jdlcwvb6lbjhnfprafdp56vvx"))))
(build-system python-build-system)
(propagated-inputs
`(("python-urllib3" ,python-urllib3)))

View File

@ -52,7 +52,7 @@
(origin
(method url-fetch)
(uri (list
(string-append "http://ftp.de.debian.org/debian/pool/main/d/delta/"
(string-append "mirror://debian/pool/main/d/delta/"
"delta_" version ".orig.tar.gz")
;; This uri seems to send guix download into an infinite loop
(string-append "http://delta.tigris.org/files/documents/3103/"

View File

@ -67,7 +67,7 @@
#:use-module (ice-9 match))
(define-public diffoscope
(let ((version "125"))
(let ((version "129"))
(package
(name "diffoscope")
(version version)
@ -79,7 +79,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"02kwisp9j63w27hhcwpdhg66dgxzz61q4fcyfz8z4hwlz6r0gyqy"))))
"1r8hq93gga9n4jv4fyf1divc9cwvvjadkzl47lazzrfy3nn1qjwr"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -90,18 +90,6 @@
(lambda _
(substitute* "setup.py"
(("'python-magic',") ""))))
;; Patch in support for known tools
(add-after 'unpack 'add-known-tools
(lambda _
(substitute* "diffoscope/external_tools.py"
(("'arch': 'enjarify'},")
"'arch': 'enjarify', 'guix': 'enjarify'},"))
(substitute* "diffoscope/external_tools.py"
(("'arch': 'python-jsbeautifier'},")
"'arch': 'python-jsbeautifier', 'guix': 'python-jsbeautifier'},"))
(substitute* "diffoscope/external_tools.py"
(("'arch': 'wabt'},")
"'arch': 'wabt', 'guix': 'wabt'},"))))
;; This test is broken because our `file` package has a
;; bug in berkeley-db file type detection.
(add-after 'unpack 'remove-berkeley-test
@ -165,6 +153,8 @@
(native-inputs `(("python-pytest" ,python-pytest)
("python-chardet" ,python-chardet)
("python-binwalk" ,python-binwalk)
("python-pypdf2" ,python-pypdf2)
("python-progressbar33" ,python-progressbar33)
;; test suite skips tests when tool is missing
,@(match (%current-system)
;; ghc is only available on x86 currently.

View File

@ -32,6 +32,7 @@
(uri (git-reference
(url "https://github.com/Cyan4973/xxHash")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "137hifc3f3cb4ib64rd6y83arc9hmbyncgrij2v8m94mx66g2aks"))))
(build-system gnu-build-system)

View File

@ -612,7 +612,7 @@ passphrases.")
(define-public ndctl
(package
(name "ndctl")
(version "65")
(version "67")
(source (origin
(method git-fetch)
(uri (git-reference
@ -621,7 +621,7 @@ passphrases.")
(file-name (git-file-name name version))
(sha256
(base32
"0d8hzfvyxs2q8kgkwgdizlml41kin4mhx3vpdsjk34pfi7mqy69y"))))
"076jgw1g2aafqgnq705in0wnabysqk46dq5yxdv1qzgjmyhka39n"))))
(build-system gnu-build-system)
(native-inputs
`(("asciidoc" ,asciidoc)
@ -713,7 +713,7 @@ to create devices with respective mappings for the ATARAID sets discovered.")
(define-public libblockdev
(package
(name "libblockdev")
(version "2.21")
(version "2.23")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/storaged-project/"
@ -721,7 +721,7 @@ to create devices with respective mappings for the ATARAID sets discovered.")
version "-1/libblockdev-" version ".tar.gz"))
(sha256
(base32
"02p13l4194j0vyd2zs7bb9dmyclcpqq8l3qv9289vjfbsvq2awii"))))
"15c7g2gbkahmy8c6677pvbvblan5h8jxcqqmn6nlvqwqynq2mkjm"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)

View File

@ -1008,14 +1008,13 @@ forms using your favorite CSS framework, without writing template code.")
(define-public python-django-override-storage
(package
(name "python-django-override-storage")
(version "0.1.4")
(version "0.1.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django-override-storage" version))
(sha256
(base32
"0sqz1mh0yn8b1bzz2gr2azfiynljigm5gkzavp5n17zd3j2jg57x"))))
(base32 "022arq94lxnlyykn8wvfnkykhi2dldnsn93pa2i41na551i0wpiv"))))
(build-system python-build-system)
(propagated-inputs
`(("python-django" ,python-django)))

View File

@ -34,7 +34,9 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages datastructures)
@ -46,6 +48,7 @@
#:use-module (gnu packages libevent)
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
@ -54,6 +57,7 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages swig)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
@ -65,6 +69,7 @@
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system trivial))
(define-public dnsmasq
@ -109,7 +114,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
(define-public isc-bind
(package
(name "bind")
(version "9.14.6")
(version "9.14.7")
(source (origin
(method url-fetch)
(uri (string-append
@ -117,7 +122,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
"/bind-" version ".tar.gz"))
(sha256
(base32
"1zpd47ckn5lf4qbscfkj7krngwn2gwsp961v5401h3lhxm0a0rw9"))))
"07998nx0yv3xy8c62b1ira9qygsgvpljwcgb47ypzxq8b57gb86f"))))
(build-system gnu-build-system)
(outputs `("out" "utils"))
(inputs
@ -273,21 +278,33 @@ the two.")
(define-public libasr
(package
(name "libasr")
(version "201602131606")
(version "1.0.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.opensmtpd.org/archives/"
name "-" version ".tar.gz"))
"libasr-" version ".tar.gz"))
(sha256
(base32
"18kdmbjsxrfai16d66qslp48b1zf7gr8him2jj5dcqgbsl44ls75"))))
(base32 "13fn4sr4vlcx1xijpl26nmnxawyls4lr5q3mi11jdm76f80qxn4w"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'bootstrap
;; GNU build system bootstrapping not needed, the default lies.
(lambda _
(invoke "sh" "./bootstrap")))
(add-after 'install 'install-documentation
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "src/asr_run.3"
(string-append out "/share/man/man3"))
#t))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
("groff" ,groff)))
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(home-page "https://www.opensmtpd.org")
(synopsis "Asynchronous resolver library by the OpenBSD project")
(description
@ -373,14 +390,14 @@ to result in system-wide compromise.")
(define-public unbound
(package
(name "unbound")
(version "1.9.3")
(version "1.9.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.unbound.net/downloads/unbound-"
version ".tar.gz"))
(sha256
(base32 "1ykdy62sgzv33ggkmzwx2h0ifm7hyyxyfkb4zckv7gz4f28xsm8v"))))
(base32 "1c2bjm13x8bkw0ds1mhn9ivd2gzmfrb0x5y76bkz09a04bxjagix"))))
(build-system gnu-build-system)
(outputs '("out" "python"))
(native-inputs
@ -650,6 +667,73 @@ synthesis, and on-the-fly re-configuration.")
license:public-domain ; src/contrib/fnv and possibly murmurhash3
license:gpl3+)))) ; everything else
(define-public knot-resolver
(package
(name "knot-resolver")
(version "4.2.2")
(source (origin
(method url-fetch)
(uri (string-append "https://secure.nic.cz/files/knot-resolver/"
"knot-resolver-" version ".tar.xz"))
(sha256
(base32
"0n0llpclhparq9wbcrymxkl5d03c4y4p3shcbdxfv6j22vzqvdh3"))))
(build-system meson-build-system)
(arguments
'(#:configure-flags
'("-Dmanaged_ta=disabled" ; We'll manage the DNS root data ourself.
"-Ddoc=enabled")
#:phases
(modify-phases %standard-phases
(add-after 'build 'build-doc
(lambda _
(invoke "ninja" "doc")))
(add-after 'install 'wrap-binary
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lua-* (map cdr (filter
(lambda (input)
(string-prefix? "lua-" (car input)))
inputs)))
(lua-path (lambda (p)
(string-append p "/share/lua/5.1/?.lua")))
(lua-cpath (lambda (p)
(string-append p "/lib/lua/5.1/?.so"))))
(wrap-program (string-append out "/sbin/kresd")
`("LUA_PATH" ";" prefix ,(map lua-path lua-*))
`("LUA_CPATH" ";" prefix ,(map lua-cpath lua-*)))
#t))))))
(native-inputs
`(("cmocka" ,cmocka) ; for unit tests
("doxygen" ,doxygen)
("protobuf-c" ,protobuf-c)
("pkg-config" ,pkg-config)
("python-breathe" ,python-breathe)
("python-sphinx" ,python-sphinx)
("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)))
(inputs
`(("fstrm" ,fstrm)
("gnutls" ,gnutls)
("knot" ,knot)
("libuv" ,libuv)
("lmdb" ,lmdb)
("luajit" ,luajit)
;; TODO: Add optional lua modules: basexx, cqueues and psl.
("lua-bitop" ,lua5.1-bitop)
("lua-filesystem" ,lua5.1-filesystem)
("lua-sec" ,lua5.1-sec)
("lua-socket" ,lua5.1-socket)))
(home-page "https://www.knot-resolver.cz/")
(synopsis "Caching validating DNS resolver")
(description
"Knot Resolver is a caching full resolver implementation written in C and
LuaJIT, both a resolver library and a daemon.")
(license (list license:gpl3+
;; Some 'contrib' files are under MIT, CC0 and LGPL2.
license:expat
license:cc0
license:lgpl2.0))))
(define-public ddclient
(package
(name "ddclient")

View File

@ -291,9 +291,9 @@ the required network abstractions for applications.")
("logrus" ,go-github-com-sirupsen-logrus)
("go-netlink" ,go-netlink)
("go-netns" ,go-netns)
("go-golang-org-x-crypto-ssh-terminal"
,go-golang-org-x-crypto-ssh-terminal)
("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
("go-golang-org-x-crypto"
,go-golang-org-x-crypto)
("go-golang-org-x-sys" ,go-golang-org-x-sys)))
(synopsis "Docker user-space proxy")
(description "A proxy running in the user space. It is used by the
built-in registry server of Docker.")
@ -317,7 +317,8 @@ built-in registry server of Docker.")
(patches
(search-patches "docker-engine-test-noinstall.patch"
"docker-fix-tests.patch"
"docker-use-fewer-modprobes.patch"))))
"docker-use-fewer-modprobes.patch"
"docker-adjust-tests-for-changes-in-go.patch"))))
(build-system gnu-build-system)
(arguments
`(#:modules

View File

@ -33,7 +33,7 @@
(define-public dunst
(package
(name "dunst")
(version "1.3.2")
(version "1.4.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -42,7 +42,7 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"12nj8qw3y3nl8sm24wizy2a7k06v1p88bnz1xr9l39h527xyidma"))))
"1zmx30qp2s9ca4q70j9ny4aq97pp442j9vfvsyihfcxgks6gwqqm"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target

View File

@ -253,7 +253,7 @@ easy.")
(define-public snap
(package
(name "snap")
(version "5.1.0")
(version "5.2.5")
(source
(origin
(method git-fetch)
@ -263,7 +263,7 @@ easy.")
(file-name (git-file-name name version))
(sha256
(base32
"11fqbbvrv4zqbdz176ahczb2d797inq5n7zg74335d96m377si3f"))))
"0smlqxd8gqy26dlsal197848lhynv74m8myxs6fdlnzgva1f3zzw"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -487,14 +487,14 @@ letters of the alphabet, spelling, eye-hand coordination, etc.")
(define-public fet
(package
(name "fet")
(version "5.39.0")
(version "5.40.2")
(source (origin
(method url-fetch)
(uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
"fet-" version ".tar.bz2"))
(sha256
(base32
"100bmggkychqs2cavqxy7015lr4icw6k99qb03im0v4jasqqmyix"))))
"068zdvb3rys7vvkq33i2jh89c7svvdaqp0548k99jmhbd24xnhgh"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -25,10 +26,13 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
#:use-module (gnu packages gawk)
#:use-module (gnu packages glib)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages libftdi)
@ -111,8 +115,18 @@ to take care of the OS-specific details when writing software that uses serial p
(sha256
(base32
"18x5zj3xbcylvb651dia6n4zxbdnv0j62r5af60d0l2g68knkjg4"))))
(arguments
`(#:implicit-inputs? #f))
(native-inputs
`(("sdcc" ,sdcc)))
`(("awk" ,gawk)
("bash" ,bash)
("coreutils" ,coreutils)
("grep" ,grep)
("gzip" ,gzip)
("make" ,gnu-make)
("sdcc" ,sdcc)
("sed" ,sed)
("tar" ,tar)))
(build-system gnu-build-system)
(home-page "https://www.sigrok.org/wiki/Fx2lafw")
(synopsis "Firmware for Cypress FX2 chips")

View File

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
@ -31,6 +31,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
#:use-module (gnu packages gcc)
#:use-module (gnu packages m4)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@ -198,7 +199,7 @@ static analysis of the ELF binaries at hand.")
(define-public patchelf
(package
(name "patchelf")
(version "0.8")
(version "0.10")
(source (origin
(method url-fetch)
(uri (string-append
@ -207,28 +208,24 @@ static analysis of the ELF binaries at hand.")
"/patchelf-" version ".tar.bz2"))
(sha256
(base32
"1rqpg84wrd3fa16wa9vqdvasnc05yz49w207cz1l0wrl4k8q97y9"))
(patches (search-patches "patchelf-page-size.patch"))))
"1wzwvnlyf853hw9zgqq5522bvf8gqadk8icgqa41a5n7593csw7n"))))
(build-system gnu-build-system)
;; XXX: The upstream 'patchelf' doesn't support ARM. The only available
;; patch makes significant changes to the algorithm, possibly
;; introducing bugs. So, we apply the patch only on ARM systems.
(inputs
(if (target-arm32?)
`(("patch/rework-for-arm" ,(search-patch
"patchelf-rework-for-arm.patch")))
'()))
(arguments
(if (target-arm32?)
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch/rework-for-arm
(lambda* (#:key inputs #:allow-other-keys)
(let ((patch-file (assoc-ref inputs "patch/rework-for-arm")))
(invoke "patch" "--force" "-p1" "--input" patch-file))))))
'()))
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
;; Our GCC code ensures that RUNPATH is never empty, it includes
;; at least glibc/lib and gcc:lib/lib.
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "tests/no-rpath.sh"
;; Disable checking for an empty runpath:
(("^if test.*") "")
;; Find libgcc_s.so, which is necessary for the test:
(("/xxxxxxxxxxxxxxx") (string-append (assoc-ref inputs "gcc:lib")
"/lib")))
#t)))))
(native-inputs
`(("gcc:lib" ,gcc "lib")))
(home-page "https://nixos.org/patchelf.html")
(synopsis "Modify the dynamic linker and RPATH of ELF executables")
(description

File diff suppressed because it is too large Load Diff

View File

@ -9,6 +9,8 @@
;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -26,6 +28,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages emulators)
#:use-module (ice-9 match)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@ -39,6 +42,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages backup)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages elf)
@ -82,6 +86,7 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages web)
#:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu))
(define-public desmume
@ -161,7 +166,7 @@
(string-append (assoc-ref inputs "vulkan-loader")
"/lib/libvulkan.so")))
(chdir "docs")
(invoke "bash" "-c" "g++ -O2 -std=c++11 $(freetype-config \
(invoke "bash" "-c" "g++ -O2 $(freetype-config \
--cflags --libs) gc-font-tool.cpp -o gc-font-tool")
(invoke "./gc-font-tool" "a" fontfile "font_western.bin")
(invoke "./gc-font-tool" "s" fontfile "font_japanese.bin")
@ -1048,7 +1053,7 @@ emulation community. It provides highly accurate emulation.")
(define-public retroarch
(package
(name "retroarch")
(version "1.7.8.4")
(version "1.8.1")
(source
(origin
(method git-fetch)
@ -1057,7 +1062,7 @@ emulation community. It provides highly accurate emulation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1i3i23xwvmck8k2fpalr49np7xjzfg507243mybqrljawlnbxvph"))))
(base32 "0y7rcpz7psf8k3agsrq277jdm651vbnn9xpqvmj2in1a786idya7"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
@ -1183,7 +1188,7 @@ play them on systems for which they were never designed!")
(define-public mame
(package
(name "mame")
(version "0.214")
(version "0.215")
(source
(origin
(method git-fetch)
@ -1193,7 +1198,7 @@ play them on systems for which they were never designed!")
(file-name (git-file-name name version))
(sha256
(base32
"129yk3ybcviscy2xk1mkkzxm4h4nh5p6ndfgqbmcx547p1s6hbja"))
"1fj2qahi0fpn41zxph06wdgjashy6vsgj0gqfly8hvcmv99r3d65"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
@ -1366,3 +1371,94 @@ functions. The source code to MAME serves as this documentation.")
;; However, over 90% of the files are under Expat license. Also, artwork,
;; keymaps, languages and samples are under CC0.
(license (list license:gpl2+ license:expat license:cc0))))
(define-public pcsxr
;; No release since 2017.
(let ((commit "6484236cb0281e8040ff6c8078c87899a3407534"))
(package
(name "pcsxr")
;; Version is tagged here: https://github.com/frealgagu/PCSX-Reloaded
(version "1.9.95")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pcsxr/PCSX-Reloaded")
(commit commit)))
(sha256
(base32
"138mayp7zi9v4l3lm5f6xxkds619w1fgg769zm8s45c84jbz7dza"))
(file-name (git-file-name name commit))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no "test" target
#:configure-flags
(list "-DSND_BACKEND=pulse"
"-DENABLE_CCDDA='ON'"
"-DUSE_LIBARCHIVE='ON'"
"-DUSE_LIBCDIO='ON'")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'cd-subdir
(lambda _ (chdir "pcsxr")))
(add-before 'configure 'fix-cdio-lookup
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "cmake/FindCdio.cmake"
(("/usr/include/cdio")
(string-append (assoc-ref inputs "libcdio") "/include/cdio"))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)
("glib" ,glib "bin")))
(inputs
`(("libcdio" ,libcdio)
("sdl2" ,sdl2)
("gtk+" ,gtk+)
("ffmpeg" ,ffmpeg)
("libxv" ,libxv)
("libarchive" ,libarchive)
("pulseaudio" ,pulseaudio)))
(home-page "https://archive.codeplex.com/?p=pcsxr")
(synopsis "PlayStation emulator")
(description
"A PlayStation emulator based on PCSX-df Project with bugfixes and
improvements.")
(license license:gpl2+))))
(define-public gens-gs
(package
(name "gens-gs")
(version "7")
(source
(origin
(method url-fetch)
(uri (string-append "https://retrocdn.net/images/6/6d/Gens-gs-r"
version ".tar.gz"))
(sha256
(base32
"1ha5s6d3y7s9aq9f4zmn9p88109c3mrj36z2w68jhiw5xrxws833"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:system "i686-linux"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-CFLAGS
(lambda* _
;; Remove GTK API deprecation flags that cause build errors.
(substitute* "configure"
(("GTK_CFLAGS=\"\\$GTK_CFLAGS .*\"") ""))
#t)))))
(native-inputs
`(("pkg-config" ,pkg-config)
("nasm" ,nasm)))
(inputs
`(("sdl" ,sdl)
("gtk" ,gtk+-2)))
(home-page "https://segaretro.org/Gens/GS")
(synopsis "Emulator for Sega Genesis/Mega Drive systems")
(description
"Gens/GS is an emulator for the Mega Drive (also known as Sega Genesis),
derived from Gens. Project goals include clean source code, combined features
from various forks of Gens, and improved platform portability.")
(supported-systems '("i686-linux" "x86_64-linux"))
(license license:gpl2+)))

View File

@ -767,48 +767,27 @@ language.")
(define-public kicad
(package
(name "kicad")
(version "5.0.2")
(version "5.1.4")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.xz"))
(uri (string-append
"https://launchpad.net/kicad/" (version-major+minor version)
"/" version "/+download/kicad-" version ".tar.xz"))
"https://launchpad.net/kicad/" (version-major version)
".0/" version "/+download/kicad-" version ".tar.xz"))
(sha256
(base32 "10605rr10x0353n6yk2z095ydnkd1i6j1ncbq64pfxdn5vkhcd1g"))))
(base32 "1r60dgh6aalbpq1wsmpyxkz0nn4ck8ydfdjcrblpl69k5rks5k2j"))))
(build-system cmake-build-system)
(arguments
`(#:out-of-source? #t
#:tests? #f ; no tests
#:build-type "Release"
#:configure-flags
(list "-DKICAD_STABLE_VERSION=ON"
"-DKICAD_REPO_NAME=stable"
"-DKICAD_SKIP_BOOST=ON"; Use our system's boost library.
"-DKICAD_SCRIPTING=ON"
"-DKICAD_SCRIPTING_MODULES=ON"
"-DKICAD_SCRIPTING_WXPYTHON=ON"
;; Has to be set explicitly, as we don't have the wxPython
;; headers in the wxwidgets store item, but in wxPython.
(string-append "-DCMAKE_CXX_FLAGS=-I"
(assoc-ref %build-inputs "wxpython")
"/include/wx-"
,(version-major+minor
(package-version python2-wxpython)))
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE"
"-DKICAD_SPICE=TRUE"
;; TODO: Enable this when CA certs are working with curl.
"-DBUILD_GITHUB_PLUGIN=OFF")
(list "-DKICAD_SCRIPTING_PYTHON3=ON"
"-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'adjust-boost-include
(lambda _
;; The location of this header changed in Boost 1.66.
(substitute* "3d-viewer/3d_cache/3d_cache.cpp"
(("boost/uuid/sha1\\.hpp")
"boost/uuid/detail/sha1.hpp"))
#t))
(add-after 'install 'wrap-program
;; Ensure correct Python at runtime.
(lambda* (#:key inputs outputs #:allow-other-keys)
@ -845,9 +824,9 @@ language.")
("mesa" ,mesa)
("opencascade-oce" ,opencascade-oce)
("openssl" ,openssl)
("python" ,python-2)
("wxwidgets" ,wxwidgets-gtk2)
("wxpython" ,python2-wxpython)))
("python" ,python)
("wxwidgets" ,wxwidgets)
("wxpython" ,python-wxpython)))
(home-page "http://kicad-pcb.org/")
(synopsis "Electronics Design Automation Suite")
(description "Kicad is a program for the formation of printed circuit
@ -921,7 +900,7 @@ render model libraries.")
(define-public kicad-symbols
(package
(name "kicad-symbols")
(version "5.0.2")
(version "5.1.4")
(source (origin
(method git-fetch)
(uri (git-reference
@ -930,7 +909,7 @@ render model libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"1rjh2pjcrc3bhcgyyskj5pssm7vffrjk0ymwr70fb7sjpmk96yjk"))))
"1lna4xlvzrxif3569pkp6mrg7fj62z3a3ri5j97lnmnnzhiddnh3"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; No tests exist
@ -1546,7 +1525,7 @@ unique design feature of Trilinos is its focus on packages.")
`(#:tests? #f
#:configure-flags
(list
"CXXFLAGS=-O3 -std=c++11"
"CXXFLAGS=-O3"
(string-append "ARCHDIR="
(assoc-ref %build-inputs "trilinos")))))
(native-inputs
@ -1586,7 +1565,7 @@ parallel computing platforms. It also supports serial execution.")
(arguments
`(,@(substitute-keyword-arguments (package-arguments xyce-serial)
((#:configure-flags flags)
`(list "CXXFLAGS=-O3 -std=c++11"
`(list "CXXFLAGS=-O3"
"CXX=mpiCC"
"CC=mpicc"
"F77=mpif77"
@ -2007,6 +1986,7 @@ editors.")
(uri (git-reference
(url "https://github.com/markwal/GPX.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1yab269x8qyf7rd04vaxyqyjv4pzz9lp4sc4dwh927k23avr3rw5"))))
@ -2224,7 +2204,7 @@ full programmatic control over your models.")
(define-public freecad
(package
(name "freecad")
(version "0.18.3")
(version "0.18.4")
(source
(origin
(method git-fetch)
@ -2234,7 +2214,7 @@ full programmatic control over your models.")
(file-name (git-file-name name version))
(sha256
(base32
"1ny29y0h8smg1bwi5yn4kcnyfprqh3v7v2z8837cmmhcwp8dr95m"))))
"170hk1kgrvsddrwykp24wyj0cha78zzmzbf50gn98x7ngqqs395s"))))
(build-system cmake-build-system)
(native-inputs
`(("doxygen" ,doxygen)
@ -2427,7 +2407,7 @@ or the official 3dxserv, as if they were using the magellan SDK.
Also, libspnav provides a magellan API wrapper on top of the new API. So, any
applications that were using the magellan library, can switch to libspnav
without any changes. And programmers that are familliar with the magellan API
without any changes. And programmers that are familiar with the magellan API
can continue using it with a free library without the restrictions of the
official SDK.")
(license license:bsd-3)))

View File

@ -25,10 +25,12 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages avahi)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
@ -67,7 +69,7 @@
(define-public efl
(package
(name "efl")
(version "1.23.1")
(version "1.23.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -75,7 +77,7 @@
version ".tar.xz"))
(sha256
(base32
"0q9g4j7k10s1a8rv2ca9v9lydh7ml3zsrqvgncc4qhvdl76208nn"))))
"14yljnnmb89s8j6ip08ip5d01zkgzbzr1h4fr4bwk9lh8r59x3ds"))))
(build-system meson-build-system)
(native-inputs
`(("check" ,check)
@ -297,6 +299,11 @@ Libraries with some extra bells and whistles.")
#:phases
(modify-phases %standard-phases
(delete 'bootstrap) ; We don't want to run the autogen script.
(add-after 'unpack 'fix-dot-desktop-creation
(lambda _
(substitute* "data/session/meson.build"
(("HAVE_WAYLAND'.*") "HAVE_WAYLAND') == true\n"))
#t))
(add-before 'configure 'set-system-actions
(lambda* (#:key inputs #:allow-other-keys)
(setenv "HOME" "/tmp")
@ -305,6 +312,7 @@ Libraries with some extra bells and whistles.")
(utils (assoc-ref inputs "util-linux"))
(libc (assoc-ref inputs "libc"))
(bluez (assoc-ref inputs "bluez"))
(bc (assoc-ref inputs "bc"))
(efl (assoc-ref inputs "efl")))
;; We need to patch the path to 'base.lst' to be able
;; to switch the keyboard layout in E.
@ -325,6 +333,8 @@ Libraries with some extra bells and whistles.")
(string-append efl "/bin/edje_cc -v %s %s %s\"")))
(substitute* "src/modules/everything/evry_plug_apps.c"
(("/usr/bin/") ""))
(substitute* "src/modules/everything/evry_plug_calc.c"
(("bc -l") (string-append bc "/bin/bc -l")))
(substitute* "data/etc/meson.build"
(("/bin/mount") (string-append utils "/bin/mount"))
(("/bin/umount") (string-append utils "/bin/umount"))
@ -342,6 +352,7 @@ Libraries with some extra bells and whistles.")
("util-linux" ,util-linux)))
(inputs
`(("alsa-lib" ,alsa-lib)
("bc" ,bc)
("bluez" ,bluez)
("dbus" ,dbus)
("efl" ,efl)
@ -362,6 +373,19 @@ unload unused functionality, with support for touchscreen and suitable for
embedded systems.")
(license license:bsd-2)))
(define-public enlightenment-wayland
(package
(inherit enlightenment)
(name "enlightenment-wayland")
(arguments
(substitute-keyword-arguments (package-arguments enlightenment)
((#:configure-flags flags)
`(cons* "-Dwl=true" ,flags))))
(inputs
`(("wayland-protocols" ,wayland-protocols)
("xorg-server-xwayland" ,xorg-server-xwayland)
,@(package-inputs enlightenment)))))
(define-public python-efl
(package
(name "python-efl")

View File

@ -2,6 +2,7 @@
;;; Copyright © 2017 Dave Love <fx@gnu.org>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,6 +23,7 @@
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
@ -175,3 +177,65 @@ interface to this library is not guaranteed to be stable.")
testing InfiniBand networks.")
(home-page "https://www.openfabrics.org/downloads/ibutils/")
(license bsd-2)))
(define-public ucx
(package
(name "ucx")
(version "1.6.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/openucx/ucx.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0x3clvy716i7va4m4adgx6ihjsfnzrkdizhxz5v52944dkglpc8n"))))
(build-system gnu-build-system)
(arguments
'( ;; These are some of the flags found in 'contrib/configure-release'.
#:configure-flags (list
"--disable-static"
;; XXX: Disable optimizations specific to the build
;; machine (AVX, etc.) There's apparently no way to
;; have them picked up at load time.
"--disable-optimizations"
"--disable-logging"
"--disable-debug"
"--disable-assertions"
"--disable-params-check"
(string-append "--with-verbs="
(assoc-ref %build-inputs
"rdma-core"))
(string-append "--with-rdmacm="
(assoc-ref %build-inputs
"rdma-core")))
;; Be verbose so that compiler flags are displayed.
#:make-flags '("V=1")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(inputs
`(("numactl" ,numactl)
("rdma-core" ,rdma-core)))
(synopsis "Optimized communication layer for message passing in HPC")
(description
"Unified Communication X (UCX) provides an optimized communication layer
for message passing (MPI), portable global address space (PGAS) languages and
run-time support libraries, as well as RPC and data-centric applications.
UCX utilizes high-speed networks for inter-node communication, and shared
memory mechanisms for efficient intra-node communication.")
(home-page "https://www.openucx.org/")
(license bsd-3)
;; <ucm/bistro/bistro.h> lists only PowerPC64, AArch64, and x86_64 as
;; supported.
(supported-systems '("x86_64-linux" "aarch64-linux"))))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,20 +30,21 @@
#:use-module (gnu packages icu4c)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public fcitx
(package
(name "fcitx")
(version "4.2.9.6")
(version "4.2.9.7")
(source (origin
(method url-fetch)
(uri (string-append "http://download.fcitx-im.org/fcitx/"
name "-" version "_dict.tar.xz"))
"fcitx-" version "_dict.tar.xz"))
(sha256
(base32
"0hyrh3v82a32ylnlvzrp6cmq56x4p1a42q5xc6njmmj2msxm34x5"))))
"13vg7yzfq0vj2r8zdf9ly3n243nwwggkhd5qv3z6yqdyj0m3ncyg"))))
(build-system cmake-build-system)
(outputs '("out" "gtk2" "gtk3"))
(arguments
@ -81,6 +82,7 @@
("gtk3" ,gtk+)
("icu4c" ,icu4c)
("iso-codes" ,iso-codes)
("json-c" ,json-c)
("libxkbfile" ,libxkbfile)
("libxml2" ,libxml2)
("xkeyboard-config" ,xkeyboard-config)))
@ -99,7 +101,7 @@ built-in.")
(source (origin
(method url-fetch)
(uri (string-append "https://download.fcitx-im.org/fcitx-configtool/"
name "-" version ".tar.xz"))
"fcitx-configtool-" version ".tar.xz"))
(sha256
(base32
"1yyi9jhkwn49lx9a47k1zbvwgazv4y4z72gnqgzdpgdzfrlrgi5w"))))

View File

@ -14,6 +14,7 @@
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 Sebastian Schott <sschott@mailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -86,7 +87,7 @@
(define-public bitcoin-core
(package
(name "bitcoin-core")
(version "0.18.0")
(version "0.18.1")
(source (origin
(method url-fetch)
(uri
@ -94,15 +95,15 @@
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
"0ps0vw9iknz1b1sx74rabd1yhlxvwbd0aimjzn9hlqkvw286hkjy"))))
"15mz0gmm058gmq2gdpffbw25jpv7mksyhyfws6i7mqvrapqr6zaw"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python) ; for the tests
("util-linux" ,util-linux) ; provides the hexdump command for tests
("python" ,python) ; for the tests
("util-linux" ,util-linux) ; provides the hexdump command for tests
("qttools" ,qttools)))
(inputs
`(("bdb" ,bdb-4.8) ; Bitcoin Core requires bdb 4.8 for compatibility
`(("bdb" ,bdb-4.8) ; 4.8 required for compatibility
("boost" ,boost)
("libevent" ,libevent)
("miniupnpc" ,miniupnpc)
@ -133,7 +134,7 @@
#t))
(add-before 'check 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR")) ; Tests write to $HOME.
(setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME
#t))
(add-after 'check 'check-functional
(lambda _
@ -151,6 +152,34 @@ of the bitcoin protocol. This package provides the Bitcoin Core command
line client and a client based on Qt.")
(license license:expat)))
(define-public homebank
(package
(name "homebank")
(version "5.2.8")
(source (origin
(method url-fetch)
(uri (string-append "http://homebank.free.fr/public/homebank-"
version ".tar.gz"))
(sha256
(base32
"13ampiv68y30kc0p2560g3yz8whqpwnidfcnb9lndv93b9ca767y"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("gtk+" ,gtk+)
("libsoup" ,libsoup)))
(arguments
`(#:configure-flags (list "-without-ofx"))) ; libofx is not available yet
(home-page "http://homebank.free.fr/")
(synopsis "Graphical personal accounting application")
(description "HomeBank allows you to manage your personal accounts at
home. The seeks to be lightweight, simple and easy to use. It brings
features that allow you to analyze your finances in a detailed way instantly
and dynamically with report tools based on filtering and graphical charts.")
(license license:gpl2+)))
(define-public ledger
(package
(name "ledger")
@ -448,7 +477,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
;; the system's dynamically linked library.
(package
(name "monero")
(version "0.14.1.2")
(version "0.15.0.0")
(source
(origin
(method git-fetch)
@ -469,7 +498,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
#t))
(sha256
(base32
"00zl883c7lcd9z7g4y3vv7rxmr7ppzrxdblnhk32r9l3qzyw55r6"))))
"19y4kcj4agws7swfa3draysb1y18c3xb13r8cg0faxx1dlm0zbnr"))))
(build-system cmake-build-system)
(native-inputs
`(("doxygen" ,doxygen)
@ -542,13 +571,18 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
(invoke "tests/unit_tests/unit_tests"
(string-append "--gtest_filter=-"
excluded-unit-tests)))))
(add-after 'install 'install-librandomx
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (string-append (assoc-ref outputs "out") "/lib")))
(install-file "external/randomx/librandomx.a" lib)
#t)))
(add-after 'install 'delete-dead-links
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(delete-file (string-append out "/lib/libprotobuf.so"))
(delete-file (string-append out "/lib/libusb-1.0.so"))
#t))))))
(home-page "https://getmonero.org/")
(home-page "https://web.getmonero.org/")
(synopsis "Command-line interface to the Monero currency")
(description
"Monero is a secure, private, untraceable currency. This package provides
@ -558,7 +592,7 @@ the Monero command line client and daemon.")
(define-public monero-gui
(package
(name "monero-gui")
(version "0.14.1.2")
(version "0.15.0.0")
(source
(origin
(method git-fetch)
@ -568,7 +602,7 @@ the Monero command line client and daemon.")
(file-name (git-file-name name version))
(sha256
(base32
"1rm043r6y2mzy8pclnzbjjfxgps8pkfa2b92p66k8y8rdmgq6m1k"))))
"1shpnly2dym5jhvk8zk10p69mz062dihx979djg74q6hgkhhhqsh"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@ -670,7 +704,7 @@ the Monero command line client and daemon.")
(let ((out (assoc-ref outputs "out")))
(wrap-qt-program out "monero-wallet-gui"))
#t)))))
(home-page "https://getmonero.org/")
(home-page "https://web.getmonero.org/")
(synopsis "Graphical user interface for the Monero currency")
(description
"Monero is a secure, private, untraceable currency. This package provides
@ -1133,15 +1167,35 @@ Trezor wallet.")
(package
(inherit bitcoin-core)
(name "bitcoin-abc")
(version "0.19.8")
(version "0.20.4")
(source (origin
(method url-fetch)
(uri (string-append "https://download.bitcoinabc.org/"
version "/linux/src/bitcoin-abc-"
version "/src/bitcoin-abc-"
version ".tar.gz"))
(sha256
(base32
"0ndvkxv5m8346bdhfqzgdiz1k9wyjycj05jp7daf9pml3cw79sz5"))))
"0fld54z3l7z7k5n35rrjichjnx37j9xp0rv8i69m3x4qfj1xk2np"))))
(inputs
`(("bdb" ,bdb-5.3)
("boost" ,boost)
("libevent" ,libevent)
("miniupnpc" ,miniupnpc)
("openssl" ,openssl)
("protobuf" ,protobuf)
("qtbase" ,qtbase)))
(arguments
(substitute-keyword-arguments (package-arguments bitcoin-core)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'fix-tests
;; Disable 'check-devtools' test which tries to run a
;; python script that doesn't exist.
(lambda _
(substitute* "Makefile.in"
(("^check-local: check-devtools")
"check-local:"))
#t))))))
(home-page "https://www.bitcoinabc.org/")
(synopsis "Bitcoin ABC peer-to-peer full node for the Bitcoin Cash protocol")
(description

View File

@ -390,6 +390,10 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
(url "https://github.com/ARM-software/arm-trusted-firmware.git")
(commit (string-append "v" version))))
(file-name (git-file-name "arm-trusted-firmware" version))
(patches (search-patches
"arm-trusted-firmware-optional-bin-generation.patch"
"arm-trusted-firmware-rockchip-disable-binary.patch"
"arm-trusted-firmware-disable-hdcp.patch"))
(sha256
(base32
"1gy5qskrjy8n3kxdcm1dx8b45l5b75n0pm8pq80wl6xic1ycy24r"))))
@ -398,10 +402,16 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
`(#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
;; Remove binary blobs which do not contain source or proper license.
(add-after 'unpack 'remove-binary-blobs
(lambda _
(for-each (lambda (file)
(delete-file file))
(find-files "." ".*\\.bin$"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(bin (find-files "." ".*\\.bin$")))
(bin (find-files "." ".*\\.(bin|elf)$")))
(for-each
(lambda (file)
(install-file file out))
@ -457,6 +467,9 @@ such as:
(inherit base)
(name "arm-trusted-firmware-sun50i-a64"))))
(define-public arm-trusted-firmware-rk3328
(make-arm-trusted-firmware "rk3328"))
(define-public arm-trusted-firmware-puma-rk3399
(let ((base (make-arm-trusted-firmware "rk3399"))
;; Vendor's arm trusted firmware branch hasn't been upstreamed yet.
@ -477,6 +490,16 @@ such as:
(base32
"0vqhwqqh8h9qlkpybg2v94911091c1418bc4pnzq5fd7zf0fjkf8")))))))
(define-public arm-trusted-firmware-rk3399
(let ((base (make-arm-trusted-firmware "rk3399")))
(package
(inherit base)
(name "arm-trusted-firmware-rk3399")
(native-inputs
`(("cross32-gcc" ,(cross-gcc "arm-none-eabi"))
("cross32-binutils", (cross-binutils "arm-none-eabi"))
,@(package-native-inputs base))))))
(define-public rk3399-cortex-m0
(package
(name "rk3399-cortex-m0")

View File

@ -1000,14 +1000,31 @@ correct spacing.")
;; <https://bugs.gnu.org/32916>
(version "4.7.0")
(source (origin
(method url-fetch)
(uri (string-append "http://fontawesome.io/assets/"
name "-" version ".zip"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/FortAwesome/Font-Awesome.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1m1rfwm4sjkv10j3xd2dhwk286a5912b2zgvc692cmxi5gxs68jf"))))
"0w30y26jp8nvxa3iiw7ayl6rkza1rz62msl9xw3srvxya1c77grc"))))
(build-system font-build-system)
(home-page "http://fontawesome.io")
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(source (string-append (getcwd) "/fonts"))
(fonts (string-append out "/share/fonts")))
(for-each (lambda (file)
(install-file file (string-append fonts "/truetype")))
(find-files source "\\.(ttf|ttc)$"))
(for-each (lambda (file)
(install-file file (string-append fonts "/opentype")))
(find-files source "\\.(otf|otc)$"))
#t))))))
(home-page "https://fontawesome.com/")
(synopsis "Font that contains a rich iconset")
(description
"Font Awesome is a full suite of pictographic icons for easy scalable

View File

@ -46,6 +46,9 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages gtk)
#:use-module (gnu packages xml)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages gnome)
#:use-module (gnu packages freedesktop)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@ -53,7 +56,8 @@
#: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 (guix build-system python)
#:use-module (guix build-system meson))
(define-public freetype
(package
@ -725,3 +729,48 @@ maintain the Noto Fonts project.")
(license:non-copyleft
"file://sample_texts/attributions.txt"
"See sample_texts/attributions.txt in the distribution.")))))
(define-public fontmanager
(package
(name "fontmanager")
(version "0.7.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/FontManager/font-manager")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"16hma8rrkam6ngn5vbdaryn31vdixvii6920g9z928gylz9xkd3g"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
#:build-type "release"
#:configure-flags
(list (string-append "-Dc_link_args=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib/font-manager"))))
(native-inputs
`(("pkg-config" ,pkg-config)
("vala" ,vala)
("yelp-tools" ,yelp-tools)
("gettext" ,gettext-minimal)
("glib" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("desktop-file-utils" ,desktop-file-utils)))
(inputs
`(("json-glib" ,json-glib)
("sqlite-with-column-metadata" ,sqlite-with-column-metadata)
("fonconfig" ,fontconfig)
("freetype" ,freetype)
("gtk+" ,gtk+)))
(home-page "https://fontmanager.github.io/")
(synopsis "Simple font management for GTK+ desktop environments")
(description "Font Manager is intended to provide a way for users to
easily manage desktop fonts, without having to resort to command-line
tools or editing configuration files by hand.
While designed primarily with the GNOME Desktop Environment in mind, it should
work well with other GTK+ desktop environments.")
(license license:gpl3+)))

View File

@ -120,7 +120,7 @@ For synthesis, the compiler generates netlists in the desired format.")
(define-public yosys
(package
(name "yosys")
(version "0.8")
(version "0.9")
(source (origin
(method git-fetch)
(uri (git-reference
@ -129,7 +129,7 @@ For synthesis, the compiler generates netlists in the desired format.")
(recursive? #t))) ; for the iverilog submodule
(sha256
(base32
"1qwbp8gynlklawzvpa4gdn2x0hs8zln0s3kxjqkhfcjfxffdcpvv"))
"0lb9r055h8y1vj2z8gm4ip0v06j5mk7f9zx9gi67kkqb7g4rhjli"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet

View File

@ -15,6 +15,7 @@
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
;;; Copyright © 2019 Reza Alizadeh Majd <r.majd@pantherx.org>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -74,6 +75,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages valgrind)
@ -464,7 +466,7 @@ with localed. This package is extracted from the broader systemd package.")
(define-public packagekit
(package
(name "packagekit")
(version "1.1.11")
(version "1.1.12")
(source (origin
(method url-fetch)
(uri (string-append
@ -473,7 +475,7 @@ with localed. This package is extracted from the broader systemd package.")
"PackageKit-" version ".tar.xz"))
(sha256
(base32
"0fi6wn54y03zh5sn92nmmxkh4cd8yn44cyk0l8phw60ivfwmkh1q"))))
"00css16dv3asaxrklvyxy9dyjzhw82wmfrqxqpca9w2xryz58i8z"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
@ -615,6 +617,7 @@ applications, X servers (rootless or fullscreen) or other display servers.")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"16h57hzd688664qcyznzhjp3hxipdkzgv46x82yhkww24av8b55n"))))
@ -926,7 +929,7 @@ interfaces, based on the useradd, usermod and userdel commands.")
(define-public libmbim
(package
(name "libmbim")
(version "1.20.0")
(version "1.20.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -934,7 +937,7 @@ interfaces, based on the useradd, usermod and userdel commands.")
"libmbim-" version ".tar.xz"))
(sha256
(base32
"0rm8j4zh9gnb3yi324cnxy91gdimc1vg5gv1kxc2m5lymb3wdxrc"))))
"16q550sy84izi5ic3sbbhjnnka2fwhj8vvdrirpn9xspbsgbc3sm"))))
(build-system gnu-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums
@ -1101,14 +1104,15 @@ messaging clients such as Empathy, GNOME Shell or KDE Telepathy.")
(define-public telepathy-mission-control
(package
(name "telepathy-mission-control")
(version "5.16.4")
(source (origin
(method url-fetch)
(uri (string-append "https://telepathy.freedesktop.org/releases/"
name "/" name "-" version ".tar.gz"))
(sha256
(base32
"1jz6wwgsfxixha6ys2hbzbk5faqnj9kh2m5qdlgx5anqgandsscp"))))
(version "5.16.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://telepathy.freedesktop.org/releases/"
"telepathy-mission-control/"
"telepathy-mission-control-" version ".tar.gz"))
(sha256
(base32 "00xxv38cfdirnfvgyd56m60j0nkmsv5fz6p2ydyzsychicxl6ssc"))))
(build-system gnu-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
@ -1438,3 +1442,64 @@ encoding names are iconv-compatible.")
;; This combines code under MPL 1.1, LGPL 2.1+, and GPL 2.0+, so the
;; combination is GPL 2.0+.
(license license:gpl2+)))
(define-public udiskie
(package
(name "udiskie")
(version "1.7.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "udiskie" version))
(sha256
(base32
"121g9dkr7drv9igpdbcbkj59x15mm72rzp3198bp50zj0lr4wbvi"))
;; Remove support for the libappindicator library of the
;; Unity desktop environment which is not in Guix.
(patches (search-patches "udiskie-no-appindicator.patch"))))
(build-system python-build-system)
(native-inputs
`(("asciidoc" ,asciidoc)
("gettext" ,gettext-minimal)
("gobject-introspection" ,gobject-introspection)))
(inputs
`(("gobject-introspection" ,gobject-introspection)
("gtk+" ,gtk+)
("libnotify" ,libnotify)
("udisks" ,udisks)))
(propagated-inputs
`(("python-docopt" ,python-docopt)
("python-pygobject" ,python-pygobject)
("python-keyutils" ,python-keyutils)
("python-pyxdg" ,python-pyxdg)
("python-pyyaml" ,python-pyyaml)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-gi-typelib
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append out "/bin/udiskie")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
#t)))))
(home-page "https://github.com/coldfix/udiskie")
(synopsis "Automounter for removable media")
(description
"The @command{udiskie} program is a udisks2 front-end that allows to
manage removable media such as CDs or flash drives from userspace.
Its features include:
@itemize
@item automount removable media,
@item notifications,
@item tray icon,
@item command line tools for manual (un)mounting,
@item LUKS encrypted devices,
@item unlocking with keyfiles,
@item loop devices (mounting ISO archives),
@item password caching.
@end itemize
")
(license license:expat)))

View File

@ -27,6 +27,7 @@
(define-public fribidi
(package
(replacement fribidi/fixed)
(name "fribidi")
(version "1.0.7")
(source
@ -47,3 +48,10 @@ Algorithm. This algorithm is used to properly display text in left-to-right
or right-to-left ordering as necessary.")
(home-page "https://github.com/fribidi/fribidi")
(license lgpl2.1+)))
(define fribidi/fixed
(package
(inherit fribidi)
(source
(origin (inherit (package-source fribidi))
(patches (search-patches "fribidi-CVE-2019-18397.patch"))))))

View File

@ -2,6 +2,7 @@
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -35,15 +36,15 @@
(define-public fvwm
(package
(name "fvwm")
(version "2.6.8")
(version "2.6.9")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/fvwmorg/fvwm/releases/download/"
version "/" name "-" version ".tar.gz"))
version "/fvwm-" version ".tar.gz"))
(sha256
(base32
"0hgkkdzcqjnaabvv9cnh0bz90nnjskbhjg9qnzpi2x0mbliwjdpv"))))
"1bliqcnap7vb3m2rn8wvxyfhbf35h9x34s41fl4301yhrkrlrihv"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -15,6 +15,7 @@
;;; Copyright © 2017, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
;;;
;;; This file is part of GNU Guix.
;;;
@ -445,7 +446,7 @@ support.")
(define-public tiled
(package
(name "tiled")
(version "1.2.4")
(version "1.2.5")
(source (origin
(method git-fetch)
(uri (git-reference
@ -454,7 +455,7 @@ support.")
(file-name (git-file-name name version))
(sha256
(base32
"04v738h298pvcwb70mwd1r2yj7578f6gkfzs0165j9fqy7avwm18"))))
"14v2zfka2y3h0r0biw1rl59585lji5074x958s4xnb352jm5h9b9"))))
(build-system gnu-build-system)
(inputs
`(("qtbase" ,qtbase)
@ -622,14 +623,14 @@ archive on a per-file basis.")
(define-public love
(package
(name "love")
(version "11.1")
(version "11.3")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/rude/love/downloads/"
"love-" version "-linux-src.tar.gz"))
(sha256
(base32
"1pkwiszmjs0xrwk0wqbc5cp9108b1y8gwsid0gqk1s0x09q9lpmw"))))
"0m8lvlabmcchskx4qpzkdlsm44360f3j0q3vvvj2388cfnvhv7v4"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -971,6 +972,329 @@ to create fully featured games and multimedia programs in the python language.")
(define-public python2-pygame
(package-with-python2 python-pygame))
(define-public python2-pygame-sdl2
(let ((real-version "2.1.0")
(renpy-version "7.3.5"))
(package
(inherit python2-pygame)
(name "python2-pygame-sdl2")
(version (string-append real-version "-for-renpy-" renpy-version))
(source
(origin
(method url-fetch)
(uri (string-append "https://www.renpy.org/dl/" renpy-version
"/pygame_sdl2-" version ".tar.gz"))
(sha256 (base32 "1bmr7j9mlsc4czpgw70ld15ymyp4wxrk9hdsqad40wjwdxvvg2dr"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; tests require pygame to be installed first
#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-after 'set-paths 'set-sdl-vars
(lambda* (#:key inputs #:allow-other-keys)
(setenv "PYGAME_SDL2_CFLAGS"
(string-append "-I"
(assoc-ref inputs "sdl-union")
"/include/SDL2 -D_REENTRANT"))
(setenv "PYGAME_SDL2_LDFLAGS"
(string-append "-L"
(assoc-ref inputs "sdl-union")
"/lib -Wl,-rpath,"
(assoc-ref inputs "sdl-union")
"/lib -Wl,--enable-new-dtags -lSDL2"))
#t))
(add-before 'build 'drop-generated-files
(lambda args
(delete-file-recursively "gen")
(delete-file-recursively "gen3")
#t)))))
(inputs
`(("sdl-union"
,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))))
(native-inputs
`(("python2-cython" ,python2-cython)))
(home-page "http://www.renpy.org/")
(synopsis "Reimplementation of the Pygame API using SDL2")
(description "Pygame_SDL2 reimplements the Pygame API using SDL2,
staying close to the original, but also adding some SDL2-specific features.
While it aims to be used as a drop-in replacement, it appears to be
developed mainly for Ren'py.")
(license (list license:lgpl2.1 license:zlib)))))
(define-public python2-renpy
(package
(name "python2-renpy")
(version "7.3.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.renpy.org/dl/" version
"/renpy-" version "-source.tar.bz2"))
(sha256 (base32 "1anr5cfbvbsbik4v4rvrkdkciwhg700k4lydfbs4n85raimz9mw4"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; Ren'py doesn't seem to package tests
#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-commands
(lambda _
(substitute* "renpy/editor.py"
(("xdg-open")
(which "xdg-open")))
#t))
(add-after 'set-paths 'set-build-vars
(lambda* (#:key inputs #:allow-other-keys)
(setenv "RENPY_CYTHON"
(string-append (assoc-ref inputs "python2-cython")
"/bin/cython"))
(setenv "RENPY_DEPS_INSTALL" (string-join (map cdr inputs) ":"))
#t))
(replace 'build
(lambda args
(apply
(lambda* (build-root #:key inputs outputs #:allow-other-keys)
;; The "module" subdirectory contains a python (really cython)
;; project, which is built using a script, that is thankfully
;; named "setup.py".
(chdir "module")
(apply (assoc-ref %standard-phases 'build) args)
;; the above causes renpy.__init__ to be compiled but does not
;; compile anything else, hence we do that here
(chdir build-root)
(delete-file "renpy/__init__.pyc")
(invoke "python" "-m" "compileall" "renpy"))
(getcwd) args)
#t))
(replace 'install
(lambda args
(apply
(lambda* (build-root #:key inputs outputs #:allow-other-keys)
;; Again, we have to wrap the module installation.
;; Additionally, we want to install the python code
;; (both source and compiled) in the same directory.
(let* ((out (assoc-ref outputs "out"))
(site (string-append "/lib/python"
,(version-major+minor
(package-version python-2))
"/site-packages")))
(chdir "module")
(apply (assoc-ref %standard-phases 'install) args)
(chdir build-root)
(copy-recursively "renpy"
(string-append out site "/renpy"))))
(getcwd) args)
#t)))))
(inputs
`(("ffmpeg" ,ffmpeg)
("freetype" ,freetype)
("glew" ,glew)
("libpng" ,libpng)
("python2-pygame" ,python2-pygame-sdl2)
("sdl-union"
,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))))
(native-inputs
`(("python2-cython" ,python2-cython)
("xdg-utils" ,xdg-utils)))
(home-page "http://www.renpy.org/")
(synopsis "Ren'py python module")
(description "This package contains the shared libraries and Python
modules of Ren'py.")
(license license:expat)))
(define-public renpy
(package
(inherit python2-renpy)
(name "renpy")
(version "7.3.5")
(build-system python-build-system)
(arguments
`(#:tests? #f ; see python2-renpy
#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-commands
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "launcher/game/choose_directory.rpy"
(("/usr/bin/python") (which "python2")))
(substitute* "launcher/game/front_page.rpy"
(("xdg-open")
(which "xdg-open")))
(substitute* "launcher/game/project.rpy"
(("cmd = \\[ executable, \"-EO\", sys.argv\\[0\\] \\]")
(string-append "cmd = [ \"" (assoc-ref outputs "out")
"/bin/renpy\" ]"))
;; Projects are still created in the usual style, so we need
;; to adjust the path.
(("cmd.append\\(self.path\\)")
"cmd.append(self.path + \"/game\")"))
#t))
(add-after 'unpack 'drop-game-from-paths
(lambda _
(substitute* (list "launcher/game/gui7.rpy"
"launcher/game/gui7/images.py")
((", \"game\",") ","))
#t))
(add-before 'build 'start-xserver
(lambda* (#:key inputs #:allow-other-keys)
(let ((xorg-server (assoc-ref inputs "xorg-server")))
(setenv "HOME" (getcwd))
(system (format #f "~a/bin/Xvfb :1 &" xorg-server))
(setenv "DISPLAY" ":1")
#t)))
(replace 'build
(lambda _
(invoke "python" "renpy.py" "launcher" "quit")
(invoke "python" "renpy.py" "the_question" "quit")
(invoke "python" "renpy.py" "tutorial" "quit")
#t))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Here we install our custom renpy program.
;; After finishing this step, "out" will have the following:
;; |-- bin/renpy
;; `-- share/renpy ; i.e. path_to_renpy_base()
;; `-- common
;;
;; Note that common is also a de facto unused directory in
;; python2-renpy. On other systems, renpy_base would point to
;; site-packages or even somewhere in /opt.
;; The former approach is not as straightforward as it seems
;; -- it causes renpy to load files twice for some weird reason --
;; and the latter is impossible on Guix. Hence the detour through
;; share/renpy and the custom renpy program.
;;
;; As a convention, other games should be installed as
;; subdirectories of share/renpy in their respective outputs as
;; well. This differs from the traditional layout, which is
;; roughly the following:
;; `-- Super Awesome Game
;; |-- game ; <- the folder we actually want
;; |-- lib ; compiled renpy module and dependencies
;; |-- renpy ; Ren'py python code (source + compiled)
;; |-- Super Awesome Game.py
;; `-- Super Awesome Game.sh
(let* ((out (assoc-ref outputs "out"))
(bin/renpy (string-append out "/bin/renpy")))
(mkdir-p (string-append out "/bin"))
(copy-recursively "renpy/common"
(string-append out "/share/renpy/common"))
(copy-recursively "gui"
(string-append out "/share/renpy/gui"))
(call-with-output-file bin/renpy
(lambda (port)
(format port "#!~a~%" (which "python2"))
(format port "
from __future__ import print_function
import os
import sys
import warnings
def path_to_common(renpy_base):
return renpy_base + \"/common\"
def path_to_saves(gamedir, save_directory=None):
import renpy # @UnresolvedImport
if save_directory is None:
save_directory = renpy.config.save_directory
save_directory = renpy.exports.fsencode(save_directory)
if not save_directory:
return gamedir + \"/saves\"
return os.path.expanduser(\"~~/.renpy/\" + save_directory)
def path_to_renpy_base():
return \"~a\"
def main():
renpy_base = path_to_renpy_base()
try:
import renpy.bootstrap
import renpy.arguments
except ImportError:
print(\"\"\"Could not import renpy.bootstrap.
Please ensure you decompressed Ren'Py correctly, preserving the directory
structure.\"\"\", file=sys.stderr)
raise
args = renpy.arguments.bootstrap()
if not args.basedir:
print(\"\"\"This Ren'py requires a basedir to launch.
The basedir is the directory, in which .rpy files live -- usually the 'game'
subdirectory of a game packaged by Ren'py.
If you want the Ren'py launcher, use renpy-launcher instead.\"\"\",
file=sys.stderr)
sys.exit()
renpy.bootstrap.bootstrap(renpy_base)
if __name__ == \"__main__\":
main()
"
(string-append out "/share/renpy"))))
(chmod bin/renpy #o755)
#t)))
(add-after 'install 'install-games
(lambda* (#:key outputs #:allow-other-keys)
(define renpy (assoc-ref outputs "out"))
;; TODO: We should offer a renpy-build-system to make the
;; installation of Ren'py games easier.
(define* (install-renpy-game #:key output game name (renpy renpy)
#:allow-other-keys)
(let* ((name (or name (basename game)))
(launcher (string-append output "/bin/renpy-" name))
(share (string-append output "/share/renpy/" name)))
(copy-recursively (string-append game "/game") share)
(mkdir-p (string-append output "/bin"))
(with-output-to-file launcher
(lambda ()
(format #t
"#!~a~%~a ~a \"$@\""
(which "bash")
(string-append renpy "/bin/renpy")
share)))
(chmod launcher #o755)))
(install-renpy-game #:output (assoc-ref outputs "out")
#:game "launcher")
(install-renpy-game #:output (assoc-ref outputs "the-question")
#:game "the_question"
#:name "the-question")
(install-renpy-game #:output (assoc-ref outputs "tutorial")
#:game "tutorial")
#t))
(replace 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
"/bin/renpy")
`("PYTHONPATH" = (,(getenv "PYTHONPATH"))))
#t)))))
(inputs
`(("python2-tkinter" ,python-2 "tk")
("python2-pygame" ,python2-pygame-sdl2)
("python2-renpy" ,python2-renpy)
("xorg-server" ,xorg-server)))
(outputs
(list "out" "tutorial" "the-question"))
(home-page "http://www.renpy.org/")
(synopsis "Visual Novel Engine")
(description "Ren'Py is a visual novel engine that helps you use words,
images, and sounds to tell interactive stories that run on computers and
mobile devices. These can be both visual novels and life simulation games.
The easy to learn script language allows anyone to efficiently write large
visual novels, while its Python scripting is enough for complex simulation
games.")
(license license:expat)))
(define-public grafx2
(package
(name "grafx2")
@ -1527,7 +1851,7 @@ projects.")
(define-public openvr
(package
(name "openvr")
(version "1.4.18")
(version "1.8.19")
(home-page "https://github.com/ValveSoftware/openvr/")
(source
(origin
@ -1537,8 +1861,7 @@ projects.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0m92634j6g0f2xybbzklm79cnq20vidbk1jc62pnz12aabwixvyh"))))
(base32 "1b8cppvw6ib0kvx0vjq7jsk3plg1vh171w8xr230vjn05381wp52"))))
(build-system cmake-build-system)
(arguments
;; No tests.

View File

@ -2,7 +2,7 @@
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2016 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
;;; Copyright © 2014, 2015, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
@ -44,6 +44,7 @@
;;; Copyright © 2019 Dan Frumin <dfrumin@cs.ru.nl>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw>
;;;
;;; This file is part of GNU Guix.
;;;
@ -499,7 +500,7 @@ tired of cows, a variety of other ASCII-art messengers are available.")
(define-public freedoom
(package
(name "freedoom")
(version "0.11.3")
(version "0.12.1")
(source
(origin
(method git-fetch)
@ -508,38 +509,19 @@ tired of cows, a variety of other ASCII-art messengers are available.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0k4dlgr82qk6i7dchp3nybq6awlfag2ivy3zzl1v6vhcrnbvssgl"))))
(base32 "1mq60lfwaaxmch7hsz8403pwafnlsmsd5z2df2j77ppwndwcrypb"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags
(list (string-append "prefix=" (assoc-ref %outputs "out")))
#:parallel-build? #f
#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(delete 'bootstrap)
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((dejavu (assoc-ref inputs "font-dejavu"))
(freedoom (assoc-ref outputs "out"))
(let* ((freedoom (assoc-ref outputs "out"))
(wad-dir (string-append freedoom "/share/games/doom")))
;; Replace the font-searching function in a shell
;; script with a direct path to the required font.
;; This is necessary because ImageMagick can only find the
;; most basic fonts while in the build environment.
(substitute* "graphics/titlepic/create_caption"
(("font=\\$\\(find_font.*$")
(string-append
"font=" dejavu
"/share/fonts/truetype/DejaVuSansCondensed-Bold.ttf\n")))
;; Make icon creation reproducible.
(substitute* "dist/Makefile"
(("freedm.png")
"-define png:exclude-chunks=date freedm.png")
(("freedoom1.png")
"-define png:exclude-chunks=date freedoom1.png")
(("freedoom2.png")
"-define png:exclude-chunks=date freedoom2.png"))
;; Make sure that the install scripts know where to find
;; the appropriate WAD files.
(substitute* "dist/freedoom"
@ -553,11 +535,8 @@ tired of cows, a variety of other ASCII-art messengers are available.")
(native-inputs
`(("asciidoc" ,asciidoc)
("deutex" ,deutex)
("font-dejavu" ,font-dejavu)
("imagemagick" ,imagemagick)
("python" ,python-2)))
(inputs
`(("prboom-plus" ,prboom-plus)))
("python" ,python)
("python-pillow" ,python-pillow)))
(home-page "https://freedoom.github.io/")
(synopsis "Free content game based on the Doom engine")
(native-search-paths
@ -1437,14 +1416,23 @@ fight Morgoth, the Lord of Darkness.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Pingus/pingus.git")
(url "https://gitlab.com/pingus/pingus.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0wp06kcmknsnxz7bjnsndb8x062z7r23fb3yrnbfnj68qhz18y74"))
(patches (search-patches "pingus-boost-headers.patch"
"pingus-sdl-libs-config.patch"))))
"pingus-sdl-libs-config.patch"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "src/pingus/screens/demo_session.cpp"
(("#include <iostream>")
;; std::function moved to <functional> with C++ 11.
;; Remove this for versions newer than 0.7.6.
"#include <iostream>\n#include <functional>"))
#t))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("scons-python2" ,scons-python2)))
@ -1854,7 +1842,7 @@ match, cannon keep, and grave-itation pit.")
(define minetest-data
(package
(name "minetest-data")
(version "5.0.1")
(version "5.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1863,7 +1851,7 @@ match, cannon keep, and grave-itation pit.")
(file-name (git-file-name name version))
(sha256
(base32
"1hw3n7qqpasq6bivxhq01kr0d58w0gp46s0baxixp1fakd79p8a7"))))
"1r9fxz2j24q74a9injvbxbf2xk67fzabv616i676zw2cvgv9hn39"))))
(build-system trivial-build-system)
(native-inputs
`(("source" ,source)))
@ -1888,7 +1876,7 @@ match, cannon keep, and grave-itation pit.")
(define-public minetest
(package
(name "minetest")
(version "5.0.1")
(version "5.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1897,7 +1885,7 @@ match, cannon keep, and grave-itation pit.")
(file-name (git-file-name name version))
(sha256
(base32
"11i8fqjpdggqfdlx440k5758zy0nbf9phxan9r63mavc7mph88ay"))
"184n9gxfa7yr0j85z2x736maaymsnppd5jzm326wlqri3c0qqy3z"))
(modules '((guix build utils)))
(snippet
'(begin
@ -2594,24 +2582,14 @@ world}, @uref{http://evolonline.org, Evol Online} and
(define openttd-engine
(package
(name "openttd-engine")
(version "1.8.0")
(version "1.9.3")
(source
(origin (method url-fetch)
(uri (string-append "http://binaries.openttd.org/releases/"
(uri (string-append "https://proxy.binaries.openttd.org/openttd-releases/"
version "/openttd-" version "-source.tar.xz"))
(patches
(list
(origin (method url-fetch)
(uri (string-append
"https://github.com/OpenTTD/OpenTTD/commit/"
"19076c24c1f3baf2a22d1fa832d5688216cf54a3.patch"))
(file-name "openttd-fix-compilation-with-ICU-61.patch")
(sha256
(base32
"02d1xmb75yv4x6rfnvxk3vvq4l3lvvwr2pfsdzn7lzalic51ziqh")))))
(sha256
(base32
"0zq8xdg0k92p3s4j9x76591zaqz7k9ra69q008m209vdfffjvly2"))
"0ijq72kgx997ggw40i5f4a3nf7y2g72z37l47i18yjvgbdzy320r"))
(modules '((guix build utils)))
(snippet
;; The DOS port contains proprietary software.
@ -2656,7 +2634,7 @@ Tycoon Deluxe with many enhancements including multiplayer mode,
internationalization support, conditional orders and the ability to clone,
autoreplace and autoupdate vehicles. This package only includes the game
engine. When you start it you will be prompted to download a graphics set.")
(home-page "http://openttd.org/")
(home-page "https://www.openttd.org/")
;; This package is GPLv2, except for a few files located in
;; "src/3rdparty/" which are under the 3-clause BSD, LGPLv2.1+ and Zlib
;; licenses. In addition, this software contains an in-game downloader
@ -2667,7 +2645,7 @@ engine. When you start it you will be prompted to download a graphics set.")
(define openttd-opengfx
(package
(name "openttd-opengfx")
(version "0.5.2")
(version "0.5.5")
(source
(origin
(method url-fetch)
@ -2675,7 +2653,7 @@ engine. When you start it you will be prompted to download a graphics set.")
version "/opengfx-" version "-source.tar.xz"))
(sha256
(base32
"0iz66q7p1mf00njfjbc4vibh3jaybki7armkl18iz7p6x4chp9zv"))))
"009fa1bdin1bk0ynzhzc30hzkmmwzmwkk6j591ax3f6w75l28n49"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc"
@ -2910,7 +2888,7 @@ Transport Tycoon Deluxe.")
(define-public openrct2
(package
(name "openrct2")
(version "0.2.3")
(version "0.2.4")
(source
(origin
(method git-fetch)
@ -2919,7 +2897,7 @@ Transport Tycoon Deluxe.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01mj6jlbl2cn3wpk6sy34ldzdl0qykpn7fncznjykklj2nqzr4ig"))))
(base32 "1rlw3w20llg36sj3bk50g661qw766ng8ma3p42sdkj8br9dw800h"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DDOWNLOAD_OBJECTS=OFF"
@ -4755,7 +4733,7 @@ fish. The whole game is accompanied by quiet, comforting music.")
(define-public crawl
(package
(name "crawl")
(version "0.23.2")
(version "0.24.0")
(source
(origin
(method url-fetch)
@ -4768,7 +4746,7 @@ fish. The whole game is accompanied by quiet, comforting music.")
(string-append "http://crawl.develz.org/release/stone_soup-"
version "-nodeps.tar.xz")))
(sha256
(base32 "1hw10hqhh688mrqs9vxrl17y1dzfjzsmxz6izg1a9dzmjlhrc01a"))
(base32 "0kdq6s12myxfdg75ma9x3ys2nd0xwb3xm2ynlmhg4628va0pnixr"))
(patches (search-patches "crawl-upgrade-saves.patch"))))
(build-system gnu-build-system)
(inputs
@ -5158,7 +5136,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as
(define-public tome4
(package
(name "tome4")
(version "1.5.10")
(version "1.6.0")
(synopsis "Single-player, RPG roguelike game set in the world of Eyal")
(source
(origin
@ -5167,7 +5145,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as
version ".tar.bz2"))
(sha256
(base32
"0mc5dgh2x9nbili7gy6srjhb23ckalf08wqq2amyjr5rq392jvd7"))
"1z1w4ycgl5wbm0sv7577vcdfwwf4k7vaf2njzyb21rvqjizpbkwr"))
(modules '((guix build utils)))
(snippet
'(begin
@ -5508,7 +5486,7 @@ elements to achieve a simple goal in the most complex way possible.")
(define-public pioneer
(package
(name "pioneer")
(version "20180203")
(version "20190203")
(source (origin
(method git-fetch)
(uri (git-reference
@ -5517,16 +5495,15 @@ elements to achieve a simple goal in the most complex way possible.")
(file-name (git-file-name name version))
(sha256
(base32
"0hp2mf36kj2v93hka8m8lxw2qhmnjc62wjlpw7c7ix0r8xa01i6h"))))
(build-system gnu-build-system)
"1g34wvgyvz793dhm1k64kl82ib0cavkbg0f2p3fp05b457ycljff"))))
(build-system cmake-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
`(("pkg-config" ,pkg-config)))
(inputs
`(("assimp" ,assimp)
("curl" ,curl)
("freetype" ,freetype)
("glew" ,glew)
("glu" ,glu)
("libpng" ,libpng)
("libsigc++" ,libsigc++)
@ -5536,16 +5513,9 @@ elements to achieve a simple goal in the most complex way possible.")
("sdl" ,(sdl-union (list sdl2 sdl2-image)))))
(arguments
`(#:tests? #f ;tests are broken
#:configure-flags (list "--with-external-liblua"
(string-append "PIONEER_DATA_DIR="
%output "/share/games/pioneer"))
#:phases (modify-phases %standard-phases
(add-before 'bootstrap 'fix-lua-check
(lambda _
(substitute* "configure.ac"
(("lua5.2")
(string-append "lua-" ,(version-major+minor
(package-version lua-5.2))))))))))
#:configure-flags (list "-DUSE_SYSTEM_LIBLUA:BOOL=YES"
(string-append "-DPIONEER_DATA_DIR="
%output "/share/games/pioneer"))))
(home-page "http://pioneerspacesim.net")
(synopsis "Game of lonely space adventure")
(description

View File

@ -672,6 +672,10 @@ as the 'native-search-paths' field."
(custom-gcc gcc-8 "gfortran" '("fortran")
%generic-search-paths))
(define-public gfortran-9
(custom-gcc gcc-9 "gfortran" '("fortran")
%generic-search-paths))
(define-public gfortran
;; Note: Update this when GCC changes! We cannot use
;; (custom-gcc gcc "fortran" …) because that would lead to a package object

View File

@ -38,7 +38,7 @@
(define-public gramps
(package
(name "gramps")
(version "5.0.2")
(version "5.1.1")
(source
(origin
(method git-fetch)
@ -48,13 +48,14 @@
(file-name (git-file-name name version))
(sha256
(base32
"0wg743q8ixy5dmwricgkl4zck4109vq5ppmkyi18qjmna9m0aq7r"))))
"1zrvr543zzsiapda75vdd2669fgijmx4cv7nfj5d1jsyz4qnif7b"))))
(build-system python-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
("intltool" ,intltool)))
(inputs
`(("font-gnu-freefont-ttf" ,font-gnu-freefont-ttf)
`(("cairo" ,cairo)
("font-gnu-freefont-ttf" ,font-gnu-freefont-ttf)
("geocode-glib" ,geocode-glib)
("gexiv2" ,gexiv2)
("ghostscript" ,ghostscript)

View File

@ -6,9 +6,10 @@
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018, 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -26,6 +27,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages geo)
#:use-module (guix build-system ant)
#:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
@ -36,6 +38,7 @@
#:use-module (guix build-system r)
#: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)
@ -54,6 +57,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages java)
#:use-module (gnu packages lua)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
@ -122,6 +126,12 @@ topology functions.")
`(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
(substitute* "meson_post_install.py"
(("gtk-update-icon-cache") "true"))
#t))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
@ -151,8 +161,7 @@ topology functions.")
,geocode-glib-path)))
#t))))))
(native-inputs
`(("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
("gobject-introspection" ,gobject-introspection)
`(("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(inputs
@ -634,14 +643,14 @@ utilities for data translation and processing.")
(define-public postgis
(package
(name "postgis")
(version "2.4.4")
(version "2.4.8")
(source (origin
(method url-fetch)
(uri (string-append "https://download.osgeo.org/postgis/source/postgis-"
version ".tar.gz"))
(sha256
(base32
"1hm8migjb53cymp4qvg1h20yqllmy9f7x0awv5450391i6syyqq6"))))
"0nanza15xzfhbpbq49p1xqz96dgbsam5332y9zj6snmz2mq685ll"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
@ -997,3 +1006,210 @@ XyGrib is the continuation of the zyGrib software package with a new team of
volunteers.")
(home-page "https://opengribs.org")
(license license:gpl3+)))
(define-public libspatialindex
(package
(name "libspatialindex")
(version "1.8.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.osgeo.org/libspatialindex/"
"spatialindex-src-" version ".tar.gz"))
(sha256
(base32
"1vxzm7kczwnb6qdmc0hb00z8ykx11zk3sb68gc7rch4vrfi4dakw"))))
(build-system gnu-build-system)
(home-page "https://libspatialindex.org")
(synopsis "Spatial indexing library")
(description "The purpose of this library is to provide:
@itemize
@item An extensible framework that will support robust spatial indexing
methods.
@item Support for sophisticated spatial queries. Range, point location,
nearest neighbor and k-nearest neighbor as well as parametric queries (defined
by spatial constraints) should be easy to deploy and run.
@item Easy to use interfaces for inserting, deleting and updating information.
@item Wide variety of customization capabilities. Basic index and storage
characteristics like the page size, node capacity, minimum fan-out, splitting
algorithm, etc. should be easy to customize.
@item Index persistence. Internal memory and external memory structures
should be supported. Clustered and non-clustered indices should be easy to be
persisted.
@end itemize
")
(license license:expat)))
(define-public java-jmapviewer
(package
(name "java-jmapviewer")
(version "2.12")
(source (origin
(method url-fetch)
(uri (string-append "https://svn.openstreetmap.org/applications/"
"viewer/jmapviewer/releases/" version
"/JMapViewer-" version "-Source.zip"))
(sha256
(base32
"08hbqsbs859v4m5d90560fdifavd1apnpz9v9iry1v31dsvy5707"))))
(build-system ant-build-system)
(native-inputs
`(("unzip" ,unzip)))
(arguments
`(#:build-target "pack"
#:tests? #f; No tests
#:phases
(modify-phases %standard-phases
(add-before 'build 'clean
(lambda* _
(invoke "ant" "clean")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((dir (string-append (assoc-ref outputs "out") "/share/java/")))
(mkdir-p dir)
(copy-file "JMapViewer.jar" (string-append dir "JMapViewer.jar"))))))))
(home-page "https://wiki.openstreetmap.org/wiki/JMapViewer")
(synopsis "OSM map integration in Java")
(description "JMapViewer is a Java component which allows to easily
integrate an OSM map view into your Java application. It is maintained as
an independent project by the JOSM team.")
(license license:gpl2)))
(define-public josm
(package
(name "josm")
(version "15492")
(source (origin
(method svn-fetch)
(uri (svn-reference
(url "https://josm.openstreetmap.de/svn/trunk")
(revision (string->number version))
(recursive? #f)))
(sha256
(base32
"12xkwcv77as30a61w1c8a0i2b0kiiks71d487gbdfv7azlj4vqia"))
(file-name (string-append name "-" version "-checkout"))
(modules '((guix build utils)))
(snippet
'(begin
(for-each delete-file (find-files "." ".*.jar$"))
#t))))
(build-system ant-build-system)
(native-inputs
`(("javacc" ,javacc)))
(inputs
`(("java-commons-jcs" ,java-commons-jcs)
("java-commons-compress" ,java-commons-compress)
("java-jmapviewer" ,java-jmapviewer)
("java-jsonp-api" ,java-jsonp-api)
("java-jsonp-impl" ,java-jsonp-impl); runtime dependency
("java-metadata-extractor" ,java-metadata-extractor)
("java-openjfx-media" ,java-openjfx-media)
("java-signpost-core" ,java-signpost-core)
("java-svg-salamander" ,java-svg-salamander)))
(arguments
`(#:tests? #f
#:jar-name "josm.jar"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'rm-build.xml
(lambda* _
(delete-file "build.xml")
#t))
(add-before 'build 'fix-revision
(lambda* _
(with-output-to-file "REVISION.XML"
(lambda _
(display
(string-append "<info><entry><commit revision=\"" ,version "\">"
"<date>1970-01-01 00:00:00 +0000</date>"
"</commit></entry></info>"))))
#t))
(add-before 'build 'fix-classpath
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CLASSPATH"
(string-join
(filter
(lambda (s)
(let ((source (assoc-ref inputs "source")))
(not (equal? (substring s 0 (string-length source)) source))))
(string-split (getenv "CLASSPATH") #\:))
":"))
#t))
(add-before 'build 'generate-parser
(lambda* _
(let* ((dir "src/org/openstreetmap/josm/gui/mappaint/mapcss")
(out (string-append dir "/parsergen"))
(file (string-append dir "/MapCSSParser.jj")))
(mkdir-p "src/org/openstreetmap/josm/gui/mappaint/mapcss/parsergen")
(invoke "javacc" "-DEBUG_PARSER=false"
"-DEBUG_TOKEN_MANAGER=false" "-JDK_VERSION=1.8"
"-GRAMMAR_ENCODING=UTF-8"
(string-append "-OUTPUT_DIRECTORY=" out)
file))
#t))
(add-after 'build 'generate-epsg
(lambda _
(system* "javac" "scripts/BuildProjectionDefinitions.java"
"-cp" "build/classes")
(mkdir-p "data/projection")
(with-output-to-file "data/projection/custom-epsg"
(lambda _ (display "")))
(invoke "java" "-cp" "build/classes:scripts:."
"BuildProjectionDefinitions" ".")
#t))
(add-after 'generate-epsg 'copy-data
(lambda _
(mkdir-p "build/classes")
(rename-file "data" "build/classes/data")
#t))
(add-before 'install 'regenerate-jar
(lambda _
;; We need to regenerate the jar file to add data.
(delete-file "build/jar/josm.jar")
(invoke "jar" "-cf" "build/jar/josm.jar" "-C"
"build/classes" ".")
#t))
(add-before 'build 'copy-styles
(lambda _
(mkdir-p "build/classes")
(rename-file "styles" "build/classes/styles")
#t))
(add-before 'build 'copy-images
(lambda _
(mkdir-p "build/classes")
(rename-file "images" "build/classes/images")
#t))
(add-before 'build 'copy-revision
(lambda _
(mkdir-p "build/classes")
(with-output-to-file "build/classes/REVISION"
(lambda _
(display
(string-append "Revision: " ,version "\n"
"Is-Local-Build: true\n"
"Build-Date: 1970-01-01 00:00:00 +0000\n"))))
#t))
(add-after 'install 'install-bin
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(mkdir-p bin)
(with-output-to-file (string-append bin "/josm")
(lambda _
(display
(string-append "#!/bin/sh\n"
(assoc-ref inputs "jdk") "/bin/java"
" -cp " out "/share/java/josm.jar:"
(getenv "CLASSPATH")
" org.openstreetmap.josm.gui.MainApplication"))))
(chmod (string-append bin "/josm") #o755))
#t)))))
(home-page "https://josm.openstreetmap.de")
(synopsis "OSM editor")
(description "JOSM is an extensible editor for OpenStreetMap (OSM). It
supports loading GPX tracks, background imagery and OSM data from local
sources as well as from online sources and allows to edit the OSM data (nodes,
ways, and relations) and their metadata tags.")
(license license:gpl2+)))

View File

@ -7,7 +7,7 @@
;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Miguel <rosen644835@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -179,14 +179,14 @@ color, font attributes (weight, posture), or underlining.")
(define-public po4a
(package
(name "po4a")
(version "0.56")
(version "0.57")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mquinson/po4a/releases/download/v"
version "/po4a-" version ".tar.gz"))
(sha256
(base32
"0kyhww0yw4q0m4vj8vil2wsf6sn4hidh8mqz2gjrq7gpdf83cmnr"))))
"15yd27krlpdvjhcnwys6i5k1ww62ifq2yx8k1zxyxiwy84myqmdv"))))
(build-system perl-build-system)
(arguments
`(#:phases

View File

@ -29,6 +29,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
@ -49,22 +50,30 @@
(define-public babl
(package
(name "babl")
(version "0.1.66")
(version "0.1.72")
(source (origin
(method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/babl/"
(version-major+minor version)
"/babl-" version ".tar.bz2")
"/babl-" version ".tar.xz")
(string-append "https://ftp.gtk.org/pub/babl/"
(version-major+minor version)
"/babl-" version ".tar.bz2")
"/babl-" version ".tar.xz")
(string-append "ftp://ftp.gtk.org/pub/babl/"
(version-major+minor version)
"/babl-" version ".tar.bz2")))
"/babl-" version ".tar.xz")))
(sha256
(base32
"0qx1dwbinxihwl2lmxi60qiqi402jlrdcnixx14kk6j88n9xi79n"))))
(build-system gnu-build-system)
"0hkagjrnza77aasa1kss5hvy37ndm50y6i7hkdn2z8hzgc4i3qb4"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
(list "-Denable-gir=false")))
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
;; Propagated to satisfy babl.pc.
`(("lcms" ,lcms)))
(home-page "http://gegl.org/babl/")
(synopsis "Image pixel format conversion library")
(description
@ -80,18 +89,25 @@ provided, as well as a framework to add new color models and data types.")
(define-public gegl
(package
(name "gegl")
(version "0.4.16")
(version "0.4.18")
(source (origin
(method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/gegl/"
(string-take version 3)
"/gegl-" version ".tar.bz2")))
"/gegl-" version ".tar.xz")
(string-append "https://ftp.gtk.org/pub/gegl/"
(version-major+minor version)
"/gegl-" version ".tar.xz")
(string-append "ftp://ftp.gtk.org/pub/gegl/"
(version-major+minor version)
"/gegl-" version ".tar.xz")))
(sha256
(base32
"0njydcr6qdmfzh4fxx544681qxdpf7y6b2f47jcypn810dlxy4h1"))))
(build-system gnu-build-system)
"0r6akqnrkvxizyhyi8sv40mxm7j4bcwjb6mqjpxy0zzbbfsdyin9"))))
(build-system meson-build-system)
(arguments
'(#:configure-flags '("LDFLAGS=-lm")))
`(#:configure-flags
(list "-Dintrospection=false")))
;; These are propagated to satisfy 'gegl-0.4.pc'.
(propagated-inputs
`(("babl" ,babl)
@ -118,7 +134,7 @@ buffers.")
(define-public gimp
(package
(name "gimp")
(version "2.10.12")
(version "2.10.14")
(source (origin
(method url-fetch)
(uri (string-append "https://download.gimp.org/pub/gimp/v"
@ -126,7 +142,7 @@ buffers.")
"/gimp-" version ".tar.bz2"))
(sha256
(base32
"0wdcr8d2ink4swn5r4v13bsiya6s3xm4ya97sdbhs4l40y7bb03x"))))
"0m6wdnfvsxyhimdd4v3351g4r1fklllnbipbwcfym3h7q88hz6yz"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 9 MiB of gtk-doc HTML

View File

@ -199,7 +199,10 @@ shared NFS home directories.")
("perl" ,perl) ; needed by GIO tests
("tzdata" ,tzdata-for-tests))) ; for tests/gdatetime.c
(arguments
`(#:phases
`(;; TODO: Uncomment on the next rebuild cycle.
;; #:disallowed-references (,tzdata-for-tests)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-dbus-launch-path
(lambda* (#:key inputs #:allow-other-keys)
@ -716,6 +719,33 @@ useful for C++.")
("pkg-config" ,pkg-config)
("python-pytest" ,python2-pytest)))))
;; Newer version of this core-updates package, for Lollypop.
(define-public python-pygobject-3.34
(package/inherit
python-pygobject
(version "3.34.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pygobject/"
(version-major+minor version)
"/pygobject-" version ".tar.xz"))
(sha256
(base32 "06i7ynnbvgpz0gw09zsjbvhgcp5qz4yzdifw27qjwdazg2mckql7"))))
(build-system meson-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'delete-broken-tests
(lambda _
(with-directory-excursion "tests"
(for-each
delete-file
;; FIXME: these tests require Gdk and/or Gtk 4.
'("test_atoms.py"
"test_overrides_gtk.py")))
#t)))))))
(define-public perl-glib
(package
(name "perl-glib")

213
gnu/packages/gnome-xyz.scm Normal file
View File

@ -0,0 +1,213 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.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 gnome-xyz)
#:use-module (guix build-system trivial)
#:use-module (guix build-system gnu)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages ruby)
#:use-module (gnu packages xml))
(define-public matcha-theme
(package
(name "matcha-theme")
(version "2019-11-02")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/vinceliuice/matcha")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0wci9ahap8kynq8cbyxr7aba9ndb1d4kiq42xvzr34vw1rhcahrr"))))
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((out (assoc-ref %outputs "out"))
(source (assoc-ref %build-inputs "source"))
(bash (assoc-ref %build-inputs "bash"))
(coreutils (assoc-ref %build-inputs "coreutils"))
(themesdir (string-append out "/share/themes")))
(setenv "PATH"
(string-append coreutils "/bin:"
(string-append bash "/bin:")))
(copy-recursively source (getcwd))
(patch-shebang "Install")
(mkdir-p themesdir)
(invoke "./Install" "-d" themesdir)
#t))))
(inputs
`(("gtk-engines" ,gtk-engines)))
(native-inputs
`(("bash" ,bash)
("coreutils" ,coreutils)))
(synopsis "Flat design theme for GTK 3, GTK 2 and GNOME-Shell")
(description "Matcha is a flat Design theme for GTK 3, GTK 2 and
Gnome-Shell which supports GTK 3 and GTK 2 based desktop environments
like Gnome, Unity, Budgie, Pantheon, XFCE, Mate and others.")
(home-page "https://github.com/vinceliuice/matcha")
(license license:gpl3+)))
(define-public delft-icon-theme
(package
(name "delft-icon-theme")
(version "1.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/madmaxms/iconpack-delft.git")
(commit (string-append "v" version))))
(sha256
(base32
"0vw3yw9f9ygzfd2k3zrfih3r0vkzlhk1bmsk8sapvk7np24i1z9s"))
(file-name (git-file-name name version))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(copy-recursively (assoc-ref %build-inputs "source") "icons")
(delete-file "icons/README.md")
(delete-file "icons/LICENSE")
(delete-file "icons/logo.jpg")
(copy-recursively "icons" (string-append %output "/share/icons")))))
(home-page "https://www.gnome-look.org/p/1199881/")
(synopsis "Continuation of Faenza icon theme with up to date app icons")
(description "Delft is a fork of the popular icon theme Faenza with up to
date app icons. It will stay optically close to the original Faenza icons,
which haven't been updated for some years. The new app icons are ported from
the Obsidian icon theme.")
(license license:gpl3)))
(define-public gnome-shell-extension-dash-to-dock
(package
(name "gnome-shell-extension-dash-to-dock")
(version "65")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/micheleg/dash-to-dock.git")
(commit (string-append "extensions.gnome.org-v"
version))))
(sha256
(base32
"0ln49l9s0yfl30pi77pz7xlmh63l9vjppi863kry5lay10dsvz47"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
#:make-flags (list (string-append "INSTALLBASE="
(assoc-ref %outputs "out")
"/share/gnome-shell/extensions"))
#:phases
(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure))))
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(propagated-inputs
`(("glib" ,glib)
("glib" ,glib "bin")))
(synopsis "Transforms GNOME's dash into a dock")
(description "This extension moves the dash out of the
overview, transforming it into a dock for easier application launching and
faster window switching.")
(home-page "https://micheleg.github.io/dash-to-dock/")
(license license:gpl2+)))
(define-public gnome-shell-extension-noannoyance
(package
(name "gnome-shell-extension-noannoyance")
(version "5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/BjoernDaase/noannoyance.git")
(commit "e37b5b3c31f577b4698bc6659bc9fec5ea9ac5d4")))
(sha256
(base32
"0fa8l3xlh8kbq07y4385wpb908zm6x53z81q16xlmin97dln32hh"))
(file-name (git-file-name name version))))
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((dst (string-append
(assoc-ref %outputs "out")
"/share/gnome-shell/extensions/"
"noannoyance@daase.net")))
(mkdir-p dst)
(copy-recursively (assoc-ref %build-inputs "source") dst)))))
(synopsis "Removes 'Window is ready' annotation")
(description "One of the many extensions, that remove this message.
It uses ES6 syntax and claims to be more actively maintained than others.")
(home-page "https://extensions.gnome.org/extension/2182/noannoyance/")
(license license:gpl2)))
(define-public numix-theme
(package
(name "numix-theme")
(version "2.6.7")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/numixproject/numix-gtk-theme.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"12mw0kr0kkvg395qlbsvkvaqccr90cmxw5rrsl236zh43kj8grb7"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas
("gnome-shell" ,gnome-shell)
("gtk+" ,gtk+)
("xmllint" ,libxml2)
("ruby-sass" ,ruby-sass)))
(synopsis "Flat theme with light and dark elements")
(description "Numix is a modern flat theme with a combination of light and
dark elements. It supports GNOME, Unity, Xfce, and Openbox.")
(home-page "https://numixproject.github.io")
(license license:gpl3+)))

View File

@ -41,6 +41,7 @@
;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -568,9 +569,17 @@ and keep up to date translations of documentation.")
(base32
"1365fabz3q7n3bl775z82m1nzg18birxxyd7l2ssbbkqrx3h7wgi"))))
(build-system meson-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
(substitute* "meson_post_install.py"
(("gtk-update-icon-cache") "true"))
#t)))))
(native-inputs
`(("glib:bin" ,glib "bin")
("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("docbook-xml" ,docbook-xml)
@ -771,7 +780,7 @@ forgotten when the session ends.")
(define-public evince
(package
(name "evince")
(version "3.30.2")
(version "3.34.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -779,7 +788,7 @@ forgotten when the session ends.")
name "-" version ".tar.xz"))
(sha256
(base32
"0k7jln6dpg4bpv61niicjzkzyq6fhb3yfld7pc8ck71c8pmvsnx9"))))
"1pr6fvbaam1mzxjwyqd53hcxzdjzf73idn10j4j7n54nwg6hgr45"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--disable-nautilus")
@ -2061,17 +2070,17 @@ Hints specification (EWMH).")
(define-public goffice
(package
(name "goffice")
(version "0.10.44")
(version "0.10.46")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(uri (string-append "mirror://gnome/sources/goffice/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
"goffice-" version ".tar.xz"))
(sha256
(base32 "1fd7cm6j0g0mqgpqs4y22b4gd2ll4mcyvg4d0q22d5ndjapl4q3d"))))
(base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;4.0 MiB of gtk-doc
"doc")) ; 4.0 MiB of gtk-doc
(arguments
'(#:configure-flags (list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
@ -2125,7 +2134,7 @@ Hints specification (EWMH).")
(define-public gnumeric
(package
(name "gnumeric")
(version "1.12.45")
(version "1.12.46")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gnumeric/"
@ -2133,7 +2142,7 @@ Hints specification (EWMH).")
"gnumeric-" version ".tar.xz"))
(sha256
(base32
"0c8dl1kvnj3g32qy3s92qpqpqfy0in59cx005gjvvzsflahav61h"))))
"1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
(build-system glib-or-gtk-build-system)
(arguments
`(;; The gnumeric developers don't worry much about failing tests.
@ -2222,7 +2231,7 @@ engineering.")
(define-public seahorse
(package
(name "seahorse")
(version "3.30")
(version "3.30.1.1")
(source
(origin
(method url-fetch)
@ -2231,8 +2240,19 @@ engineering.")
version ".tar.xz"))
(sha256
(base32
"1sbj1czlx1fakm72dwgbn0bwm12j838yaky4mkf6hf8j8afnxmzp"))))
(build-system glib-or-gtk-build-system)
"12x7xmwh62yl0ax90v8nkx3jqzviaz9hz2g56yml78wzww20gawy"))
(patches (search-patches
"seahorse-gkr-use-0-on-empty-flags.patch"))))
(build-system meson-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
(substitute* "build-aux/meson_post_install.py"
(("gtk-update-icon-cache") "true"))
#t)))))
(inputs
`(("gtk+" ,gtk+)
("gcr" ,gcr)
@ -2240,13 +2260,15 @@ engineering.")
("gpgme" ,gpgme)
("openldap" ,openldap)
("openssh" ,openssh)
("avahi" ,avahi)
("libsecret" ,libsecret)
("libsoup" ,libsoup)))
(native-inputs
`(("intltool" ,intltool)
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("itstool" ,itstool)
("pkg-config" ,pkg-config)
("vala" ,vala)
("xmllint" ,libxml2)))
(home-page "https://launchpad.net/gnome-themes-standard")
(synopsis "Manage encryption keys and passwords in the GNOME keyring")
@ -2338,7 +2360,7 @@ editors, IDEs, etc.")
(package
(inherit vte)
(name "vte-ng")
(version "0.56.2.a")
(version "0.58.2.a")
(home-page "https://github.com/thestinger/vte-ng")
(source (origin
(method git-fetch)
@ -2346,20 +2368,13 @@ editors, IDEs, etc.")
(file-name (git-file-name name version))
(sha256
(base32
"1lmba6i0abifmvvfb1q63ql6zh6d38148kp6skmkggiib2hi5dki"))))
"0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
(build-system meson-build-system)
(native-inputs
`(("gtk-doc" ,gtk-doc)
("gperf" ,gperf)
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
,@(package-native-inputs vte)))
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'bootstrap
(lambda _
(setenv "NOCONFIGURE" "true")
(invoke "sh" "autogen.sh"))))))
`(#:configure-flags '("-Ddocs=true")))
(synopsis "Enhanced VTE terminal widget")
(description
"VTE is a library (libvte) implementing a terminal emulator widget for
@ -3016,15 +3031,14 @@ keyboard shortcuts.")
(define-public colord
(package
(name "colord")
(version "1.4.3")
(version "1.4.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/colord/releases/"
name "-" version ".tar.xz"))
"colord-" version ".tar.xz"))
(sha256
(base32
"1xwxahg9mgmapc16xkb4kgmc40zpadrwav33xqmn6cgaw6g6d3ls"))))
(base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
(build-system meson-build-system)
(arguments
'(;; FIXME: One test fails:
@ -3039,13 +3053,12 @@ keyboard shortcuts.")
;; Wants to install to global completion dir;
;; punt.
"-Dbash_completion=false"
;; colord-gtk not packaged yet.
"-Dsession_example=false"
"-Ddaemon_user=colord"
"-Dsane=true"
;; Requires spotread
"-Dvapi=true"
;; Requires spotread.
"-Dargyllcms_sensor=false"
;; TODO: Requires docbook2x
;; TODO: Requires docbook2x.
"-Dman=false")
#:phases
(modify-phases %standard-phases
@ -3054,27 +3067,37 @@ keyboard shortcuts.")
(substitute* "rules/meson.build"
(("udev.get_pkgconfig_variable\\('udevdir'\\)")
(string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
#t)))))
#t))
(add-before 'configure 'set-sqlite3-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; "colormgr dump" works by invoking the "sqlite3" command.
;; Record its absolute file name.
(let ((sqlite (assoc-ref inputs "sqlite")))
(substitute* "client/cd-util.c"
(("\"sqlite3\"")
(string-append "\"" sqlite "/bin/sqlite3\"")))
#t))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
`(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("intltool" ,intltool)
("libtool" ,libtool)
("intltool" ,intltool)))
("pkg-config" ,pkg-config)
("vala" ,vala)))
(propagated-inputs
;; colord.pc refers to all these.
`(("glib" ,glib)
("udev" ,eudev)
("lcms" ,lcms)))
("lcms" ,lcms)
("udev" ,eudev)))
(inputs
`(("dbus-glib" ,dbus-glib)
("gusb" ,gusb)
("libgudev" ,libgudev)
("libusb" ,libusb)
("sqlite" ,sqlite)
("polkit" ,polkit)
("python" ,python-wrapper)
("sqlite" ,sqlite)
("sane-backends" ,sane-backends)))
(home-page "https://www.freedesktop.org/software/colord/")
(synopsis "Color management service")
@ -3449,12 +3472,20 @@ both a traditional UI or a modern UI with a GtkHeaderBar.")
(base32
"036sddvhs0blqpc2ixmjdl9vxynvkn5jpgn0jxr1fxcm4rh3q07a"))))
(build-system meson-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
(substitute* "meson_post_install.py"
(("gtk-update-icon-cache") "true"))
#t)))))
(native-inputs
`(("intltool" ,intltool)
("itstool" ,itstool)
("gobject-introspection" ,gobject-introspection)
("glib:bin" ,glib "bin") ; for glib-mkmenus
("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
("pkg-config" ,pkg-config)))
(inputs
`(("amtk" ,amtk)
@ -3916,7 +3947,6 @@ for application developers.")
("desktop-file-utils" ,desktop-file-utils)
("gobject-introspection" ,gobject-introspection)
("glib:bin" ,glib "bin") ;for 'glib-mkenums'
("gtk:bin" ,gtk+ "bin") ;for 'gtk-update-icon-cache'
("intltool" ,intltool)
("itstool" ,itstool)
("xmllint" ,libxml2)))
@ -3972,6 +4002,12 @@ for application developers.")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
(substitute* "meson_post_install.py"
(("gtk-update-icon-cache") "true"))
#t))
(add-before
'install 'disable-cache-generation
(lambda _
@ -4105,6 +4141,12 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
(assoc-ref %outputs "out") "/lib/eog"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
(substitute* "meson_post_install.py"
(("gtk-update-icon-cache") "true"))
#t))
(add-after 'install 'wrap-eog
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
@ -4118,7 +4160,6 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
`(("intltool" ,intltool)
("itstool" ,itstool)
("glib" ,glib "bin")
("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
("xmllint" ,libxml2)))
@ -4288,12 +4329,14 @@ DAV, and others.")
(name "gusb")
(version "0.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/hughsie/libgusb/archive/"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/hughsie/libgusb.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1wa9787ww7s1kl9jml6kiyrjgimlgagq4jmgdj7xcpsx83w10qxk"))))
"002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
(build-system meson-build-system)
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
@ -4318,54 +4361,41 @@ USB transfers with your high-level application or system daemon.")
(define-public simple-scan
(package
(name "simple-scan")
(version "3.24.1")
(source (origin
(method url-fetch)
(uri (string-append "https://launchpad.net/simple-scan/"
(version-major+minor version) "/"
version "/+download/simple-scan-"
version ".tar.xz"))
(sha256
(base32
"1czg21cdbd2fgqylxfnzfhhzy69gycf816d5bbaq6hb62hmq7bjy"))))
(build-system glib-or-gtk-build-system)
(version "3.34.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/simple-scan/"
(version-major+minor version) "/"
"simple-scan-" version ".tar.xz"))
(sha256
(base32 "0glzskxdc7p9z7nwcakqc7qzij4l79adlvvb2cj5fmis731zw9yq"))))
(build-system meson-build-system)
;; TODO: Fix icons in home screen, About dialogue, and scan menu.
(arguments
'(#:glib-or-gtk? #t))
(inputs
`(("gtk" ,gtk+)
("zlib" ,zlib)
("cairo" ,cairo)
("colord" ,colord)
("gdk-pixbuf" ,gdk-pixbuf)
("gusb" ,gusb)
("libsane" ,sane-backends)))
(native-inputs
`(("gettext" ,gettext-minimal)
("itstool" ,itstool)
("colord" ,colord)
("glib" ,glib "bin") ; glib-compile-schemas, etc.
("glib" ,glib "bin") ; glib-compile-schemas, etc.
("pkg-config" ,pkg-config)
("vala" ,vala)
("xmllint" ,libxml2)))
(arguments
'(#:configure-flags '("--disable-packagekit")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'clean
(lambda _
;; Remove a left-over reference to PackageKit.
;; https://bugs.launchpad.net/simple-scan/+bug/1462769
;; There are some generated C files erroneously
;; included in the source distribution, and this
;; one breaks the build by referring to a
;; non-existent header (packagekit.h)
(delete-file "src/ui.c"))))))
(home-page "https://launchpad.net/simple-scan")
(home-page "https://gitlab.gnome.org/GNOME/simple-scan")
(synopsis "Document and image scanner")
(description "Simple Scan is an easy-to-use application, designed to let
users connect their scanner and quickly have the image/document in an
appropriate format. Simple Scan is basically a frontend for SANE - which is
the same backend as XSANE uses. This means that all existing scanners will
work and the interface is well tested.")
(description
"Document Scanner is an easy-to-use application that lets you connect your
scanner and quickly capture images and documents in an appropriate format. It
supports any scanner for which a suitable SANE driver is available, which is
almost all of them.")
(license license:gpl3+)))
(define-public eolie
@ -4385,6 +4415,12 @@ work and the interface is well tested.")
`(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
(substitute* "meson_post_install.py"
(("gtk-update-icon-cache") "true"))
#t))
(add-after 'wrap 'wrap-more
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -4407,8 +4443,7 @@ work and the interface is well tested.")
("itstool" ,itstool)
("pkg-config" ,pkg-config)
("python" ,python)
("glib:bin" ,glib "bin")
("gtk+" ,gtk+ "bin")))
("glib:bin" ,glib "bin")))
(inputs
`(("gobject-introspection" ,gobject-introspection)
("glib-networking" ,glib-networking)
@ -4454,6 +4489,14 @@ a secret password store, an adblocker, and a modern UI.")
;; FAIL
'(#:tests? #f
#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
(substitute* "post_install.py"
(("gtk-update-icon-cache") "true"))
#t)))
#:configure-flags
;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
(list (string-append "-Dc_link_args=-Wl,-rpath="
@ -4463,7 +4506,6 @@ a secret password store, an adblocker, and a modern UI.")
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
("glib:bin" ,glib "bin") ; for glib-mkenums
("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
("intltool" ,intltool)
("itstool" ,itstool)
("pkg-config" ,pkg-config)
@ -4995,15 +5037,15 @@ powerful general purpose text editor.")
(define-public zenity
(package
(name "zenity")
(version "3.30.0")
(version "3.32.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(uri (string-append "mirror://gnome/sources/zenity/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
"zenity-" version ".tar.xz"))
(sha256
(base32
"1wipnp46pd238z9ck5rsckbaw7yla6c936fswq5w94k4c6bgcplr"))))
"15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
(build-system gnu-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@ -5486,7 +5528,8 @@ services.")
(define-public network-manager-openvpn
(package
(name "network-manager-openvpn")
(version "1.8.4")
;; Updating? Check whether network-manager-applet still needs libnm_gtk.
(version "1.8.10")
(source (origin
(method url-fetch)
(uri (string-append
@ -5495,7 +5538,7 @@ services.")
"/NetworkManager-openvpn-" version ".tar.xz"))
(sha256
(base32
"0gyrv46h9k17qym48qacq4zpxbap6hi17shn921824zm98m2bdvr"))))
"1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
@ -5633,7 +5676,12 @@ Compatible with Cisco VPN concentrators configured to use IPsec.")
to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
Cisco's AnyConnect SSL VPN.")
(license license:gpl2+)
(properties `((upstream-name . "NetworkManager-openconnect")))))
(properties `((upstream-name . "NetworkManager-openconnect")
;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
;; file refers to account "nm-openconnect". Specify it here
;; so that 'network-manager-service-type' creates it.
(user-accounts . ("nm-openconnect"))))))
(define-public mobile-broadband-provider-info
(package
@ -5659,18 +5707,21 @@ Cisco's AnyConnect SSL VPN.")
(define-public network-manager-applet
(package
(name "network-manager-applet")
(version "1.8.18")
(version "1.8.24")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(uri (string-append "mirror://gnome/sources/network-manager-applet/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
"network-manager-applet-" version ".tar.xz"))
(sha256
(base32
"0y31g0lxr93370xi74hbpvcy9m81n5wdkdhq8xy2nqp0y4219p13"))))
"1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t))
'(#:configure-flags
;; Nobody should be using this but network-manager-openvpn 1.8.10 does.
(list "-Dlibnm_gtk=true")
#:glib-or-gtk? #t))
(native-inputs
`(("intltool" ,intltool)
("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
@ -6670,6 +6721,7 @@ associations for GNOME.")
("gnome-default-applications" ,gnome-default-applications)
("gnome-keyring" ,gnome-keyring)
("gnome-online-accounts" ,gnome-online-accounts)
("gnome-screenshot" ,gnome-screenshot)
("gnome-session" ,gnome-session)
("gnome-settings-daemon" ,gnome-settings-daemon)
("gnome-shell" ,gnome-shell)
@ -7062,42 +7114,10 @@ functionality and behavior.")
(home-page "https://extensions.gnome.org/")
(license license:gpl3+)))
(define-public numix-theme
(package
(name "numix-theme")
(version "2.6.7")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/numixproject/numix-gtk-theme.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"12mw0kr0kkvg395qlbsvkvaqccr90cmxw5rrsl236zh43kj8grb7"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas
("gnome-shell" ,gnome-shell)
("gtk+" ,gtk+)
("xmllint" ,libxml2)
("ruby-sass" ,ruby-sass)))
(synopsis "Flat theme with light and dark elements")
(description "Numix is a modern flat theme with a combination of light and
dark elements. It supports GNOME, Unity, Xfce, and Openbox.")
(home-page "https://numixproject.github.io")
(license license:gpl3+)))
(define-public arc-theme
(package
(name "arc-theme")
(version "20181022")
(version "20190917")
(source (origin
(method git-fetch)
(uri (git-reference
@ -7106,7 +7126,7 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.")
(file-name (git-file-name name version))
(sha256
(base32
"08951dk1irfadwpr3p323a4fprmxg53rk2r2niwq3v62ryhi3663"))))
"1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@ -7679,7 +7699,7 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).")
(define-public gspell
(package
(name "gspell")
(version "1.8.1")
(version "1.8.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -7687,7 +7707,7 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).")
name "-" version ".tar.xz"))
(sha256
(base32
"1rdv873ixhwr15jwgc2z6k6y0hj353fqnwsy7zkh0c30qwiiv6l1"))
"1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
(patches (search-patches "gspell-dash-test.patch"))))
(build-system glib-or-gtk-build-system)
(arguments
@ -7782,16 +7802,15 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
(define-public lollypop
(package
(name "lollypop")
(version "1.1.3.1")
(version "1.2.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/"
"5a7cd7c72b6d83ae08d0c54c4691f9df/"
name "-" version ".tar.xz"))
"08f973788c7ca46d9285eec2ac818edb/"
"lollypop-" version ".tar.xz"))
(sha256
(base32
"1r5wn0bja9psz6nr1rcaysdkkwz84rbyzpdfw66cxa6wiy52pkjm"))))
(base32 "0hvq6m4i62i0m63bg4gzpfb9rv1fk6vq5jl2g3ppcgm4srmfm77j"))))
(build-system meson-build-system)
(arguments
`(#:imported-modules ((guix build python-build-system)
@ -7807,8 +7826,10 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
(wrap-program (string-append out "/bin/lollypop")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
#t))
(add-after 'install 'wrap
(@@ (guix build python-build-system) wrap)))))
(add-after 'install 'wrap-python
(@@ (guix build python-build-system) wrap))
(add-after 'install 'wrap-glib-or-gtk
(@@ (guix build glib-or-gtk-build-system) wrap-all-programs)))))
(native-inputs
`(("intltool" ,intltool)
("itstool" ,itstool)
@ -7817,6 +7838,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
("pkg-config" ,pkg-config)))
(inputs
`(("gobject-introspection" ,gobject-introspection)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gst-plugins-base" ,gst-plugins-base)
("libnotify" ,libnotify)
("libsecret" ,libsecret)
@ -7826,7 +7848,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
("python-gst" ,python-gst)
("python-pil" ,python-pillow)
("python-pycairo" ,python-pycairo)
("python-pygobject" ,python-pygobject)
("python-pygobject" ,python-pygobject-3.34)
("python-pylast" ,python-pylast)
("totem-pl-parser" ,totem-pl-parser)
("webkitgtk" ,webkitgtk)))
@ -8395,3 +8417,107 @@ access library. It only implements the core plumbing functions, not really the
higher level porcelain stuff.")
(home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
(license license:gpl2+)))
(define-public gitg
(package
(name "gitg")
(version "3.32.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-post-install-partially
(lambda _
(substitute* "meson_post_install.py"
(("'python'") ; there are no python sources to compile
(string-append "'" (which "true") "'"))
(("gtk-update-icon-cache") (which "true")))
#t))
(add-after 'unpack 'fix-test-sources
(lambda _
(substitute* "tests/libgitg/test-commit.vala"
(("/bin/bash") (which "bash")))
#t))
(add-after 'glib-or-gtk-wrap 'wrap-typelib
(lambda* (#:key outputs #:allow-other-keys)
(let ((prog (string-append (assoc-ref outputs "out")
"/bin/gitg")))
(wrap-program prog
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
#t))))))
(inputs
`(("glib" ,glib)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk+" ,gtk+)
("gtkspell3" ,gtkspell3)
("gtksourceview" ,gtksourceview-3)
("json-glib" ,json-glib)
("libdazzle" ,libdazzle)
("libgee" ,libgee)
("libgit2" ,libgit2) ; propagated by libgit2-glib
("libgit2-glib" ,libgit2-glib)
("libpeas" ,libpeas)
("libsecret" ,libsecret)
("libsoup" ,libsoup)
("libxml2" ,libxml2)))
(native-inputs
`(("glib:bin" ,glib "bin")
("gtk+:bin" ,gtk+ "bin")
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("vala" ,vala)))
(synopsis "Graphical user interface for git")
(description
"gitg is a graphical user interface for git. It aims at being a small,
fast and convenient tool to visualize the history of git repositories.
Besides visualization, gitg also provides several utilities to manage your
repository and commit your work.")
(home-page "https://wiki.gnome.org/Apps/Gitg")
(license license:gpl2+)))
(define-public gnome-mahjongg
(package
(name "gnome-mahjongg")
(version "3.35.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t))
(native-inputs
`(("appstream-glib" ,appstream-glib)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin") ;; For glib-compile-resources
("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
("itstool" ,itstool)
("pkg-config" ,pkg-config)
("vala" ,vala)))
(propagated-inputs
`(("dconf" ,dconf)))
(inputs
`(("glib" ,glib)
("gtk+" ,gtk+)
("librsvg" ,librsvg)))
(synopsis "Mahjongg tile-matching game")
(description "GNOME Mahjongg is a game based on the classic Chinese
tile-matching game Mahjong. It features multiple board layouts, tile themes,
and a high score table.")
(home-page "https://wiki.gnome.org/Apps/Mahjongg")
(license license:gpl2+)))

View File

@ -147,14 +147,14 @@ tool to extract metadata from a file and print the results.")
(define-public libmicrohttpd
(package
(name "libmicrohttpd")
(version "0.9.66")
(version "0.9.68")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
version ".tar.gz"))
(sha256
(base32
"06xblz77bnn29y7sl43avxbcrjbw486x3416plpr3x3l2pdx8rjf"))))
"0q8bc4hrxn6llml7w2vam6n833x8injs39wgdkhwkawr50m6wwf5"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)

View File

@ -66,6 +66,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages tor)
#:use-module (gnu packages web)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
#:use-module (guix packages)
#:use-module (guix download)
@ -907,8 +908,6 @@ software.")))
(inputs
`(("qtbase" ,qtbase)
,@(package-inputs pinentry-tty)))
(arguments
`(#:configure-flags '("CXXFLAGS=-std=gnu++11")))
(description
"Pinentry provides a console and a Qt GUI that allows users to enter a
passphrase when @code{gpg} is run and needs it.")))
@ -1038,7 +1037,7 @@ files, to verify signatures, and to manage the private and public keys.")
(define-public parcimonie
(package
(name "parcimonie")
(version "0.10.3")
(version "0.11.0")
(source (origin
(method url-fetch)
(uri (string-append "https://gaffer.boum.org/intrigeri/files/"
@ -1046,10 +1045,10 @@ files, to verify signatures, and to manage the private and public keys.")
version ".tar.gz"))
(sha256
(base32
"1kf891117s1f3k6lxvbjdb21va9gxh29vlp9bd664ssgw266rcyb"))))
"14pvapvzrxh1yh8zgcj1llmc2dd8g1fgzskxlja21gmw8c88aqdk"))))
(build-system perl-build-system)
(inputs
`(("gnupg" ,gnupg-1) ; This is the version used by perl-gnupg-interface
`(("gnupg" ,gnupg)
("perl-config-general" ,perl-config-general)
("perl-clone" ,perl-clone)
("perl-data" ,perl-data)
@ -1069,10 +1068,12 @@ files, to verify signatures, and to manage the private and public keys.")
("perl-moox-handlesvia" ,perl-moox-handlesvia)
("perl-moox-late" ,perl-moox-late)
("perl-moox-options" ,perl-moox-options)
("perl-moox-strictconstructor" ,perl-moox-strictconstructor)
("perl-namespace-clean" ,perl-namespace-clean)
("perl-net-dbus" ,perl-net-dbus)
("perl-net-dbus-glib" ,perl-net-dbus-glib)
("perl-path-tiny" ,perl-path-tiny)
("perl-strictures" ,perl-strictures-2)
("perl-test-most" ,perl-test-most)
("perl-test-trap" ,perl-test-trap)
("perl-time-duration" ,perl-time-duration)
@ -1084,24 +1085,29 @@ files, to verify signatures, and to manage the private and public keys.")
("perl-xml-parser" ,perl-xml-parser)
("perl-xml-twig" ,perl-xml-twig)
("torsocks" ,torsocks)))
(native-inputs
`(("xorg-server" ,xorg-server)))
(arguments
`(#:phases
(modify-phases %standard-phases
;; Needed for using gpg-connect-agent during tests.
(add-before 'check 'set-HOME
(lambda _ (setenv "HOME" "/tmp") #t))
(add-before 'check 'prepare-for-tests
(lambda* (#:key inputs #:allow-other-keys)
(let ((xorg-server (assoc-ref inputs "xorg-server")))
(system (string-append xorg-server "/bin/Xvfb :1 &"))
(setenv "DISPLAY" ":1")
(setenv "HOME" "/tmp")
;; These tests are known to fail
(delete-file "t/32-keyserver_defined_on_command_line.t")
(delete-file "t/33-checkGpgHasDefinedKeyserver.t")
;; The applet is deprecated upstream.
(delete-file "t/00-load_all.t")
#t)))
(add-before 'install 'fix-references
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "lib/App/Parcimonie/GnuPG/Interface.pm"
(("gpg2") "gpg")
;; Skip check whether dependencies are in the PATH
(("defined which.*") "")
(("call\\('parcimonie-torified-gpg'\\)")
(string-append "call('" (assoc-ref outputs "out")
"/bin/parcimonie-torified-gpg')")))
(substitute* "bin/parcimonie-torified-gpg"
(("torsocks") (string-append (assoc-ref inputs "torsocks")
"/bin/torsocks")))
(("defined which.*") ""))
#t))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)

View File

@ -34,6 +34,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix hg-download)
#:use-module (guix gexp)
#:use-module (guix store)
#:use-module (guix monads)
@ -64,10 +65,12 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages node)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gl)
#:use-module (gnu packages assembly)
#:use-module (gnu packages rust)
#:use-module (gnu packages rust-cbindgen)
#:use-module (gnu packages llvm)
#:use-module (gnu packages nss)
#:use-module (gnu packages icu4c)
@ -404,6 +407,127 @@ in C/C++.")
("pkg-config" ,pkg-config)
("python" ,python-2)))))
(define mozilla-compare-locales
(origin
(method hg-fetch)
(uri (hg-reference
(url "https://hg.mozilla.org/l10n/compare-locales/")
(changeset "RELEASE_3_3_0")))
(file-name "mozilla-compare-locales")
(sha256 (base32 "0biazbq7vbi99b99rfn4szwyx032dkpi09c9z4zs6f1br0f86iy1"))))
(define (mozilla-locale locale changeset hash-string)
(origin
(method hg-fetch)
(uri (hg-reference
(url (string-append "https://hg.mozilla.org/l10n-central/"
locale))
(changeset changeset)))
(file-name (string-append "mozilla-locale-" locale))
(sha256 (base32 hash-string))))
(define-syntax-rule (mozilla-locales (hash-string changeset locale) ...)
(list (mozilla-locale locale changeset hash-string)
...))
(define all-mozilla-locales
(mozilla-locales
;; sha256 changeset locale
;;---------------------------------------------------------------------------
("0pybx6j2ycbrr1xmv0spv19sd8a1dyzcs8kf6pzn71w8y6kiagcf" "35959cf2343c" "ach")
("0dixmkha738w7fkx20nx95xkfyrqb9vczpy6m03qnqfvb76xaxj5" "e8dc1010f909" "af")
("124j09va25gwfxdzyfixrli0skxv53c7niagjyp7g3a3kcv2lbhc" "4c67f6b96a7b" "an")
("0flgqll3xx0ym0zj0w9j2jw3fmhs6h9m4l5da6m0bpnk5ff80r06" "34cbea5f44a5" "ar")
("0kdb1yqfbfz508f4p77z3p1v6fwy190vs5ipj58hgdixjgbxkqay" "b4790b27633c" "ast")
("1vm5xw6wg12pygswd3p0qpkaxyryah6nif5n15chb4sb42c1gqcm" "96d341bf49d4" "az")
("1j2qrrws51qij6haz5b77n5vzqhsxgs1ppqqw4mdrkacwvz4ciwh" "4adaede00646" "be")
("0ydr8f9lbd51prgcbjb5yacb461j8va0s5bqfs0rnglkvhmk6ard" "d1140972aefe" "bg")
("0wyw90zjp8kpd1gljng00in9wr2cf59ww6z002lgx5k4gibnqcfd" "2b3ce92c2310" "bn")
("0kkq621h1qdmimyrmms9g5p70m54z2ddw4cd962nqbkrnmabq9vn" "426896350893" "br")
("0vibhnb3cbpbgf10db04g6vm372kb9i27p0jkwif019f7qprswd8" "7463f339ce07" "bs")
("1l8cn2fqfvx7bswzfy9vavv8cd32ha9ygdxxdbxi64wcgw0f80bf" "dab3f05125e4" "ca")
("0fik17y8zyg9w82lq501ic73a53c0q9r8v4zgn9bnzgsygig8qpq" "ebb9d989275a" "cak")
("0sj29v6144h39wzb4rvxph3cwgvs4gzkgpr0463d3fcs6jdi0kjs" "522352780348" "cs")
("1nz8jlx62l69jcdi59hlk8jysm15sh3d1cxqginjmx7w351wsidm" "0791b954c333" "cy")
("1vc01q1vlq26xm1vm1x0119jawxxp975p9k8ashmiwncl1bvqb48" "121f5f876f4c" "da")
("1iqny61rg57banfbbskc2y3pr6d35fabnxmynv7vxm9jd86pndz3" "95fb3e99a2bc" "de")
("06v9j8acx5h8za7m65v6qm0wjbkx6vm46m8sigcp69phyg3fjc96" "90e681b74587" "dsb")
("0lbk90x2dxdbh63fycqxspx6jqq2zlzys6grg45balw8yyvzqrkz" "58ba4c13fd42" "el")
("0c2ypvy0z8g78s5158v6h9khckq1xps34r5wbiiciix289m43dgl" "8953d8c98a30" "en-CA")
("0z3riz3w2z6p710p90ridmwwam4snnz5mn90gd4jc1h2n7vc9mr0" "5a2b9bca3f52" "en-GB")
("102gn3h4ap8c3x1p7vfc88vapkfiz6264y6byhxy1axxjk3x3a77" "e87cb1c61d6e" "eo")
("148wj6wsx0aq7cpaxk8njj7cb1wfjr2m96dgxq6b3qcv781ldvjn" "5db15fdf95d5" "es-AR")
("0r11d8vzvbyz17n371byvkrnszcv1zhr7rg64i58xra3y6d7is7n" "ce2ee0e51a92" "es-CL")
("1xmqa8p7lpqvkgg879hfnmf6kxcpawjk8z31cdzfp1hrdlmxg8n7" "7346617620f3" "es-ES")
("0jxv3jh2018lnybr9mzqrffvwmr87yab9bh8lxqjj294fxw1hrxm" "687f05eb0c58" "es-MX")
("1rpgv7pajv4xldsn1xxsia5j72vn3x8zl5wmbzkyw56lvn9fckvf" "839a5029c496" "et")
("0hxp4fr3y05rkpamdb1hlmybn6d3bv3rcawjm3axbpqxbyfdpfzc" "54e8d87230c9" "eu")
("1y50knymnmcihw8bhvahicc386mjm6dx4hx0j6fv8sl23wzx2h9m" "c5ffca960f9c" "fa")
("0pj9zgi0c3yl3myhvb5afiijayp2lqzhlk630ahxn5hgjgkz0lx7" "75c000a8538d" "ff")
("199jg0zv7wp1cq0ik2hf84j99jx5vq2jwac0gaayvjzkh2z83jqr" "f11b2e689e7b" "fi")
("1vxkiwwni7470ywy99arxxa56ljkhjrhxslsp1l1l61g6gdbbspr" "49ec4f791806" "fr")
("0d8gwdcj0jpjv03nhjds8jrg86pg371xpylaibwri76wlyl7m54i" "faa761a5cfdc" "fy-NL")
("0nipbxx11a2sjadzhbi88vgknw5hzr4nqy2722q3kc1212jbi754" "5bd9466f9f9d" "ga-IE")
("0bay8mrm65cvmnvqpwqgzr0h3cb18ifzg5kbsbxcvdfm9xv0zi9g" "a4f6a47e82dd" "gd")
("00kn5w3nnpw1pxg6hhrn9asf9hgpjd6ia4038iwzcqs68w887qcy" "6c2aa01ada4e" "gl")
("0jj13i0ach85c975vaz2rr83mibs29ipssa7qsjkb0y2ch6xya1k" "c2d607e36cb5" "gn")
("1nhqbgzilcb0pr7941dxkhg079bf8v7ldikp1s5xli34wf9sabm2" "f34465d6ac1c" "gu-IN")
("11bh0541d996cfin1zy72l66753q94i4idgv2waf0h40h9g3z1bm" "c2ecb2762274" "he")
("1lslji7hh5lx5ig1xgfjh4cdindsgh3n2a7qlvzwz96gda43lvv4" "94d2bb10ee03" "hi-IN")
("1nx5yw00l25i3m3grdm29mi9mi7h0cy5qx02pypir754pk3hiwcc" "08df0d94edd5" "hr")
("19yc9dk2pwqycynmx58d1ik6x4mnyfxscgr6sg676dpl613xd7nq" "21b614e77025" "hsb")
("0l3z64jlx6b6ivk1b5hwqyx9hm1m5721ywnb2m4zmg3g9fw4vn7f" "f82cad7170af" "hu")
("1sn0dxbbf2zwcpybwcw77qb4p0hf6fxapnsnn4avaab5g55dlgz4" "d94c30920396" "hy-AM")
("0c92cqxrhv4317kirmhpjk7mrq44yn6fp3v6syxnhz7xwxnhshjm" "6a5f176b0626" "ia")
("03gyg9gqsd6pwb9nydglhm46fi2wk2p2qygmhmrf8hnav3ba7n0r" "94e4302e0f85" "id")
("0ky8aaps92mn56rvkwn0i13wg8av8hzi1fvr0ahqhjcpj5sfgdwq" "eca348a59888" "is")
("01py0sfg7nljcsgpivryrvai4p4wzbcvhgc2ymr19r579nv1vw7g" "d541a6197359" "it")
("0iv7vmj43njmi7g1gjzsv68ax4j502d2wnkvbfz1rx11lrqs7yw1" "a5ab3a1d95b7" "ja")
("1sr9ccshcw6agbj4hbnpblxixb1jz0m36glas6f9ahxmi7m605si" "63763ffa5a94" "ja-JP-mac")
("1as33pzcsdkynrj16dv7w642vl6plbhk650am4l5djwm64f2rgms" "aa83e8555ddc" "ka")
("1jwaqb5qps3i5y9iw8l2hrwa0n8lfnx1k9x0p54y3jkh6p3q3fzc" "0e0e25c26247" "kab")
("0cjfiwv0q5i8d7fpwb4m2w5ahq687dqjlwlicgpa443yi2zsxr4s" "33117723ceb1" "kk")
("0k5b56cv39aaxf9r0p9c27f3fp6yq2ffd4w6qmd0ibpl69sm629d" "aff7b2a7825e" "km")
("1a0zg96jgq4zn9cz0h2qwc0vv1fbkfzs5qrgabg62wqgz286jvvv" "ea91638cb1dd" "kn")
("0jhmv2n3yx55r6fg3myg7j1c1nhsv25g016m6lh2j023xbr723gp" "88821009b5b3" "ko")
("06bybgv4m4i7r9p0qld65j31vbrnljhsdj649dl93msv2r69ilif" "88685d5f07b3" "lij")
("1bzjf8smw6ngi88j5g3fawrg54m8fifbhshwjbgkpj7rnrpjgh4w" "e046c7ffa7d0" "lt")
("18dmzmpavijb7fwzffas0j5nb6byqp8h6ki7hhf6qb35diqgfq6n" "c520ef4f576c" "lv")
("055zf7xj5h1h8mzxj1cjzhngpcvg2p5vs2dmffsa5zfprj02d0dm" "9e43723f18ad" "mk")
("1496fbyyzcl075gzcd3xy50h9jyhnzgb544k1scji56yhyfajacb" "ce615fef92c1" "mr")
("1wc1q8ksry181pvnysqsq4dhhsg5adw5vgqafmmq5sf6i2bwn2z0" "4fefe88cfaee" "ms")
("0awf6mrdwdhy2yvxynssvp1zg1nc2fqbmg2d2bhjcib69zx944xw" "3987a06866fd" "my")
("1hycvz7i4jd40hfs5abx6sgfdkafg0jhdgqih9b7lb08aqcl35pj" "2b3b8997d9a1" "nb-NO")
("048z1ib46izwryyy8l1x71kq4775n7l2ilbskhsyrbxqryma13k8" "f25324281615" "ne-NP")
("1qkxqpyr4la9bn1bqsgc2h9869arglh9n2kwpkq6722jzdbynkz2" "04c7d32c57f6" "nl")
("08gnmdll55dbqj7qs63gq1kljbvg24nzns6q4m0av3sszsic0jv5" "5587520e5019" "nn-NO")
("1yh2p4ipj5p2b7gh0xxj0n7ndvwn5bw2773ibrh7vz932mkzhhjn" "499386b02695" "oc")
("0kjbnixjzv9hvyba4ll20gs76vx84pviy134fvpjp9lfjpnpib55" "31c01c325675" "pa-IN")
("0g61imvr4639bbydyi0kwc1il7l1gzlfij4ywx7hdcmq2x6vgb9v" "fb5f3b8dea09" "pl")
("13n68d7z94d7943m6fwl4kizbqm3wp82xz69vng4w9vyqlvv7d41" "9a541cbdc748" "pt-BR")
("1j8afvrl1afmj2zixrp91rrhag5w4xw90raca1ic6mxyih9kvdi4" "edc959a685c2" "pt-PT")
("0wf4a6q9nvcmam2g8ksbymjdnrz59pdr5nirfpjprfhifjmxx4nn" "d2699db715cd" "rm")
("1k9qalir5pbh490w1mxyq31yhy9hbxsyrrk11hwlwlgn6syp9nvp" "b5460a9017bc" "ro")
("1avy6wyfa5lbvy36wai6mwhhh6x1y8a0jyjk8hvjn52yfxj1gypk" "59ffa8ad047a" "ru")
("1cakhm4jxcw1ij0l1vhxw74hsp5wg68i3319dkdncyyc5a2s1qv9" "8b3c8a7ebdfa" "si")
("0s534r09bqdfvw3q17y9b1035kzzlafjv656v73mqhyz3fkffsx5" "cb39dc77980e" "sk")
("1s58vgmnb9aiaiaqwwcivq3iyzpzj527w2aqh2nrh6xmaw7f43sr" "17d7969b1d9a" "sl")
("147qm7x5z8rkf24jpqvkdlqg0fjz1l3zwnaxvkh9y2jpzv7m0x7z" "c55b0e9ff99d" "son")
("0nn4r1rxi8cy7x9nmn5ljd8gcsn2rjl2ma2j7waxkafkm4rs6n20" "2bb3808072da" "sq")
("0jsb01b94z7qbm59yaj56nb7yx7a6hpgw8v6nzwhbvmnmcsird4p" "c323c0d02d61" "sr")
("1n7vv9y4sk3gig56rgfd2jk8jr2160grxk31bd1wkm7fvbndd259" "4220ce487cbc" "sv-SE")
("06270mq7gajxfrsb8gqd25v2dac68ask5vvlh6kkkp3hrgy02vid" "6a1dbc2fe1d3" "ta")
("10az7pd3npa7n8wq0qywvsj2qrx9592i2wffs3rnc1fviv1i1q0y" "028505b5ecd1" "te")
("0yj0c3iyibb3jyypvyiyhbr9asxa48v0nq21kcf9gphi8fnyp5if" "e44d38b6a67b" "th")
("1qc4nvhw834lx7p304fxma0fjdr4xfj4lf69dhh6biqz795lx45p" "1e0771d95708" "tr")
("1g4y2yq5xp61ncy7c08j7fqqr1jc0m1hjxmbg5659wzif3b3dkg4" "e3c96943e98f" "uk")
("1zbi28z1c3p5il7ndixyjsv4nrimzq36zjvlmq10am38ycqr9df8" "f35da1b02691" "ur")
("1jrxjjj8k771y0wljqbadxdj4pasg0771jmg4l3hvpgs929i3j9g" "6fd2084b3efe" "uz")
("1f8sqgxzgqmw6vzjv3f49lg43q09i3j62f471864vr71815agl8n" "33b5dfd0cd63" "vi")
("0ssnsbxw3q5k88fa081gkn1mbqn4j7bm6vb7yvz6h44j214xkz9x" "2d87c0740715" "xh")
("0kd3mrvvgczhsmw4rvpxxxc71bb469ayr8r4azf7gc0y5nmlm950" "a2b6625688d3" "zh-CN")
("0qy1asyfplkyc89z3g3gfm7b32aka92350b3ayv9d9dcgwxmfdwz" "4d6e959a13d1" "zh-TW")))
(define (mozilla-patch file-name changeset hash)
"Return an origin for CHANGESET from the mozilla-esr60 repository."
(origin
@ -426,7 +550,8 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
(define %icecat-version "60.9.0-guix1")
(define %icecat-version "68.2.0-guix0-preview3")
(define %icecat-build-id "20191031000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@ -448,35 +573,26 @@ from forcing GEXP-PROMISE."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"0gy5x2rnnbkqmjd9sq93s3q5na9nkba68xwpizild7k6qn63qicz"))))
"0f3gf5gwhxabm6xs29nlxmfqdw3fs7v458vq1fydrglfyvmc5wc5"))))
(upstream-icecat-base-version "60.7.0") ; maybe older than base-version
(upstream-icecat-gnu-version "1")
(upstream-icecat-version (string-append upstream-icecat-base-version
"-gnu"
upstream-icecat-gnu-version))
(upstream-icecat-source
(origin
(method url-fetch)
(uri (string-append
"mirror://gnu/gnuzilla/" upstream-icecat-base-version
"/icecat-" upstream-icecat-version ".tar.bz2"))
(sha256
(base32
"09xqdfd8rwbn2n6m7n059qf1psbrj5v5kfzm7gg5xng22ddxawv8"))))
(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
(upstream-icecat-base-version "68.2.0") ; maybe older than base-version
;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
(gnuzilla-commit "930298e1efff3e40721659d8fd7118cdd2477bd4")
(gnuzilla-source
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.savannah.gnu.org/gnuzilla.git")
(commit gnuzilla-commit)))
(file-name (git-file-name "gnuzilla" upstream-icecat-base-version))
(file-name (git-file-name "gnuzilla"
;;upstream-icecat-base-version
(string-take gnuzilla-commit 8)))
(sha256
(base32
"1vqhb0py28hnwcynbaad304ziciz1kn5bv1qg2q4f7g13js3b1hf"))))
"14g57b0262qq5s0w8b1lrk8wkvg7m068dfi0ilvhg2q5jrxk3cd0"))))
(gnuzilla-fixes-patch
(local-file (search-patch "icecat-gnuzilla-fixes.patch")))
(makeicecat-patch
(local-file (search-patch "icecat-makeicecat.patch"))))
@ -492,9 +608,7 @@ from forcing GEXP-PROMISE."
(let ((firefox-dir
(string-append "firefox-" #$base-version))
(icecat-dir
(string-append "icecat-" #$%icecat-version))
(old-icecat-dir
(string-append "icecat-" #$upstream-icecat-base-version)))
(string-append "icecat-" #$%icecat-version)))
(mkdir "/tmp/bin")
(set-path-environment-variable
@ -524,6 +638,8 @@ from forcing GEXP-PROMISE."
(with-directory-excursion "/tmp/gnuzilla"
(make-file-writable "makeicecat")
(invoke "patch" "--force" "--no-backup-if-mismatch"
"-p1" "--input" #+gnuzilla-fixes-patch)
(invoke "patch" "--force" "--no-backup-if-mismatch"
"-p1" "--input" #+makeicecat-patch)
(patch-shebang "makeicecat")
@ -540,9 +656,6 @@ from forcing GEXP-PROMISE."
(string-append "FFMINOR=" #$minor-version "\n"))
(("^FFSUB=.*")
(string-append "FFSUB=" #$sub-version "\n"))
(("^GNUVERSION=.*")
(string-append "GNUVERSION="
#$upstream-icecat-gnu-version "\n"))
(("^DATA=.*")
"DATA=/tmp/gnuzilla/data\n")
(("^find extensions/gnu/ ")
@ -556,19 +669,39 @@ from forcing GEXP-PROMISE."
(rename-file firefox-dir icecat-dir)
(with-directory-excursion icecat-dir
(format #t "Populating l10n directory...~%")
(force-output)
(mkdir "l10n")
(with-directory-excursion "l10n"
(for-each
(lambda (locale-dir)
(let ((locale
(string-drop (basename locale-dir)
(+ 32 ; length of hash
(string-length "-mozilla-locale-")))))
(format #t " ~a~%" locale)
(force-output)
(copy-recursively locale-dir locale
#:log (%make-void-port "w"))
(for-each make-file-writable (find-files locale))
(with-directory-excursion locale
(when (file-exists? ".hgtags")
(delete-file ".hgtags"))
(mkdir-p "browser/chrome/browser/preferences")
(call-with-output-file
"browser/chrome/browser/preferences/advanced-scripts.dtd"
(lambda (port) #f)))))
'#+all-mozilla-locales)
(copy-recursively #+mozilla-compare-locales
"compare-locales"
#:log (%make-void-port "w"))
(delete-file "compare-locales/.gitignore")
(delete-file "compare-locales/.hgignore")
(delete-file "compare-locales/.hgtags"))
(format #t "Running makeicecat script...~%")
(force-output)
(invoke "bash" "/tmp/gnuzilla/makeicecat")
(delete-file-recursively "l10n"))
(format #t (string-append "Unpacking l10n/* from"
" upstream IceCat tarball...~%"))
(force-output)
(unless (string=? icecat-dir old-icecat-dir)
(symlink icecat-dir old-icecat-dir))
(invoke "tar" "xf" #+upstream-icecat-source
(string-append old-icecat-dir "/l10n"))
(invoke "bash" "/tmp/gnuzilla/makeicecat"))
(format #t "Packing new IceCat tarball...~%")
(force-output)
@ -605,7 +738,6 @@ from forcing GEXP-PROMISE."
("pango" ,pango)
("freetype" ,freetype)
("harfbuzz" ,harfbuzz)
("hunspell" ,hunspell)
("libcanberra" ,libcanberra)
("libgnome" ,libgnome)
("libjpeg-turbo" ,libjpeg-turbo)
@ -640,24 +772,28 @@ from forcing GEXP-PROMISE."
;; and therefore we prefer to leave them out of 'source', which should be
;; a tarball suitable for compilation on any system that IceCat supports.
;; (Bug fixes and security fixes, however, should go in 'source').
`(("icecat-avoid-bundled-libraries.patch"
,(search-patch "icecat-avoid-bundled-libraries.patch"))
("icecat-use-system-graphite2+harfbuzz.patch"
,(search-patch "icecat-use-system-graphite2+harfbuzz.patch"))
("icecat-use-system-media-libs.patch"
,(search-patch "icecat-use-system-media-libs.patch"))
`(;; XXX TODO: Adapt these patches to IceCat 68.
;; ("icecat-avoid-bundled-libraries.patch"
;; ,(search-patch "icecat-avoid-bundled-libraries.patch"))
;; ("icecat-use-system-graphite2+harfbuzz.patch"
;; ,(search-patch "icecat-use-system-graphite2+harfbuzz.patch"))
;; ("icecat-use-system-media-libs.patch"
;; ,(search-patch "icecat-use-system-media-libs.patch"))
("patch" ,(canonical-package patch))
;; Icecat 60 checks for rust>=1.24
("rust" ,rust-1.24)
("cargo" ,rust-1.24 "cargo")
("llvm" ,llvm-3.9.1)
("clang" ,clang-3.9.1)
("rust" ,rust)
("cargo" ,rust "cargo")
("rust-cbindgen" ,rust-cbindgen)
("llvm" ,llvm)
("clang" ,clang)
("perl" ,perl)
("python" ,python-2) ; Python 3 not supported
("node" ,node)
("python" ,python)
("python-2" ,python-2)
("python2-pysqlite" ,python2-pysqlite)
("yasm" ,yasm)
("nasm" ,nasm) ; XXX FIXME: only needed on x86_64 and i686
("pkg-config" ,pkg-config)
("autoconf" ,autoconf-2.13)
("which" ,which)))
@ -681,7 +817,6 @@ from forcing GEXP-PROMISE."
"--disable-tests"
"--disable-updater"
"--disable-crashreporter"
"--disable-maintenance-service"
"--disable-eme"
"--disable-gconf"
@ -712,11 +847,11 @@ from forcing GEXP-PROMISE."
"--with-system-zlib"
"--with-system-bz2"
"--with-system-jpeg" ; must be libjpeg-turbo
"--with-system-libevent"
"--with-system-ogg"
"--with-system-vorbis"
;; "--with-system-theora" ; wants theora-1.2, not yet released
"--with-system-libvpx"
;; UNBUNDLE-ME! "--with-system-libevent"
;; UNBUNDLE-ME! "--with-system-ogg"
;; UNBUNDLE-ME! "--with-system-vorbis"
;; UNBUNDLE-ME! "--with-system-theora" ; wants theora-1.2, not yet released
;; UNBUNDLE-ME! "--with-system-libvpx"
"--with-system-icu"
;; See <https://bugs.gnu.org/32833>
@ -725,12 +860,11 @@ from forcing GEXP-PROMISE."
;; UNBUNDLE-ME! "--with-system-nspr"
;; UNBUNDLE-ME! "--with-system-nss"
"--with-system-harfbuzz"
"--with-system-graphite2"
;; UNBUNDLE-ME! "--with-system-harfbuzz"
;; UNBUNDLE-ME! "--with-system-graphite2"
"--enable-system-pixman"
"--enable-system-ffi"
"--enable-system-hunspell"
"--enable-system-sqlite"
;; UNBUNDLE-ME! "--enable-system-sqlite"
;; Fails with "--with-system-png won't work because
;; the system's libpng doesn't have APNG support".
@ -748,6 +882,8 @@ from forcing GEXP-PROMISE."
#:modules ((ice-9 ftw)
(ice-9 rdelim)
(ice-9 match)
(srfi srfi-34)
(srfi srfi-35)
,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
@ -802,18 +938,18 @@ from forcing GEXP-PROMISE."
;;
"modules/freetype2"
"modules/zlib"
"modules/libbz2"
"ipc/chromium/src/third_party/libevent"
"media/libjpeg"
"media/libvpx"
"media/libogg"
"media/libvorbis"
;; "media/libtheora" ; wants theora-1.2, not yet released
"media/libtremor"
"gfx/harfbuzz"
"gfx/graphite2"
;; "media/libjpeg" ; needed for now, because media/libjpeg/moz.build is referenced from config/external/moz.build
;; UNBUNDLE-ME! "ipc/chromium/src/third_party/libevent"
;; UNBUNDLE-ME! "media/libvpx"
;; UNBUNDLE-ME! "media/libogg"
;; UNBUNDLE-ME! "media/libvorbis"
;; UNBUNDLE-ME! "media/libtheora" ; wants theora-1.2, not yet released
;; UNBUNDLE-ME! "media/libtremor"
;; UNBUNDLE-ME! "gfx/harfbuzz"
;; UNBUNDLE-ME! "gfx/graphite2"
"js/src/ctypes/libffi"
"db/sqlite3"))
;; UNBUNDLE-ME! "db/sqlite3"
))
#t))
(add-after 'remove-bundled-libraries 'link-libxul-with-libraries
(lambda _
@ -840,7 +976,7 @@ from forcing GEXP-PROMISE."
(lambda _
(use-modules (guix build cargo-utils))
(let ((null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
(substitute* '("Cargo.lock" "servo/Cargo.lock")
(substitute* '("Cargo.lock" "gfx/wr/Cargo.lock")
(("(\"checksum .* = )\".*\"" all name)
(string-append name "\"" null-hash "\"")))
(for-each
@ -883,6 +1019,7 @@ from forcing GEXP-PROMISE."
(setenv "CONFIG_SHELL" bash)
(setenv "AUTOCONF" (which "autoconf")) ; must be autoconf-2.13
(setenv "CC" "gcc") ; apparently needed when Stylo is enabled
(setenv "MOZ_BUILD_DATE" ,%icecat-build-id) ; avoid timestamp
(mkdir "../build")
(chdir "../build")
(format #t "build directory: ~s~%" (getcwd))
@ -890,6 +1027,22 @@ from forcing GEXP-PROMISE."
(apply invoke bash
(string-append srcdir "/configure")
flags))))
(replace 'build
;; The build system often spuriously fails. See
;; <https://bugs.gentoo.org/show_bug.cgi?id=680934>. To
;; work around this, we try the standard 'build' phase up
;; to 5 times.
(lambda args
(let ((build (assoc-ref %standard-phases 'build)))
(let retry ((remaining-attempts 5))
(if (= remaining-attempts 1)
(apply build args)
(guard (c ((invoke-error? c)
(format #t "~%Retrying build! (~a attempts remaining)~%~%"
(- remaining-attempts 1))
(force-output)
(retry (- remaining-attempts 1))))
(apply build args)))))))
(add-before 'configure 'install-desktop-entry
(lambda* (#:key outputs #:allow-other-keys)
;; Install the '.desktop' file.
@ -925,16 +1078,23 @@ from forcing GEXP-PROMISE."
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib"))
(gtk (assoc-ref inputs "gtk+"))
(gtk-share (string-append gtk "/share")))
(gtk-share (string-append gtk "/share"))
(pulseaudio (assoc-ref inputs "pulseaudio"))
(pulseaudio-lib (string-append pulseaudio "/lib")))
(wrap-program (car (find-files lib "^icecat$"))
`("XDG_DATA_DIRS" ":" prefix (,gtk-share)))
`("XDG_DATA_DIRS" prefix (,gtk-share))
`("LD_LIBRARY_PATH" prefix (,pulseaudio-lib)))
#t))))))
(home-page "https://www.gnu.org/software/gnuzilla/")
(synopsis "Entirely free browser derived from Mozilla Firefox")
(description
"IceCat is the GNU version of the Firefox browser. It is entirely free
software, which does not recommend non-free plugins and addons. It also
features built-in privacy-protecting features.")
features built-in privacy-protecting features.
WARNING: IceCat 68 has not yet been released by the upstream IceCat project.
This is a preview release, and does not currently meet the privacy-respecting
standards of the IceCat project.")
(license license:mpl2.0) ;and others, see toolkit/content/license.html
(properties
`((ftp-directory . "/gnu/gnuzilla")

View File

@ -47,9 +47,7 @@
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
`(#:configure-flags
'("CXXFLAGS=-std=c++11") ; required by libsigc++
#:phases
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'update-gnutls-api
(lambda _
@ -88,9 +86,6 @@
`(("libsigc++" ,libsigc++)
("gnutls" ,gnutls)
("libnet6" ,libnet6)))
(arguments
;; Required by libsigc++.
`(#:configure-flags '("CXXFLAGS=-std=c++11")))
(home-page "https://gobby.github.io/")
(synopsis "Library for building collaborative editors")
(description

View File

@ -216,192 +216,11 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(supported-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"))
(license license:bsd-3)))
(define-public go-1.11
(package
(inherit go-1.4)
(name "go")
(version "1.11.12")
(source
(origin
(method url-fetch)
(uri (string-append "https://storage.googleapis.com/golang/"
name version ".src.tar.gz"))
(sha256
(base32
"09k9zmq7hhgg0bf1y7rwa0kn7q1vkkr94cmg2iv9lq3najh5nykd"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases)
`(modify-phases ,phases
(replace 'prebuild
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
(ld (string-append (assoc-ref inputs "libc") "/lib"))
(loader (car (find-files ld "^ld-linux.+")))
(net-base (assoc-ref inputs "net-base"))
(tzdata-path
(string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
(output (assoc-ref outputs "out")))
(for-each delete-file
;; Removing net/ tests, which fail when attempting to access
;; network resources not present in the build container.
'("net/listen_test.go"
"net/parse_test.go"
"net/cgo_unix_test.go"
;; A side effect of these test scripts is testing
;; cgo. Attempts at using cgo flags and
;; directives with these scripts as specified
;; here (https://golang.org/cmd/cgo/) have not
;; worked. The tests continue to state that they
;; can not find crt1.o despite being present.
"cmd/go/testdata/script/list_compiled_imports.txt"
"cmd/go/testdata/script/mod_case_cgo.txt"
;; https://github.com/golang/go/issues/24884
"os/user/user_test.go"))
(substitute* "os/os_test.go"
(("/usr/bin") (getcwd))
(("/bin/pwd") (which "pwd"))
(("/bin/sh") (which "sh")))
(substitute* "cmd/vendor/golang.org/x/sys/unix/syscall_unix_test.go"
(("/usr/bin") "/tmp"))
;; Add libgcc to runpath
(substitute* "cmd/link/internal/ld/lib.go"
(("!rpath.set") "true"))
(substitute* "cmd/go/internal/work/gccgo.go"
(("cgoldflags := \\[\\]string\\{\\}")
(string-append "cgoldflags := []string{"
"\"-rpath=" gcclib "\""
"}"))
(("\"-lgcc_s\", ")
(string-append
"\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", ")))
(substitute* "cmd/go/internal/work/gc.go"
(("ldflags = setextld\\(ldflags, compiler\\)")
(string-append
"ldflags = setextld(ldflags, compiler)\n"
"ldflags = append(ldflags, \"-r\")\n"
"ldflags = append(ldflags, \"" gcclib "\")\n")))
;; Disable failing tests: these tests attempt to access
;; commands or network resources which are neither available
;; nor necessary for the build to succeed.
(for-each
(match-lambda
((file regex)
(substitute* file
((regex all before test_name)
(string-append before "Disabled" test_name)))))
'(("net/net_test.go" "(.+)(TestShutdownUnix.+)")
("net/dial_test.go" "(.+)(TestDialTimeout.+)")
("os/os_test.go" "(.+)(TestHostname.+)")
("time/format_test.go" "(.+)(TestParseInSydney.+)")
("time/format_test.go" "(.+)(TestParseInLocation.+)")
("os/exec/exec_test.go" "(.+)(TestEcho.+)")
("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)")
("os/exec/exec_test.go" "(.+)(TestExitStatus.+)")
("os/exec/exec_test.go" "(.+)(TestPipes.+)")
("os/exec/exec_test.go" "(.+)(TestStdinClose.+)")
("os/exec/exec_test.go" "(.+)(TestIgnorePipeErrorOnSuccess.+)")
("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)")
("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)")
("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)")
("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)")
("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")
("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)")
("net/lookup_test.go" "(.+)(TestLookupPort.+)")
("syscall/exec_linux_test.go"
"(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)")))
;; fix shebang for testar script
;; note the target script is generated at build time.
(substitute* "../misc/cgo/testcarchive/carchive_test.go"
(("#!/usr/bin/env") (string-append "#!" (which "env"))))
(substitute* "net/lookup_unix.go"
(("/etc/protocols") (string-append net-base "/etc/protocols")))
(substitute* "net/port_unix.go"
(("/etc/services") (string-append net-base "/etc/services")))
(substitute* "time/zoneinfo_unix.go"
(("/usr/share/zoneinfo/") tzdata-path))
(substitute* (find-files "cmd" "\\.go")
(("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))
#t)))
(add-before 'build 'set-bootstrap-variables
(lambda* (#:key outputs inputs #:allow-other-keys)
;; Tell the build system where to find the bootstrap Go.
(let ((go (assoc-ref inputs "go")))
(setenv "GOROOT_BOOTSTRAP" go)
(setenv "GOGC" "400")
#t)))
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
;; FIXME: Some of the .a files are not bit-reproducible.
(let* ((output (assoc-ref outputs "out")))
(setenv "CC" (which "gcc"))
(setenv "GOOS" "linux")
(setenv "GOROOT" (dirname (getcwd)))
(setenv "GOROOT_FINAL" output)
(setenv "CGO_ENABLED" "1")
(invoke "sh" "all.bash"))))
(replace 'install
;; TODO: Most of this could be factorized with Go 1.4.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((output (assoc-ref outputs "out"))
(doc_out (assoc-ref outputs "doc"))
(docs (string-append doc_out "/share/doc/" ,name "-" ,version))
(src (string-append
(assoc-ref outputs "tests") "/share/" ,name "-" ,version)))
(delete-file-recursively "../pkg/bootstrap")
;; Prevent installation of the build cache, which contains
;; store references to most of the tools used to build Go and
;; would unnecessarily increase the size of Go's closure if it
;; was installed.
(delete-file-recursively "../pkg/obj")
(mkdir-p src)
(copy-recursively "../test" (string-append src "/test"))
(delete-file-recursively "../test")
(mkdir-p docs)
(copy-recursively "../api" (string-append docs "/api"))
(delete-file-recursively "../api")
(copy-recursively "../doc" (string-append docs "/doc"))
(delete-file-recursively "../doc")
(for-each
(lambda (file)
(let* ((filein (string-append "../" file))
(fileout (string-append docs "/" file)))
(copy-file filein fileout)
(delete-file filein)))
;; Note the slightly different file names compared to 1.4.
'("README.md" "CONTRIBUTORS" "AUTHORS" "PATENTS"
"LICENSE" "VERSION" "CONTRIBUTING.md" "robots.txt"))
(copy-recursively "../" output)
#t)))))))
(native-inputs
`(("go" ,go-1.4)
,@(match (%current-system)
((or "armhf-linux" "aarch64-linux")
`(("gold" ,binutils-gold)))
(_ `()))
,@(package-native-inputs go-1.4)))
(supported-systems %supported-systems)))
(define-public go-1.12
(package
(inherit go-1.4)
(name "go")
(version "1.12.7")
(version "1.12.13")
(source
(origin
(method url-fetch)
@ -409,7 +228,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
name version ".src.tar.gz"))
(sha256
(base32
"04rvwj69gmw3bz8pw5pf10r21ar0pgpnswp15nkddf04dxyl9s4m"))))
"19zmrhydd52vhdnzlhxqklzg1mnav434dcgw9wl4iajbvfwd70sk"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases)
@ -841,182 +660,18 @@ Go programming language.")
".*\\.gz$"))
#t)))))
(propagated-inputs
`(("go-golang-org-x-sys-cpu" ,go-golang-org-x-sys-cpu)))
`(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
(synopsis "Supplementary cryptographic libraries in Go")
(description "This package provides supplementary cryptographic libraries
for the Go language.")
(home-page "https://go.googlesource.com/crypto/")
(license license:bsd-3))))
(define-public go-golang-org-x-crypto-bcrypt
(let ((commit "b7391e95e576cacdcdd422573063bc057239113d")
(revision "3"))
(package
(name "go-golang-org-x-crypto-bcrypt")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/crypto")
(commit commit)))
(file-name (string-append "go.googlesource.com-crypto-"
version "-checkout"))
(sha256
(base32
"1jqfh81mhgwcc6b9l0bs6rb0707s01qpvn7896i5bsmig46lc7zm"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/crypto/bcrypt"
#:unpack-path "golang.org/x/crypto"))
(synopsis "Bcrypt in Go")
(description "This package provides a Go implementation of the bcrypt
password hashing function.")
(home-page "https://go.googlesource.com/crypto/")
(license license:bsd-3))))
(define-public go-golang-org-x-crypto-blowfish
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-blowfish")
(arguments
`(#:import-path "golang.org/x/crypto/blowfish"
#:unpack-path "golang.org/x/crypto"))
(synopsis "Blowfish in Go")
(description "This package provides a Go implementation of the Blowfish
symmetric-key block cipher.")))
(define-public go-golang-org-x-crypto-pbkdf2
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-pbkdf2")
(arguments
`(#:import-path "golang.org/x/crypto/pbkdf2"
#:unpack-path "golang.org/x/crypto"))
(synopsis "PBKDF2 in Go")
(description "This package provides a Go implementation of the PBKDF2 key
derivation function.")))
(define-public go-golang-org-x-crypto-tea
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-tea")
(arguments
`(#:import-path "golang.org/x/crypto/tea"
#:unpack-path "golang.org/x/crypto"))
(synopsis "Tiny Encryption Algorithm (TEA) in Go")
(description "This package provides a Go implementation of the Tiny Encryption
Algorithm (TEA) block cipher.")))
(define-public go-golang-org-x-crypto-salsa20
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-salsa20")
(arguments
`(#:import-path "golang.org/x/crypto/salsa20"
#:unpack-path "golang.org/x/crypto"))
(synopsis "Salsa20 in Go")
(description "This package provides a Go implementation of the Salsa20
stream cipher.")))
(define-public go-golang-org-x-crypto-cast5
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-cast5")
(arguments
`(#:import-path "golang.org/x/crypto/cast5"
#:unpack-path "golang.org/x/crypto"))
(synopsis "Cast5 in Go")
(description "This package provides a Go implementation of the Cast5
symmetric-key block cipher.")))
(define-public go-golang-org-x-crypto-twofish
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-twofish")
(arguments
`(#:import-path "golang.org/x/crypto/twofish"
#:unpack-path "golang.org/x/crypto"))
(synopsis "Twofish in Go")
(description "This package provides a Go implementation of the Twofish
symmetric-key block cipher.")))
(define-public go-golang-org-x-crypto-xtea
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-xtea")
(arguments
`(#:import-path "golang.org/x/crypto/xtea"
#:unpack-path "golang.org/x/crypto"))
(synopsis "eXtended Tiny Encryption Algorithm (XTEA) in Go")
(description "This package provides a Go implementation of the eXtended
Tiny Encryption Algorithm (XTEA) block cipher.")))
(define-public go-golang-org-x-crypto-ed25519
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-ed25519")
(arguments
`(#:import-path "golang.org/x/crypto/ed25519"
#:unpack-path "golang.org/x/crypto"
#:phases
(modify-phases %standard-phases
(add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
(lambda* (#:key outputs #:allow-other-keys)
(map (lambda (file)
(make-file-writable file))
(find-files
(string-append (assoc-ref outputs "out")
"/src/golang.org/x/crypto/ed25519/testdata")
".*\\.gz$"))
#t)))))
(synopsis "ED25519 in Go")
(description "This package provides a Go implementation of the ED25519
signature algorithm.")))
(define-public go-golang-org-x-crypto-ripemd160
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-ripemd160")
(arguments
(substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt)
((#:import-path _)
"golang.org/x/crypto/ripemd160")))
(synopsis "RIPEMD-160 in Go")
(description "This package provides a Go implementation of the RIPEMD-160
hash algorithm.")))
(define-public go-golang-org-x-crypto-blake2s
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-blake2s")
(arguments
(substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt)
((#:import-path _)
"golang.org/x/crypto/blake2s")))
(propagated-inputs
`(("go-golang-org-x-sys-cpu" ,go-golang-org-x-sys-cpu)))
(synopsis "BLAKE2s in Go")
(description "This package provides a Go implementation of the BLAKE2s
hash algorithm.")))
(define-public go-golang-org-x-crypto-sha3
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-sha3")
(arguments
(substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt)
((#:import-path _)
"golang.org/x/crypto/sha3")))
(synopsis "SHA-3 in Go")
(description "This package provides a Go implementation of the SHA-3
fixed-output-length hash functions and the SHAKE variable-output-length hash
functions defined by FIPS-202.")))
(define-public go-golang-org-x-net-ipv4
(define-public go-golang-org-x-net
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-ipv4")
(name "go-golang-org-x-net")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
@ -1029,208 +684,22 @@ functions defined by FIPS-202.")))
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/ipv4"
#:unpack-path "golang.org/x/net"))
(propagated-inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
(synopsis "Go IPv4 support")
(description "This package provides @code{ipv4}, which implements IP-level
socket options for the Internet Protocol version 4.")
`(#:import-path "golang.org/x/net"
; Source-only package
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'build))))
(synopsis "Go supplemental networking libraries")
(description "This package provides supplemental Go networking libraries.")
(home-page "https://go.googlesource.com/net")
(license license:bsd-3))))
(define-public go-golang-org-x-net-bpf
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-bpf")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/net")
(commit commit)))
(file-name (string-append "go.googlesource.com-net-"
version "-checkout"))
(sha256
(base32
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/bpf"
#:unpack-path "golang.org/x/net"))
(propagated-inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
(synopsis "Berkeley Packet Filters (BPF) in Go")
(description "This package provides a Go implementation of the Berkeley
Packet Filter (BPF) virtual machine.")
(home-page "https://go.googlesource.com/net/")
(license license:bsd-3))))
(define-public go-golang-org-x-net-context
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-context")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/net")
(commit commit)))
(file-name (string-append "go.googlesource.com-net-"
version "-checkout"))
(sha256
(base32
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/context"
#:unpack-path "golang.org/x/net"))
(synopsis "Golang Context type")
(description "This package provides @code{context}, which defines the
Context type, which carries deadlines, cancellation signals, and other
request-scoped values across API boundaries and between processes.")
(home-page "https://go.googlesource.com/net/")
(license license:bsd-3))))
(define-public go-golang-org-x-net-internal-socks
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-internal-socks")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/net")
(commit commit)))
(file-name (string-append "go.googlesource.com-net-"
version "-checkout"))
(sha256
(base32
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/internal/socks"
#:unpack-path "golang.org/x/net"))
(synopsis "")
(description "")
(home-page "https://go.googlesource.com/net/")
(license license:bsd-3))))
(define-public go-golang-org-x-net-internal-socket
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-internal-socket")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/net")
(commit commit)))
(file-name (string-append "go.googlesource.com-net-"
version "-checkout"))
(sha256
(base32
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/internal/socket"
#:unpack-path "golang.org/x/net"))
(propagated-inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
(synopsis "")
(description "")
(home-page "https://go.googlesource.com/net/")
(license license:bsd-3))))
(define-public go-golang-org-x-net-internal-iana
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-internal-iana")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/net")
(commit commit)))
(file-name (string-append "go.googlesource.com-net-"
version "-checkout"))
(sha256
(base32
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/internal/iana"
#:unpack-path "golang.org/x/net"))
(synopsis "Go support for assigned numbers (IANA)")
(description "This package provides @code{iana}, which provides protocol
number resources managed by the Internet Assigned Numbers Authority (IANA).")
(home-page "https://go.googlesource.com/net/")
(license license:bsd-3))))
(define-public go-golang-org-x-net-ipv6
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-ipv6")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/net")
(commit commit)))
(file-name (string-append "go.googlesource.com-net-"
version "-checkout"))
(sha256
(base32
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/ipv6"
#:unpack-path "golang.org/x/net"))
(propagated-inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
(synopsis "Go IPv6 support")
(description "This package provides @code{ipv6}, which implements
IP-level socket options for the Internet Protocol version 6.")
(home-page "https://go.googlesource.com/net")
(license license:bsd-3))))
(define-public go-golang-org-x-net-proxy
(let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99")
(revision "3"))
(package
(name "go-golang-org-x-net-proxy")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/net")
(commit commit)))
(file-name (string-append "go.googlesource.com-net-"
version "-checkout"))
(sha256
(base32
"18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/net/proxy"
#:unpack-path "golang.org/x/net/"))
(synopsis "Go support for network proxies")
(description "This package provides @code{proxy}, which provides support
for a variety of protocols to proxy network data.")
(home-page "https://go.googlesource.com/net")
(license license:bsd-3))))
(define-public go-golang-org-x-sys-unix
(define-public go-golang-org-x-sys
(let ((commit "04f50cda93cbb67f2afa353c52f342100e80e625")
(revision "4"))
(package
(name "go-golang-org-x-sys-unix")
(name "go-golang-org-x-sys")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
@ -1243,28 +712,21 @@ for a variety of protocols to proxy network data.")
"0hmfsz9y1ingwsn482hlzzmzs7kr3cklm0ana0mbdk70isw2bxnw"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/sys/unix"
#:unpack-path "golang.org/x/sys"))
`(#:import-path "golang.org/x/sys"
;; Source-only package
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'build))))
(synopsis "Go support for low-level system interaction")
(description "This package provides @code{unix}, which offers Go support
for low-level interaction with the operating system.")
(description "This package provides supplemental libraries offering Go
support for low-level interaction with the operating system.")
(home-page "https://go.googlesource.com/sys")
(license license:bsd-3))))
(define-public go-golang-org-x-sys-cpu
(define-public go-golang-org-x-text
(package
(inherit go-golang-org-x-sys-unix)
(name "go-golang-org-x-sys-cpu")
(arguments
'(#:import-path "golang.org/x/sys/cpu"
#:unpack-path "golang.org/x/sys"))
(synopsis "CPU feature detection")
(description "Thi spackage provides @code{cpu}, which offers tools for CPU
feature detection in Go.")))
(define-public go-golang-org-x-text-encoding
(package
(name "go-golang-org-x-text-encoding")
(name "go-golang-org-x-text")
(version "0.3.2")
(source (origin
(method git-fetch)
@ -1278,45 +740,23 @@ feature detection in Go.")))
"0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/text/encoding"
#:unpack-path "golang.org/x/text"))
(synopsis "Interface for character encodings for conversion to and from
UTF-8")
(description "This package defines an interface for character encodings.
Specific implementations of encoding for CJK text as well as simple character
encodings are provided in subpackages.")
`(#:import-path "golang.org/x/text"
; Source-only package
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'build))))
(synopsis "Supplemental Go text processing libraries")
(description "This package provides supplemental Go libraries for text
processing.")
(home-page "https://go.googlesource.com/text")
(license license:bsd-3)))
(define-public go-golang-org-x-text-transform
(package
(inherit go-golang-org-x-text-encoding)
(name "go-golang-org-x-text-transform")
(arguments
`(#:import-path "golang.org/x/text/transform"
#:unpack-path "golang.org/x/text"))
(synopsis "Go text transformation")
(description "This package provides @code{transform}, which provides
reader and writer wrappers that transform the bytes passing through. Example
transformations provided by other packages include normalization and conversion
between character sets.")))
(define-public go-golang-org-x-text-unicode-norm
(package
(inherit go-golang-org-x-text-encoding)
(name "go-golang-org-x-text-unicode-norm")
(arguments
`(#:import-path "golang.org/x/text/unicode/norm"
#:unpack-path "golang.org/x/text"))
(synopsis "Unicode normalization in Go")
(description "This package provides @code{norm}, which contains types and
functions for normalizing Unicode strings.")))
(define-public go-golang-org-x-time-rate
(define-public go-golang-org-x-time
(let ((commit "6dc17368e09b0e8634d71cac8168d853e869a0c7")
(revision "1"))
(package
(name "go-golang-org-x-time-rate")
(name "go-golang-org-x-time")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
@ -1329,29 +769,20 @@ functions for normalizing Unicode strings.")))
"1fx4cf5fpdz00g3c7vxzy92hdcg0vh4yqw00qp5s52j72qixynbk"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/time/rate"
#:unpack-path "golang.org/x/time"))
(propagated-inputs
`(("go-golang-org-x-net-context" ,go-golang-org-x-net-context)))
(synopsis "Rate limiting in Go")
(description "This package provides @{rate}, which implements rate
limiting in Go.")
`(#:import-path "golang.org/x/time"
; Source-only package
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'build))))
; (propagated-inputs
; `(("go-golang-org-x-net" ,go-golang-org-x-net)))
(synopsis "Supplemental Go time libraries")
(description "This package provides supplemental Go libraries related to
time.")
(home-page "https://godoc.org/golang.org/x/time/rate")
(license license:bsd-3))))
(define-public go-golang-org-x-crypto-ssh-terminal
(package
(inherit go-golang-org-x-crypto-bcrypt)
(name "go-golang-org-x-crypto-ssh-terminal")
(inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
(arguments
`(#:import-path "golang.org/x/crypto/ssh/terminal"
#:unpack-path "golang.org/x/crypto"))
(synopsis "Terminal functions for Go")
(description "This package provides @{terminal}, which implements support
functions for dealing with terminals, as commonly found on UNIX systems.")))
(define-public go-github-com-burntsushi-toml
(package
(name "go-github-com-burntsushi-toml")
@ -1735,17 +1166,17 @@ GNU extensions} to the POSIX recommendations for command-line options.")
(uri (git-reference
(url "https://github.com/sirupsen/logrus.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"))))
(build-system go-build-system)
(native-inputs
`(("go-golang-org-x-crypto-ssh-terminal"
,go-golang-org-x-crypto-ssh-terminal)
`(("go-golang-org-x-crypto"
,go-golang-org-x-crypto)
("go-github-com-stretchr-testify"
,go-github-com-stretchr-testify)
("go-golang-org-x-sys-unix"
,go-golang-org-x-sys-unix)))
("go-golang-org-x-sys" ,go-golang-org-x-sys)))
(arguments
'(#:tests? #f ;FIXME missing dependencies
#:import-path "github.com/sirupsen/logrus"))
@ -1834,12 +1265,11 @@ SysVinit, and more.")
"1yg2zrikn3vkvkx5mn51p6bfjk840qdkn7ahhhvvcsc8mpigrjc6"))))
(build-system go-build-system)
(native-inputs
`(("go-golang-org-x-sys-unix"
,go-golang-org-x-sys-unix)
`(("go-golang-org-x-sys" ,go-golang-org-x-sys)
("go-github-com-sirupsen-logrus"
,go-github-com-sirupsen-logrus)
("go-golang-org-x-crypto-ssh-terminal"
,go-golang-org-x-crypto-ssh-terminal)))
("go-golang-org-x-crypto"
,go-golang-org-x-crypto)))
(arguments
'(#:import-path "github.com/docker/distribution"
#:phases
@ -2011,7 +1441,7 @@ values.")
"1i77aq4gf9as03m8fpfh8fq49n4z9j7548blrcsidm1xhslzk5xd"))))
(build-system go-build-system)
(propagated-inputs
`(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
`(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
(arguments
'(#:import-path "github.com/mattn/go-isatty"))
(home-page "https://github.com/mattn/go-isatty")
@ -2350,7 +1780,7 @@ and lookup requests. Browse requests are not supported yet.")
("taglib" ,taglib)))
(arguments
`(#:import-path "github.com/wtolson/go-taglib"
;; Tests don't pass "vet" on go-1.11. See
;; Tests don't pass "vet" on Go since 1.11. See
;; https://github.com/wtolson/go-taglib/issues/12.
#:phases
(modify-phases %standard-phases
@ -2379,8 +1809,12 @@ and lookup requests. Browse requests are not supported yet.")
"06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/gogo/protobuf/proto"
#:unpack-path "github.com/gogo/protobuf"))
`(#:import-path "github.com/gogo/protobuf"
; Source-only package
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'build))))
(synopsis "Protocol Buffers for Go with Gadgets")
(description "Gogoprotobuf is a fork of golang/protobuf with extra code
generation features. This code generation is used to achieve:
@ -2395,86 +1829,6 @@ generation features. This code generation is used to achieve:
(home-page "https://github.com/gogo/protobuf")
(license license:bsd-3)))
(define-public go-github-com-gogo-protobuf-protoc-gen-gogo
(package
(name "go-github-com-gogo-protobuf-protoc-gen-gogo")
(version "1.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gogo/protobuf")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/gogo/protobuf/protoc-gen-gogo"
#:unpack-path "github.com/gogo/protobuf"
#:tests? #f)) ; Requires the unpackaged 'protoc-min-version'
(synopsis "Protocol Buffers for Go with Gadgets")
(description "Gogoprotobuf is a fork of golang/protobuf with extra code
generation features. This code generation is used to achieve:
@itemize
@item fast marshalling and unmarshalling
@item more canonical Go structures
@item goprotobuf compatibility
@item less typing by optionally generating extra helper code
@item peace of mind by optionally generating test and benchmark code
@item other serialization formats
@end itemize")
(home-page "https://github.com/gogo/protobuf")
(license license:bsd-3)))
(define-public go-github-com-gogo-protobuf-gogoproto
(package
(name "go-github-com-gogo-protobuf-gogoproto")
(version "1.2.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gogo/protobuf.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m"))))
(build-system go-build-system)
(arguments
'(#:unpack-path "github.com/gogo/protobuf"
#:import-path "github.com/gogo/protobuf/gogoproto"))
(home-page "https://github.com/gogo/protobuf")
(synopsis "Extensions to protocol buffers")
(description "This package provides extensions to the Gogo protocol buffers
implementation.")
(license license:bsd-3)))
(define-public go-github-com-gogo-protobuf-proto
(package
(name "go-github-com-gogo-protobuf-proto")
(version "1.2.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gogo/protobuf.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m"))))
(build-system go-build-system)
(arguments
'(#:unpack-path "github.com/gogo/protobuf"
#:import-path "github.com/gogo/protobuf/proto"))
(home-page "https://github.com/gogo/protobuf")
(synopsis "Protocol buffers component")
(description "This is a component of the Gogo protocol buffers
implementation.")
(license license:bsd-3)))
(define-public go-github-com-libp2p-go-flow-metrics
(let ((commit "7e5a55af485341567f98d6847a373eb5ddcdcd43")
(revision "0"))
@ -2663,9 +2017,9 @@ Architecture Processors\" by J. Guilford et al.")
(arguments
'(#:import-path "github.com/libp2p/go-libp2p-crypto"))
(native-inputs
`(("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
`(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)))
(home-page
"https://github.com/libp2p/go-libp2p-crypto")
@ -2811,8 +2165,7 @@ required by Go's standard Hash interface.")
("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)
("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)))
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
(home-page "https://github.com/multiformats/go-multihash")
(synopsis "Multihash implementation in Go")
(description "Multihash implementation in Go.")
@ -2839,7 +2192,7 @@ required by Go's standard Hash interface.")
'(#:import-path "github.com/libp2p/go-libp2p-peer"))
(native-inputs
`(("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto)
("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
@ -2847,9 +2200,7 @@ required by Go's standard Hash interface.")
("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)
("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)))
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
(home-page "https://github.com/libp2p/go-libp2p-peer")
(synopsis "PKI based identities for use in go-libp2p")
(description "PKI based identities for use in @command{go-libp2p}.")
@ -2907,14 +2258,12 @@ required by Go's standard Hash interface.")
("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)
("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)))
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
(home-page "https://github.com/libp2p/go-libp2p-metrics")
(synopsis "Connection wrapper for go-libp2p that provides bandwidth metrics")
(description "A connection wrapper for @command{go-libp2p} that provides bandwidth
@ -2987,8 +2336,7 @@ cross-compilation.")
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)
("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)))
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
(home-page "https://github.com/multiformats/go-multiaddr")
(synopsis "Composable and future-proof network addresses")
(description "Multiaddr is a standard way to represent addresses that
@ -3032,8 +2380,7 @@ does the following:
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
("go-golang-org-x-crypto-sha3" ,go-golang-org-x-crypto-sha3)
("go-golang-org-x-crypto-blake2s" ,go-golang-org-x-crypto-blake2s)))
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
(home-page "https://github.com/multiformats/go-multiaddr-net")
(synopsis "Multiaddress net tools")
(description "This package provides Multiaddr specific versions of
@ -3388,8 +2735,7 @@ colorspaces.")
(arguments
'(#:import-path "github.com/gdamore/encoding"))
(inputs
`(("go-golang-org-x-text-encoding" ,go-golang-org-x-text-encoding)
("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform)))
`(("go-golang-org-x-text" ,go-golang-org-x-text)))
(home-page "https://github.com/gdamore/encoding")
(synopsis "Provide encodings missing from Go")
(description "This package provides useful encodings not included in the
@ -3430,8 +2776,7 @@ non-UTF-friendly sources.")
(inputs
`(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
("go-golang-org-colorful" ,go-golang-org-colorful)
("go-golang-org-x-text-encoding" ,go-golang-org-x-text-encoding)
("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform)
("go-golang-org-x-text" ,go-golang-org-x-text)
("go-github-com-gdamore-encoding" ,go-github-com-gdamore-encoding)))
(home-page "https://github.com/gdamore/tcell")
(synopsis "Provide a cell-based view for text terminals")
@ -3678,6 +3023,7 @@ a cron spec parser and job runner.")
(uri (git-reference
(url "https://github.com/shirou/gopsutil")
(commit commit))) ; XXX
(file-name (git-file-name name version))
(sha256
(base32
"0x1g4r32q4201nr2b754xnrrndmwsrhfr7zg37spya86qrmijnws"))))

View File

@ -171,7 +171,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
(define-public gpxsee
(package
(name "gpxsee")
(version "7.12")
(version "7.16")
(source (origin
(method git-fetch)
(uri (git-reference
@ -180,7 +180,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
(file-name (git-file-name name version))
(sha256
(base32
"0c3axs3mm6xzabwbvy9vgq1sryjpi4h91nwzy9iyv9zjxz7phgzc"))))
"1mkfhb2c9qafjpva600nyn6yik49l4q1k6id1xvrci37wsn6ijav"))))
(build-system gnu-build-system)
(arguments
'(#:phases

View File

@ -389,7 +389,7 @@ contains supporting code for evaluation and parameter tuning.")
PYTHONCFLAGS =-I~a/include/python~am/ -I~a/lib/python~a/site-packages/numpy/core/include
LIBS = -lpython~am -lfaiss
SHAREDFLAGS = -shared -fopenmp
CXXFLAGS = -fpermissive -std=c++11 -fopenmp -fPIC
CXXFLAGS = -fpermissive -fopenmp -fPIC
CPUFLAGS = ~{~a ~}~%"
(assoc-ref inputs "python*") python-version
(assoc-ref inputs "python-numpy") python-version

View File

@ -291,7 +291,7 @@ more.")
(define-public cgal
(package
(name "cgal")
(version "4.8.1")
(version "4.14.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -299,19 +299,15 @@ more.")
"CGAL-" version "/CGAL-" version ".tar.xz"))
(sha256
(base32
"1c41yzl2jg3d6zx5k0iccwqwibp950q7dr7z7pp4xi9wlph3c87s"))))
"08lrp3hfwdypggz4138bnkh6bjxn441zg2y9xnq5mrjfc5ini6w1"))))
(build-system cmake-build-system)
(arguments
'(;; "RelWithDebInfo" is not supported.
#:build-type "Release"
;; No 'test' target.
#:tests? #f))
'(#:tests? #f)) ; no test target
(inputs
`(("mpfr" ,mpfr)
("gmp" ,gmp)
("boost" ,boost)))
(home-page "http://cgal.org/")
(home-page "https://www.cgal.org/")
(synopsis "Computational geometry algorithms library")
(description
"CGAL provides easy access to efficient and reliable geometric algorithms
@ -433,23 +429,31 @@ graphics.")
#t))))
(build-system cmake-build-system)
(arguments
'(#:phases
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'change-directory
(lambda _
(chdir "OpenEXR")
#t))
(add-after 'change-directory 'disable-broken-test
;; This test fails on i686. Upstream developers suggest that
;; this test is broken on i686 and can be safely disabled:
;; https://github.com/openexr/openexr/issues/67#issuecomment-21169748
(add-before 'check 'increase-test-timeout
(lambda _
(substitute* "IlmImfTest/main.cpp"
(("#include \"testOptimizedInterleavePatterns.h\"")
"//#include \"testOptimizedInterleavePatterns.h\"")
(("TEST \\(testOptimizedInterleavePatterns")
"//TEST (testOptimizedInterleavePatterns"))
#t)))))
;; On armhf-linux, we need to override the CTest default
;; timeout of 1500 seconds for the OpenEXR.IlmImf test.
(setenv "CTEST_TEST_TIMEOUT" "2000")
#t))
,@(if (not (target-64bit?))
`((add-after 'change-directory 'disable-broken-test
;; This test fails on i686. Upstream developers suggest that
;; this test is broken on i686 and can be safely disabled:
;; https://github.com/openexr/openexr/issues/67#issuecomment-21169748
(lambda _
(substitute* "IlmImfTest/main.cpp"
((".*testOptimizedInterleavePatterns.*") "")
;; This test is broken in 2.4.0 and will be fixed in a later
;; release: <https://github.com/openexr/openexr/issues/571>.
((".*testLargeDataWindowOffsets.*") ""))
#t)))
'()))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
@ -665,7 +669,6 @@ virtual reality, scientific visualization and modeling.")
(list "COMPILED_BY=Guix"
(string-append "--with-boost-libdir="
(assoc-ref %build-inputs "boost") "/lib")
"CXXFLAGS=-std=c++11"
"--disable-optimiz-arch")
#:phases
(modify-phases %standard-phases
@ -1026,12 +1029,13 @@ requirements.")
(define-public opensubdiv
(package
(name "opensubdiv")
(version "3_4_0")
(version "3.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/PixarAnimationStudios/OpenSubdiv")
(commit (string-append "v" version))))
(url "https://github.com/PixarAnimationStudios/OpenSubdiv")
(commit (string-append "v" (string-join (string-split version #\.)
"_")))))
(file-name (git-file-name name version))
(sha256
(base32

View File

@ -44,6 +44,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
@ -1093,7 +1094,7 @@ toolkit.")
(define-public gtkmm
(package
(name "gtkmm")
(version "3.24.0")
(version "3.24.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -1101,7 +1102,7 @@ toolkit.")
name "-" version ".tar.xz"))
(sha256
(base32
"0hxaq4x9jqj8vvnv3sb6nwapz83v8lclbm887qqci0g50llcjpyg"))))
"1hxdnhavjyvbcpxhd5z17l9fj4182028s66lc0s16qqqrldhjwbd"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("glib" ,glib "bin") ;for 'glib-compile-resources'
@ -1319,14 +1320,14 @@ produces identical output on all those targets.")
(define-public perl-gtk2
(package
(name "perl-gtk2")
(version "1.24992")
(version "1.24993")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/Gtk2-"
version ".tar.gz"))
(sha256
(base32
"1044rj3wbfmgaif2jb0k28m2aczli6ai2n5yvn6pr7zjyw16kvd2"))))
"0ry9jfvfgdwzalxcvwsgr7plhk3agx7p40l0fqdf3vrf7ds47i29"))))
(build-system perl-build-system)
(native-inputs
`(("perl-extutils-depends" ,perl-extutils-depends)
@ -1737,7 +1738,7 @@ independent of your desktop environment, and supports global key bindings.")
(define-public yad
(package
(name "yad")
(version "0.41.0")
(version "5.0")
(source
(origin
(method git-fetch)
@ -1746,24 +1747,24 @@ independent of your desktop environment, and supports global key bindings.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hkxiich898sbacpg3jflf6i8l4hkfnc0zh10rr376v0mnzbn6jn"))))
(build-system gnu-build-system)
(base32 "07rd61hvilsxxrj7lf8c9k0a8glj07s48m7ya8d45030r90g3lvc"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags
'("--with-gtk=gtk3"
"--enable-html"
"--enable-gio"
"--enable-spell"
"--enable-icon-browser")
;; Passing --enable-foo will silently disable foo if prerequisite
;; inputs are missing, not abort the build as one might expect.
;; --enable-html adds a huge webkitgtk dependency. It was never
;; present in the past and nobody complained.
'("--enable-icon-browser"
"--enable-spell") ; gspell checking support
#:phases
(modify-phases %standard-phases
(replace 'bootstrap
(add-after 'bootstrap 'intltoolize
(lambda _
(invoke "autoreconf" "-vif")
(invoke "intltoolize" "--force" "--automake")
#t)))))
(invoke "intltoolize" "--force" "--automake"))))))
(inputs
`(("gtk+" ,gtk+)))
`(("gspell" ,gspell)
("gtk+" ,gtk+)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)

View File

@ -41,6 +41,7 @@
(define-module (gnu packages guile-xyz)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages aspell)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
@ -778,6 +779,7 @@ messaging library.")
(uri (git-reference
(url "https://github.com/jerry40/guile-kernel")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0aj04853bqm47ivfcmrgpb7w3wkis847kc7qrwsa5zcn9h38qh2f"))))
@ -1594,14 +1596,14 @@ many readers as needed).")
(define-public guile-ncurses
(package
(name "guile-ncurses")
(version "2.2")
(version "3.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/guile-ncurses/guile-ncurses-"
version ".tar.gz"))
(sha256
(base32
"1wvggbr4xv8idh1hzd8caj4xfp4pln78a7w1wqzd4zgzwmnzxr2f"))))
"038xbffalhymg26lvmzgf7ljilxz2f2zmqg5r5nfzbipfbprwjhf"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("guile" ,guile-2.2)))
@ -1856,11 +1858,14 @@ interface for reading articles in any format.")
(version "1.3.0")
(home-page "https://github.com/aconchillo/guile-redis")
(source (origin
(method url-fetch)
(uri (string-append home-page "/archive/" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url home-page)
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1li70a2716my9q9zfq0qn2x5d1cir9k2vx0jm9glm464yaf1vj39"))))
"14izs8daxh7pb7vwpxi5g427qa31137jkaxrb1cy5rpjkwchy723"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@ -1974,6 +1979,7 @@ format is also supported.")
(uri (git-reference
(url "https://git.elephly.net/software/guile-picture-language.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1ydvw9dvssdvlvhh1dr8inyzy2x6m41qgp8hsivca1xysr4gc23a"))))
@ -1994,40 +2000,38 @@ The picture values can directly be displayed in Geiser.")
(license license:lgpl3+))))
(define-public guile-studio
(let ((commit "4d63f3d684f61bf83566745e8572496cdf6daad0")
(revision "2"))
(let ((commit "98fbbbd08de396cd8a0e45f2a4badf1c733a5772")
(revision "3"))
(package
(name "guile-studio")
(version (git-version "0" revision commit))
(version (git-version "0.0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.elephly.net/software/guile-studio.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1d3hhw3c3mk5i87xvfqa643674f08j1jd1rc1pl534gydz529vd5"))))
"0rxl5gv2mavycwkl33lcwyb3z71j2f4zyzk60k7vl3hzszpr08iq"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are none
#:make-flags
(list (string-append "ICONS_DIR="
(assoc-ref %build-inputs "adwaita-icon-theme")
"/share/icons/Adwaita/")
(string-append "PICT_DIR="
(assoc-ref %build-inputs "guile-picture-language"))
(string-append "EMACS_DIR="
(assoc-ref %build-inputs "emacs"))
(string-append "GUILE_DIR="
(assoc-ref %build-inputs "guile"))
(string-join (cons "INPUTS=" (map cdr %build-inputs)))
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key source inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/"))
(share (string-append out "/share/")))
(mkdir-p share)
(mkdir-p bin)
(apply invoke "guile" "-s" "guile-studio-configure.scm"
out
(assoc-ref inputs "emacs")
(assoc-ref inputs "guile-picture-language")
(string-append (assoc-ref inputs "adwaita-icon-theme")
"/share/icons/Adwaita/")
(map cdr inputs))
#t)))
(delete 'install))))
(inputs
`(("guile" ,guile-2.2)
@ -2039,6 +2043,8 @@ The picture values can directly be displayed in Geiser.")
("emacs-smart-mode-line" ,emacs-smart-mode-line)
("emacs-paren-face" ,emacs-paren-face)
("adwaita-icon-theme" ,adwaita-icon-theme)))
(native-inputs
`(("texinfo" ,texinfo)))
(home-page "https://gnu.org/software/guile")
(synopsis "IDE for Guile")
(description
@ -2609,3 +2615,47 @@ bindings to Vigra C (a C wrapper to most of the Vigra functionality) and is
enriched with pure Guile Scheme algorithms, all accessible through a nice,
clean and easy to use high level API.")
(license license:gpl3+)))
(define-public guile-ffi-fftw
(let ((commit "95d7ffb55860f3163c5283ecec1ef43bc3d174dd")
(revision "1"))
(package
(name "guile-ffi-fftw")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lloda/guile-ffi-fftw.git")
(commit commit)))
(file-name (git-file-name "guile-ffi-fftw" version))
(sha256
(base32
"0v9vk9cr4x9gn36lihi9gfkxyiqak0i598v5li6qw8bg95004p49"))))
(build-system guile-build-system)
(arguments
`(#:source-directory "mod"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'prepare-build
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "mod/ffi/fftw.scm"
(("\\(getenv \"GUILE_FFI_FFTW_LIBFFTW3_PATH\"\\)")
(format #f "\"~a/lib\"" (assoc-ref inputs "fftw"))))
#t))
(add-after 'build 'check
(lambda _
(invoke "guile" "-L" "mod"
"-s" "test/test-ffi-fftw.scm"))))))
(inputs
`(("fftw" ,fftw)
("guile" ,guile-2.2)))
(home-page "https://github.com/lloda/guile-ffi-fftw/")
(synopsis "Access FFTW through Guile's FFI")
(description "This is a minimal set of Guile FFI bindings for the FFTW
library's guru interface. It provides two functions: @code{fftw-dft! rank
sign in out} and @code{fftw-dft rank sign in}. These bindings being minimal,
there is no support for computing & reusing plans, or split r/i transforms, or
anything other than straight complex DFTs.")
;; TODO: This might actually be LGPLv3+
;; See https://github.com/lloda/guile-ffi-fftw/issues/1
(license license:gpl3+))))

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