me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into staging

master
Marius Bakke 2020-06-27 10:23:11 +02:00
commit 425fd7eb6a
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
208 changed files with 10272 additions and 3185 deletions

View File

@ -37,6 +37,7 @@
(eval . (put 'with-file-lock 'scheme-indent-function 1))
(eval . (put 'with-file-lock/no-wait 'scheme-indent-function 1))
(eval . (put 'with-profile-lock 'scheme-indent-function 1))
(eval . (put 'with-writable-file 'scheme-indent-function 1))
(eval . (put 'package 'scheme-indent-function 0))
(eval . (put 'origin 'scheme-indent-function 0))
@ -99,6 +100,7 @@
(eval . (put 'eventually 'scheme-indent-function 1))
(eval . (put 'call-with-progress-reporter 'scheme-indent-function 1))
(eval . (put 'with-repository 'scheme-indent-function 2))
(eval . (put 'with-temporary-git-repository 'scheme-indent-function 2))
(eval . (put 'with-environment-variables 'scheme-indent-function 1))
(eval . (put 'with-fresh-gnupg-setup 'scheme-indent-function 1))

View File

@ -2,4 +2,6 @@
(channel
(version 0)
(news-file "etc/news.scm"))
(news-file "etc/news.scm")
(keyring-reference "keyring")
(url "https://git.savannah.gnu.org/git/guix.git")) ;the primary URL

View File

@ -477,6 +477,7 @@ SH_TESTS = \
tests/guix-environment-container.sh \
tests/guix-graph.sh \
tests/guix-describe.sh \
tests/guix-repl.sh \
tests/guix-lint.sh
TESTS = $(SCM_TESTS) $(SH_TESTS)

View File

@ -218,6 +218,17 @@
(string-downcase (string-filter char-set:graphic fingerprint)))))
%historical-committers))
(define %use-historical-authorizations?
;; Whether to allow authentication of past commits using
;; %HISTORICAL-AUTHORIZED-SIGNING-KEYS for when '.guix-authorizations' was
;; missing.
(getenv "GUIX_USE_HISTORICAL_AUTHORIZATIONS"))
(define %introductory-commit
;; This is the commit that appears in the official 'guix' channel
;; introduction. XXX: Keep in sync with (guix channels)!
"9edb3f66fd807b096b48283debdcddccfea34bad")
(define %commits-with-bad-signature
;; Commits with a known-bad signature.
'("6a34f4ccc8a5d4a48e25ad3c9c512f8634928b91")) ;2016-12-29
@ -242,7 +253,10 @@
(match args
((_ start end)
(define start-commit
(commit-lookup repository (string->oid start)))
(commit-lookup repository
(string->oid (if %use-historical-authorizations?
start
%introductory-commit))))
(define end-commit
(commit-lookup repository (string->oid end)))
@ -252,7 +266,7 @@
(filter-map (lambda (id)
(false-if-exception
(commit-lookup repository (string->oid id))))
(previously-authenticated-commits)))
(previously-authenticated-commits "channels/guix")))
(define commits
;; Commits to authenticate, excluding the closure of
@ -263,6 +277,14 @@
(define reporter
(progress-reporter/bar (length commits)))
(define historical-authorizations
;; List of authorizations in effect before '.guix-authorizations' was
;; introduced. By default, assume there were no authorizations; this
;; is what 'guix pull' does.
(if %use-historical-authorizations?
%historical-authorized-signing-keys
'()))
(format #t (G_ "Authenticating ~a to ~a (~a commits)...~%")
(commit-short-id start-commit)
(commit-short-id end-commit)
@ -272,9 +294,10 @@
(lambda (report)
(authenticate-commits repository commits
#:default-authorizations
%historical-authorized-signing-keys
historical-authorizations
#:report-progress report)))))
(cache-authenticated-commit (oid->string (commit-id end-commit)))
(cache-authenticated-commit "channels/guix"
(oid->string (commit-id end-commit)))
(unless (null? stats)
(format #t (G_ "Signing statistics:~%"))

View File

@ -301,6 +301,7 @@ AC_CONFIG_FILES([Makefile
etc/guix-daemon.cil
guix/config.scm])
AC_CONFIG_FILES([etc/committer.scm], [chmod +x etc/committer.scm])
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])

View File

@ -67,21 +67,6 @@ gpg: using RSA key 3CE464558A84FDC69DB40CFB090B11993D9AEBB5
@code{3CE464558A84FDC69DB40CFB090B11993D9AEBB5} (you may need to fetch
this key from a key server, if you have not done it yet).
From there on, you can authenticate all the commits included in your
checkout by running:
@example
make authenticate
@end example
The first run takes a couple of minutes, but subsequent runs are faster.
@quotation Note
You are advised to run @command{make authenticate} after every
@command{git pull} invocation. This ensures you keep receiving valid
changes to the repository
@end quotation
The easiest way to set up a development environment for Guix is, of
course, by using Guix! The following command starts a new shell where
all the dependencies and appropriate environment variables are set up to
@ -146,6 +131,21 @@ Finally, you have to invoke @code{make check} to run tests
fails, take a look at installation instructions (@pxref{Installation})
or send a message to the @email{guix-devel@@gnu.org, mailing list}.
From there on, you can authenticate all the commits included in your
checkout by running:
@example
make authenticate
@end example
The first run takes a couple of minutes, but subsequent runs are faster.
@quotation Note
You are advised to run @command{make authenticate} after every
@command{git pull} invocation. This ensures you keep receiving valid
changes to the repository.
@end quotation
@node Running Guix Before It Is Installed
@section Running Guix Before It Is Installed
@ -991,16 +991,16 @@ rebuilding induced, commits go to different branches, along these lines:
@item 300 dependent packages or less
@code{master} branch (non-disruptive changes).
@item between 300 and 1,200 dependent packages
@item between 300 and 1,800 dependent packages
@code{staging} branch (non-disruptive changes). This branch is intended
to be merged in @code{master} every 3 weeks or so. Topical changes
to be merged in @code{master} every 6 weeks or so. Topical changes
(e.g., an update of the GNOME stack) can instead go to a specific branch
(say, @code{gnome-updates}).
@item more than 1,200 dependent packages
@item more than 1,800 dependent packages
@code{core-updates} branch (may include major and potentially disruptive
changes). This branch is intended to be merged in @code{master} every
2.5 months or so.
6 months or so.
@end table
All these branches are @uref{@value{SUBSTITUTE-SERVER},
@ -1128,18 +1128,20 @@ browse issues:
@itemize
@item
@url{https://issues.guix.gnu.org} provides a pleasant
interface@footnote{The web interface at
@url{https://issues.guix.gnu.org} is powered by Mumi, a nice piece of
software written in Guile, and you can help! See
@url{https://git.elephly.net/gitweb.cgi?p=software/mumi.git}.} to browse
bug reports and patches, and to participate in discussions;
@item
@url{https://bugs.gnu.org/guix} lists bug reports;
@item
@url{https://bugs.gnu.org/guix-patches} lists patch submissions.
@end itemize
You can also access both of these @i{via} the (nicer)
@url{https://issues.guix.gnu.org} interface@footnote{The web interface
at @url{https://issues.guix.gnu.org} is powered by Mumi, a nice piece of
software written in Guile, and you can help! See
@url{https://git.elephly.net/gitweb.cgi?p=software/mumi.git}.}. To view
discussions related to issue number @var{n}, go to
@indicateurl{https://issues.guix.gnu.org/issue/@var{n}} or
To view discussions related to issue number @var{n}, go to
@indicateurl{https://issues.guix.gnu.org/@var{n}} or
@indicateurl{https://bugs.gnu.org/@var{n}}.
If you use Emacs, you may find it more convenient to interact with

View File

@ -109,8 +109,8 @@ Let's get started!
Guix uses the Guile implementation of Scheme. To start playing with the
language, install it with @code{guix install guile} and start a
@uref{https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop,
REPL} by running @code{guile} from the command line.
@dfn{REPL}---short for @uref{https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop,
@dfn{read-eval-print loop}}---by running @code{guile} from the command line.
Alternatively you can also run @code{guix environment --ad-hoc guile -- guile}
if you'd rather not have Guile installed in your user profile.
@ -118,7 +118,7 @@ if you'd rather not have Guile installed in your user profile.
In the following examples, lines show what you would type at the REPL;
lines starting with ``@result{}'' show evaluation results, while lines
starting with ``@print{}'' show things that get printed. @xref{Using Guile
Interactively,,, guile, GNU Guile Reference Manual}), for more details on the
Interactively,,, guile, GNU Guile Reference Manual}, for more details on the
REPL.
@itemize
@ -843,12 +843,32 @@ tags, so if the @code{version} is tagged, then it can be used directly. Sometim
the tag is prefixed with a @code{v}, in which case you'd use @code{(commit (string-append
"v" version))}.
To ensure that the source code from the Git repository is stored in a unique
directory with a readable name we use @code{(file-name (git-file-name name
To ensure that the source code from the Git repository is stored in a
directory with a descriptive name, we use @code{(file-name (git-file-name name
version))}.
Note that there is also a @code{git-version} procedure that can be used to derive the
version when packaging programs for a specific commit.
The @code{git-version} procedure can be used to derive the
version when packaging programs for a specific commit, following the
Guix contributor guidelines (@pxref{Version Numbers,,, guix, GNU Guix
Reference Manual}).
How does one obtain the @code{sha256} hash that's in there, you ask? By
invoking @command{guix hash} on a checkout of the desired commit, along
these lines:
@example
git clone https://github.com/libgit2/libgit2/
cd libgit2
git checkout v0.26.6
guix hash -rx .
@end example
@command{guix hash -rx} computes a SHA256 hash over the whole directory,
excluding the @file{.git} sub-directory (@pxref{Invoking guix hash,,,
guix, GNU Guix Reference Manual}).
In the future, @command{guix download} will hopefully be able to do
these steps for you, just like it does for regular downloads.
@subsubsection Snippets

View File

@ -239,7 +239,7 @@ Programming Interface
* Derivations:: Low-level interface to package derivations.
* The Store Monad:: Purely functional interface to the store.
* G-Expressions:: Manipulating build expressions.
* Invoking guix repl:: Fiddling with Guix interactively.
* Invoking guix repl:: Programming Guix in Guile
Defining Packages
@ -3721,13 +3721,17 @@ this option is primarily useful when the daemon was running with
@cindex updating Guix
@cindex @command{guix pull}
@cindex pull
@cindex security, @command{guix pull}
@cindex authenticity, of code obtained with @command{guix pull}
Packages are installed or upgraded to the latest version available in
the distribution currently available on your local machine. To update
that distribution, along with the Guix tools, you must run @command{guix
pull}: the command downloads the latest Guix source code and package
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.
GNU@tie{}Guix repository, though this can be customized. @command{guix
pull} ensures that the code it downloads is @emph{authentic} by
verifying that commits are signed by Guix developers.
Specifically, @command{guix pull} downloads code from the @dfn{channels}
(@pxref{Channels}) specified by one of the followings, in this order:
@ -3925,14 +3929,25 @@ Make sure you understand its security implications before using
@option{--allow-downgrades}.
@end quotation
@item --disable-authentication
Allow pulling channel code without authenticating it.
@cindex authentication, of channel code
By default, @command{guix pull} authenticates code downloaded from
channels by verifying that its commits are signed by authorized
developers, and raises an error if this is not the case. This option
instructs it to not perform any such verification.
@quotation Note
Make sure you understand its security implications before using
@option{--disable-authentication}.
@end quotation
@item --system=@var{system}
@itemx -s @var{system}
Attempt to build for @var{system}---e.g., @code{i686-linux}---instead of
the system type of the build host.
@item --verbose
Produce verbose output, writing build logs to the standard error output.
@item --bootstrap
Use the bootstrap Guile to build the latest Guix. This option is only
useful to Guix developers.
@ -4135,6 +4150,28 @@ add a meta-data file @file{.guix-channel} that contains:
(directory "guix"))
@end lisp
@cindex primary URL, channels
@subsection Primary URL
Channel authors can indicate the primary URL of their channel's Git
repository in the @file{.guix-channel} file, like so:
@lisp
(channel
(version 0)
(url "https://example.org/guix.git"))
@end lisp
This allows @command{guix pull} to determine whether it is pulling code
from a mirror of the channel; when that is the case, it warns the user
that the mirror might be stale and displays the primary URL. That way,
users cannot be tricked into fetching code from a stale mirror that does
not receive security updates.
This feature only makes sense for authenticated repositories, such as
the official @code{guix} channel, for which @command{guix pull} ensures
the code it fetches is authentic.
@cindex news, for channels
@subsection Writing Channel News
@ -5345,7 +5382,8 @@ configuration triplets,, autoconf, Autoconf}).
@item --compression=@var{tool}
@itemx -C @var{tool}
Compress the resulting tarball using @var{tool}---one of @code{gzip},
@code{bzip2}, @code{xz}, @code{lzip}, or @code{none} for no compression.
@code{zstd}, @code{bzip2}, @code{xz}, @code{lzip}, or @code{none} for no
compression.
@item --symlink=@var{spec}
@itemx -S @var{spec}
@ -5474,7 +5512,7 @@ package definitions.
* Derivations:: Low-level interface to package derivations.
* The Store Monad:: Purely functional interface to the store.
* G-Expressions:: Manipulating build expressions.
* Invoking guix repl:: Fiddling with Guix interactively.
* Invoking guix repl:: Programming Guix in Guile
@end menu
@node Package Modules
@ -8248,12 +8286,47 @@ has an associated gexp compiler, such as a @code{<package>}.
@node Invoking guix repl
@section Invoking @command{guix repl}
@cindex REPL, read-eval-print loop
The @command{guix repl} command spawns a Guile @dfn{read-eval-print loop}
(REPL) for interactive programming (@pxref{Using Guile Interactively,,, guile,
GNU Guile Reference Manual}). Compared to just launching the @command{guile}
@cindex REPL, read-eval-print loop, script
The @command{guix repl} command makes it easier to program Guix in Guile
by launching a Guile @dfn{read-eval-print loop} (REPL) for interactive
programming (@pxref{Using Guile Interactively,,, guile,
GNU Guile Reference Manual}), or by running Guile scripts
(@pxref{Running Guile Scripts,,, guile,
GNU Guile Reference Manual}).
Compared to just launching the @command{guile}
command, @command{guix repl} guarantees that all the Guix modules and all its
dependencies are available in the search path. You can use it this way:
dependencies are available in the search path.
The general syntax is:
@example
guix repl @var{options} [@var{file} @var{args}]
@end example
When a @var{file} argument is provided, @var{file} is
executed as a Guile scripts:
@example
guix repl my-script.scm
@end example
To pass arguments to the script, use @code{--} to prevent them from
being interpreted as arguments to @command{guix repl} itself:
@example
guix repl -- my-script.scm --input=foo.txt
@end example
To make a script executable directly from the shell, using the guix
executable that is on the user's search path, add the following two
lines at the top of the script:
@example
@code{#!/usr/bin/env -S guix repl --}
@code{!#}
@end example
Without a file name argument, a Guile REPL is started:
@example
$ guix repl
@ -8302,7 +8375,7 @@ Add @var{directory} to the front of the package module search path
(@pxref{Package Modules}).
This allows users to define their own packages and make them visible to
the command-line tool.
the script or REPL.
@item -q
Inhibit loading of the @file{~/.guile} file. By default, that
@ -9098,7 +9171,7 @@ store.
@section Invoking @command{guix hash}
@cindex @command{guix hash}
The @command{guix hash} command computes the SHA256 hash of a file.
The @command{guix hash} command computes the hash of a file.
It is primarily a convenience tool for anyone contributing to the
distribution: it computes the cryptographic hash of a file, which can be
used in the definition of a package (@pxref{Defining Packages}).
@ -9953,6 +10026,17 @@ Parse the @code{source} URL to determine if a tarball from GitHub is
autogenerated or if it is a release tarball. Unfortunately GitHub's
autogenerated tarballs are sometimes regenerated.
@item derivation
Check that the derivation of the given packages can be successfully
computed for all the supported systems (@pxref{Derivations}).
@item profile-collisions
Check whether installing the given packages in a profile would lead to
collisions. Collisions occur when several packages with the same name
but a different version or a different store file name are propagated.
@xref{package Reference, @code{propagated-inputs}}, for more information
on propagated inputs.
@item archival
@cindex Software Heritage, source code archive
@cindex archival of source code, Software Heritage
@ -24583,6 +24667,107 @@ Return true if @var{obj} is a platform object.
Return the name of @var{platform}---a string such as @code{"arm"}.
@end deffn
@subsubheading The Hurd in a Virtual Machine
@cindex @code{hurd}
@cindex the Hurd
Service @code{hurd-vm} provides support for running GNU/Hurd in a
virtual machine (VM), a so-called ``Childhurd''. The virtual machine is
a Shepherd service that can be referred to by the names @code{hurd-vm}
and @code{childhurd} and be controlled with commands such as:
@example
herd start hurd-vm
herd stop childhurd
@end example
The given GNU/Hurd operating system configuration is cross-compiled.
@defvr {Scheme Variable} hurd-vm-service-type
This is the type of the Hurd in a Virtual Machine service. Its value
must be a @code{hurd-vm-configuration} object, which specifies the
operating system (@pxref{operating-system Reference}) and the disk size
for the Hurd Virtual Machine, the QEMU package to use as well as the
options for running it.
For example:
@lisp
(service hurd-vm-service-type
(hurd-vm-configuration
(disk-size (* 5000 (expt 2 20))) ;5G
(memory-size 1024))) ;1024MiB
@end lisp
would create a disk image big enough to build GNU@tie{}Hello, with some
extra memory.
@end defvr
@deftp {Data Type} hurd-vm-configuration
The data type representing the configuration for
@code{hurd-vm-service-type}.
@table @asis
@item @code{os} (default: @var{%hurd-vm-operating-system})
The operating system to instantiate. This default is bare-bones with a
permissive OpenSSH secure shell daemon listening on port 2222
(@pxref{Networking Services, @code{openssh-service-type}}).
@item @code{qemu} (default: @code{qemu-minimal})
The QEMU package to use.
@item @code{image} (default: @var{hurd-vm-disk-image})
The procedure used to build the disk-image built from this
configuration.
@item @code{disk-size} (default: @code{'guess})
The size of the disk image.
@item @code{memory-size} (default: @code{512})
The memory size of the Virtual Machine in mebibytes.
@item @code{options} (default: @code{'("--snapshot")})
The extra options for running QEMU.
@item @code{id} (default: @code{#f})
If set, a non-zero positive integer used to parameterize Childhurd
instances. It is appended to the service's name,
e.g. @code{childhurd1}.
@item @code{net-options} (default: @var{hurd-vm-net-options})
The procedure used to produce the list of QEMU networking options.
By default, it produces
@lisp
'("--device" "rtl8139,netdev=net0"
"--netdev" "user,id=net0\
,hostfwd=tcp:127.0.0.1:<ssh-port>-:2222\
,hostfwd=tcp:127.0.0.1:<vnc-port>-:5900")
@end lisp
with forwarded ports
@example
<ssh-port>: @code{(+ 10022 (* 1000 @var{ID}))}
<vnc-port>: @code{(+ 15900 (* 1000 @var{ID}))}
@end example
@end table
@end deftp
Note that by default the VM image is volatile, i.e., once stopped the
contents are lost. If you want a stateful image instead, override the
configuration's @code{image} and @code{options} without
the @code{--snapshot} flag using something along these lines:
@lisp
(service hurd-vm-service-type
(hurd-vm-configuration
(image (const "/out/of/store/writable/hurd.img"))
(options '("--hda"))))
@end lisp
@node Version Control Services
@subsection Version Control Services

View File

@ -0,0 +1,250 @@
#!@GUILE@ \
--no-auto-compile -s
!#
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This script stages and commits changes to package definitions.
;;; Code:
(import (sxml xpath)
(srfi srfi-1)
(srfi srfi-9)
(ice-9 format)
(ice-9 popen)
(ice-9 match)
(ice-9 rdelim)
(ice-9 textual-ports))
(define (read-excursion port)
"Read an expression from PORT and reset the port position before returning
the expression."
(let ((start (ftell port))
(result (read port)))
(seek port start SEEK_SET)
result))
(define (surrounding-sexp port line-no)
"Return the top-level S-expression surrounding the change at line number
LINE-NO in PORT."
(let loop ((i (1- line-no))
(last-top-level-sexp #f))
(if (zero? i)
last-top-level-sexp
(match (peek-char port)
(#\(
(let ((sexp (read-excursion port)))
(read-line port)
(loop (1- i) sexp)))
(_
(read-line port)
(loop (1- i) last-top-level-sexp))))))
(define-record-type <hunk>
(make-hunk file-name
old-line-number
new-line-number
diff)
hunk?
(file-name hunk-file-name)
;; Line number before the change
(old-line-number hunk-old-line-number)
;; Line number after the change
(new-line-number hunk-new-line-number)
;; The full diff to be used with "git apply --cached"
(diff hunk-diff))
(define* (hunk->patch hunk #:optional (port (current-output-port)))
(let ((file-name (hunk-file-name hunk)))
(format port
"diff --git a/~a b/~a~%--- a/~a~%+++ b/~a~%~a"
file-name file-name file-name file-name
(hunk-diff hunk))))
(define (diff-info)
"Read the diff and return a list of <hunk> values."
(let ((port (open-pipe* OPEN_READ
"git" "diff"
"--no-prefix"
;; Do not include any context lines. This makes it
;; easier to find the S-expression surrounding the
;; change.
"--unified=0")))
(define (extract-line-number line-tag)
(abs (string->number
(car (string-split line-tag #\,)))))
(define (read-hunk)
(reverse
(let loop ((lines '()))
(let ((line (read-line port 'concat)))
(cond
((eof-object? line) lines)
((or (string-prefix? "@@ " line)
(string-prefix? "diff --git" line))
(unget-string port line)
lines)
(else (loop (cons line lines))))))))
(define info
(let loop ((acc '())
(file-name #f))
(let ((line (read-line port)))
(cond
((eof-object? line) acc)
((string-prefix? "--- " line)
(match (string-split line #\space)
((_ file-name)
(loop acc file-name))))
((string-prefix? "@@ " line)
(match (string-split line #\space)
((_ old-start new-start . _)
(loop (cons (make-hunk file-name
(extract-line-number old-start)
(extract-line-number new-start)
(string-join (cons* line "\n"
(read-hunk)) ""))
acc)
file-name))))
(else (loop acc file-name))))))
(close-pipe port)
info))
(define (old-sexp hunk)
"Using the diff information in HUNK return the unmodified S-expression
corresponding to the top-level definition containing the staged changes."
;; TODO: We can't seek with a pipe port...
(let* ((port (open-pipe* OPEN_READ
"git" "show" (string-append "HEAD:"
(hunk-file-name hunk))))
(contents (get-string-all port)))
(close-pipe port)
(call-with-input-string contents
(lambda (port)
(surrounding-sexp port (hunk-old-line-number hunk))))))
(define (new-sexp hunk)
"Using the diff information in HUNK return the modified S-expression
corresponding to the top-level definition containing the staged changes."
(call-with-input-file (hunk-file-name hunk)
(lambda (port)
(surrounding-sexp port
(hunk-new-line-number hunk)))))
(define* (commit-message file-name old new #:optional (port (current-output-port)))
"Print ChangeLog commit message for changes between OLD and NEW."
(define (get-values expr field)
(match ((sxpath `(// ,field quasiquote *)) expr)
(() '())
((first . rest)
(map cadadr first))))
(define (listify items)
(match items
((one) one)
((one two)
(string-append one " and " two))
((one two . more)
(string-append (string-join (drop-right items 1) ", ")
", and " (first (take-right items 1))))))
(define variable-name
(second old))
(define version
(and=> ((sxpath '(// version *any*)) new)
first))
(format port
"gnu: ~a: Update to ~a.~%~%* ~a (~a): Update to ~a.~%"
variable-name version file-name variable-name version)
(for-each (lambda (field)
(let ((old-values (get-values old field))
(new-values (get-values new field)))
(or (equal? old-values new-values)
(let ((removed (lset-difference eq? old-values new-values))
(added (lset-difference eq? new-values old-values)))
(format port
"[~a]: ~a~%" field
(match (list (map symbol->string removed)
(map symbol->string added))
((() added)
(format #f "Add ~a."
(listify added)))
((removed ())
(format #f "Remove ~a."
(listify removed)))
((removed added)
(format #f "Remove ~a; add ~a."
(listify removed)
(listify added)))))))))
'(inputs propagated-inputs native-inputs)))
(define (group-hunks-by-sexp hunks)
"Return a list of pairs associating all hunks with the S-expression they are
modifying."
(fold (lambda (sexp hunk acc)
(match acc
(((previous-sexp . hunks) . rest)
(if (equal? sexp previous-sexp)
(cons (cons previous-sexp
(cons hunk hunks))
rest)
(cons (cons sexp (list hunk))
acc)))
(_
(cons (cons sexp (list hunk))
acc))))
'()
(map new-sexp hunks)
hunks))
(define (new+old+hunks hunks)
(map (match-lambda
((new . hunks)
(cons* new (old-sexp (first hunks)) hunks)))
(group-hunks-by-sexp hunks)))
(define (main . args)
(match (diff-info)
(()
(display "Nothing to be done." (current-error-port)))
(hunks
(for-each (match-lambda
((new old . hunks)
(for-each (lambda (hunk)
(let ((port (open-pipe* OPEN_WRITE
"git" "apply"
"--cached"
"--unidiff-zero")))
(hunk->patch hunk port)
(unless (eqv? 0 (status:exit-val (close-pipe port)))
(error "Cannot apply")))
(sleep 1))
hunks)
(commit-message (hunk-file-name (first hunks))
old new
(current-output-port))
(let ((port (open-pipe* OPEN_WRITE "git" "commit" "-F" "-")))
(commit-message (hunk-file-name (first hunks))
old new
port)
(sleep 1)
(unless (eqv? 0 (status:exit-val (close-pipe port)))
(error "Cannot commit")))))
(new+old+hunks hunks)))))
(main)

View File

@ -13,6 +13,80 @@
(channel-news
(version 0)
(entry (commit "43badf261f4688c8a7a7a9004a4bff8acb205835")
(title (en "@command{guix pull} authenticates channels")
(de "@command{guix pull} authentifiziert Kanäle")
(fr "@command{guix pull} authentifie les canaux"))
(body
(en "The @command{guix pull} and @command{guix time-machine} commands
now authenticate the source code that they pull, unless the new
@option{--disable-authentication} option is passed. What this means is that
Guix ensures that each commit received is cryptographically signed by an
authorized developer. This protects you from attempts to tamper with the Guix
repository and from attempts to ship malicious code to users.
This feature is currently limited to the @code{guix} channel but will soon be
available to third-party channel authors.")
(de "Die Befehle @command{guix pull} und @command{guix time-machine}
prüfen nun die Authentizität des heruntergeladenen Quellcodes, außer wenn die
neue Befehlszeilenoption @option{--disable-authentication} angegeben
wurde. Das bedeutet, Guix stellt sicher, dass jeder empfangene Commit durch
einen autorisierten Entwickler kryptografisch signiert wurde. Das schützt Sie
vor Versuchen, das Guix-Repository zu manipulieren oder bösartigen Code an die
Nutzer auszuliefern.
Diese Funktionalität ist auf den @code{guix}-Kanal beschränkt, sie wird jedoch
bald auch Autoren dritter Kanäle zur Verfügung stehen.")
(fr "Les commandes @command{guix pull} et @command{guix time-machine}
authentifient dorénavant le code source qu'elles obtiennent, à moins que la
nouvelle option @option{--disable-authentication} soit utilisée. Cela
signifie que Guix s'assure que chaque soumission (@i{commit}) récupéré dispose
d'une signature cryptographique par un·e développeur·euse autorisé·e. Cela te
protège de tentatives de modifications du dépôt Guix et de tentatives de
livrer du code malintentionné.
Cette fonctionnalité n'est actuellement disponible que pour le canal
@code{guix} mais le sera bientôt pour les canaux tiers.")))
(entry (commit "c924e541390f9595d819edc33c19d979917c15ec")
(title (en "@command{guix repl} adds support for running Guile scripts")
(de "@command{guix repl} kann Guile-Skripte ausführen")
(fr "@command{guix repl} permet d'exécuter des scripts en langage Guile"))
(body
(en "The @command{guix repl} command can now be used to run
Guile scripts. Compared to just launching the @command{guile} command,
@command{guix repl} guarantees that all the Guix modules and all its
dependencies are available in the search path. Scripts are run like this:
@example
guix repl -- my-script,scm --option1 --option2=option-arg arg1 arg2
@end example
Run @command{info \"(guix) Invoking guix repl\"} for more information.")
(de "Der Befehl @command{guix repl} kann jetzt zur Ausführung von
Guile-Skripten verwendet werden. Im Vergleich zum Befehl
@command{guile} garantiert @command{guix repl}, dass alle Guix-Module und
alle seine Abhängigkeiten im Suchpfad verfügbar sind. Skripte werden wie
folgt ausgeführt:
@example
guix repl -- my-script,scm --option1 --option2 --option2=option-arg arg1 arg2
@end example
Weitere Informationen erhalten Sie mit
@command{info \"(guix.de) Aufruf von guix repl\"}.")
(fr "La commande @command{guix repl} peut maintenant être utilisée
pour exécuter des scripts en langage Guile. Par rapport au simple lancement
de la commande @command{guile}, @command{guix repl} garantit que tous les
modules Guix et toutes ses dépendances sont disponibles dans le chemin
de recherche. Les scripts sont exécutés comme ceci :
@example
guix repl -- my-script,scm --option1 --option2=option-arg arg1 arg2
@end example
Exécutez @command{info \"(guix.fr) Invoquer guix repl\"} pour plus d'informations.")))
(entry (commit "b460ba7992a0b4af2ddb5927dcf062784539ef7b")
(title (en "Add support to boot from a Btrfs subvolume")
(de "Unterstützung für Systemstart von einem

View File

@ -80,16 +80,8 @@ Return the value associated with OPTION, or #f on failure."
(string-append root (if (string-suffix? "/" root) "" "/") dir))
(mkdir (scope "dev"))
(for-each (lambda (file)
(call-with-output-file (scope file)
(lambda (port)
(display file port) ;avoid hard-linking
(chmod port #o666))))
'("dev/null"
"dev/zero"
"dev/full"
"dev/random"
"dev/urandom"))
;; Don't create /dev/null etc just yet; the store
;; messes-up the permission bits.
;; Don't create /dev/console, /dev/vcs, etc.: they are created by
;; console-run on first boot.
@ -115,6 +107,143 @@ Return the value associated with OPTION, or #f on failure."
;; settings?
)
(define (passive-translator-xattr? file-name)
"Return true if FILE-NAME has an extended @code{gnu.translator} attribute
set."
(catch 'system-error
(lambda _ (not (string-null? (getxattr file-name "gnu.translator"))))
(lambda args
(if (= ENODATA (system-error-errno args))
#f
(apply throw args)))))
(define (passive-translator-installed? file-name)
"Return true if @file{showtrans} finds a translator installed on FILE-NAME."
(with-output-to-port (%make-void-port "w")
(lambda _
(with-error-to-port (%make-void-port "w")
(lambda _
(zero? (system* "showtrans" "--silent" file-name)))))))
(define (translated? file-name)
"Return true if a translator is installed on FILE-NAME."
(if (string-contains %host-type "linux-gnu")
(passive-translator-xattr? file-name)
(passive-translator-installed? file-name)))
(define* (set-translator file-name command #:optional (mode #o600))
"Setup translator COMMAND on FILE-NAME."
(unless (translated? file-name)
(let ((dir (dirname file-name)))
(unless (directory-exists? dir)
(mkdir-p dir))
(unless (file-exists? file-name)
(call-with-output-file file-name
(lambda (port)
(display file-name port) ;avoid hard-linking
(chmod port mode)))))
(catch 'system-error
(lambda _
(setxattr file-name "gnu.translator" (string-join command "\0" 'suffix)))
(lambda (key . args)
(let ((errno (system-error-errno (cons key args))))
(format (current-error-port) "~a: ~a\n"
(strerror errno) file-name)
(format (current-error-port) "Ignoring...Good Luck!\n"))))))
(define-syntax-rule (false-if-EEXIST exp)
"Evaluate EXP but return #f if it raises to 'system-error with EEXIST."
(catch 'system-error
(lambda () exp)
(lambda args
(if (= EEXIST (system-error-errno args))
#f
(apply throw args)))))
(define* (set-hurd-device-translators #:optional (root "/"))
"Make some of the device nodes needed on GNU/Hurd."
(define (scope dir)
(string-append root (if (string-suffix? "/" root) "" "/") dir))
(define scope-set-translator
(match-lambda
((file-name command)
(scope-set-translator (list file-name command #o600)))
((file-name command mode)
(let ((mount-point (scope file-name)))
(set-translator mount-point command mode)))))
(define (mkdir* dir)
(let ((dir (scope dir)))
(unless (file-exists? dir)
(mkdir-p dir))))
(define servers
'(("servers/crash-dump-core" ("/hurd/crash" "--dump-core"))
("servers/crash-kill" ("/hurd/crash" "--kill"))
("servers/crash-suspend" ("/hurd/crash" "--suspend"))
("servers/password" ("/hurd/password"))
("servers/socket/1" ("/hurd/pflocal"))
("servers/socket/2" ("/hurd/pfinet"
"--interface" "eth0"
"--address"
"10.0.2.15" ;the default QEMU guest IP
"--netmask" "255.255.255.0"
"--gateway" "10.0.2.2"
"--ipv6" "/servers/socket/16"))))
(define devices
'(("dev/full" ("/hurd/null" "--full") #o666)
("dev/null" ("/hurd/null") #o666)
("dev/random" ("/hurd/random" "--seed-file" "/var/lib/random-seed")
#o644)
("dev/zero" ("/hurd/storeio" "--store-type=zero") #o666)
("dev/console" ("/hurd/term" "/dev/console" "device" "console"))
("dev/klog" ("/hurd/streamio" "kmsg"))
("dev/mem" ("/hurd/storeio" "--no-cache" "mem") #o660)
("dev/shm" ("/hurd/tmpfs" "--mode=1777" "50%") #o644)
("dev/time" ("/hurd/storeio" "--no-cache" "time") #o644)
("dev/vcs" ("/hurd/console"))
("dev/tty" ("/hurd/magic" "tty") #o666)
("dev/tty1" ("/hurd/term" "/dev/tty1" "hurdio" "/dev/vcs/1/console")
#o666)
("dev/tty2" ("/hurd/term" "/dev/tty2" "hurdio" "/dev/vcs/2/console")
#o666)
("dev/tty3" ("/hurd/term" "/dev/tty3" "hurdio" "/dev/vcs/3/console")
#o666)
("dev/ptyp0" ("/hurd/term" "/dev/ptyp0" "pty-master" "/dev/ttyp0")
#o666)
("dev/ptyp1" ("/hurd/term" "/dev/ptyp1" "pty-master" "/dev/ttyp1")
#o666)
("dev/ptyp2" ("/hurd/term" "/dev/ptyp2" "pty-master" "/dev/ttyp2")
#o666)
("dev/ttyp0" ("/hurd/term" "/dev/ttyp0" "pty-slave" "/dev/ptyp0")
#o666)
("dev/ttyp1" ("/hurd/term" "/dev/ttyp1" "pty-slave" "/dev/ptyp1")
#o666)
("dev/ttyp2" ("/hurd/term" "/dev/ttyp2" "pty-slave" "/dev/ptyp2")
#o666)))
(for-each scope-set-translator servers)
(mkdir* (scope "dev/vcs/1"))
(mkdir* (scope "dev/vcs/2"))
(mkdir* (scope "dev/vcs/2"))
(rename-file (scope "/dev/console") (scope "/dev/console-"))
(for-each scope-set-translator devices)
(false-if-EEXIST (symlink "/dev/random" (scope "dev/urandom")))
(mkdir* (scope "dev/fd"))
(false-if-EEXIST (symlink "/dev/fd/0" (scope "dev/stdin")))
(false-if-EEXIST (symlink "/dev/fd/1" (scope "dev/stdout")))
(false-if-EEXIST (symlink "/dev/fd/2" (scope "dev/stderr"))))
(define* (boot-hurd-system #:key (on-error 'debug))
"This procedure is meant to be called from an early RC script.
@ -126,20 +255,9 @@ starting the Shepherd.
XXX TODO: see linux-boot.scm:boot-system.
XXX TODO: add proper file-system checking, mounting
XXX TODO: move bits to (new?) (hurd?) (activation?) services
XXX TODO: use settrans/setxattr instead of MAKEDEV
XXX TODO: use Linux xattr/setxattr to remove (settrans in) /libexec/RUNSYSTEM
"
(define translators
'(("/servers/crash-dump-core" ("/hurd/crash" "--dump-core"))
("/servers/crash-kill" ("/hurd/crash" "--kill"))
("/servers/crash-suspend" ("/hurd/crash" "--suspend"))
("/servers/password" ("/hurd/password"))
("/servers/socket/1" ("/hurd/pflocal"))
("/servers/socket/2" ("/hurd/pfinet" "--interface" "eth0"
"--address" "10.0.2.15" ;the default QEMU guest IP
"--netmask" "255.255.255.0"
"--gateway" "10.0.2.2"
"--ipv6" "/servers/socket/16"))))
(display "Welcome, this is GNU's early boot Guile.\n")
(display "Use '--repl' for an initrd REPL.\n\n")
@ -147,35 +265,13 @@ XXX TODO: use settrans/setxattr instead of MAKEDEV
(call-with-error-handling
(lambda ()
(define (translated? node)
;; Return true if a translator is installed on NODE.
(with-output-to-port (%make-void-port "w")
(lambda ()
(with-error-to-port (%make-void-port "w")
(lambda ()
(zero? (system* "showtrans" "--silent" node)))))))
(let* ((args (command-line))
(system (find-long-option "--system" args))
(to-load (find-long-option "--load" args)))
(format #t "Creating essential servers...\n")
(setenv "PATH" (string-append system "/profile/bin"
":" system "/profile/sbin"))
(for-each (match-lambda
((node command)
(unless (translated? node)
(mkdir-p (dirname node))
(apply invoke "settrans" "--create" node command))))
translators)
(format #t "Creating essential device nodes...\n")
(with-directory-excursion "/dev"
(invoke "MAKEDEV" "--devdir=/dev" "std")
(invoke "MAKEDEV" "--devdir=/dev" "vcs")
(invoke "MAKEDEV" "--devdir=/dev" "tty1""tty2" "tty3" "tty4" "tty5" "tty6")
(invoke "MAKEDEV" "--devdir=/dev" "ptyp0" "ptyp1" "ptyp2")
(invoke "MAKEDEV" "--devdir=/dev" "console"))
(format #t "Setting-up essential translators...\n")
(setenv "PATH" (string-append system "/profile/bin"))
(set-hurd-device-translators)
(false-if-exception (delete-file "/hurd"))
(let ((hurd/hurd (readlink* (string-append system "/profile/hurd"))))

View File

@ -77,7 +77,7 @@ take the partition metadata size into account, take a 25% margin."
(uuid (partition-uuid partition))
(journal-options "lazy_itable_init=1,lazy_journal_init=1"))
(apply invoke
`("mke2fs" "-t" ,fs "-d" ,root
`("fakeroot" "mke2fs" "-t" ,fs "-d" ,root
"-L" ,label "-U" ,(uuid->string uuid)
"-E" ,(format #f "root_owner=~a:~a,~a"
owner-uid owner-gid journal-options)
@ -93,7 +93,8 @@ take the partition metadata size into account, take a 25% margin."
"Handle the creation of VFAT partition images. See 'make-partition-image'."
(let ((size (partition-size partition))
(label (partition-label partition)))
(invoke "mkdosfs" "-n" label "-C" target "-F" "16" "-S" "1024"
(invoke "fakeroot" "mkdosfs" "-n" label "-C" target
"-F" "16" "-S" "1024"
(size-in-kib
(if (eq? size 'guess)
(estimate-partition-size root)
@ -137,12 +138,13 @@ produced by #:references-graphs.. As a side effect, if RESET-TIMESTAMPS? is
true, reset timestamps on store files and, if DEDUPLICATE? is true,
deduplicates files common to CLOSURE and the rest of PREFIX."
(let ((items (call-with-input-file closure read-reference-graph)))
(register-items items
#:prefix prefix
#:deduplicate? deduplicate?
#:reset-timestamps? reset-timestamps?
#:registration-time %epoch
#:schema schema)))
(parameterize ((sql-schema schema))
(with-database (store-database-file #:prefix prefix) db
(register-items db items
#:prefix prefix
#:deduplicate? deduplicate?
#:reset-timestamps? reset-timestamps?
#:registration-time %epoch)))))
(define* (initialize-efi-partition root
#:key

View File

@ -223,12 +223,13 @@ produced by #:references-graphs.. As a side effect, if RESET-TIMESTAMPS? is
true, reset timestamps on store files and, if DEDUPLICATE? is true,
deduplicates files common to CLOSURE and the rest of PREFIX."
(let ((items (call-with-input-file closure read-reference-graph)))
(register-items items
#:prefix prefix
#:deduplicate? deduplicate?
#:reset-timestamps? reset-timestamps?
#:registration-time %epoch
#:schema schema)))
(parameterize ((sql-schema schema))
(with-database (store-database-file #:prefix prefix) db
(register-items db items
#:prefix prefix
#:deduplicate? deduplicate?
#:reset-timestamps? reset-timestamps?
#:registration-time %epoch)))))
;;;

View File

@ -53,6 +53,7 @@
#:use-module (gnu system image)
#:use-module (gnu system vm)
#:use-module (gnu system install)
#:use-module (gnu system images hurd)
#:use-module (gnu tests)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
@ -185,18 +186,21 @@ SYSTEM."
(remove (either from-32-to-64? same? pointless?)
%cross-targets)))
(define %guixsd-supported-systems
'("x86_64-linux" "i686-linux" "armhf-linux"))
;; Architectures that are able to build or cross-build Guix System images.
;; This does not mean that other architectures are not supported, only that
;; they are often not fast enough to support Guix System images building.
(define %guix-system-supported-systems
'("x86_64-linux" "i686-linux"))
(define %u-boot-systems
'("armhf-linux"))
(define %guix-system-images
(list hurd-barebones-disk-image))
(define (qemu-jobs store system)
"Return a list of jobs that build QEMU images for SYSTEM."
(define (image-jobs store system)
"Return a list of jobs that build images for SYSTEM."
(define (->alist drv)
`((derivation . ,(derivation-file-name drv))
(description . "Stand-alone QEMU image of the GNU system")
(long-description . "This is a demo stand-alone QEMU image of the GNU
(description . "Stand-alone image of the GNU system")
(long-description . "This is a demo stand-alone image of the GNU
system.")
(license . ,(license-name gpl3+))
(max-silent-time . 600)
@ -211,29 +215,33 @@ system.")
(parameterize ((%graft? #f))
(->alist drv))))))
(define (build-image image)
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(lower-object (system-image image)))))
(define MiB
(expt 2 20))
(if (member system %guixsd-supported-systems)
(list (->job 'usb-image
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(lower-object
(system-image
(image
(inherit efi-disk-image)
(size (* 1500 MiB))
(operating-system installation-os)))))))
(->job 'iso9660-image
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(lower-object
(system-image
(image
(inherit iso9660-image)
(operating-system installation-os))))))))
(if (member system %guix-system-supported-systems)
`(,(->job 'usb-image
(build-image
(image
(inherit efi-disk-image)
(size (* 1500 MiB))
(operating-system installation-os))))
,(->job 'iso9660-image
(build-image
(image
(inherit iso9660-image)
(operating-system installation-os))))
;; Only cross-compile Guix System images from x86_64-linux for now.
,@(if (string=? system "x86_64-linux")
(map (lambda (image)
(->job (image-name image) (build-image image)))
%guix-system-images)
'()))
'()))
(define channel-build-system
@ -305,11 +313,7 @@ system.")
"." system))))
(cons name (test->thunk test))))
(if (and (member system %guixsd-supported-systems)
;; XXX: Our build farm has too few ARMv7 machines and they are very
;; slow, so skip system tests there.
(not (string=? system "armhf-linux")))
(if (member system %guix-system-supported-systems)
;; Override the value of 'current-guix' used by system tests. Using a
;; channel instance makes tests that rely on 'current-guix' less
;; expensive. It also makes sure we get a valid Guix package when this
@ -486,7 +490,7 @@ Return #f if no such checkout is found."
(package->job store package
system))))
(append (filter-map job all)
(qemu-jobs store system)
(image-jobs store system)
(system-test-jobs store system
#:source source
#:commit commit)

View File

@ -67,6 +67,8 @@
(define-record-type* <image>
image make-image
image?
(name image-name ;symbol
(default #f))
(format image-format) ;symbol
(target image-target
(default #f))

View File

@ -440,5 +440,6 @@ selected keymap."
;; some reason, unicode support is not correctly installed
;; when calling this in 'installer-builder'.
(setenv "LANG" "en_US.UTF-8")
(execl #$(program-file "installer-real" installer-builder)
(execl #$(program-file "installer-real" installer-builder
#:guile guile-3.0-latest)
"installer-real"))))

View File

@ -137,12 +137,6 @@ USERS."
"Remove the store overlay and the bind-mount on /tmp created by the
cow-store service. This procedure is very fragile and a better approach would
be much appreciated."
;; Remove when integrated in (gnu services herd).
(define (restart-service name)
(with-shepherd-action name ('restart) result
result))
(catch #t
(lambda ()
(let ((tmp-dir "/remove"))

View File

@ -25,6 +25,7 @@
#:use-module (gnu installer newt page)
#:use-module (gnu installer newt utils)
#:use-module (guix i18n)
#:use-module (guix colors)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (ice-9 match)
@ -101,6 +102,13 @@ a specific step, or restart the installer."))
#:key (users '()))
(clear-screen)
(newt-suspend)
;; XXX: Force loading 'bold' font files before mouting the
;; cow-store. Otherwise, if the file is loaded by kmscon after the cow-store
;; in mounted, it will be necessary to kill kmscon to umount to cow-store.
(display
(colorize-string
(format #f (G_ "Installing Guix System ...~%"))
(color BOLD)))
(let ((install-ok? (install-system locale #:users users)))
(newt-resume)
install-ok?))

View File

@ -35,6 +35,7 @@
# Copyright © 2020 Ryan Prior <rprior@protonmail.com>
# Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
# Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
# Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
#
# This file is part of GNU Guix.
#
@ -133,6 +134,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/compton.scm \
%D%/packages/conky.scm \
%D%/packages/connman.scm \
%D%/packages/convmv.scm \
%D%/packages/cook.scm \
%D%/packages/coq.scm \
%D%/packages/cpio.scm \
@ -536,6 +538,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/vim.scm \
%D%/packages/virtualization.scm \
%D%/packages/visidata.scm \
%D%/packages/vlang.scm \
%D%/packages/vnc.scm \
%D%/packages/vpn.scm \
%D%/packages/vulkan.scm \
@ -629,6 +632,8 @@ GNU_SYSTEM_MODULES = \
%D%/system/uuid.scm \
%D%/system/vm.scm \
\
%D%/system/images/hurd.scm \
\
%D%/machine.scm \
%D%/machine/digital-ocean.scm \
%D%/machine/ssh.scm \
@ -751,6 +756,7 @@ dist_patch_DATA = \
%D%/packages/patches/akonadi-not-relocatable.patch \
%D%/packages/patches/akonadi-timestamps.patch \
%D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \
%D%/packages/patches/alsa-modular-synth-fix-vocoder.patch \
%D%/packages/patches/amule-crypto-6.patch \
%D%/packages/patches/anki-mpv-args.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
@ -804,6 +810,7 @@ dist_patch_DATA = \
%D%/packages/patches/bitcoin-core-python-compat.patch \
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
%D%/packages/patches/blender-2.79-python-3.7-fix.patch \
%D%/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/calibre-remove-test-sqlite.patch \
@ -888,6 +895,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-hyperbole-toggle-messaging.patch \
%D%/packages/patches/emacs-libgit-use-system-libgit2.patch \
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
@ -914,7 +922,6 @@ dist_patch_DATA = \
%D%/packages/patches/fasthenry-spSolve.patch \
%D%/packages/patches/fasthenry-spFactor.patch \
%D%/packages/patches/fbreader-curl-7.62.patch \
%D%/packages/patches/ffmpeg-prefer-dav1d.patch \
%D%/packages/patches/fifengine-swig-compat.patch \
%D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \
%D%/packages/patches/fifo-map-remove-catch.hpp.patch \
@ -965,6 +972,7 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-9-strmov-store-file-names.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-brect-bounds.patch \
%D%/packages/patches/gdb-hurd.patch \
%D%/packages/patches/gdm-default-session.patch \
%D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
@ -1041,6 +1049,7 @@ dist_patch_DATA = \
%D%/packages/patches/grocsvs-dont-use-admiral.patch \
%D%/packages/patches/gromacs-tinyxml2.patch \
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
%D%/packages/patches/grub-cross-system-i686.patch \
%D%/packages/patches/grub-efi-fat-serial-number.patch \
%D%/packages/patches/grub-setup-root.patch \
%D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
@ -1101,9 +1110,11 @@ dist_patch_DATA = \
%D%/packages/patches/inetutils-hurd.patch \
%D%/packages/patches/inkscape-poppler-0.76.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \
%D%/packages/patches/iputils-libcap-compat.patch \
%D%/packages/patches/irrlicht-use-system-libs.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/jacal-fix-texinfo.patch \
%D%/packages/patches/jamvm-2.0.0-disable-branch-patching.patch \
%D%/packages/patches/jamvm-arm.patch \
%D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \
%D%/packages/patches/java-commons-collections-fix-java8.patch \
@ -1158,8 +1169,7 @@ dist_patch_DATA = \
%D%/packages/patches/leela-zero-gtest.patch \
%D%/packages/patches/less-hurd-path-max.patch \
%D%/packages/patches/lib2geom-enable-assertions.patch \
%D%/packages/patches/lib2geom-link-tests-against-glib.patch \
%D%/packages/patches/lib2geom-use-system-googletest.patch \
%D%/packages/patches/lib2geom-fix-tests.patch \
%D%/packages/patches/liba52-enable-pic.patch \
%D%/packages/patches/liba52-link-with-libm.patch \
%D%/packages/patches/liba52-set-soname.patch \
@ -1423,6 +1433,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-flint-includes.patch \
%D%/packages/patches/python-jedi-sort-project-test.patch \
%D%/packages/patches/python-libxml2-utf8.patch \
%D%/packages/patches/python-memcached-syntax-warnings.patch \
%D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-testtools.patch \
%D%/packages/patches/python-packaging-test-arch.patch \
@ -1447,6 +1458,7 @@ dist_patch_DATA = \
%D%/packages/patches/qtbase-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quassel-qt-514-compat.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
%D%/packages/patches/qtwebkit-pbutils-include.patch \
%D%/packages/patches/randomjungle-disable-static-build.patch \
@ -1499,6 +1511,7 @@ dist_patch_DATA = \
%D%/packages/patches/slim-display.patch \
%D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \
%D%/packages/patches/sooperlooper-build-with-wx-30.patch \
%D%/packages/patches/sssd-fix-samba.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/suitesparse-mongoose-cmake.patch \
%D%/packages/patches/superlu-dist-awpm-grid.patch \
@ -1538,6 +1551,7 @@ dist_patch_DATA = \
%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/tup-unbundle-dependencies.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/twinkle-bcg729.patch \
%D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \
@ -1549,6 +1563,8 @@ dist_patch_DATA = \
%D%/packages/patches/u-boot-video-rockchip-fix-build.patch \
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/udiskie-no-appindicator.patch \
%D%/packages/patches/ungoogled-chromium-system-jsoncpp.patch \
%D%/packages/patches/ungoogled-chromium-system-zlib.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 \
@ -1603,9 +1619,6 @@ dist_patch_DATA = \
%D%/packages/patches/xf86-video-voodoo-pcitag.patch \
%D%/packages/patches/xfce4-panel-plugins.patch \
%D%/packages/patches/xfce4-settings-defaults.patch \
%D%/packages/patches/xmoto-utf8.patch \
%D%/packages/patches/xmoto-remove-glext.patch \
%D%/packages/patches/xmoto-reproducible.patch \
%D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \
%D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \
%D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \

View File

@ -210,10 +210,9 @@ exist on the machine."
(use-modules (gnu build file-systems)
(gnu system uuid))
(define uuid
(string->uuid #$(uuid->string (file-system-device fs))))
(find-partition-by-uuid uuid))))
(let ((uuid (uuid #$(uuid->string (file-system-device fs))
'#$(uuid-type (file-system-device fs)))))
(find-partition-by-uuid uuid)))))
(remote-let ((result remote-exp))
(unless result

View File

@ -231,8 +231,14 @@ usual file attributes can be checked for inconsistencies.")
`(("ncurses" ,ncurses)))
(arguments
`(#:tests? #f ; no test suite
#:make-flags (list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:make-flags
(let ((target ,(%current-target-system)))
(list ,(string-append "CC=" (cc-for-target))
(string-append "PKG_CONFIG="
(if target
(string-append target "-pkg-config")
"pkg-config"))
(string-append "PREFIX=" (assoc-ref %outputs "out"))))
#:phases
(modify-phases %standard-phases
(delete 'configure)))) ; no configure script
@ -435,7 +441,7 @@ graphs and can export its output to different formats.")
(define-public facter
(package
(name "facter")
(version "4.0.25")
(version "4.0.26")
(source (origin
(method git-fetch)
(uri (git-reference
@ -444,7 +450,7 @@ graphs and can export its output to different formats.")
(file-name (git-file-name name version))
(sha256
(base32
"04nbk9rn5lfhbivsx68dggsp05czm7mzfr1i7yv6168bl92d233y"))))
"0bab3by926gavbhkvp0in82vim575ybj8z6av3b12jdvla1s9rmz"))))
(build-system ruby-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -1358,7 +1364,7 @@ system administrator.")
(define-public sudo
(package
(name "sudo")
(version "1.9.0")
(version "1.9.1")
(source (origin
(method url-fetch)
(uri
@ -1368,7 +1374,7 @@ system administrator.")
version ".tar.gz")))
(sha256
(base32
"0p7r3cl16pjwbc48ff1gbhjw51lngrghvwblxz5lxpyzqlwi88xb"))
"1zxd6hxwhxqrm876wsn9bfajbfc4hc6l9ivzj5rjg80hzv71ch99"))
(modules '((guix build utils)))
(snippet
'(begin
@ -3466,7 +3472,7 @@ Python loading in HPC environments.")
(let ((real-name "inxi"))
(package
(name "inxi-minimal")
(version "3.1.01-1")
(version "3.1.03-1")
(source
(origin
(method git-fetch)
@ -3475,7 +3481,7 @@ Python loading in HPC environments.")
(commit version)))
(file-name (git-file-name real-name version))
(sha256
(base32 "0r204w0r06ibdr4dck7yw2nmvj7xq68bjr7xwwiy7liqdml0n0yc"))))
(base32 "0539hvlq021wxhbwzdp7qliiq1jgw60mxlwrwx0z2x8qi1zqdzg6"))))
(build-system trivial-build-system)
(inputs
`(("bash" ,bash-minimal)

View File

@ -12,6 +12,7 @@
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -43,6 +44,7 @@
#:use-module (gnu packages graphviz)
#:use-module (gnu packages image)
#:use-module (gnu packages java)
#:use-module (gnu packages llvm)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
@ -946,6 +948,46 @@ minimization and curve fitting. It is mature code, based on decades-old
algorithms from the FORTRAN library MINPACK.")
(license license:bsd-2)))
(define-public symengine
(package
(name "symengine")
(version "0.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/symengine/symengine.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "129iv9maabmb42ylfdv0l0g94mcbf3y4q3np175008rcqdr8z6h1"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
;; These are the suggested build options in the README.
'("-DCMAKE_BUILD_TYPE=Release"
"-DWITH_GMP=on"
"-DWITH_MPFR=on"
"-DWITH_MPC=on"
"-DINTEGER_CLASS=flint"
"-DWITH_LLVM=on"
"-DWITH_SYMENGINE_THREAD_SAFE=on"
"-DBUILD_SHARED_LIBS=on"))) ;also build libsymengine
(native-inputs
`(("llvm" ,llvm)))
(inputs
`(("flint" ,flint)
("gmp" ,gmp)
("mpc" ,mpc)
("mpfr" ,mpfr)))
(home-page "https://github.com/symengine/symengine")
(synopsis "Fast symbolic manipulation library")
(description
"SymEngine is a standalone fast C++ symbolic manipulation library.
Optional thin wrappers allow usage of the library from other languages.")
(license (list license:expat ;SymEngine
license:bsd-3)))) ;3rd party code
(define-public eigen
(package
(name "eigen")

View File

@ -175,7 +175,9 @@ implementation of Adaptive Multi Rate Narrowband and Wideband
"/" version "/ams-" version ".tar.bz2"))
(sha256
(base32
"1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0"))))
"1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0"))
(patches
(search-patches "alsa-modular-synth-fix-vocoder.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -183,6 +185,17 @@ implementation of Adaptive Multi Rate Narrowband and Wideband
"CXXFLAGS=-std=gnu++11")
#:phases
(modify-phases %standard-phases
(add-after 'set-paths 'hide-default-gcc
(lambda* (#:key inputs #:allow-other-keys)
(let ((gcc (assoc-ref inputs "gcc")))
;; Remove the default GCC from CPLUS_INCLUDE_PATH to prevent
;; conflicts with the GCC 5 input.
(setenv "CPLUS_INCLUDE_PATH"
(string-join
(delete (string-append gcc "/include/c++")
(string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
":"))
#t)))
;; Insert an extra space between linker flags.
(add-before 'configure 'add-missing-space
(lambda _
@ -203,7 +216,7 @@ implementation of Adaptive Multi Rate Narrowband and Wideband
(native-inputs
`(("pkg-config" ,pkg-config)
("qttools" ,qttools)
("gcc" ,gcc-5)))
("gcc@5" ,gcc-5)))
(home-page "http://alsamodular.sourceforge.net/")
(synopsis "Realtime modular synthesizer and effect processor")
(description
@ -2331,7 +2344,29 @@ background file post-processing.")
(file-name (git-file-name name version))
(sha256
(base32
"02v911w2kdbg3kfl593lb2ig4sjbfxzv20a0vbcymhfzpvp1x6xp"))))
"02v911w2kdbg3kfl593lb2ig4sjbfxzv20a0vbcymhfzpvp1x6xp"))
(modules '((guix build utils)
(ice-9 ftw)))
(snippet
;; The build system doesn't allow us to unbundle the following
;; libraries. hidapi is also heavily patched and upstream not
;; actively maintained.
'(let ((keep-dirs '("nova-simd" "nova-tt" "hidapi"
"TLSF-2.4.6" "oscpack_1_1_0" "." "..")))
(with-directory-excursion "./external_libraries"
(for-each
delete-file-recursively
(scandir "."
(lambda (x)
(and (eq? (stat:type (stat x)) 'directory)
(not (member (basename x) keep-dirs)))))))
;; To find the Guix provided ableton-link library.
(substitute* "lang/CMakeLists.txt"
(("include\\(\\.\\./external_libraries/link/\
AbletonLinkConfig\\.cmake\\)")
"find_package(AbletonLink NAMES AbletonLink ableton-link \
link REQUIRED)"))
#t))))
(build-system cmake-build-system)
(outputs
'("out" ;core language
@ -2342,44 +2377,16 @@ background file post-processing.")
"-DFORTIFY=ON" "-DLIBSCSYNTH=ON"
"-DSC_EL=off") ;scel is packaged individually as
;emacs-scel
#:modules ((guix build utils)
(guix build cmake-build-system)
(ice-9 ftw))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'rm-bundled-libs
;; HOME must be defined otherwise supercollider throws a "ERROR:
;; Primitive '_FileMkDir' failed." error when generating the doc.
;; The graphical tests also hang without it.
(add-after 'unpack 'set-home-directory
(lambda _
;; The build system doesn't allow us to unbundle the following
;; libraries. hidapi is also heavily patched.
(let ((keep-dirs '("nova-simd" "nova-tt" "hidapi" "TLSF-2.4.6"
"oscpack_1_1_0" "." "..")))
(with-directory-excursion "./external_libraries"
(for-each
delete-file-recursively
(scandir "."
(lambda (x)
(and (eq? (stat:type (stat x)) 'directory)
(not (member (basename x) keep-dirs))))))))
(substitute* "lang/CMakeLists.txt"
(("include\\(\\.\\./external_libraries/link/AbletonLinkConfig\\.cmake\\)")
"find_package(AbletonLink NAMES AbletonLink ableton-link link REQUIRED)"))
(setenv "HOME" (getcwd))
#t))
;; Some tests are broken (see:
;; https://github.com/supercollider/supercollider/issues/3555 and
;; https://github.com/supercollider/supercollider/issues/1736
(add-after 'rm-bundled-libs 'disable-broken-tests
(lambda _
(substitute* "testsuite/server/supernova/CMakeLists.txt"
(("server_test.cpp")
"")
(("perf_counter_test.cpp")
""))
(substitute* "testsuite/CMakeLists.txt"
(("add_subdirectory\\(sclang\\)")
""))
(delete-file "testsuite/sclang/CMakeLists.txt")
#t))
(add-after 'disable-broken-tests 'patch-scclass-dir
(add-after 'unpack 'patch-scclass-dir
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(scclass-dir
@ -2391,6 +2398,11 @@ background file post-processing.")
"\\(DirName::Resource\\) / CLASS_LIB_DIR_NAME"))
(string-append "Path(\"" scclass-dir "\")")))
#t)))
(add-before 'build 'prepare-x
(lambda _
(system "Xvfb &")
(setenv "DISPLAY" ":0")
#t))
(add-before 'install 'install-ide
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -2403,7 +2415,8 @@ background file post-processing.")
(native-inputs
`(("ableton-link" ,ableton-link)
("pkg-config" ,pkg-config)
("qttools" ,qttools)))
("qttools" ,qttools)
("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("jack" ,jack-1)
("libsndfile" ,libsndfile)
@ -3573,14 +3586,14 @@ on the ALSA software PCM plugin.")
(define-public snd
(package
(name "snd")
(version "19.9")
(version "20.4")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
"snd-" version ".tar.gz"))
(sha256
(base32
"13s8fahpsjygjdrcwmprcrz23ny3klaj2rh2xzdv3bfs69gxvhys"))))
"0irdizlng2s3akmxdbfxcbd93bbjz9543nh7fisszim6v0ks59d9"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:tests? #f ; no tests

View File

@ -342,10 +342,7 @@ used to apply commands with arbitrarily long arguments.")
(list (string-append "XFAIL_TESTS=tests/misc/env-S.pl"
" tests/misc/kill.sh"
" tests/misc/nice.sh"
" tests/misc/shred-passes.sh"
" tests/split/fail.sh"
" tests/split/l-chunk.sh"
" tests/dd/stats.sh"
" test-fdutimensat"
" test-futimens"
" test-linkat"
@ -365,7 +362,15 @@ used to apply commands with arbitrarily long arguments.")
(("/bin/sh") (which "sh")))
(substitute* (find-files "tests" "\\.sh$")
(("#!/bin/sh") (string-append "#!" (which "sh"))))
#t)))))
#t))
,@(if (hurd-target?)
`((add-after 'unpack 'remove-tests
(lambda _
(substitute* "Makefile.in"
;; this test hangs
(("^ *tests/misc/timeout-group.sh.*") ""))
#t)))
'()))))
(synopsis "Core GNU utilities (file, text, shell)")
(description
"GNU Coreutils package includes all of the basic command-line tools that
@ -554,8 +559,8 @@ included.")
;; big refactoring of xtensa-modules.c (commit 567607c11fbf7105 upstream).
;; Keep this version around until the patch is updated.
(define-public binutils-2.33
(package/inherit
binutils
(package
(inherit binutils)
(version "2.33.1")
(source (origin
(inherit (package-source binutils))
@ -570,8 +575,7 @@ included.")
(properties '())))
(define-public binutils-gold
(package
(inherit binutils)
(package/inherit binutils+documentation
(name "binutils-gold")
(arguments
`(#:phases

View File

@ -1396,14 +1396,14 @@ the Human Protein Atlas project.")
(define-public r-regioner
(package
(name "r-regioner")
(version "1.20.0")
(version "1.20.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "regioneR" version))
(sha256
(base32
"10i21gxv0n7lrflhj5ja672xjizy1i4y4iq3pmjgbf0dpy1lxsih"))))
"0bzjwzj5mvb49wgvs3gd3jfpm7s0zfkca763i65i7m994lgvz33c"))))
(properties `((upstream-name . "regioneR")))
(build-system r-build-system)
(propagated-inputs
@ -5119,14 +5119,14 @@ that arising from 16s metagenomic surveys.")
(define-public r-wiggleplotr
(package
(name "r-wiggleplotr")
(version "1.12.0")
(version "1.12.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "wiggleplotr" version))
(sha256
(base32
"15l8f7ls2mwhsw68sr1k4r19hmdzjriibr5hpnfbanzj5x6yhdjq"))))
"1wknigh1md3w4h68caqlpq945maipdkpmw10hc2rlx4nbbpcnawp"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
@ -6117,14 +6117,14 @@ for other R packages to compile and link against.")
(define-public r-flowworkspace
(package
(name "r-flowworkspace")
(version "4.0.3")
(version "4.0.6")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "flowWorkspace" version))
(sha256
(base32
"1fi76m6r5x4w390996989rignffdzl11k3prpimpwjd3566c276w"))))
"123ny8n3jjgmsnpghk1dafxkwmcyr513gxi8y4h4qszq4s6ai15v"))))
(properties `((upstream-name . "flowWorkspace")))
(build-system r-build-system)
(propagated-inputs
@ -6248,14 +6248,14 @@ sequential way to mimic the manual gating strategy.")
(define-public r-cytoml
(package
(name "r-cytoml")
(version "2.0.0")
(version "2.0.5")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "CytoML" version))
(sha256
(base32
"0zpq2j4y9i5lls1kj2w4spl8qjp3076idsr2a2rjvy1fykzlp01q"))))
"174brv027mm90lydfg6hnhazwh8jy4vf6ial4hpsfalwa5jrz55n"))))
(properties `((upstream-name . "CytoML")))
(build-system r-build-system)
(inputs
@ -6286,6 +6286,7 @@ sequential way to mimic the manual gating strategy.")
("r-runit" ,r-runit)
("r-tibble" ,r-tibble)
("r-xml" ,r-xml)
("r-xml2" ,r-xml2)
("r-yaml" ,r-yaml)))
(native-inputs
`(("r-knitr" ,r-knitr)))
@ -6455,14 +6456,14 @@ genes in the gene-set that are ranked above the leading edge).")
(define-public r-cicero
(package
(name "r-cicero")
(version "1.6.0")
(version "1.6.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "cicero" version))
(sha256
(base32
"0n78lf5hz6zzl550dbf4imis43pv91zicfff8y4lspckljhz9z75"))))
"0nf9yqg5krj26n4n82iyx3rsr84d46b17i9zfk35sh12l4xssbii"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
@ -6482,6 +6483,7 @@ genes in the gene-set that are ranked above the leading edge).")
("r-plyr" ,r-plyr)
("r-reshape2" ,r-reshape2)
("r-s4vectors" ,r-s4vectors)
("r-stringi" ,r-stringi)
("r-stringr" ,r-stringr)
("r-tibble" ,r-tibble)
("r-tidyr" ,r-tidyr)
@ -6673,14 +6675,14 @@ metrics, with methods for objects produced by the @code{methylumi} and
(define-public r-gdsfmt
(package
(name "r-gdsfmt")
(version "1.24.0")
(version "1.24.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "gdsfmt" version))
(sha256
(base32
"00hggma0i15w03xi9jr02v2593jbqkcxyfcvpp7mdzrshn99m9p6"))
"0ipf60wylbhvwk9q3mbnak0f1n6k7spfh90s1c1c0b47ryxsri67"))
(modules '((guix build utils)))
;; Remove bundled sources of zlib, lz4, and xz. Don't attempt to build
;; them and link with system libraries instead.
@ -8087,3 +8089,31 @@ metrics, such as the elbow method and Horn's parallel analysis, which has
relevance for data reduction in single-cell RNA-seq (scRNA-seq) and high
dimensional mass cytometry data.")
(license license:gpl3)))
(define-public r-rgreat
(package
(name "r-rgreat")
(version "1.20.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "rGREAT" version))
(sha256
(base32
"0n8dw9ibb2klsczcxvvinpi9l53w8cs436i0c8w2jmramayl593v"))))
(properties `((upstream-name . "rGREAT")))
(build-system r-build-system)
(propagated-inputs
`(("r-genomicranges" ,r-genomicranges)
("r-getoptlong" ,r-getoptlong)
("r-iranges" ,r-iranges)
("r-rcurl" ,r-rcurl)
("r-rjson" ,r-rjson)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://github.com/jokergoo/rGREAT")
(synopsis "Client for GREAT analysis")
(description
"This package makes GREAT (Genomic Regions Enrichment of Annotations
Tool) analysis automatic by constructing a HTTP POST request according to
user's input and automatically retrieving results from GREAT web server.")
(license license:expat)))

View File

@ -17,6 +17,7 @@
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -53,6 +54,7 @@
#:use-module (guix build-system ruby)
#:use-module (guix build-system scons)
#:use-module (guix build-system trivial)
#:use-module (guix deprecation)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages algebra)
@ -941,7 +943,9 @@ Python.")
("python-future" ,python-future)
("python-click" ,python-click)
("python-h5py" ,python-h5py)
("python-pandas" ,python-pandas)))
;; FIXME: Upgrade to pandas 1.0 when
;; https://github.com/biocore/biom-format/issues/837 is resolved.
("python-pandas" ,python-pandas-0.25)))
(native-inputs
`(("python-cython" ,python-cython)
("python-pytest" ,python-pytest)
@ -2406,12 +2410,18 @@ interval trees with associated meta-data. It is primarily used by the
(name "python-deeptools")
(version "3.4.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "deepTools" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/deeptools/deepTools.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1azgjniss5ff6a90nicdjkxyjwqmi3gzfn09gra42hwlz19hipxb"))))
"0l09vyynz6s6w7fnyd94rpys4a6aja6kp4gli64pngdxdz3md1nl"))))
(build-system python-build-system)
(native-inputs
`(("python-mock" ,python-mock)
("python-nose" ,python-nose)))
(propagated-inputs
`(("python-matplotlib" ,python-matplotlib)
("python-numpy" ,python-numpy)
@ -2421,7 +2431,7 @@ interval trees with associated meta-data. It is primarily used by the
("python-pysam" ,python-pysam)
("python-scipy" ,python-scipy)
("python-deeptoolsintervals" ,python-deeptoolsintervals)
("python-plotly" ,python-plotly)))
("python-plotly" ,python-plotly-2.4.1)))
(home-page "https://pypi.org/project/deepTools/")
(synopsis "Useful tools for exploring deep sequencing data")
(description "This package addresses the challenge of handling large amounts
@ -2436,6 +2446,8 @@ annotations of the genome.")
;; remainder of the code is licensed under the MIT license.
(license (list license:bsd-3 license:expat))))
(define-deprecated deeptools python-deeptools)
(define-public cutadapt
(package
(name "cutadapt")
@ -2599,51 +2611,6 @@ trees (phylogenies) and characters.")
with Python.")
(license license:expat)))
(define-public deeptools
(package
(name "deeptools")
(version "3.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/deeptools/deepTools.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1vggnf52g6q2vifdl4cyi7s2fnfqq0ky2zrkj5zv2qfzsc3p3siw"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; This phase fails, but it's not needed.
(delete 'reset-gzip-timestamps))))
(inputs
`(("python-plotly" ,python-plotly)
("python-scipy" ,python-scipy)
("python-numpy" ,python-numpy)
("python-numpydoc" ,python-numpydoc)
("python-matplotlib" ,python-matplotlib)
("python-pysam" ,python-pysam)
("python-py2bit" ,python-py2bit)
("python-pybigwig" ,python-pybigwig)))
(native-inputs
`(("python-mock" ,python-mock) ;for tests
("python-nose" ,python-nose) ;for tests
("python-pytz" ,python-pytz))) ;for tests
(home-page "https://github.com/deeptools/deepTools")
(synopsis "Tools for normalizing and visualizing deep-sequencing data")
(description
"DeepTools addresses the challenge of handling the large amounts of data
that are now routinely generated from DNA sequencing centers. To do so,
deepTools contains useful modules to process the mapped reads data to create
coverage files in standard bedGraph and bigWig file formats. By doing so,
deepTools allows the creation of normalized coverage files or the comparison
between two files (for example, treatment and control). Finally, using such
normalized and standardized files, multiple visualizations can be created to
identify enrichments with functional annotations of the genome.")
(license license:gpl3+)))
(define-public delly
(package
(name "delly")
@ -3050,16 +3017,16 @@ dynamic programming or a variety of heuristics.")
(define-public express
(package
(name "express")
(version "1.5.1")
(version "1.5.3")
(source (origin
(method url-fetch)
(uri
(string-append
"http://bio.math.berkeley.edu/eXpress/downloads/express-"
version "/express-" version "-src.tgz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/adarob/eXpress.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"03rczxd0gjp2l1jxcmjfmf5j94j77zqyxa6x063zsc585nj40n0c"))))
"18nb22n7x820fzjngf4qgyb3mspqkw7xyk7v7s5ps6wfrd8qwscb"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no "check" target
@ -3076,6 +3043,12 @@ dynamic programming or a variety of heuristics.")
(("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/\\.\\./bamtools/lib")
(string-append (assoc-ref inputs "bamtools") "/lib"))
(("libprotobuf.a") "libprotobuf.so"))
#t))
(add-after 'unpack 'remove-update-check
(lambda _
(substitute* "src/main.cpp"
(("#include \"update_check.h\"") "")
(("check_version\\(PACKAGE_VERSION\\);") ""))
#t)))))
(inputs
`(("boost" ,boost)
@ -7716,13 +7689,13 @@ ID and species. It is used by functions in the GenomeInfoDb package.")
(define-public r-genomeinfodb
(package
(name "r-genomeinfodb")
(version "1.24.0")
(version "1.24.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomeInfoDb" version))
(sha256
(base32
"0ab92nq7lvhvhgp512qhiiphpby0b17c666qska6p8a636zzmqiv"))))
"1cqs53p4m5q1dr59war72bccphy01ilw4xra24fmngrv4x32rznd"))))
(properties
`((upstream-name . "GenomeInfoDb")))
(build-system r-build-system)
@ -7813,13 +7786,13 @@ coding changes and predict coding outcomes.")
(define-public r-limma
(package
(name "r-limma")
(version "3.44.1")
(version "3.44.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "limma" version))
(sha256
(base32
"0l6f6lz1rghj8c5s14ljbnmsrwz27fi6a7g42n15n3d3msvflw36"))))
"09fnqxx4rzq5n447aqg2l6y0idfwgz2jxz99sifxsr2q8afzbcj6"))))
(build-system r-build-system)
(home-page "http://bioinf.wehi.edu.au/limma")
(synopsis "Package for linear models for microarray and RNA-seq data")
@ -7950,13 +7923,13 @@ annotation data packages using SQLite data storage.")
(define-public r-biomart
(package
(name "r-biomart")
(version "2.44.0")
(version "2.44.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "biomaRt" version))
(sha256
(base32
"0ag26q9283p9mfz4zx8qnx1w7b7ilmsb8wyx737z9cqy9a0i57wj"))))
"0np4nh3gj60mgb6312z7x0z9fg5bhrhw872sp3dzgmqc8q8b84iz"))))
(properties
`((upstream-name . "biomaRt")))
(build-system r-build-system)
@ -8923,13 +8896,13 @@ of gene-level counts.")
(define-public r-rhdf5
(package
(name "r-rhdf5")
(version "2.32.0")
(version "2.32.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "rhdf5" version))
(sha256
(base32
"097znwl95y2vd6asyqxs62m7binwxqmna7ss0302yl3b0s72skcy"))))
"102zam2j43jwgaz9ch6y2jjbc3qf56ngmggikf99s8l3w9ggbskm"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rhdf5lib" ,r-rhdf5lib)))
@ -10840,14 +10813,14 @@ provided.")
(define-public r-hdf5array
(package
(name "r-hdf5array")
(version "1.16.0")
(version "1.16.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "HDF5Array" version))
(sha256
(base32
"1g848s0qc6i4ipd7y2s5pk8k1xggk2kfy0gnr8wjjs2gq3914aw4"))))
"01767v90nl0499jcicpxngbbs0af5p9c5aasi5va01w3v5bnqddn"))))
(properties `((upstream-name . "HDF5Array")))
(build-system r-build-system)
(inputs
@ -13437,14 +13410,14 @@ cases include:
(name "miniasm")
(version "0.3")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/lh3/miniasm/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/lh3/miniasm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0g89pa98dvh34idv7w1zv12bsbyr3a11c4qb1cdcz68gyda88s4v"))))
(base32
"04dv5wv8bhsw1imxwyd438bnn9kby7svp44nbcz8lsadzjjci5gs"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)))
@ -13457,7 +13430,8 @@ cases include:
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(install-file "miniasm" bin)
(install-file "minidot" bin)))))))
(install-file "minidot" bin)
#t))))))
(home-page "https://github.com/lh3/miniasm")
(synopsis "Ultrafast de novo assembly for long noisy reads")
(description "Miniasm is a very fast OLC-based de novo assembler for noisy

View File

@ -2,6 +2,7 @@
;;; Copyright © 2012, 2013, 2015, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -64,6 +65,17 @@ grammar. It is versatile enough to have many applications, from parsers for
simple tools through complex programming languages.")
(license gpl3+)))
(define-public bison-3.6
(package
(inherit bison)
(version "3.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/bison/bison-" version ".tar.xz"))
(sha256
(base32 "0gdpnjh6ra9xa9vj6hzjdf0c04x4pjyy8vssm3qdb7fya4v7knq6"))))))
(define-public bison-3.0
(package
(inherit bison)

View File

@ -42,7 +42,6 @@
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages file)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@ -50,7 +49,6 @@
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages nettle)
#:use-module (gnu packages ncurses)
@ -104,12 +102,9 @@
'("applications" "icons" "pixmaps")))
#t)))))
(inputs
`(("inotify-tools" ,inotify-tools)
("libevent" ,libevent)
`(("libevent" ,libevent)
("curl" ,curl)
("cyrus-sasl" ,cyrus-sasl)
("openssl" ,openssl)
("file" ,file)
("zlib" ,zlib)
("gtk+" ,gtk+)))
(native-inputs
@ -131,7 +126,7 @@ DHT, µTP, PEX and Magnet Links.")
;; or any future license endorsed by Mnemosyne LLC.
;;
;; A few files files carry an MIT/X11 license header.
(license l:gpl3+)))
(license (list l:gpl2 l:gpl3))))
(define-public libtorrent
(package

View File

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
@ -11,7 +11,6 @@
;;; Copyright © 2019 nee <nee@cock.li>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018, 2019, 2020 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;;
@ -97,7 +96,8 @@
(patches (search-patches
"grub-efi-fat-serial-number.patch"
"grub-setup-root.patch"
"grub-verifiers-Blocklist-fallout-cleanup.patch"))))
"grub-verifiers-Blocklist-fallout-cleanup.patch"
"grub-cross-system-i686.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -10,6 +10,7 @@
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -36,12 +37,16 @@
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages package-management)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages ninja)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python))
@ -106,8 +111,8 @@ generate such a compilation database.")
(license license:gpl3+)))
(define-public gn
(let ((commit "ec938ddaa276646eb8f1ab33e160c156011d8217")
(revision "1736")) ;as returned by `git describe`, used below
(let ((commit "eb997b5ab9c3f1ba6a2c52072785884864a84eae")
(revision "1794")) ;as returned by `git describe`, used below
(package
(name "gn")
(version (git-version "0.0" revision commit))
@ -117,7 +122,7 @@ generate such a compilation database.")
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
"0j1qjwp2biw12s6npzpx4z8nvih7pyn68q6cz2k4700bk9y0d574"))
"1vfkcy34wqhg7wsk7jdzhgnnzwim10wgbxv5bnavxzjcs871i2xa"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@ -276,6 +281,80 @@ other lower-level build files.")
scripted definition of a software project and outputs @file{Makefile}s or
other lower-level build files.")))
(define-public tup
(package
(name "tup")
(version "0.7.9")
(source (origin
(method url-fetch)
(uri (string-append "http://gittup.org/tup/releases/tup-v"
version ".tar.gz"))
(sha256
(base32
"0gnd2598xqgwihdkfkx7qn0q6p4n7npam1fy83mp7s04zwj99syc"))
(patches (search-patches "tup-unbundle-dependencies.patch"))
(modules '((guix build utils)))
(snippet
'(begin
;; NOTE: Tup uses a slightly modified Lua, so it cannot be
;; unbundled. See: src/lula/tup-lua.patch
(delete-file-recursively "src/pcre")
(delete-file-recursively "src/sqlite3")
#t))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; There is a bootstrap script, but it doesn't do what you think - it
;; builds tup.
(delete 'bootstrap)
(replace 'configure
(lambda _
(substitute* "src/tup/link.sh"
(("`git describe`") ,version))
(with-output-to-file "tup.config"
(lambda _
(format #t "CONFIG_TUP_USE_SYSTEM_SQLITE=y~%")))
#t))
(delete 'check)
(replace 'build
(lambda _
;; Based on bootstrap-nofuse.sh, but with a detour to patch-shebang.
(invoke "./build.sh")
(invoke "./build/tup" "init")
(invoke "./build/tup" "generate" "--verbose" "build-nofuse.sh")
(patch-shebang "build-nofuse.sh")
(invoke "./build-nofuse.sh")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((outdir (assoc-ref outputs "out"))
(ftdetect (string-append outdir
"/share/vim/vimfiles/ftdetect")))
(install-file "tup" (string-append outdir "/bin"))
(install-file "tup.1" (string-append outdir "/share/man/man1"))
(install-file "contrib/syntax/tup.vim"
(string-append outdir "/share/vim/vimfiles/syntax"))
(mkdir-p ftdetect)
(with-output-to-file (string-append ftdetect "/tup.vim")
(lambda _
(display "au BufNewFile,BufRead Tupfile,*.tup setf tup")))
#t))))))
(inputs
`(("fuse" ,fuse)
("pcre" ,pcre)
("pcre" ,pcre "bin") ; pcre-config
("sqlite" ,sqlite)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://gittup.org/tup/")
(synopsis "Fast build system that's hard to get wrong")
(description "Tup is a generic build system based on a directed acyclic
graphs of commands to be executed. Tup instruments your build to detect the
exact dependencies of the commands, allowing you to take advantage of ideal
parallelism during incremental builds, and detecting any situations where
a build worked by accident.")
(license license:gpl2)))
(define-public osc
(package
(name "osc")

View File

@ -32,7 +32,7 @@
(define-public busybox
(package
(name "busybox")
(version "1.29.3")
(version "1.31.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -40,11 +40,18 @@
version ".tar.bz2"))
(sha256
(base32
"1dzg45vgy2w1xcd3p6h8d76ykhabbvk1h0lf8yb24ikrwlv8cr4p"))))
"1659aabzp8w4hayr4z8kcpbk2z1q2wqhw7i1yb0l72b45ykl1yfh"))
(patches
(search-patches
"busybox-1.31.1-fix-build-with-glibc-2.31.patch"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'configure 'disable-timestamps
(lambda _
(setenv "KCONFIG_NOTIMESTAMP" "1")
#t))
(add-before 'configure 'disable-taskset
;; This feature fails its tests in the build environment,
;; was default 'n' until after 1.26.2.
@ -75,6 +82,9 @@
(substitute* "testsuite/date/date-works-1"
(("/bin/date") (which "date")))
(substitute* "testsuite/start-stop-daemon.tests"
(("/bin/false") (which "false")))
;; The pidof tests assume that pid 1 is called "init" but that is not
;; true in guix build environment
(substitute* "testsuite/pidof.tests"

View File

@ -9,6 +9,7 @@
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright @ 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -436,3 +437,39 @@ with essential JSON handling functions, sufficiently good JSON support (not
"Liblogging is an easy to use library for logging. It offers an enhanced
replacement for the syslog() call, but retains its ease of use.")
(license license:bsd-2)))
(define-public unifdef
(package
(name "unifdef")
(version "2.12")
(source (origin
(method url-fetch)
;; https://dotat.at/prog/unifdef/unifdef-2.12.tar.xz
(uri (string-append "https://dotat.at/prog/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32
"00647bp3m9n01ck6ilw6r24fk4mivmimamvm4hxp5p6wxh10zkj3"))
(modules '((guix build utils)))
(snippet
'(begin (delete-file-recursively "FreeBSD")
(delete-file-recursively "win32")
#t))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure))
#:make-flags (list "CC=gcc" (string-append "prefix=" %output))
#:tests? #f)) ;no test suite
(native-inputs
`(("perl" ,perl)))
(home-page "https://dotat.at/prog/unifdef/")
(synopsis "Utility to selectively processes conditional C preprocessor")
(description "The @command{unifdef} utility selectively processes
conditional C preprocessor @code{#if} and @code{#ifdef} directives. It
removes from a file both the directives and the additional text that they
delimit, while otherwise leaving the file alone. It can be useful for
avoiding distractions when studying code that uses @code{#ifdef} heavily for
portability.")
(license (list license:bsd-2 ;all files except...
license:bsd-3)))) ;...the unidef.1 manual page

View File

@ -13,6 +13,7 @@
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;;
;;; This file is part of GNU Guix.
;;;
@ -38,9 +39,11 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages acl)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages flex)
@ -242,6 +245,54 @@ extra-robust data verification, synchronization, error handling and scratch
reconstruction capability.")
(license gpl2))) ; libraries under lgpl2.1
(define-public cdrdao
(package
(name "cdrdao")
(version "1.2.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cdrdao/cdrdao.git")
(commit
(string-append "rel_" (string-replace-substring version "." "_")))))
(file-name (git-file-name name version))
(sha256
(base32 "1gcl8ibyylamy2d1piq3749nw3xrlp12r0spzp2gmni57b8a6b7j"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(list
;; GCDMaster depends on obsolete libgnomeuimm, see
;; <https://github.com/cdrdao/cdrdao/issues/3>.
"--without-gcdmaster"
;; Use the native SCSI interface.
"--without-scglib")
#:phases
(modify-phases %standard-phases
(add-before 'bootstrap 'fix-configure.ac
(lambda _
;; Remove reference to missing macro.
(substitute* "configure.ac" (("^AM_GCONF_SOURCE_2.*") ""))
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
(inputs
`(("ao" ,ao)
("lame" ,lame)
("libmad" ,libmad)
("libvorbis" ,libvorbis)))
(home-page "http://cdrdao.sourceforge.net")
(synopsis "Read and write CDs in disk-at-once mode")
(description "cdrdao records audio or data CDs in disk-at-once (DAO) mode,
based on a textual description of the contents. This mode writes the complete
disc lead-in, one or more tracks, and lead-out in a single step and is
commonly used with audio CDs. @code{cdrdao} can also handle the bin/cue
format, commonly used for VCDs or disks with subchannel data.")
(license gpl2+)))
(define-public cdrtools
(package
(name "cdrtools")

View File

@ -24,7 +24,7 @@
;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
@ -33,6 +33,7 @@
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -105,8 +106,8 @@ source code editors and IDEs.")
;; Some packages require this older version. Removed once no longer needed.
(define-public check-0.12
(package/inherit
check
(package
(inherit check)
(version "0.12.0")
(source (origin
(method url-fetch)
@ -116,6 +117,54 @@ source code editors and IDEs.")
(base32
"0d22h8xshmbpl9hba9ch3xj8vb9ybm5akpsbbh7yj07fic4h2hj6"))))))
(define-public clitest
(package
(name "clitest")
(version "0.3.0")
(home-page "https://github.com/aureliojargas/clitest")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0zw5wra9hc717srmcar1wm4i34kyj8c49ny4bb7y3nrvkjp2pdb5"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; This package is distributed as a single shell script and comes
;; without a proper build system.
(delete 'configure)
(delete 'build)
(replace 'check
(lambda _
(substitute* "test.md"
;; One test looks for an error from grep in the form "grep: foo",
;; but our grep returns the absolute file name on errors. Adjust
;; the test to cope with that.
(("sed 's/\\^e\\*grep: \\.\\*/")
"sed 's/.*e*grep: .*/"))
(setenv "HOME" "/tmp")
(invoke "./clitest" "test.md")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "clitest" (string-append out "/bin"))
(install-file "README.md"
(string-append out "/share/doc/clitest-" ,version))
#t))))))
(native-inputs
`(("perl" ,perl))) ;for tests
(synopsis "Command line test tool")
(description
"@command{clitest} is a portable shell script that performs automatic
testing of Unix command lines.")
(license license:expat)))
(define-public cunit
(package
(name "cunit")
@ -970,6 +1019,33 @@ supports coverage of subprocesses.")
(define-public python2-pytest-runner-2
(package-with-python2 python-pytest-runner-2))
(define-public python-pytest-lazy-fixture
(package
(name "python-pytest-lazy-fixture")
(version "0.6.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-lazy-fixture" version))
(sha256
(base32 "1b0hmnsxw4s2wf9pks8dg6dfy5cx3zcbzs8517lfccxsfizhqz8f"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Make the installed plugin discoverable by Pytest.
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv"))))))
(propagated-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/tvorog/pytest-lazy-fixture")
(synopsis "Use fixtures in @code{pytest.mark.parametrize}")
(description "This plugin helps to use fixtures in
@code{pytest.mark.parametrize}.")
(license license:expat)))
(define-public python-pytest-mock
(package
(name "python-pytest-mock")
@ -1822,13 +1898,13 @@ failures.")
(define-public python-pytest-flakes
(package
(name "python-pytest-flakes")
(version "1.0.1")
(version "4.0.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pytest-flakes" version))
(sha256
(base32
"0flag3n33kbhyjrhzmq990rvg4yb8hhhl0i48q9hw0ll89jp28lw"))))
"0hyind0gb950v9kfy0v97x66fb33slbqmxhrjvgbvsv0ayzn869l"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -1839,7 +1915,7 @@ failures.")
;; It's easier to run tests after install.
;; Make installed package available for running the tests
(add-installed-pythonpath inputs outputs)
(invoke "py.test" "-vv"))))))
(invoke "py.test" "-vv" "-k" "not test_syntax_error"))))))
(native-inputs
`(("python-coverage" ,python-coverage)
("python-pytest" ,python-pytest)

View File

@ -98,6 +98,7 @@
"third_party/angle/src/third_party/compiler" ;BSD-2
"third_party/angle/src/third_party/libXNVCtrl" ;Expat
"third_party/angle/src/third_party/trace_event" ;BSD-3
"third_party/angle/src/third_party/volk" ;Expat
"third_party/angle/third_party/vulkan-headers" ;ASL2.0
"third_party/angle/third_party/vulkan-loader" ;ASL2.0
"third_party/angle/third_party/vulkan-tools" ;ASL2.0
@ -117,6 +118,7 @@
;; XXX: This is a minified version of <https://d3js.org/>.
"third_party/catapult/tracing/third_party/d3" ;BSD-3
"third_party/catapult/tracing/third_party/gl-matrix" ;Expat
"third_party/catapult/tracing/third_party/jpeg-js" ;ASL2.0
;; XXX: Minified version of <https://github.com/Stuk/jszip>.
"third_party/catapult/tracing/third_party/jszip" ;Expat or GPL3
"third_party/catapult/tracing/third_party/mannwhitneyu" ;Expat
@ -136,6 +138,7 @@
"third_party/depot_tools/owners.py" ;BSD-3
"third_party/devtools-frontend" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/fabricjs" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/lighthouse" ;ASL2.0
"third_party/devtools-frontend/src/front_end/third_party/wasmparser" ;ASL2.0
"third_party/devtools-frontend/src/third_party/axe-core" ;MPL2.0
"third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0
@ -148,6 +151,7 @@
"third_party/google_input_tools/third_party/closure_library" ;ASL2.0
"third_party/google_input_tools/third_party/closure_library/third_party/closure" ;Expat
"third_party/googletest" ;BSD-3
"third_party/harfbuzz-ng" ;Expat
"third_party/hunspell" ;MPL1.1/GPL2+/LGPL2.1+
"third_party/iccjpeg" ;IJG
"third_party/inspector_protocol" ;BSD-3
@ -171,6 +175,7 @@
"third_party/libxml/chromium" ;BSD-3
"third_party/libyuv" ;BSD-3
"third_party/lss" ;BSD-3
"third_party/mako" ;Expat
"third_party/markupsafe" ;BSD-3
"third_party/mesa_headers" ;Expat, SGI
"third_party/metrics_proto" ;BSD-3
@ -199,6 +204,7 @@
"third_party/qcms" ;Expat
"third_party/rnnoise" ;BSD-3
"third_party/s2cellid" ;ASL2.0
"third_party/schema_org" ;CC-BY-SA3.0
"third_party/skia" ;BSD-3
"third_party/skia/include/third_party/skcms" ;BSD-3
"third_party/skia/third_party/skcms" ;BSD-3
@ -208,6 +214,13 @@
"third_party/spirv-headers" ;ASL2.0
"third_party/SPIRV-Tools" ;ASL2.0
"third_party/sqlite" ;Public domain
"third_party/swiftshader" ;ASL2.0
"third_party/swiftshader/third_party/astc-encoder" ;ASL2.0
"third_party/swiftshader/third_party/llvm-7.0" ;NCSA
"third_party/swiftshader/third_party/llvm-subzero" ;NCSA
"third_party/swiftshader/third_party/marl" ;ASL2.0
"third_party/swiftshader/third_party/subzero" ;NCSA
"third_party/swiftshader/third_party/SPIRV-Headers" ;X11-style
"third_party/usb_ids" ;BSD-3
"third_party/usrsctp" ;BSD-2
"third_party/wayland/wayland_scanner_wrapper.py" ;BSD-3
@ -235,36 +248,73 @@
"v8/third_party/inspector_protocol" ;BSD-3
"v8/third_party/v8/builtins")) ;PSFL
(define* (computed-origin-method gexp-promise hash-algo hash
#:optional (name "source")
#:key (system (%current-system))
(guile (default-guile)))
"Return a derivation that executes the G-expression that results
from forcing GEXP-PROMISE."
(mlet %store-monad ((guile (package->derivation guile system)))
(gexp->derivation (or name "computed-origin")
(force gexp-promise)
#:graft? #f ;nothing to graft
#:system system
#:guile-for-build guile)))
(define %blacklisted-files
;; 'third_party/blink/perf_tests/resources/svg/HarveyRayner.svg' carries a
;; nonfree license according to LICENSES in the same directory. As we don't
;; run the Blink performance tests, just remove everything to save ~24MiB.
'("third_party/blink/perf_tests"))
(define %chromium-version "81.0.4044.138")
(define %ungoogled-revision "c2a89fb6b5b559c826796c811741fa8ed3e11de8")
(define %ungoogled-revision "f08ce8b3f1300ef0750b5d6bf967b9cbbfd9a56d")
(define %debian-revision "debian/81.0.4044.92-1")
(define package-revision "0")
(define %package-version (string-append %chromium-version "-"
package-revision "."
(string-take %ungoogled-revision 7)))
(define %gentoo-revision "55ef09d6709f4e4cbe23418e4ade0f219fa2fa1f")
(define %chromium-origin
(define (gentoo-patch name revision hash)
(origin
(method url-fetch)
(uri (string-append "https://commondatastorage.googleapis.com"
"/chromium-browser-official/chromium-"
%chromium-version ".tar.xz"))
(sha256
(base32
"19kpzmqmld0m0nflx13w9flxfal19msnxhzl3lip1jqih65z4y7l"))))
(uri (string-append "https://gitweb.gentoo.org/repo/gentoo.git/plain"
"/www-client/chromium/files/" name "?id=" revision))
(file-name (string-append "ungoogled-" name))
(sha256 (base32 hash))))
(define %gentoo-patches
(list (gentoo-patch "chromium-fix-char_traits.patch" %gentoo-revision
"1zr9wj2rj5phwdiffykd8w3srmzn0xxgmznz762qp7rs7amnp8ns")
(gentoo-patch "chromium-blink-style_format.patch" %gentoo-revision
"098akk5l01m0n3zz08ycz1kp3xmjnbng6d399z1fnb2zigbf0b0z")
(gentoo-patch "chromium-78-protobuf-export.patch" %gentoo-revision
"1wbw29daqwyrnij4991v84955ydqfvvjpz4s2p40agnzmgdzwnsx")
(gentoo-patch "chromium-79-gcc-alignas.patch" %gentoo-revision
"1a6l4i9cicy8dpxxjamyw8cl2nmqfv3x9gbffrsr8571my6fh17s")
(gentoo-patch "chromium-80-gcc-quiche.patch" %gentoo-revision
"0rdlsymw6h8i6yhysiq4la53pwivzv1i9lh0gprh5cl367r1haww")
(gentoo-patch "chromium-82-gcc-noexcept.patch" %gentoo-revision
"0pljnysjvbv2ck0s159qssjhv1pfr32i0nb66smmfmfix2yaizqc")
(gentoo-patch "chromium-82-gcc-incomplete-type.patch" %gentoo-revision
"04751dnpmiasifhq29a1kyxlnq6f2fmd2qbkv7hxdlsxbzg3lhsv")
(gentoo-patch "chromium-82-gcc-template.patch" %gentoo-revision
"1ilmx9wmzyrwmfvr2mwc7m5z6lnbhjkms5k40i8yavqah6kcdbw2")
(gentoo-patch "chromium-82-gcc-iterator.patch" %gentoo-revision
"1xljai9cj99pf4q3l8hz90i8mhdbd8v6h1vj8y37v6j8p78n3zvj")
(gentoo-patch "chromium-83-gcc-template.patch" %gentoo-revision
"1bb1anqdrimza7d0gg4fmxij00563jd9k1azy8sz1ybd8gvrphqi")
(gentoo-patch "chromium-83-gcc-include.patch" %gentoo-revision
"0rs9jj71ridplndi967m0z47vqd8ryykg36gjx8iyf3580vr2hlw")
(gentoo-patch "chromium-83-gcc-permissive.patch" %gentoo-revision
"04mrmrg3pbwl3gph2n1dkbv4miz80xww1gysd39six028nxacjpg")
(gentoo-patch "chromium-83-gcc-iterator.patch" %gentoo-revision
"0q66399va607kjnk8n9xlcr740q7c522p2z7abyd2hgq2bxgglnv")
(gentoo-patch "chromium-83-gcc-serviceworker.patch" %gentoo-revision
"0klvcqqzldfhvqr3plja64qamgff1m2z1zcn325bj32gmpypqjx9")
(gentoo-patch "chromium-83-gcc-10.patch" %gentoo-revision
"0vfvh1jypqcb274bggacg165mw2q5gmn237cvrrwcjqalz0ahnry")
(gentoo-patch "chromium-83-icu67.patch" %gentoo-revision
"05spmjhg5f56mkq3f96vm4s2d9h6vqdxz5g8ibd9pf8ddnh4blnx")))
(define (debian-patch name revision hash)
(origin
(method url-fetch)
(uri (string-append "https://salsa.debian.org/chromium-team/chromium/-/raw/"
revision "/debian/patches/" name))
(file-name (match (string-split name #\/)
((category name)
(string-append "ungoogled-chromium-" category "-" name))))
(sha256 (base32 hash))))
(define %debian-patches
(list (debian-patch "system/nspr.patch" %debian-revision
"1x6ydc8pfks2c1dlwf0c58par6znjknvs9815576ycx27jl633dy")
(debian-patch "system/openjpeg.patch" %debian-revision
"0zd6v5njx1pc7i0y6mslxvpx5j4cq01mmyx55qcqx8qzkm0gm48j")))
(define %ungoogled-origin
(origin
@ -275,145 +325,70 @@ from forcing GEXP-PROMISE."
(string-take %ungoogled-revision 7)))
(sha256
(base32
"0bbr4a2gkgm3ykdgpj8x58sd3dwam6qkifhzfs2997681g7b2v2q"))))
"0kc40p8f7cls696gh6ign37l8j4x1pyyz32jkkli9cmrpbsjsadl"))))
(define %debian-origin
(origin
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/chromium-team/chromium.git")
(commit %debian-revision)))
(file-name (git-file-name "debian-chromium-packaging"
(match (string-split %debian-revision #\/)
((_ revision) revision)
(_ (string-take %debian-revision 7)))))
(sha256
(base32
"0srgbcqga3l75bfkv3bnmjk416189nazsximvzdx2k5n8v5k4p3m"))))
;; 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.
;; This is a source 'snippet' that does the following:
;; *) Applies various patches for unbundling purposes and libstdc++ compatibility.
;; *) Runs the ungoogled patch-, domain substitution-, and scrubbing scripts.
;; *) Prunes all third_party directories that are not explicitly preserved.
;; *) Adjusts "GN" build files such that system libraries are preferred.
(define ungoogled-chromium-source
(let ((chromium-source %chromium-origin)
(ungoogled-source %ungoogled-origin)
(debian-source %debian-origin))
(origin
(method computed-origin-method)
(file-name (string-append "ungoogled-chromium-" %package-version ".tar.xz"))
(sha256 #f)
(uri
(delay
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils)
(ice-9 rdelim)
(srfi srfi-1)
(srfi srfi-26))
(let ((chromium-dir (string-append "chromium-" #$%chromium-version))
(preserved-files (list #$@%preserved-third-party-files)))
(define ungoogled-chromium-snippet
;; Note: delay to cope with cyclic module imports at the top level.
(delay
#~(begin
(let ((chromium-dir (getcwd)))
(set-path-environment-variable
"PATH" '("bin")
(list #+patch #+python-wrapper #+xz))
(set-path-environment-variable
"PATH" '("bin")
(list #+(canonical-package patch)
#+(canonical-package xz)
#+(canonical-package tar)
#+python-wrapper))
;; Apply patches before running the ungoogled scripts because
;; domain substitution may break some of the patches.
(format #t "Applying assorted build fixes...~%")
(force-output)
(for-each (lambda (patch)
(invoke "patch" "-p1" "--force" "--input"
patch "--no-backup-if-mismatch"))
(append
'#+%gentoo-patches '#+%debian-patches
'#+(list (local-file
(search-patch
"ungoogled-chromium-system-jsoncpp.patch"))
(local-file
(search-patch
"ungoogled-chromium-system-zlib.patch")))))
(copy-recursively #+ungoogled-source "/tmp/ungoogled")
(with-directory-excursion #+%ungoogled-origin
(format #t "Ungooglifying...~%")
(force-output)
(invoke "python" "utils/prune_binaries.py" chromium-dir
"pruning.list")
(invoke "python" "utils/patches.py" "apply"
chromium-dir "patches")
(invoke "python" "utils/domain_substitution.py" "apply" "-r"
"domain_regex.list" "-f" "domain_substitution.list"
"-c" "/tmp/domainscache.tar.gz" chromium-dir))
(with-directory-excursion "/tmp/ungoogled"
;; Run after the ungoogled scripts to avoid interfering with
;; patches or file lists.
(format #t "Removing blacklisted files...~%")
(force-output)
(for-each delete-file-recursively '#$%blacklisted-files)
(format #t "Unpacking chromium tarball...~%")
(force-output)
(invoke "tar" "xf" #+chromium-source)
(format #t "Pruning third party files...~%")
(force-output)
(apply invoke (string-append #+python-2 "/bin/python")
"build/linux/unbundle/remove_bundled_libraries.py"
"--do-remove" '#$%preserved-third-party-files)
;; Ungoogled-Chromium contains a forked subset of the Debian
;; patches. Disable those, as we apply newer versions later.
(substitute* "patches/series"
((".*/debian/.*")
""))
(format #t "Ungooglifying...~%")
(force-output)
(invoke "python" "utils/prune_binaries.py" chromium-dir
"pruning.list")
(invoke "python" "utils/patches.py" "apply"
chromium-dir "patches")
(invoke "python" "utils/domain_substitution.py" "apply" "-r"
"domain_regex.list" "-f" "domain_substitution.list"
"-c" "/tmp/domainscache.tar.gz" chromium-dir)
(with-directory-excursion chromium-dir
(format #t "Applying Debian patches...~%")
(force-output)
(let* ((debian #+debian-source)
(patches (string-append debian "/debian/patches"))
(series (string-append patches "/series")))
(with-input-from-file series
(lambda ()
(let loop ((line (read-line)))
(unless (eof-object? line)
(when (and (> (string-length line) 1)
(not (string-prefix? "#" line))
;; Skip the Debian-specific ones.
(not (string-prefix? "debianization/" line))
(not (string-prefix? "buster/" line))
(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
;; instead of its own bundled copy,
;; but that does not work here for
;; some reason. Ignore that patch
;; and those that depend on it.
"inspector.patch"))))
(invoke "patch" "--force" "-p1" "--input"
(string-append patches "/" line)
"--no-backup-if-mismatch"))
(loop (read-line)))))))
(format #t "Pruning third party files...~%")
(force-output)
(apply invoke (string-append #+python-2 "/bin/python")
"build/linux/unbundle/remove_bundled_libraries.py"
"--do-remove" preserved-files)
(format #t "Replacing GN files...~%")
(force-output)
(invoke "python" "build/linux/unbundle/replace_gn_files.py"
"--system-libraries" "ffmpeg" "flac" "fontconfig"
"freetype" "harfbuzz-ng" "icu" "libdrm" "libevent"
"libjpeg" "libpng" "libvpx" "libwebp" "libxml"
"libxslt" "openh264" "opus" "re2" "snappy" "yasm"
"zlib"))
(format #t (string-append "Packing new ungoogled tarball ...~%"))
(force-output)
(invoke "tar" "cvfa" #$output
;; Avoid non-determinism in the archive.
"--mtime=@0"
"--owner=root:0"
"--group=root:0"
"--sort=name"
chromium-dir)
#t)))))))))
(format #t "Replacing GN files...~%")
(force-output)
(invoke "python" "build/linux/unbundle/replace_gn_files.py"
"--system-libraries" "ffmpeg" "flac" "fontconfig"
"freetype" "harfbuzz-ng" "icu" "libdrm" "libevent"
"libjpeg" "libpng" "libvpx" "libwebp" "libxml"
"libxslt" "openh264" "opus" "re2" "snappy" "yasm"
"zlib")
#t))))
(define opus+custom
(package/inherit opus
@ -430,9 +405,19 @@ from forcing GEXP-PROMISE."
(define-public ungoogled-chromium
(package
(name "ungoogled-chromium")
(version %package-version)
(version (string-append "83.0.4103.116-0."
(string-take %ungoogled-revision 7)))
(synopsis "Graphical web browser")
(source ungoogled-chromium-source)
(source (origin
(method url-fetch)
(uri (string-append "https://commondatastorage.googleapis.com"
"/chromium-browser-official/chromium-"
(car (string-split version #\-)) ".tar.xz"))
(sha256
(base32
"1hravbi1lazmab2mih465alfzji1kzy38zya1visbwz9zs6pw35v"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
@ -472,7 +457,6 @@ from forcing GEXP-PROMISE."
"enable_remoting=false"
"enable_reporting=false"
"enable_service_discovery=false"
"enable_swiftshader=false"
"enable_vr=false"
"enable_widevine=false"
;; Disable type-checking for the Web UI to avoid a Java dependency.
@ -496,6 +480,7 @@ from forcing GEXP-PROMISE."
"use_openh264=true"
"use_pulseaudio=true"
"link_pulseaudio=true"
"icu_use_data_file=false"
;; VA-API acceleration is currently only supported on x86_64-linux.
,@(if (string-prefix? "x86_64" (or (%current-target-system)
@ -622,17 +607,6 @@ from forcing GEXP-PROMISE."
(substitute* "device/udev_linux/udev1_loader.cc"
(("libudev\\.so\\.1")
(string-append udev "/lib/libudev.so.1")))
(substitute*
'("ui/ozone/platform/x11/gl_ozone_glx.cc"
"ui/ozone/common/egl_util.cc"
"ui/gl/init/gl_initializer_x11.cc"
"third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp")
(("libGL\\.so\\.1")
(string-append mesa "/lib/libGL.so.1"))
(("libEGL\\.so\\.1")
(string-append mesa "/lib/libEGL.so.1"))
(("libGLESv2\\.so\\.2")
(string-append mesa "/lib/libGLESv2.so.2")))
#t)))
(add-before 'configure 'prepare-build-environment
(lambda* (#:key inputs #:allow-other-keys)
@ -649,14 +623,11 @@ from forcing GEXP-PROMISE."
;; Clang plugins or newer versions.
"-Wno-unknown-warning-option")))
(setenv "CFLAGS" "-Wno-unknown-warning-option")
;; TODO: pre-compile instead. Avoids a race condition.
(setenv "PYTHONDONTWRITEBYTECODE" "1")
(substitute*
;; From Debians 'system/node.patch'.
"third_party/devtools-frontend/src/scripts/devtools_paths.py"
(("/usr/bin/nodejs") (which "node")))
;; XXX: How portable is this.
(mkdir-p "third_party/node/linux/node-linux-x64")
(symlink (string-append (assoc-ref inputs "node") "/bin")
@ -708,7 +679,7 @@ from forcing GEXP-PROMISE."
(lib (string-append out "/lib"))
(man (string-append out "/share/man/man1"))
(applications (string-append out "/share/applications"))
(install-regexp (make-regexp "\\.(bin|pak)$"))
(install-regexp (make-regexp "\\.(bin|pak|so)$"))
(locales (string-append lib "/locales"))
(resources (string-append lib "/resources"))
(preferences (assoc-ref inputs "master-preferences"))
@ -745,6 +716,10 @@ from forcing GEXP-PROMISE."
(symlink "../lib/chromium" exe)
(install-file "chromedriver" bin)
(for-each (lambda (so)
(install-file so (string-append lib "/swiftshader")))
(find-files "swiftshader" "\\.so$"))
(wrap-program exe
;; Avoid file manager crash. See <https://bugs.gnu.org/26593>.
`("XDG_DATA_DIRS" ":" prefix (,(string-append gtk+ "/share")))))
@ -761,7 +736,7 @@ from forcing GEXP-PROMISE."
#t))))))
(native-inputs
`(("bison" ,bison)
("clang" ,clang-9)
("clang" ,clang-10)
("gn" ,gn)
("gperf" ,gperf)
("ninja" ,ninja)
@ -785,14 +760,18 @@ from forcing GEXP-PROMISE."
("dbus-glib" ,dbus-glib)
("expat" ,expat)
("flac" ,flac)
("ffmpeg" ,ffmpeg)
;; FIXME: Change to ffmpeg 4.3 when supported, see
;; <https://bugs.chromium.org/p/chromium/issues/detail?id=1095962>.
("ffmpeg" ,ffmpeg-4.2)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("gdk-pixbuf" ,gdk-pixbuf)
("glib" ,glib)
("gtk+" ,gtk+)
("harfbuzz" ,harfbuzz)
("icu4c" ,icu4c)
("icu4c" ,icu4c-67)
("jsoncpp" ,jsoncpp)
("lcms" ,lcms)
("libevent" ,libevent)
@ -838,7 +817,8 @@ from forcing GEXP-PROMISE."
;; mid-end x86 system may need more than 24 hours to complete the build.
(properties '((timeout . 144000) ;40 hours
;; The linking step may take more than an hour on some hardware.
(max-silent-time . 7200)))
(max-silent-time . 7200)
(cpe-name . "chrome")))
(home-page "https://github.com/Eloston/ungoogled-chromium")
(description
@ -867,19 +847,10 @@ disabled in order to protect the users privacy.")
,@(package-inputs ungoogled-chromium)))
(arguments
(substitute-keyword-arguments (package-arguments ungoogled-chromium)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'add-ozone-patch
(lambda _
;; Add missing include statement required when using libstdc++,
;; Clang and Ozone. Fixed in M81.
(substitute* "ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc"
(("#include \"base/logging\\.h" all)
(string-append "#include <algorithm>\n" all)))
#t))))
((#:configure-flags flags)
`(append (list "use_ozone=true"
"ozone_platform_wayland=true"
"ozone_platform_x11=true"
"ozone_auto_platforms=false"
"ozone_platform=\"wayland\""
"use_xkbcommon=true"

View File

@ -47,8 +47,8 @@
#:use-module (guix build-system gnu))
(define-public cuirass
(let ((commit "2280ae18eb25aa7034636c58bf288c9bd5a8fa3b")
(revision "31"))
(let ((commit "91204db33ae07ce179dfc5dcf624f43b7b8117f5")
(revision "35"))
(package
(name "cuirass")
(version (git-version "0.0.1" revision commit))
@ -60,7 +60,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"1gbmpwgiwy740d936b052gfivzw52pgrny7j7lbl56wi9wnawkc9"))))
"1n8qlw26jazzc59grdii37dl3pfqyhyybcn2g785vm18gq1j4wd0"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)
@ -120,7 +120,7 @@
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs)))
#t))))))
(inputs
`(("guile" ,guile-3.0)
`(("guile" ,@(assoc-ref (package-native-inputs guix) "guile"))
("guile-fibers" ,guile-fibers)
("guile-gcrypt" ,guile-gcrypt)
("guile-json" ,guile-json-4)

View File

@ -0,0 +1,60 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages convmv)
#:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public convmv
(package
(name "convmv")
(version "2.05")
(source (origin
(method url-fetch)
(uri (string-append "https://www.j3e.de/linux/convmv/convmv-"
version ".tar.gz"))
(sha256
(base32
"19hwv197p7c23f43vvav5bs19z9b72jzca2npkjsxgprwj5ardjk"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:make-flags `(,(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure)
(add-before 'check 'unpack-testsuite
(lambda _
(invoke "tar" "xf" "testsuite.tar")
(patch-shebang "suite/dotests.sh")
(patch-shebang "suite/parsable_tester.pl")
#t)))))
(inputs
`(("perl" ,perl)))
(synopsis "Convert filenames between character sets")
(description
"convmv is a file renamer, that converts between different encodings,
e.g. from ISO-8859-1 to UTF-8. It is particularly usefuls for files with
names, that display incorrectly.")
(license (list gpl2 gpl3))
(home-page "https://www.j3e.de/")))

View File

@ -107,14 +107,14 @@ degree elevation and curve fitting.")
(define-public r-v8
(package
(name "r-v8")
(version "3.1.0")
(version "3.2.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "V8" version))
(sha256
(base32
"0xdljralgwyivdhx2a7kqf3yv4ijl4rdrz2p7p59lj2x5d2qyanf"))))
"0z0dwa538lkggawiwrlplz698xznzlgv9fwhdslm7g7gdxyf0xgm"))))
(properties `((upstream-name . "V8")))
(build-system r-build-system)
(arguments
@ -193,6 +193,26 @@ programming packages such as @code{knitr} and @code{rmarkdown}.")
the system clipboards.")
(license license:gpl3)))
(define-public r-zoo
(package
(name "r-zoo")
(version "1.8-8")
(source (origin
(method url-fetch)
(uri (cran-uri "zoo" version))
(sha256
(base32
"1rrw431jwaxd9xljp73f15rhcxvwc0xlyrmr0ghi5fj7a03c932f"))))
(build-system r-build-system)
(propagated-inputs
`(("r-lattice" ,r-lattice)))
(home-page "http://zoo.R-Forge.R-project.org/")
(synopsis "S3 infrastructure for regular and irregular time series")
(description "This package contains an S3 class with methods for totally
ordered indexed observations. It is particularly aimed at irregular time
series of numeric vectors/matrices and factors.")
(license license:gpl2+)))
(define-public r-ggpmisc
(package
(name "r-ggpmisc")
@ -850,17 +870,17 @@ directory.")
(define-public r-htmltools
(package
(name "r-htmltools")
(version "0.4.0")
(version "0.5.0")
(source (origin
(method url-fetch)
(uri (cran-uri "htmltools" version))
(sha256
(base32
"06l17d8jkf438yk2mchpsp4j90bynnapz3nabh5vkcc324p5a62v"))))
"07fjznax5sin563ddnzlb7iwc8b39wzf7ymjn66pbmxgskijq2pz"))))
(build-system r-build-system)
(propagated-inputs
`(("r-digest" ,r-digest)
("r-rcpp" ,r-rcpp)
`(("r-base64enc" ,r-base64enc)
("r-digest" ,r-digest)
("r-rlang" ,r-rlang)))
(home-page "https://cran.r-project.org/web/packages/htmltools")
(synopsis "R tools for HTML")
@ -894,14 +914,14 @@ applications.")
(define-public r-htmltable
(package
(name "r-htmltable")
(version "1.13.3")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "htmlTable" version))
(sha256
(base32
"0g9r156k9yl1f092hfw3b9wjx11akf0shbi3x0d0mvpnflvc8nfl"))))
"1a1al4kld7lrapc2i086crr78kbgrskahs221iy9v77x0nhin2q3"))))
(properties `((upstream-name . "htmlTable")))
(build-system r-build-system)
(propagated-inputs
@ -912,6 +932,8 @@ applications.")
("r-magrittr" ,r-magrittr)
("r-rstudioapi" ,r-rstudioapi)
("r-stringr" ,r-stringr)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "http://gforge.se/packages/")
(synopsis "Advanced tables for Markdown/HTML")
(description
@ -2071,13 +2093,13 @@ is provided.")
(define-public r-calibrate
(package
(name "r-calibrate")
(version "1.7.5")
(version "1.7.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "calibrate" version))
(sha256
(base32 "1s423nr176l2sc66wp7hzgqkv7c2bq8d2bjrrvrrm5qa9y3zdx1k"))))
(base32 "19kgrnsyq67iqv1biyssqi30a6v2836ql20nabpy2m692ns0jfvi"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mass" ,r-mass)))
@ -2131,14 +2153,14 @@ validation and filtering on the values, making options invisible or private.")
(define-public r-circlize
(package
(name "r-circlize")
(version "0.4.9")
(version "0.4.10")
(source
(origin
(method url-fetch)
(uri (cran-uri "circlize" version))
(sha256
(base32
"14944vn0n5d095mpjyag4fz8vy04m6wxb6mmyygi8q813akikm3h"))))
"1xb1jq3mg4kw1513zv1i09vhn7rj7f8vp0bnms2qml74s47wxsgk"))))
(build-system r-build-system)
(propagated-inputs
`(("r-colorspace" ,r-colorspace)
@ -3263,14 +3285,14 @@ multivariate and 5 functional classification problems are included.")
(define-public r-gower
(package
(name "r-gower")
(version "0.2.1")
(version "0.2.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "gower" version))
(sha256
(base32
"007ivwn1nagpi26qq8iih1c2l61c53glvv60n90hi341ry8vwgxg"))))
"0c9n921wn4hhlvjq96r4nkk96s5788376cbldr7y7bwz348200iz"))))
(build-system r-build-system)
(home-page "https://github.com/markvanderloo/gower")
(synopsis "Gower's distance")
@ -3424,14 +3446,14 @@ provides a one-row summary of model-level statistics.")
(define-public r-recipes
(package
(name "r-recipes")
(version "0.1.12")
(version "0.1.13")
(source
(origin
(method url-fetch)
(uri (cran-uri "recipes" version))
(sha256
(base32
"0hbnrqgzazg401nk5fhljif7wnspicki179qf215r34y9wm8g3xj"))))
"1d3pmprkiz60w7lq5q4lpl5zlwf7fg7qghf7sq6xs1294w54gzbs"))))
(build-system r-build-system)
(propagated-inputs
`(("r-dplyr" ,r-dplyr)
@ -3439,6 +3461,7 @@ provides a one-row summary of model-level statistics.")
("r-glue" ,r-glue)
("r-gower" ,r-gower)
("r-ipred" ,r-ipred)
("r-lifecycle" ,r-lifecycle)
("r-lubridate" ,r-lubridate)
("r-magrittr" ,r-magrittr)
("r-matrix" ,r-matrix)
@ -3839,18 +3862,20 @@ structure.")
(define-public r-vioplot
(package
(name "r-vioplot")
(version "0.3.4")
(version "0.3.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "vioplot" version))
(sha256
(base32
"1fsklymilspzz5fzlj7666x09aglaw0v4x0yfjjzy4vr5qpjc529"))))
"0aiy615kn9lpr2cs757g3pklg81n01yhqh0wrwv111fn3cy86r0v"))))
(build-system r-build-system)
(propagated-inputs
`(("r-sm" ,r-sm)
("r-zoo" ,r-zoo)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "http://wsopuppenkiste.wiso.uni-goettingen.de/~dadler")
(synopsis "Violin plot")
(description
@ -4331,13 +4356,13 @@ iVAT).")
(define-public r-xfun
(package
(name "r-xfun")
(version "0.14")
(version "0.15")
(source
(origin
(method url-fetch)
(uri (cran-uri "xfun" version))
(sha256
(base32 "183f6d7lr116f90j37a8hfr6ni1x9xkqj79s8lnky1jwr6zj3ha9"))))
(base32 "1fdipwrl45bznb17da4169ria5jax0f2649yj5accw6qr6wsc8bj"))))
(build-system r-build-system)
;; knitr itself depends on xfun
#;
@ -4479,14 +4504,14 @@ terminals.")
(define-public r-tinytex
(package
(name "r-tinytex")
(version "0.23")
(version "0.24")
(source
(origin
(method url-fetch)
(uri (cran-uri "tinytex" version))
(sha256
(base32
"084jd1m2i3zyxxlls7skq3jxv3b5cgps3yk60q1yzyy9sxslab7m"))))
"0mc9i7r45s5kagcfig508dbyf6jir6q4ghq9cxqvnpxp6ymh4qpr"))))
(build-system r-build-system)
(propagated-inputs
`(("r-xfun" ,r-xfun)))
@ -5313,14 +5338,14 @@ systems.")
(define-public r-radiant-data
(package
(name "r-radiant-data")
(version "1.3.4")
(version "1.3.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "radiant.data" version))
(sha256
(base32
"19sjjb49inrfl7jzq4zpwhdslni0zrp30bl58pisin29ka3ylpzs"))
"19gbc7k1hsi6hg6ka8i70wlw8j9fs9wkpn36761lzbcyam6vgqn0"))
(modules '((guix build utils)))
(snippet
'(begin
@ -6227,14 +6252,14 @@ and adds the annotation to the plot.")
(define-public r-rstatix
(package
(name "r-rstatix")
(version "0.5.0")
(version "0.6.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "rstatix" version))
(sha256
(base32
"0ikbjmr58ah39rlwyiix50kl3yk9j7jngsvl6hh973392qdvmch6"))))
"0nwwvxwr4z3j4n9z8cnvwghppc836g47n0ia98chk272qwh8xcpb"))))
(properties `((upstream-name . "rstatix")))
(build-system r-build-system)
(propagated-inputs
@ -6242,6 +6267,7 @@ and adds the annotation to the plot.")
("r-car" ,r-car)
("r-corrplot" ,r-corrplot)
("r-dplyr" ,r-dplyr)
("r-generics" ,r-generics)
("r-magrittr" ,r-magrittr)
("r-purrr" ,r-purrr)
("r-rlang" ,r-rlang)
@ -6634,23 +6660,106 @@ be added or removed. When working with Word documents, a cursor can be used
to help insert or delete content at a specific location in the document.")
(license license:gpl3)))
(define-public r-profilemodel
(package
(name "r-profilemodel")
(version "0.6.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "profileModel" version))
(sha256
(base32
"0yq8hy43h62hlz8bbf9ila4a3xcwizi1if27b78xc5y857ncwad8"))))
(properties `((upstream-name . "profileModel")))
(build-system r-build-system)
(home-page "https://github.com/ikosmidis/profileModel")
(synopsis "Profiling inference functions for various model classes")
(description
"This package provides tools that can be used to calculate, evaluate,
plot and use for inference the profiles of *arbitrary* inference functions for
arbitrary @code{glm}-like fitted models with linear predictors. More information
on the methods that are implemented can be found in Kosmidis (2008)
@url{https://www.r-project.org/doc/Rnews/Rnews_2008-2.pdf}.")
(license license:gpl2+)))
(define-public r-brglm
(package
(name "r-brglm")
(version "0.6.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "brglm" version))
(sha256
(base32
"0c9ngscc6zlfm90fqyggnj04qfkhp5qgf5q3wnfpxwyc8cm47by2"))))
(properties `((upstream-name . "brglm")))
(build-system r-build-system)
(propagated-inputs
`(("r-profilemodel" ,r-profilemodel)))
(home-page "https://github.com/ikosmidis/brglm")
(synopsis "Bias reduction in binomial-response generalized linear models")
(description
"Fit generalized linear models with binomial responses using either an
adjusted-score approach to bias reduction or maximum penalized likelihood
where penalization is by Jeffreys invariant prior. These procedures return
estimates with improved frequentist properties (bias, mean squared error) that
are always finite even in cases where the maximum likelihood estimates are
infinite (data separation). Fitting takes place by fitting generalized linear
models on iteratively updated pseudo-data. The interface is essentially the
same as @code{glm}. More flexibility is provided by the fact that custom
pseudo-data representations can be specified and used for model fitting.
Functions are provided for the construction of confidence intervals for the
reduced-bias estimates.")
(license license:gpl2+)))
(define-public r-entropy
(package
(name "r-entropy")
(version "1.2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "entropy" version))
(sha256
(base32
"10vg4818q5g54pv2nn9x5i7pvky5nsv96syy47pz2mgqp1273cpd"))))
(properties `((upstream-name . "entropy")))
(build-system r-build-system)
(home-page "https://www.strimmerlab.org/software/entropy/")
(synopsis "Estimation of entropy, mutual information and related quantities")
(description
"This package implements various estimators of entropy, such as the
shrinkage estimator by Hausser and Strimmer, the maximum likelihood and the
Millow-Madow estimator, various Bayesian estimators, and the Chao-Shen
estimator. It also offers an R interface to the NSB estimator. Furthermore,
it provides functions for estimating Kullback-Leibler divergence, chi-squared,
mutual information, and chi-squared statistic of independence. In addition
there are functions for discretizing continuous random variables.")
(license license:gpl3+)))
(define-public r-abn
(package
(name "r-abn")
(version "2.2")
(version "2.2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "abn" version))
(sha256
(base32
"19w6bdjyp4zwqs6p0flry4qxqynf9rh8ykdrfrp61wrdf7kysw0d"))))
"11nbg6dwvbj0ac7qvr203vzjnw5zc1a8cibb9l6rzzr7yfg16xzc"))))
(build-system r-build-system)
(inputs
`(("gsl" ,gsl)))
(propagated-inputs
`(("r-lme4" ,r-lme4)
`(("r-boot" ,r-boot)
("r-brglm" ,r-brglm)
("r-entropy" ,r-entropy)
("r-lme4" ,r-lme4)
("r-mass" ,r-mass)
("r-moments" ,r-moments)
("r-nnet" ,r-nnet)
("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)
@ -8217,14 +8326,14 @@ multiple-imputation datasets.")
(define-public r-magick
(package
(name "r-magick")
(version "2.3")
(version "2.4.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "magick" version))
(sha256
(base32
"182b4wahkq9q0scn99mql4vm9fp92nja0r5yizc4x9rjl492ahd8"))))
"1y1p2blkg0h6061ay7mdwssxbswgrc25raffp6d8d9cqhdmsa72s"))))
(build-system r-build-system)
(inputs
`(("imagemagick" ,imagemagick)
@ -8234,7 +8343,8 @@ multiple-imputation datasets.")
("r-magrittr" ,r-magrittr)
("r-rcpp" ,r-rcpp)))
(native-inputs
`(("pkg-config" ,pkg-config)))
`(("pkg-config" ,pkg-config)
("r-knitr" ,r-knitr)))
(home-page "https://github.com/ropensci/magick")
(synopsis "Advanced graphics and image-processing in R")
(description
@ -8895,14 +9005,14 @@ differentiation.")
(define-public r-bayestestr
(package
(name "r-bayestestr")
(version "0.6.0")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "bayestestR" version))
(sha256
(base32
"0s7wdmk8avgaqk2b7fcf4bsh13isrkl1q4y7z2y8jhdagxxxnzd1"))))
"1nrycyzznzrlwnfwk1w3ixdq0bj82nri9kb2qiaiw8wwzwrsl1hd"))))
(properties `((upstream-name . "bayestestR")))
(build-system r-build-system)
(propagated-inputs
@ -8922,14 +9032,14 @@ ROPE percentage and pd).")
(define-public r-performance
(package
(name "r-performance")
(version "0.4.6")
(version "0.4.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "performance" version))
(sha256
(base32
"08i9ngvga06abs2k50gvkh6iwl4r77bkmmchsqjibsy09wdvd8xj"))))
"0gw165wm2a0vjsvyll8z9k6qd156z3jf4priy1r745v63x4mnb5k"))))
(build-system r-build-system)
(propagated-inputs
`(("r-bayestestr" ,r-bayestestr)
@ -8949,14 +9059,14 @@ effects models and Bayesian models.")
(define-public r-ggeffects
(package
(name "r-ggeffects")
(version "0.14.3")
(version "0.15.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggeffects" version))
(sha256
(base32
"06p80bgjhjknzlb4vs4n41i9n9vv5agncakl9f92zkaahgyzd6sd"))))
"1bqvbhw5la3cj3v0gwava117ff24b1p450azln402gsxgfl3vw7r"))))
(build-system r-build-system)
(propagated-inputs
`(("r-insight" ,r-insight)
@ -9446,20 +9556,18 @@ and related methods.")
(define-public r-rcppgsl
(package
(name "r-rcppgsl")
(version "0.3.7")
(version "0.3.8")
(source
(origin
(method url-fetch)
(uri (cran-uri "RcppGSL" version))
(sha256
(base32 "0cnw2k7cfqrm79r6j283aybflxig80x4n4rjkfp2317wf10mrsa5"))))
(base32 "17nlayy6gvwb3v6l5aiqm84i75yf4dfi3zclxrgpqwf3j9v09yvz"))))
(properties `((upstream-name . "RcppGSL")))
(build-system r-build-system)
(propagated-inputs
`(("r-rcpp" ,r-rcpp)
("gsl" ,gsl)))
(native-inputs
`(("r-knitr" ,r-knitr))) ; for vignettes
(home-page "https://cran.r-project.org/web/packages/RcppGSL/")
(synopsis "Rcpp integration for GSL vectors and matrices")
(description
@ -10297,14 +10405,14 @@ R packages (on CRAN, Bioconductor or Github).")
(define-public r-docopt
(package
(name "r-docopt")
(version "0.6.1")
(version "0.7.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "docopt" version))
(sha256
(base32
"06zknnd0c5s2y0hbddzdlr3m63ib783izpck6pgz7sjbab5pd068"))))
"1zxhwizs916qm5by7nfslqnarl2q5202xc2azlhrnzk0wj3khiwz"))))
(build-system r-build-system)
(home-page "https://github.com/docopt/docopt.R")
(synopsis "Command-line interface specification language")
@ -11769,14 +11877,14 @@ dynamical correlation and dynamical covariance.")
(define-public r-genenet
(package
(name "r-genenet")
(version "1.2.14")
(version "1.2.15")
(source
(origin
(method url-fetch)
(uri (cran-uri "GeneNet" version))
(sha256
(base32
"0cdhrj15rz0w0pyw3r8mikrzsdh95y5i1c0pa3cn0c2bjnjx3x3n"))))
"11ba6ahsk3x9alvcw8bai2bpg84ki1m8nadrjjdhjg65svhw8njm"))))
(properties `((upstream-name . "GeneNet")))
(build-system r-build-system)
(propagated-inputs
@ -12769,14 +12877,14 @@ latent growth curve models.")
(define-public r-nonnest2
(package
(name "r-nonnest2")
(version "0.5-3")
(version "0.5-4")
(source
(origin
(method url-fetch)
(uri (cran-uri "nonnest2" version))
(sha256
(base32
"1mnv4pa583ir9s03h952hk40lwdywr3g88g76sk1zsa54rcmn82c"))))
"07nr54hxdnc4k022nd4a2g9w9l9ym2ikfr978rrnqc71wx750i0z"))))
(build-system r-build-system)
(propagated-inputs
`(("r-compquadform" ,r-compquadform)
@ -13446,14 +13554,14 @@ utilities for sequence data management under the ACNUC system.")
(define-public r-units
(package
(name "r-units")
(version "0.6-6")
(version "0.6-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "units" version))
(sha256
(base32
"11x6xz1fbml28xmrhgn4sii9vfyj3gyfc1dfxahdg9cszdmcgdnh"))))
"1rdpbkiqcabz00fqzzs98v89v4cgvcd4pb00pwxzkq6vmwmscwrz"))))
(build-system r-build-system)
(inputs
`(("udunits" ,udunits)))
@ -13578,14 +13686,14 @@ tessellation.")
(define-public r-sf
(package
(name "r-sf")
(version "0.9-3")
(version "0.9-4")
(source
(origin
(method url-fetch)
(uri (cran-uri "sf" version))
(sha256
(base32
"0qh9jxj88rhkwcd95g0l57cdrz5qqjw1b9yysz1hp9cp99485hcx"))))
"1xgmnz01pxvpg2ins1h65mlcrafqihlljcjlag8spq9ii7d5i7mx"))))
(build-system r-build-system)
(inputs
`(("gdal" ,gdal)
@ -13962,14 +14070,14 @@ inbred lines, F2 intercrosses, and association mapping populations.")
(define-public r-ldheatmap
(package
(name "r-ldheatmap")
(version "0.99-7")
(version "0.99-8")
(source
(origin
(method url-fetch)
(uri (cran-uri "LDheatmap" version))
(sha256
(base32
"1r0j8bihi5z1x0sgaf7dwzpsw9i0nc1vylvipvc0cia2ka1lr9dc"))))
"1x3da3rbhyqb2ddngi48qv7vzb6vc347n9qhryr70qgcc1xvqj4z"))))
(properties `((upstream-name . "LDheatmap")))
(build-system r-build-system)
(propagated-inputs
@ -14053,13 +14161,13 @@ SELECT or UPDATE queries to an end-point.")
(define-public r-bookdown
(package
(name "r-bookdown")
(version "0.19")
(version "0.20")
(source (origin
(method url-fetch)
(uri (cran-uri "bookdown" version))
(sha256
(base32
"137l0cyzw9ij2l3zyk3mm1k2db9vhbax6c9y4rydvh4i9gka5vlq"))))
"0gnshkp1aj7f29sjkhzxn890hz39nwaqdln61x8apmrc658nacdg"))))
(build-system r-build-system)
(propagated-inputs
`(("r-htmltools" ,r-htmltools)
@ -14656,14 +14764,14 @@ sets of URLs.")
(define-public r-ggforce
(package
(name "r-ggforce")
(version "0.3.1")
(version "0.3.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggforce" version))
(sha256
(base32
"04926cqrda6psvy2nzkkw4czwyxdp7fnxg76byp14v12kgd72lm0"))))
"1lplxyq5bgx90dgaimhynpcywag1gp6vlsy7q52ay1nfc35qmkjc"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
@ -15839,14 +15947,14 @@ the current document.")
(define-public r-xgboost
(package
(name "r-xgboost")
(version "1.0.0.2")
(version "1.1.1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "xgboost" version))
(sha256
(base32
"1ld2w51c5fy3bl0kvjn1iplffc4lmin9s9zz5xx7xsm44d6j6kzd"))))
"13njhcxljhbcs37ni6r5174fk8kx9b5p7rlw1an1ak3w92jn56cq"))))
(build-system r-build-system)
(propagated-inputs
`(("r-data-table" ,r-data-table)
@ -15871,14 +15979,14 @@ easily.")
(define-public r-umap
(package
(name "r-umap")
(version "0.2.5.0")
(version "0.2.6.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "umap" version))
(sha256
(base32
"0qp8zbh6fn8kn6q2h2lyjgmq3pr6gqwsd8ymqx25px13zjhxch9d"))))
"0zajn2sk705sckljxl5vz4q2sxpsqim2grmjq2jwwc8ysr1h2s9f"))))
(build-system r-build-system)
(propagated-inputs
`(("r-openssl" ,r-openssl)
@ -16082,14 +16190,14 @@ guaranteeing well-connected communities.\" <arXiv:1810.08473>.")
(define-public r-patchwork
(package
(name "r-patchwork")
(version "1.0.0")
(version "1.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "patchwork" version))
(sha256
(base32
"0qrwbcswh7ylrmghi17k6wk7w51cz6mcmvcyyd41hy3m2ywmkywb"))))
"0wm93a40idrkzn5hpnykhznvh7hdbfqw0dkzzn0zk83qlwyc9g02"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
@ -21213,26 +21321,61 @@ Yue-Pilon's (Yue, 2002) pre-whitening approaches to determining trends in
climate data.")
(license license:lgpl2.1)))
(define-public r-rlinsolve
(package
(name "r-rlinsolve")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "Rlinsolve" version))
(sha256
(base32
"1x02xxbkchcwwfa2123n9yqfzinfi0zba8zxhp977czzwysy75cc"))))
(properties `((upstream-name . "Rlinsolve")))
(build-system r-build-system)
(propagated-inputs
`(("r-matrix" ,r-matrix)
("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)
("r-rdpack" ,r-rdpack)))
(home-page "https://cran.r-project.org/web/packages/Rlinsolve/")
(synopsis "Iterative solvers for (sparse) linear system of equations")
(description
"Solving a system of linear equations is one of the most fundamental
computational problems for many fields of mathematical studies, such as
regression problems from statistics or numerical partial differential
equations. This package provides basic stationary iterative solvers such as
Jacobi, Gauss-Seidel, Successive Over-Relaxation and SSOR methods.
Nonstationary, also known as Krylov subspace methods are also provided.
Sparse matrix computation is also supported in that solving large and sparse
linear systems can be manageable using the @code{Matrix} package along with
@code{RcppArmadillo}.")
(license license:gpl3+)))
(define-public r-zvcv
(package
(name "r-zvcv")
(version "1.0.0")
(version "2.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "ZVCV" version))
(sha256
(base32
"1npw836q2skx54843lgxvb0rfwafckjc8k8dljykm60ad3z7zak8"))))
"0np6h6x74kz1x13wmbkkm1wq43d8bnn2khzjc80prqdi6n0m9v8r"))))
(properties `((upstream-name . "ZVCV")))
(build-system r-build-system)
(propagated-inputs
`(("r-abind" ,r-abind)
("r-bh" ,r-bh)
("r-dplyr" ,r-dplyr)
("r-glmnet" ,r-glmnet)
("r-magrittr" ,r-magrittr)
("r-mvtnorm" ,r-mvtnorm)
("r-partitions" ,r-partitions)
("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)))
("r-rcpparmadillo" ,r-rcpparmadillo)
("r-rlinsolve" ,r-rlinsolve)))
(home-page "https://cran.r-project.org/web/packages/ZVCV/")
(synopsis "Zero-Variance Control Variates")
(description
@ -21303,19 +21446,18 @@ Encyclopedia of Integer Sequences} (OEIS) in the function help page.")
(define-public r-isoband
(package
(name "r-isoband")
(version "0.2.1")
(version "0.2.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "isoband" version))
(sha256
(base32
"1ndlnv4g9pbd02y50sx4ffg2ccwqbi7fm2v1lh22wdd8pq33d20q"))))
"044fg014gb6v6v11gm7ivfipz45iqw9cpahjhaacw6kyahyb66zx"))))
(properties `((upstream-name . "isoband")))
(build-system r-build-system)
(propagated-inputs
`(("r-rcpp" ,r-rcpp)
("r-testthat" ,r-testthat)))
`(("r-testthat" ,r-testthat)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/wilkelab/isoband")
@ -22023,3 +22165,163 @@ multi-state models.")
"This package creates scatterpie plots, especially useful for plotting
pies on a map.")
(license license:artistic2.0)))
(define-public r-boruta
(package
(name "r-boruta")
(version "7.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "Boruta" version))
(sha256
(base32
"0y2w4wb45kfnzrxcrdsiwgal9fsnlr3wad1sqdc70qv8gp921xbg"))))
(properties `((upstream-name . "Boruta")))
(build-system r-build-system)
(propagated-inputs `(("r-ranger" ,r-ranger)))
(home-page "https://gitlab.com/mbq/Boruta/")
(synopsis "Wrapper algorithm for all relevant feature selection")
(description
"This package provides an all relevant feature selection wrapper
algorithm. It finds relevant features by comparing original attributes'
importance with importance achievable at random, estimated using their
permuted copies (shadows).")
(license license:gpl2+)))
(define-public r-directlabels
(package
(name "r-directlabels")
(version "2020.1.31")
(source
(origin
(method url-fetch)
(uri (cran-uri "directlabels" version))
(sha256
(base32
"08s1gnwp4bn8xahwjaq0f1qzhwh2dvybzhq3z7xyzn8cnyzmis6c"))))
(build-system r-build-system)
(propagated-inputs
`(("r-quadprog" ,r-quadprog)))
(home-page "http://directlabels.r-forge.r-project.org/")
(synopsis "Direct labels for multicolor plots")
(description
"This package provides an extensible framework for automatically placing
direct labels onto multicolor plots. Label positions are described using
positioning methods that can be re-used across several different plots. There
are heuristics for examining @code{trellis} and @code{ggplot} objects and
inferring an appropriate positioning method.")
(license license:gpl3)))
(define-public r-lsd
(package
(name "r-lsd")
(version "4.1-0")
(source
(origin
(method url-fetch)
(uri (cran-uri "LSD" version))
(sha256
(base32 "17pbdlcbhzf3v7l42mjikln1ga5xjp5r78gjg6a88iahk0lwwlvm"))))
(properties `((upstream-name . "LSD")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/LSD/")
(synopsis "Lots of superior depictions tool creates colorful plots")
(description
"This package creates lots of colorful plots in a multitude of variations.
Try a demo of the LSD by running @code{demotour()}.")
;; Either version
(license (list license:gpl2 license:gpl3))))
(define-public r-fourcseq
(package
(name "r-fourcseq")
(version "1.21.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "FourCSeq" version))
(sha256
(base32 "0lhcjw2hmmdafq52c5fvpm1crnzynbslamzh7r6ygifmzaz2pa8x"))))
(properties `((upstream-name . "FourCSeq")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biostrings" ,r-biostrings)
("r-deseq2" ,r-deseq2)
("r-fda" ,r-fda)
("r-genomicalignments" ,r-genomicalignments)
("r-genomicranges" ,r-genomicranges)
("r-ggbio" ,r-ggbio)
("r-ggplot2" ,r-ggplot2)
("r-gtools" ,r-gtools)
("r-lsd" ,r-lsd)
("r-matrix" ,r-matrix)
("r-reshape2" ,r-reshape2)
("r-rsamtools" ,r-rsamtools)
("r-rtracklayer" ,r-rtracklayer)
("r-summarizedexperiment" ,r-summarizedexperiment)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page
"https://bioconductor.org/packages/release/bioc/html/FourCSeq.html")
(synopsis "Analysis of multiplexed 4C sequencing data")
(description
"This package is an R package dedicated to the analysis of (multiplexed)
4C sequencing data. @code{r-fourcseq} provides a pipeline to detect specific
interactions between DNA elements and identify differential interactions
between conditions. The statistical analysis in R starts with individual bam
files for each sample as inputs. To obtain these files, the package contains
a Python script to demultiplex libraries and trim off primer sequences. With
a standard alignment software the required bam files can be then be
generated.")
(license license:gpl3+)))
(define-public r-phylogram
(package
(name "r-phylogram")
(version "2.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "phylogram" version))
(sha256
(base32 "1p4h5pirc0m5pzc18q0jk3mcmb5n48gdf9abz03vml3a209xxl2v"))))
(properties `((upstream-name . "phylogram")))
(build-system r-build-system)
(propagated-inputs `(("r-ape" ,r-ape)))
(home-page "https://github.com/ropensci/phylogram/")
(synopsis "Dendrograms for evolutionary analysis")
(description
"The @code{r-phylogram} package is a tool for for developing phylogenetic
trees as deeply-nested lists known as \"dendrogram\" objects. It provides
functions for conversion between \"dendrogram\" and \"phylo\" class objects,
as well as several tools for command-line tree manipulation and import/export
via Newick parenthetic text. This improves accessibility to the comprehensive
range of object-specific analytical and tree-visualization functions found
across a wide array of bioinformatic R packages.")
(license license:gpl3)))
(define-public r-kmer
(package
(name "r-kmer")
(version "1.1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "kmer" version))
(sha256
(base32 "0jimn9r0abglwxdl1zqz0lxa99cmj6haydkxjzqfbpx9by80wnww"))))
(properties `((upstream-name . "kmer")))
(build-system r-build-system)
(propagated-inputs
`(("r-openssl" ,r-openssl)
("r-phylogram" ,r-phylogram)
("r-rcpp" ,r-rcpp)))
(home-page "https://github.com/shaunpwilkinson/kmer/")
(synopsis "Fast K-Mer counting and clustering for biological sequence analysis")
(description
"@code{r-kmer} is an R package for rapidly computing distance matrices
and clustering large sequence datasets using fast alignment-free k-mer
counting and recursive k-means partitioning.")
(license license:gpl3)))

File diff suppressed because it is too large Load Diff

View File

@ -373,7 +373,7 @@ target that libc."
',%gcc-cross-include-paths)
#t))))
#:configure-flags (list ,(string-append "--target=" target))
,@(package-arguments mig)))
#:tests? #f))
(propagated-inputs `(("cross-gnumach-headers" ,xgnumach-headers)))
(native-inputs `(("cross-gcc" ,xgcc)

View File

@ -1063,7 +1063,7 @@ Trusted comments are signed, thus verified, before being displayed.")
(define-public libolm
(package
(name "libolm")
(version "3.1.4")
(version "3.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1071,7 +1071,7 @@ Trusted comments are signed, thus verified, before being displayed.")
(commit version)))
(sha256
(base32
"06s7rw4a9vn35wzz7chxn54mp0sjgbpv2bzz9lq0g4hnzw33cjbi"))
"030g0jmmvhx2dh32k708sz6cdd5q1wz48i4gigh6dclqk10w28lm"))
(file-name (git-file-name name version))))
(arguments
`(#:phases

View File

@ -415,14 +415,14 @@ should only be used as part of the Guix cups-pk-helper service.")
(define-public hplip
(package
(name "hplip")
(version "3.20.5")
(version "3.20.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/hplip/hplip/" version
"/hplip-" version ".tar.gz"))
(sha256
(base32
"0nj79r61fzddwwzf8kcc0qkp4y9qx46v15iarz6h6y3v91wbsjq0"))
"0rmk7i28mb0q66i5l9d0fq2j23dkhz5gx5g2xvi16ga0dnprcilp"))
(modules '((guix build utils)))
(patches (search-patches "hplip-remove-imageprocessor.patch"))
(snippet
@ -681,14 +681,14 @@ printer/driver specific, but spooler-independent PPD file.")
(define-public foo2zjs
(package
(name "foo2zjs")
(version "20200426")
(version "20200610")
(source (origin
(method url-fetch)
;; XXX: This is an unversioned URL!
(uri "http://foo2zjs.rkkda.com/foo2zjs.tar.gz")
(sha256
(base32
"0wwh29ddd59q18r1jpi3166lgnwr8zn9lry82vahc2g96l97isp7"))))
"11ddx6wf8b5ksl4fqw6fnyz9m3y470lryyrskkya2bsch2bvj9lg"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases

View File

@ -52,6 +52,7 @@
(package
(name "curl")
(version "7.69.1")
(replacement curl-7.71.0)
(source (origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
@ -168,6 +169,31 @@ tunneling, and so on.")
(name "curl-minimal")
(inputs (alist-delete "openldap" (package-inputs curl))))))
;; Replacement package to fix CVE-2020-8169 and CVE-2020-8177.
(define curl-7.71.0
(package
(inherit curl)
(version "7.71.0")
(source (origin
(inherit (package-source curl))
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.xz"))
(sha256
(base32
"0wlppmx9iry8slh4pqcxj7lwc6fqwnlhh9ri2pcym2rx76a8gwfd"))))
(arguments
(substitute-keyword-arguments (package-arguments curl)
((#:phases phases)
`(modify-phases ,phases
(replace 'check
(lambda _
;; Test 1510 is now disabled upstream, and the test runner
;; complains that it can not disable a non-existing test.
;; Thus, override the phase to not delete the test.
(substitute* "tests/runtests.pl"
(("/bin/sh") (which "sh")))
(invoke "make" "-C" "tests" "test")))))))))
(define-public kurly
(package
(name "kurly")

View File

@ -1147,7 +1147,7 @@ including field and record folding.")))
(define-public rocksdb
(package
(name "rocksdb")
(version "6.10.1")
(version "6.10.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1156,7 +1156,7 @@ including field and record folding.")))
(file-name (git-file-name name version))
(sha256
(base32
"0rp8q73dx5f1nkcf2qp6fljm4dpj281y6cqckqgv976kvwvqdgz1"))
"1f2wqb6px812ijcivq3rsknqgkv01wblc6sd8wavhrw8qljgr3s1"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -181,7 +181,11 @@ contains the archive keys used for that.")
(inputs
`(("debian-keyring" ,debian-archive-keyring)
("ubuntu-keyring" ,ubuntu-keyring)
("tzdata" ,tzdata)))
("tzdata" ,tzdata)
;; Called at run-time from various places, needs to be in PATH.
("gnupg" ,gnupg)
("wget" ,wget)))
(native-inputs
`(("perl" ,perl)))
(home-page "https://tracker.debian.org/pkg/debootstrap")

View File

@ -72,7 +72,7 @@
(define-public diffoscope
(package
(name "diffoscope")
(version "146")
(version "148")
(source (origin
(method git-fetch)
(uri (git-reference
@ -81,7 +81,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"07kd3vshf4wlm0mv3mp6ljbxjq80mcg52w5ks6si1gnpzfbfz07p"))))
"0siv5z8iqgkzl51dmv69ifqids6hqmiir00yyl1aaqbginrwyhyv"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -92,12 +92,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"
(("'debian': 'openssl'")
"'debian': 'openssl', 'guix': 'openssl'"))))
;; This test is broken because our `file` package has a
;; bug in berkeley-db file type detection.
(add-after 'unpack 'remove-berkeley-test
@ -138,17 +132,25 @@
(("\\['getfacl',")
(string-append "['" (which "getfacl") "',")))
#t))
(add-after 'build 'build-man-page
(lambda* (#:key (make-flags '()) #:allow-other-keys)
(apply invoke "make" "-C" "doc" make-flags)))
(add-before 'check 'writable-test-data
(lambda _
;; tests may need needs write access to tests
;; directory
;; Tests may need write access to tests directory.
(for-each make-file-writable (find-files "tests"))
#t))
(add-before 'check 'delete-failing-test
(lambda _
;; this requires /sbin to be on the path
;; This requires /sbin to be in $PATH.
(delete-file "tests/test_tools.py")
#t)))))
#t))
(add-after 'install 'install-man-page
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man (string-append out "/share/man/man1")))
(install-file "doc/diffoscope.1" man)
#t))))))
(inputs `(("rpm" ,rpm) ;for rpm-python
("python-file" ,python-file)
("python-debian" ,python-debian)
@ -157,14 +159,15 @@
("acl" ,acl) ;for getfacl
("colordiff" ,colordiff)
("xxd" ,xxd)))
;; Below are modules used for tests.
(native-inputs `(("python-pytest" ,python-pytest)
(native-inputs `(("help2man" ,help2man)
;; Below are modules used for tests.
("python-pytest" ,python-pytest)
("python-chardet" ,python-chardet)
("python-binwalk" ,python-binwalk)
("python-h5py" ,python-h5py)
("python-pypdf2" ,python-pypdf2)
("python-progressbar33" ,python-progressbar33)
;; test suite skips tests when tool is missing
;; The test suite skips tests when these are missing.
,@(match (%current-system)
;; ghc is only available on x86 currently.
((or "x86_64-linux" "i686-linux")
@ -177,8 +180,7 @@
((or "x86_64-linux")
`(("enjarify" ,enjarify)
;; no unversioned openjdk available
("openjdk:jdk" ,openjdk12 "jdk")
))
("openjdk:jdk" ,openjdk12 "jdk")))
(_
`()))
("abootimg" ,abootimg)

View File

@ -119,7 +119,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
(define-public isc-bind
(package
(name "bind")
(version "9.16.3")
(version "9.16.4")
(source (origin
(method url-fetch)
(uri (string-append
@ -127,7 +127,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
"/bind-" version ".tar.xz"))
(sha256
(base32
"0zjgaspnx0p0rp83h4yj595s25da7fjis94z9frhv3azvq9nbb17"))))
"02ip1xvmnqla3p5k2rmfrksrw4q9iqbrhyg3mamvrj5a7n6hh8km"))))
(build-system gnu-build-system)
(outputs `("out" "utils"))
(inputs
@ -723,8 +723,9 @@ synthesis, and on-the-fly re-configuration.")
("libuv" ,libuv)
("lmdb" ,lmdb)
("luajit" ,luajit)
;; TODO: Add optional lua modules: basexx, cqueues and psl.
;; TODO: Add optional lua modules: basexx and psl.
("lua-bitop" ,lua5.1-bitop)
("lua-cqueues" ,lua5.1-cqueues)
("lua-filesystem" ,lua5.1-filesystem)
("lua-sec" ,lua5.1-sec)
("lua-socket" ,lua5.1-socket)))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -34,8 +35,50 @@
#:use-module (guix build-system trivial)
#:use-module (guix build-system python))
(define-public docbook-xml-5
(package
(name "docbook-xml")
(version "5.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://www.docbook.org/xml/" version
"/docbook-" version ".zip"))
(sha256
(base32
"1iz3hq1lqgnshvlz4j9gvh4jy1ml74qf90vqf2ikbq0h4i2xzybs"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((unzip
(string-append (assoc-ref %build-inputs "unzip")
"/bin/unzip"))
(source (assoc-ref %build-inputs "source"))
(out (assoc-ref %outputs "out"))
(dtd (string-append out "/xml/dtd/docbook")))
(invoke unzip source)
(mkdir-p dtd)
(copy-recursively (string-append "docbook-" ,version) dtd)
(with-directory-excursion dtd
(substitute* (string-append out "/xml/dtd/docbook/catalog.xml")
(("uri=\"")
(string-append
"uri=\"file://" dtd "/")))
#t)))))
(native-inputs `(("unzip" ,unzip)))
(home-page "https://docbook.org")
(synopsis "DocBook XML DTDs for document authoring")
(description
"DocBook is general purpose XML and SGML document type particularly well
suited to books and papers about computer hardware and software (though it is
by no means limited to these applications.) This package provides XML DTDs.")
(license (x11-style "" "See file headers."))))
(define-public docbook-xml
(package
(inherit docbook-xml-5)
(name "docbook-xml")
(version "4.5")
(source (origin
@ -45,7 +88,6 @@
(sha256
(base32
"1d671lcjckjri28xfbf6dq7y3xnkppa910w1jin8rjc35dx06kjf"))))
(build-system trivial-build-system)
(arguments
'(#:builder (begin
(use-modules (guix build utils))
@ -60,19 +102,11 @@
(with-directory-excursion dtd
(invoke unzip source))
(substitute* (string-append out "/xml/dtd/docbook/catalog.xml")
(("uri=\"")
(string-append
(("uri=\"")
(string-append
"uri=\"file://" dtd "/")))
#t))
#:modules ((guix build utils))))
(native-inputs `(("unzip" ,unzip)))
(home-page "https://docbook.org")
(synopsis "DocBook XML DTDs for document authoring")
(description
"DocBook is general purpose XML and SGML document type particularly well
suited to books and papers about computer hardware and software (though it is
by no means limited to these applications.) This package provides XML DTDs.")
(license (x11-style "" "See file headers."))))
#:modules ((guix build utils))))))
(define-public docbook-xml-4.4
(package (inherit docbook-xml)

View File

@ -4,6 +4,7 @@
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -390,6 +391,17 @@ built-in registry server of Docker.")
(substitute* "pkg/archive/archive.go"
(("string\\{\"xz")
(string-append "string{\"" (assoc-ref inputs "xz") "/bin/xz")))
;; TODO: Remove when Docker proper uses v1.14.x to build
(substitute* "registry/resumable/resumablerequestreader_test.go"
(("I%27m%20not%20an%20url" all)
(string-append "\"" all "\"")))
;; TODO: Remove when Docker proper uses v1.14.x to build
(substitute* "vendor/gotest.tools/x/subtest/context.go"
(("func \\(tc \\*testcase\\) Cleanup\\(" all)
(string-append all "func()"))
(("tc\\.Cleanup\\(" all)
(string-append all "nil")))
(let ((source-files (filter (lambda (name)
(not (string-contains name "test")))
(find-files "." "\\.go$"))))
@ -488,6 +500,7 @@ built-in registry server of Docker.")
;; Timeouts after 5 min.
(delete-file "plugin/manager_linux_test.go")
;; Operation not permitted.
(delete-file "daemon/graphdriver/aufs/aufs_test.go")
(delete-file "daemon/graphdriver/btrfs/btrfs_test.go")
(delete-file "daemon/graphdriver/overlay/overlay_test.go")
(delete-file "daemon/graphdriver/overlay2/overlay_test.go")

View File

@ -64,7 +64,7 @@ environment presented by Intel's EFI.")
(define-public sbsigntools
(package
(name "sbsigntools")
(version "0.9.3")
(version "0.9.4")
(source
(origin
(method git-fetch)
@ -75,7 +75,7 @@ environment presented by Intel's EFI.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "0gc3xmp73xl7z4nkwz4qy960rdflmx7k4ksgyblcnia9smvsir6y"))))
(base32 "1y76wy65y6k10mjl2dm5hb5ms475alr4s080xzj8y833x01xvf3m"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -40,7 +40,7 @@
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018, 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018, 2019, 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019, 2020 Dimakakos Dimos <bendersteed@teknik.io>
;;; Copyright © 2019, 2020 Brian Leung <bkleung89@gmail.com>
@ -96,6 +96,7 @@
#:use-module (guix packages)
#:use-module (guix cvs-download)
#:use-module (guix download)
#:use-module (guix bzr-download)
#:use-module (guix git-download)
#:use-module (guix hg-download)
#:use-module (guix build-system gnu)
@ -153,6 +154,7 @@
#:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages pdf)
#:use-module (gnu packages ruby)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages scheme)
#:use-module (gnu packages speech)
@ -249,6 +251,79 @@ using geiser.")
(license license:bsd-3)
(home-page "https://github.com/xiaohanyu/ac-geiser"))))
(define-public emacs-hyperbole
(package
(name "emacs-hyperbole")
(version "7.0.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"hyperbole-" version ".tar"))
(sha256
(base32 "08gi4v76s53nfmn3s0qcxc3zii0pspjfd6ry7jq1kgm3z34x8hab"))
(patches
(search-patches "emacs-hyperbole-toggle-messaging.patch"))))
(build-system emacs-build-system)
(arguments
`(#:include '("DEMO"
"DEMO-ROLO.otl"
"HY-ABOUT"
"\\.el$"
"\\.info$"
"\\.kotl$")
#:phases
(modify-phases %standard-phases
;; Fix build issues about missing "domainname" and "hpmap:dir-user"
;; parent dir.
(add-after 'unpack 'fix-build
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "hypb.el"
(("/bin/domainname")
(string-append (assoc-ref inputs "inetutils")
"/bin/dnsdomainname")))
(substitute* "hyperbole.el"
(("\\(hyperb:check-dir-user\\)") ""))
#t)))))
(inputs
`(("inetutils" ,inetutils)))
(home-page "https://www.gnu.org/software/hyperbole/")
(synopsis "The Everyday Hypertextual Information Manager")
(description
"GNU Hyperbole, or just Hyperbole, is an easy-to-use, yet powerful and
programmable hypertextual information management system implemented as a GNU
Emacs package. It offers rapid views and interlinking of all kinds of textual
information, utilizing Emacs for editing. It can dramatically increase your
productivity and greatly reduce the number of keyboard/mouse keys you'll need
to work efficiently. Hyperbole lets you:
@itemize
@item Quickly create hyperlink buttons either from the keyboard or by dragging
between a source and destination window with a mouse button depressed. Later,
activate buttons by pressing/clicking on them or by giving the name of the
button.
@item Activate many kinds of \"implicit buttons\" recognized by context within
text buffers, e.g. URLs, grep output lines, and git commits. A single key or
mouse button automatically does the right thing in dozens of contexts; just
press and go.
@item Build outlines with multi-level numbered outline nodes, e.g. 1.4.8.6,
that all renumber automatically as any node or tree is moved in the outline.
Each node also has a permanent hyperlink anchor that you can reference from
any other node.
@item Manage all your contacts quickly with hierarchical categories and embed
hyperlinks within each entry. Or create an archive of documents with
hierarchical entries and use the same search mechanism to quickly find any
matching entry.
@item Use single keys to easily manage your Emacs windows or frames and
quickly retrieve saved window and frame configurations.
@item Search for things in your current buffers, in a directory tree or across
major web search engines with the touch of a few keys.
@end itemize
The common thread in all these features is making retrieval, management and
display of information fast and easy. That is Hyperbole's purpose.")
(license license:gpl3+)))
(define-public emacs-paredit
(package
(name "emacs-paredit")
@ -398,19 +473,20 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.")
(define-public emacs-magit
;; There hasn't been an official release since 2018-11-16.
(let ((commit "d05545ec2fd7edf915eaf1b9c15c785bb08975cc"))
(let ((commit "7f486d47fe7042edba8d9a855a4c2c301a30bc6b")
(revision "6"))
(package
(name "emacs-magit")
(version (git-version "2.90.1" "4" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/magit/magit.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"11aqyy4r9hrdi9nlypd70hn8384b6q89c7xavgv8c5q7f2g5z9qg"))))
(version (git-version "2.90.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/magit/magit.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "05kyc5y5wa1p3h8j7mbgvfc4zcj998zi26lnnmksj9wnvahzxfms"))))
(build-system emacs-build-system)
(arguments
`(#:emacs ,emacs-no-x ;module support is required
@ -475,11 +551,12 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.")
("emacs-with-editor" ,emacs-with-editor)))
(home-page "https://magit.vc/")
(synopsis "Emacs interface for the Git version control system")
(description "With Magit, you can inspect and modify your Git
repositories with Emacs. You can review and commit the changes you have made
to the tracked files, for example, and you can browse the history of past
changes. There is support for cherry picking, reverting, merging, rebasing,
and other common Git operations.")
(description
"With Magit, you can inspect and modify your Git repositories
with Emacs. You can review and commit the changes you have made to
the tracked files, for example, and you can browse the history of past
changes. There is support for cherry picking, reverting, merging,
rebasing, and other common Git operations.")
(license license:gpl3+))))
(define-public emacs-magit-svn
@ -1188,14 +1265,14 @@ optional minor mode which can apply this command automatically on save.")
(define-public emacs-relint
(package
(name "emacs-relint")
(version "1.17")
(version "1.18")
(source
(origin
(method url-fetch)
(uri (string-append
"https://elpa.gnu.org/packages/relint-" version ".tar"))
(uri (string-append "https://elpa.gnu.org/packages/"
"relint-" version ".tar"))
(sha256
(base32 "1nv13dqdhf72c1jgk1ml4k6jqb8wsyphcx2vhsyhig5198lg4kd7"))))
(base32 "0zfislsksrkn6qs0w26yaff5xr7xqy2x235dcdpz8s2v35b6dhci"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-xr" ,emacs-xr)))
(home-page "https://github.com/mattiase/relint")
@ -1404,44 +1481,21 @@ incrementally confined in Isearch manner.")
(define-public emacs-emms
(package
(name "emacs-emms")
(version "5.4")
(version "5.42")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/emms/emms-" version ".tar.gz"))
(uri (string-append "https://elpa.gnu.org/packages/"
"emms-" version ".tar"))
(sha256
(base32 "1nd7sb6pva7qb1ki6w0zhd6zvqzd7742kaqi0f3v4as5jh09l6nr"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "Makefile"
(("/usr/bin/install-info")
;; No need to use 'install-info' since it would create a
;; useless 'dir' file.
"true")
(("^INFODIR=.*")
;; Install Info files to $out/share/info, not $out/info.
"INFODIR := $(PREFIX)/share/info\n")
(("/site-lisp/emms")
;; Install directly in share/emacs/site-lisp, not in a
;; sub-directory.
"/site-lisp")
(("^all: (.*)\n" _ rest)
;; Build 'emms-print-metadata'.
(string-append "all: " rest " emms-print-metadata\n")))
#t))))
(build-system gnu-build-system)
(base32 "1khx1fvllrs6w9kxk12mp1hj309c90mc7lkq1vvlqlr7vd6zmnpj"))))
(build-system emacs-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build emacs-utils)
(ice-9 ftw))
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-utils))
#:phases
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(add-after 'unpack 'set-external-programs
;; Specify the absolute file names of the various programs
;; so that everything works out-of-the-box.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(flac (assoc-ref inputs "flac"))
@ -1451,94 +1505,56 @@ incrementally confined in Isearch manner.")
(mp3info (assoc-ref inputs "mp3info"))
(mutagen (assoc-ref inputs "mutagen"))
(opus (assoc-ref inputs "opus-tools")))
;; Specify the installation directory.
(substitute* "Makefile"
(("PREFIX=.*$")
(string-append "PREFIX := " out "\n")))
(setenv "SHELL" (which "sh"))
(setenv "CC" "gcc")
;; Specify the absolute file names of the various
;; programs so that everything works out-of-the-box.
(with-directory-excursion "lisp"
(emacs-substitute-variables
"emms-player-mpg321-remote.el"
("emms-player-mpg321-remote-command"
(string-append mpg321 "/bin/mpg321")))
(substitute* "emms-player-simple.el"
(("\"ogg123\"")
(string-append "\"" vorbis "/bin/ogg123\"")))
(substitute* "emms-player-simple.el"
(("\"mpg321\"")
(string-append "\"" mpg321 "/bin/mpg321\"")))
(emacs-substitute-variables "emms-info-ogginfo.el"
("emms-info-ogginfo-program-name"
(string-append vorbis "/bin/ogginfo")))
(emacs-substitute-variables "emms-info-opusinfo.el"
("emms-info-opusinfo-program-name"
(string-append opus "/bin/opusinfo")))
(emacs-substitute-variables "emms-info-libtag.el"
("emms-info-libtag-program-name"
(string-append out "/bin/emms-print-metadata")))
(emacs-substitute-variables "emms-info-mp3info.el"
("emms-info-mp3info-program-name"
(string-append mp3info "/bin/mp3info")))
(emacs-substitute-variables "emms-info-metaflac.el"
("emms-info-metaflac-program-name"
(string-append flac "/bin/metaflac")))
(emacs-substitute-variables "emms-source-file.el"
("emms-source-file-gnu-find" (which "find")))
(substitute* "emms-volume-amixer.el"
(("\"amixer\"")
(string-append "\"" alsa "/bin/amixer\"")))
(substitute* "emms-tag-editor.el"
(("\"mid3v2\"")
(string-append "\"" mutagen "/bin/mid3v2\"")))
#t))))
(add-before 'install 'pre-install
(lambda* (#:key outputs #:allow-other-keys)
;; The 'install' rule expects the target directories to exist.
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man1 (string-append out "/share/man/man1")))
(mkdir-p bin)
(mkdir-p man1)
;; Ensure that files are not rejected by gzip
(let ((early-1980 315619200)) ; 1980-01-02 UTC
(ftw "." (lambda (file stat flag)
(unless (<= early-1980 (stat:mtime stat))
(utime file early-1980 early-1980))
#t)))
#t)))
(add-after 'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(symlink "emms-auto.el"
(string-append out "/share/emacs/site-lisp/"
"emms-autoloads.el")))
#t)))
#:tests? #f))
(native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils)
("texinfo" ,texinfo)))
(inputs `(("alsa-utils" ,alsa-utils)
("flac" ,flac) ;for metaflac
("vorbis-tools" ,vorbis-tools)
("mpg321" ,mpg321)
("taglib" ,taglib)
("mp3info" ,mp3info)
("mutagen" ,python-mutagen)
("opus-tools" ,opus-tools)))
(properties '((upstream-name . "emms")))
(synopsis "Emacs Multimedia System")
(emacs-substitute-variables "emms-player-mpg321-remote.el"
("emms-player-mpg321-remote-command"
(string-append mpg321 "/bin/mpg321")))
(substitute* "emms-player-simple.el"
(("\"ogg123\"")
(string-append "\"" vorbis "/bin/ogg123\"")))
(substitute* "emms-player-simple.el"
(("\"mpg321\"")
(string-append "\"" mpg321 "/bin/mpg321\"")))
(emacs-substitute-variables "emms-info-ogginfo.el"
("emms-info-ogginfo-program-name"
(string-append vorbis "/bin/ogginfo")))
(emacs-substitute-variables "emms-info-opusinfo.el"
("emms-info-opusinfo-program-name"
(string-append opus "/bin/opusinfo")))
(emacs-substitute-variables "emms-info-libtag.el"
("emms-info-libtag-program-name"
(string-append out "/bin/emms-print-metadata")))
(emacs-substitute-variables "emms-info-mp3info.el"
("emms-info-mp3info-program-name"
(string-append mp3info "/bin/mp3info")))
(emacs-substitute-variables "emms-info-metaflac.el"
("emms-info-metaflac-program-name"
(string-append flac "/bin/metaflac")))
(emacs-substitute-variables "emms-source-file.el"
("emms-source-file-gnu-find" (which "find")))
(substitute* "emms-volume-amixer.el"
(("\"amixer\"")
(string-append "\"" alsa "/bin/amixer\"")))
(substitute* "emms-tag-editor.el"
(("\"mid3v2\"")
(string-append "\"" mutagen "/bin/mid3v2\"")))
#t))))))
(inputs
`(("alsa-utils" ,alsa-utils)
("flac" ,flac) ;for metaflac
("vorbis-tools" ,vorbis-tools)
("mpg321" ,mpg321)
("taglib" ,taglib)
("mp3info" ,mp3info)
("mutagen" ,python-mutagen)
("opus-tools" ,opus-tools)))
(home-page "https://www.gnu.org/software/emms/")
(synopsis "The Emacs Multimedia System")
(description
"EMMS is the Emacs Multimedia System. It is a small front-end which
can control one of the supported external players. Thus, it supports
whatever formats are supported by your music player. It also
supports tagging and playlist management, all behind a clean and
light user interface.")
(home-page "https://www.gnu.org/software/emms/")
(license license:gpl3+)))
(define-public emacs-emms-mode-line-cycle
@ -2520,7 +2536,7 @@ type, for example: packages, buffers, files, etc.")
`(("pkg-config" ,pkg-config)
("emacs" ,emacs-minimal)))
(inputs
`(("guile" ,guile-3.0)
`(("guile" ,@(assoc-ref (package-native-inputs guix) "guile"))
("guix" ,guix)))
(propagated-inputs
`(("geiser" ,emacs-geiser)
@ -3289,6 +3305,32 @@ appropriate console.")
IRC bouncer with ERC.")
(license license:expat)))
(define-public emacs-erc-status-sidebar
(let ((commit "ea4189a1dbfe60117359c36e681ad7c389e2968c")
(revision "1"))
(package
(name "emacs-erc-status-sidebar")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/drewbarbs/erc-status-sidebar.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1hwlhzgx03z8891sblz56zdp8zj0izh72kxykgcnz5rrkyc3vfi3"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-seq" ,emacs-seq)))
(home-page "https://github.com/drewbarbs/erc-status-sidebar")
(synopsis "Hexchat-like activity overview for ERC channels")
(description
"This package provides a Hexchat-like status bar for joined channels in
ERC, an Emacs client for IRC (Internet Relay Chat). It relies on the
@code{erc-track} module, and displays all the same information
@code{erc-track} does in the mode line, but in an alternative format.")
(license license:expat))))
(define-public emacs-shut-up
(package
(name "emacs-shut-up")
@ -3528,6 +3570,28 @@ tables.")
been copied from an Emacs major mode.")
(license license:gpl2+)))
(define-public emacs-ob-erlang
(let ((revision "1")
(commit "f1a8c665b8f7d0ab32267a9961de8eed872e6333"))
(package
(name "emacs-ob-erlang")
(version (git-version "20180827" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xfwduke/ob-erlang.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0b5zajqiy6955yvlqwy92prrqy89lqchsv4ss2ylws3p4s14rhij"))))
(build-system emacs-build-system)
(home-page "https://github.com/xfwduke/ob-erlang/")
(synopsis "Org-babel support for Erlang")
(description "This package adds support for working with Erlang code
blocks with @code{org-babel} in @code{org-mode}.")
(license license:gpl3+))))
(define-public emacs-ob-restclient
(let ((commit "53376667eeddb1388fd6c6976f3222e7c8adcd46"))
(package
@ -3912,6 +3976,31 @@ provides an easy way to find synonyms and antonyms for a given word (to avoid
repetitions for example).")
(license license:gpl3+)))
(define-public emacs-flycheck-guile
(package
(name "emacs-flycheck-guile")
(version "0.1.1")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/flatwhatson/flycheck-guile")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "163pnsh6r6bral1jg0vqri54g6hygws21vis0zci4114yb3fhkm1"))))
(propagated-inputs
`(("emacs-flycheck" ,emacs-flycheck)
("emacs-geiser" ,emacs-geiser)))
(build-system emacs-build-system)
(home-page "https://github.com/flatwhatson/flycheck-guile")
(synopsis "GNU Guile support for Flycheck")
(description
"This package provides a Flycheck checker for GNU Guile using @code{guild
compile}.")
(license license:gpl3+)))
(define-public emacs-flycheck-rust
(package
(name "emacs-flycheck-rust")
@ -3989,6 +4078,62 @@ respective @code{*Help*} buffers.")
completion of relevant keywords.")
(license license:expat)))
(define-public emacs-dvc
(let ((revision "591") ;no tags or official releases
(guix-revision "1"))
(package
(name "emacs-dvc")
(version (string-append "0.0.0-" guix-revision "." revision))
(source
(origin
(method bzr-fetch)
(uri (bzr-reference
(url "lp:dvc")
(revision revision)))
(sha256
(base32
"03pqn493w70wcpgaxvqnfgynxghw114l9pyiv3r414d84vzhan6h"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list (string-append "--with-lispdir=" (assoc-ref %outputs "out")
"/share/emacs/site-lisp/"))
#:tests? #f ;no test suite
#:phases
(modify-phases %standard-phases
(add-before 'build 'set-home
;; Something in dvc-bookmarks.el attempts to write config files in
;; $HOME during the autoload generation.
(lambda _ (setenv "HOME" (getenv "TMPDIR")) #t))
(add-before 'build 'fix-texinfo
;; See https://bugs.launchpad.net/dvc/+bug/1264383.
(lambda _
(substitute* "texinfo/dvc-intro.texinfo"
(("@itemx update ``to''")
"@item update ``to''")
(("@itemx brief")
"@item brief")
(("@itemx full")
"@item full")
(("@itemx drop")
"@item drop")
(("@itemx left file")
"@item left file"))
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake) ;for aclocal
("emacs" ,emacs-minimal)
("texinfo" ,texinfo)))
(home-page "http://xsteve.at/prg/emacs_dvc/index.html")
(synopsis "Emacs front-end for various distributed version control systems.")
(description "DVC is a legacy Emacs front-end for a number of
distributed version control systems. It currently supports GNU Arch, GNU
Bazaar, git, Mercurial, and Monotone. It also provides some integration with
Gnus, e.g., for applying patches received by email.")
(license license:gpl2+))))
(define-public emacs-sudo-edit
(let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
(revision "6"))
@ -4073,14 +4218,14 @@ source code using IPython.")
(define-public emacs-debbugs
(package
(name "emacs-debbugs")
(version "0.23")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar"))
(sha256
(base32
"0mcz97b3sddrc68wi8dz95b2rq7ky88pr2i1ghyhy28as16chmz5"))))
(version "0.24")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar"))
(sha256
(base32 "1b8qwdvf3jvw0chrdgbymb2ci9ms45mf90nrljxx7jql2lsr3x63"))))
(build-system emacs-build-system)
(arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
(propagated-inputs
@ -5109,31 +5254,28 @@ linting of manifests and integration with Puppet Debugger.")
(license license:gpl3+))))
(define-public emacs-god-mode
(let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
(revision "1"))
(package
(name "emacs-god-mode")
(version (string-append "20151005.925."
revision "-" (string-take commit 9)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/chrisdone/god-mode.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix"))))
(build-system emacs-build-system)
(home-page "https://github.com/chrisdone/god-mode")
(synopsis "Minor mode for entering commands without modifier keys")
(description
"This package provides a global minor mode for entering Emacs commands
(package
(name "emacs-god-mode")
(version "2.17.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/chrisdone/god-mode.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1d2nrj35fzhnycchi0b7m5mbk5fyq7bgpbkkvc5xzqafclrsnapi"))))
(build-system emacs-build-system)
(home-page "https://github.com/chrisdone/god-mode")
(synopsis "Minor mode for entering commands without modifier keys")
(description
"This package provides a global minor mode for entering Emacs commands
without modifier keys. It's similar to Vim's separation of commands and
insertion mode. When enabled all keys are implicitly prefixed with
@samp{C-} (among other helpful shortcuts).")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public emacs-jinja2-mode
(package
@ -5232,6 +5374,32 @@ that it correctly finds RFCs even when a space appears before the
number.")
(license license:gpl3+)))
(define-public emacs-feature-mode
(let ((version "20190801")
(revision "1")
(commit "11ae1671629bfedaa553c7b819676d64eb320992"))
(package
(name "emacs-feature-mode")
(version (git-version version revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/michaelklishin/cucumber.el.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0yd4gkxz9xcbgibfgr8apsid3f83nmg5jgqk5nql0linj5gymc28"))))
(build-system emacs-build-system)
(arguments
`(#:include (cons* "^features\\/" "snippets\\/" "^support\\/"
%default-include)))
(home-page "https://github.com/michaelklishin/cucumber.el/")
(synopsis "Emacs mode for editing Gherkin plain text user stories")
(description "Major mode for editing Gherkin (popularized by the
Cucumber tool) user stories. Also known by the name @code{cucumber.el}.")
(license license:gpl2+))))
(define-public emacs-org-bullets
(package
(name "emacs-org-bullets")
@ -7397,7 +7565,7 @@ indentation guides in Emacs:
(define-public emacs-elpy
(package
(name "emacs-elpy")
(version "1.32.0")
(version "1.34.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -7406,12 +7574,23 @@ indentation guides in Emacs:
(file-name (git-file-name name version))
(sha256
(base32
"0f00mdnzx6xqwni86rgvaa6sfkwyh62xfbwz8qsar15j0j6vc2dj"))))
"1x1z298axbh4xalssnq9nkf2z1sdgmx839vb01xz18kr9lfavx1x"))))
(build-system emacs-build-system)
(arguments
`(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
#:phases
(modify-phases %standard-phases
;; The following tests fail when building with Emacs 27 (see:
;; https://github.com/jorgenschaefer/elpy/issues/1812).
(add-after 'unpack 'disable-problematic-tests
(lambda _
(substitute* "test/elpy-company-backend-test.el"
(("elpy-company-backend-should-add-shell-candidates.*" all)
(string-append all " (skip-unless nil)\n")))
(substitute* "test/elpy-folding-fold-comments-test.el"
(("elpy-fold-at-point-should-fold-and-unfold-comments.*" all)
(string-append all " (skip-unless nil)\n")))
#t))
;; The default environment of the RPC uses Virtualenv to install
;; Python dependencies from PyPI. We don't want/need this in Guix.
(add-before 'check 'do-not-use-virtualenv
@ -7781,7 +7960,7 @@ ack, ag, helm and pt.")
(define-public emacs-helm
(package
(name "emacs-helm")
(version "3.6.2")
(version "3.6.3")
(source
(origin
(method git-fetch)
@ -7790,7 +7969,7 @@ ack, ag, helm and pt.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0bf2glydc0vhp52z8zg8phmsglb63nac15zd82zr35dscc50bzrb"))))
(base32 "175v0x2w3if2r9k5l8n7gf256v9y8zwxwgfnpm3j4bldrnyxqjg0"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
@ -8386,8 +8565,8 @@ extensions.")
(license license:gpl3+)))
(define-public emacs-evil-collection
(let ((commit "d062cc206d671fb5aefb1e0e679a9cb1d6c73e33")
(revision "14"))
(let ((commit "c68aed6a9694836602ada224160bc5b4c0a37919")
(revision "15"))
(package
(name "emacs-evil-collection")
(version (git-version "0.0.3" revision commit))
@ -8399,7 +8578,7 @@ extensions.")
(file-name (git-file-name name version))
(sha256
(base32
"1zizfqmfrxx3shgggwa74rg2qqbrs8704wf94ajx0k11dbm1dbrp"))))
"1xhrzl0vy540a572f9fnh5a039bpqsrkv0kh6bqw0rki70w7x0xx"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-evil" ,emacs-evil)
@ -9456,48 +9635,26 @@ been adapted to work with mu4e.")
(uri (git-reference
(url "https://github.com/joaotavora/yasnippet.git")
(commit version)))
(file-name (string-append name "-" version ".tar.gz"))
(file-name (git-file-name name version))
(sha256
(base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))
(modules '((guix build utils)))
(snippet
'(begin
;; YASnippet expects a "snippets" subdirectory in the same
;; directory as yasnippet.el, but we don't install it because it's
;; a git submodule pointing to an external repository. Adjust
;; `yas-snippet-dirs' to prevent warnings about a missing
;; directory.
(substitute* "yasnippet.el"
(("^ +'yas-installed-snippets-dir\\)\\)\n")
"))\n"))
#t))))
(base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
#:test-command '("emacs" "--batch"
"-l" "yasnippet-tests.el"
"-f" "ert-run-tests-batch-and-exit")
;; FIXME: one failing test.
#:phases
(modify-phases %standard-phases
(add-before 'check 'make-tests-writable
;; Set HOME, otherwise test-rebindings fails.
(add-before 'check 'set-home
(lambda _
(make-file-writable "yasnippet-tests.el")
#t))
(add-before 'check 'delete-rebinding-test
(lambda _
(emacs-batch-edit-file "yasnippet-tests.el"
`(progn (goto-char (point-min))
(re-search-forward "ert-deftest test-rebindings")
(beginning-of-line)
(kill-sexp)
(basic-save-buffer)))
(setenv "HOME" (getcwd))
#t)))))
(home-page "https://github.com/joaotavora/yasnippet")
(synopsis "Yet another snippet extension for Emacs")
(description
"YASnippet is a template system for Emacs. It allows you to type an
abbreviation and automatically expand it into function templates.")
(description "YASnippet is a template system for Emacs. It allows you to
type an abbreviation and automatically expand it into function templates.")
(license license:gpl3+)))
(define-public emacs-yasnippet-snippets
@ -10015,26 +10172,17 @@ performance-oriented and tidy.")
(define-public emacs-leaf
(package
(name "emacs-leaf")
(version "3.5.0")
(version "4.2.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/conao3/leaf.el.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"leaf-" version ".tar"))
(sha256
(base32
"1rgd59146wad92yc64las0qgx67k2ifgsw1vwhp40xvkd7kb0r6d"))))
(base32 "0y78mp4c2gcwp7dc87wlx3r4hfmap14vvx8gkjc9nkf99qavpnkw"))))
(build-system emacs-build-system)
(home-page "https://github.com/conao3/leaf.el")
(arguments
`(#:tests? #t
#:test-command '("emacs" "--batch"
"-l" "leaf-tests.el"
"-f" "cort-test-run")))
(synopsis
"Simplify your init.el configuration, extended use-package")
(synopsis "Simplify your init.el configuration, extended use-package")
(description
"This package provides macros that allows you to declaratively configure
settings typical of an Elisp package with various keywords. The syntax is
@ -14524,7 +14672,7 @@ documentation.")
(define-public emacs-hy-mode
(package
(name "emacs-hy-mode")
(version "1.0.3")
(version "1.0.4")
(source
(origin
(method git-fetch)
@ -14533,7 +14681,7 @@ documentation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z"))))
(base32 "0gihxlmfminadaqdr8d2zccd7wwygl3m0gfzxsk5izi7f8hl4w7f"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
@ -14672,12 +14820,11 @@ scientific publication. Org Ref is also useful for research documents and
notes.")
(license license:gpl3+))))
;; This project is unmaintained. Please use emacs-org-re-reveal instead.
(define-public emacs-org-reveal
(let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
(let ((commit "84039bb499290926511b04749882ecb5eda45a0c"))
(package
(name "emacs-org-reveal")
(version (git-version "0.1" "3" commit))
(version (git-version "20200607" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
@ -14686,7 +14833,7 @@ notes.")
(file-name (git-file-name name version))
(sha256
(base32
"1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
"1fx3xmnkpfljrdmy0dsyq79k93ky57gcqm1ad9qbzykk7qjvmmi8"))))
(build-system emacs-build-system)
(home-page "https://github.com/yjwen/org-reveal")
(synopsis "Org and Reveal.js powered HTML presentation tool")
@ -16936,11 +17083,11 @@ accept and reject GitHub pull requests.")
(license license:gpl3+))))
(define-public emacs-deadgrep
(let ((commit "3fc7ca1f58e190f0c80da455a0e40187e673020e")
(revision "2"))
(let ((commit "7e50e71c6ff4e17dded43e0836dae4e5ec020fcf")
(revision "1"))
(package
(name "emacs-deadgrep")
(version (git-version "0.8" revision commit))
(version (git-version "0.10" revision commit))
(source
(origin
(method git-fetch)
@ -16950,9 +17097,9 @@ accept and reject GitHub pull requests.")
(file-name (git-file-name name version))
(sha256
(base32
"016gwqxd9aqzjw3hqv3vdf8cs6la8r65g6azg5rlmjqwfx3vsaha"))))
"1vjhrq02l8gvdn2haygzq7277hnhjchs9xrfpcnh76gqip200gx4"))))
(build-system emacs-build-system)
(inputs
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
("emacs-s" ,emacs-s)
("emacs-spinner" ,emacs-spinner)))
@ -21686,7 +21833,7 @@ Google guidelines.")
(define-public emacs-helm-fish-completion
(package
(name "emacs-helm-fish-completion")
(version "0.4")
(version "0.5")
(home-page "https://github.com/emacs-helm/helm-fish-completion")
(source
(origin
@ -21696,7 +21843,7 @@ Google guidelines.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0mh10qq3r16hjrayrbns51gmjpjnmpzy4i05rwn14rf2icvhs6x8"))))
(base32 "0hpsm39kx8vpz2zmarjrkvy1capkk5lwpsmdg2xnklsck6xsn922"))))
(build-system emacs-build-system)
(propagated-inputs
`(("helm" ,emacs-helm)

View File

@ -44,7 +44,9 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages backup)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages curl)
#:use-module (gnu packages elf)
#:use-module (gnu packages fonts)
@ -88,7 +90,8 @@
#: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))
#:use-module (guix build-system gnu)
#:use-module (guix build-system python))
(define-public desmume
(package
@ -414,7 +417,7 @@ V2.")
(define-public mgba
(package
(name "mgba")
(version "0.8.1")
(version "0.8.2")
(source
(origin
(method git-fetch)
@ -423,7 +426,7 @@ V2.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1if82mfaak3696w5d5yshynpzywrxgvg3ifdfi2rwlpvq1gpd429"))
(base32 "0dlwhn3hrpaqnl5hjs53y8j2i16idxrg3gy688gcwrc9z1a6bkn2"))
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.
@ -470,7 +473,7 @@ and Game Boy Color games.")
(define-public sameboy
(package
(name "sameboy")
(version "0.13.2")
(version "0.13.3")
(source
(origin
(method git-fetch)
@ -479,7 +482,7 @@ and Game Boy Color games.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "19qb1ib9sk5bjdv4arbwkv8l2afpll5axrif3wi7p2yhvpba10c0"))))
(base32 "1mv5a7p6plz0359l3z9g232rgaq2h3yby5949ps0s88cxj94w9qm"))))
(build-system gnu-build-system)
(native-inputs
`(("rgbds" ,rgbds)
@ -1622,3 +1625,156 @@ 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+)))
(define-public bsnes
(package
(name "bsnes")
(version "115")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bsnes-emu/bsnes")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0j054x38fwai61vj36sc04r3zkzay5acq2cgd9zqv5hs51s36g5b"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "-C" "bsnes"
(string-append "prefix=" (assoc-ref %outputs "out")))
#:tests? #f ; No tests.
#:phases (modify-phases %standard-phases
(delete 'configure))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("alsa-lib" ,alsa-lib)
("ao" ,ao)
("cairo" ,cairo)
("eudev" ,eudev)
("gtksourceview-2" ,gtksourceview-2)
("libxrandr" ,libxrandr)
("libxv" ,libxv)
("openal" ,openal)
("pulseaudio" ,pulseaudio)
("sdl2" ,sdl2)))
(home-page "https://bsnes.dev/")
(synopsis "Emulator for the Super Nintendo / Super Famicom systems")
(description
"bsnes is a Super Nintendo / Super Famicom emulator that focuses on
performance, features, and ease of use.")
(license license:gpl3)))
;; python-pwntools requires a -rc release of unicorn
(define-public unicorn
(let ((unless-x86
(lambda (code)
(if (member (%current-system) '("x86_64-linux" "i686-linux"))
'()
code))))
(package
(name "unicorn")
(version "1.0.2-rc4")
;; NOTE: unicorn ships a bundled QEMU, but with a lot of custom modifications.
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/unicorn-engine/unicorn")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"17nyccgk7hpc4hab24yn57f1xnmr7kq4px98zbp2bkwcrxny8gwy"))))
(outputs '("out" "python"))
;; The main library is not written in Python, but the build process has
;; little in common with any defined build system, so we might as well
;; build on top of python-build-system and make use of all
;; the Python-specific phases that can be reused.
(build-system python-build-system)
(arguments
`(#:modules ((srfi srfi-26)
(guix build python-build-system)
(guix build utils))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'install-bindings-to-python-output
(lambda* (#:key outputs #:allow-other-keys)
;; python-build-system will build the bindings and install them to
;; the "out" output, so change the build-internal names of the
;; outputs.
;;
;; TODO: remove this once #40469 lands, through the core-updates
;; holding zone, on master.
(set-car! (assoc "out" outputs) "lib")
(set-car! (assoc "python" outputs) "out")
#t))
(add-before 'build 'build-library
(lambda* (#:key inputs #:allow-other-keys)
(invoke "make"
"-j" (number->string (parallel-job-count))
"UNICORN_STATIC=no"
"CC=gcc")))
(add-after 'build-library 'install-library
(lambda* (#:key outputs #:allow-other-keys)
(invoke "make" "install"
"UNICORN_STATIC=no"
(string-append
"PREFIX="
(assoc-ref outputs "lib")))))
(add-before 'build 'prepare-bindings
(lambda* (#:key outputs #:allow-other-keys)
(chdir "bindings/python")
;; Set this environment variable so that the Python bindings
;; don't build their own copy of the shared object, but use
;; a dummy value such that the bindings test suite uses the
;; same mechanism for loading the library as any other user.
(setenv "LIBUNICORN_PATH" "1")
(substitute* "unicorn/unicorn.py"
(("_path_list = \\[.*")
(string-append
"_path_list = [\""
(assoc-ref outputs "lib")
;; eat the rest of the list
"/lib\"] + 0*[")))
#t))
(add-before 'check 'check-library
(lambda* (#:key outputs #:allow-other-keys)
(for-each
(lambda (suite)
(with-directory-excursion
(string-append "../../tests/" suite)
(invoke "make" "test" "CC=gcc"
,@(unless-x86
'("AS=i686-unknown-linux-gnu-as"
"OBJCOPY=i686-unknown-linux-gnu-objcopy")))))
'("unit" "regress"))
#t))
(add-after 'install 'install-samples
(lambda* (#:key outputs #:allow-other-keys)
(let* ((python-samples (find-files "." "sample_.*"))
(c-samples (find-files "../../samples" ".*\\.c"))
(python-docdir
(string-append (assoc-ref outputs "out")
"/share/doc/unicorn/samples"))
(c-docdir
(string-append (assoc-ref outputs "lib")
"/share/doc/unicorn/samples")))
(for-each (cut install-file <> c-docdir) c-samples)
(for-each (cut install-file <> python-docdir) python-samples)
#t))))))
(native-inputs
;; NOTE: cross-binutils needs to be wrapped with unless-x86, as otherwise
;; the linker provided by the package will be used, circumventing the ld-wrapper.
`(,@(unless-x86
`(("assembler-for-tests" ,(cross-binutils "i686-unknown-linux-gnu"))))
("cmocka" ,cmocka)
("hexdump-for-tests" ,util-linux)))
(home-page "http://www.unicorn-engine.org")
(synopsis "Unicorn CPU emulator framework")
(description
"Unicorn is a lightweight, multi-platform, multi-architecture CPU emulator
framework based on QEMU.")
(license license:gpl2+))))

View File

@ -18,6 +18,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -54,6 +55,7 @@
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
@ -61,6 +63,7 @@
#:use-module (gnu packages commencement)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages digest)
#:use-module (gnu packages documentation)
#:use-module (gnu packages flex)
@ -85,8 +88,10 @@
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux) ;FIXME: for pcb
#:use-module (gnu packages lisp)
#:use-module (gnu packages m4)
#:use-module (gnu packages maths)
#:use-module (gnu packages man)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses)
@ -103,6 +108,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages tex)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
#:use-module (gnu packages openkinect)
@ -1027,15 +1033,14 @@ the 'showing the effect of'-style of operation.")
(define-public volk
(package
(name "volk")
(version "2.2.1")
(version "2.3.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.libvolk.org/releases/volk-"
version ".tar.gz"))
(sha256
(base32
"1wz5nhmw6np8ka30pgy1qnima3rk2ksln4klfhrj7wah3fian0k9"))))
(base32 "1pjxz3piwy49njj5y2zk437prwkv9lfs5g48577jj3kcsg766vi3"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@ -1058,16 +1063,16 @@ the 'showing the effect of'-style of operation.")
(,(string-append python "/bin:")))))
#t)))))
(inputs
`(("boost" ,boost)))
(native-inputs
`(("python" ,python-wrapper)
`(("boost" ,boost)
("python" ,python-wrapper)
("python-mako" ,python-mako)))
(home-page "https://www.libvolk.org/")
(synopsis "Vector-Optimized Library of Kernels")
(description
"@code{volk} contains procedures with machine-specific optimizations
for mathematical functions. It also provides an machine-independent
interface to select the best such procedures to use on a given system.")
"@acronym{VOLK, Vector-Optimized Library of Kernels} contains procedures
with machine-specific optimizations for mathematical functions. It also
provides a machine-independent interface to select the best such procedures to
use on a given system.")
(license license:gpl3+)))
(define-public minicom
@ -2624,7 +2629,7 @@ export filters.")
(define-public meshlab
(package
(name "meshlab")
(version "2020.05")
(version "2020.06")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2633,7 +2638,7 @@ export filters.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "00sim20ka9vjwljixdj4cqd285j21mpaq05ari7nqq2w8yyglp5m"))))
(base32 "1cgx24wxh2ah5pff51rcrk6x8qcdjpkxcdak7s4cfzmxvjlshydd"))))
(build-system cmake-build-system)
(inputs
`(("qtbase" ,qtbase)
@ -2677,3 +2682,65 @@ proper, a versatile program with a graphical user interface, and meshlabserver,
a program that can perform mesh processing tasks in batch mode, without a
GUI.")
(license license:gpl3+)))
(define-public poke
;; Upstream has yet to tag any releases.
(let ((commit "d33317a46e3b7c48130a471a48cbfea1abab70d8")
(revision "0"))
(package
(name "poke")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.savannah.gnu.org/poke.git")
(commit commit)
(recursive? #t)))
(sha256
(base32 "1dd0r1x123bqi78lrsk58rvg9c9wka0kywdyzn7g3i4hkh54xb7d"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
;; The GUI, which we elide, requires tcl and tk.
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
;; Requires bison 3.6+ but we currently only have 3.5.
;; Bison 3.6 will be available in the next core update.
("bison-3.6" ,bison-3.6)
("clisp" ,clisp)
("dejagnu" ,dejagnu)
("flex" ,flex)
("gettext" ,gettext-minimal)
("help2man" ,help2man)
("libtool" ,libtool)
("perl" ,perl)
("pkg-config" ,pkg-config)
("python-2" ,python-2)
("python-3" ,python-3)
("texinfo" ,texinfo)))
;; FIXME: Enable NBD support by adding `libnbd' (currently unpackaged).
;; FIXME: A "hyperlinks-capable" `libtexststyle' needed for the hserver.
(inputs `(("json-c" ,json-c)
("libgc" ,libgc)
("readline" ,readline)))
(arguments
;; To build the GUI, add the `--enable-gui' configure flag.
;; To enable the "hyperlink server", add the `--enable-hserver' flag.
`(#:configure-flags '("--enable-mi")
#:phases (modify-phases %standard-phases
;; This is a non-trivial bootstrap that needs many of the
;; native-inputs and thus must run after `patch-shebangs'.
(delete 'bootstrap)
(add-after 'patch-source-shebangs 'bootstrap
(lambda _
(invoke "./bootstrap" "--no-git"
"--no-bootstrap-sync"
"--gnulib-srcdir=gnulib")
#t)))))
(home-page "http://jemarch.net/poke.html")
(synopsis "Interactive, extensible editor for binary data")
(description "GNU poke is an interactive, extensible editor for binary
data. Not limited to editing basic entities such as bits and bytes, it
provides a full-fledged procedural, interactive programming language designed
to describe data structures and to operate on them.")
(license license:gpl3+))))

View File

@ -70,7 +70,7 @@
(define-public efl
(package
(name "efl")
(version "1.24.2")
(version "1.24.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -78,7 +78,7 @@
version ".tar.xz"))
(sha256
(base32
"0w3srvigg4kfi7xq76c7y4hnq5yr2gxrrsvlyj1g2wc1igz1vyg1"))))
"0ajwc8lmay5ai7nsrp778g393h0p4h98p4c22gic2w61fgkcd5fy"))))
(build-system meson-build-system)
(native-inputs
`(("check" ,check)
@ -152,11 +152,6 @@
; (assoc-ref %build-inputs "hyphen")
; "/share/hyphen")
"-Dnetwork-backend=connman"
,@(match (%current-system)
("armhf-linux"
'("-opengl=es-egl"))
(_
'("-Dopengl=full")))
;; for wayland
"-Dwl=true"
"-Ddrm=true")

View File

@ -35,6 +35,7 @@
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2020 Simen Endsjø <simendsjo@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -63,6 +64,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system trivial)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
@ -1170,7 +1172,7 @@ typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.")
(package
(name "font-iosevka")
;; When updating, also update the hash of the Iosevka variant(s) below.
(version "2.3.3")
(version "3.1.1")
(source
(origin
(method url-fetch/zipbomb)
@ -1178,7 +1180,7 @@ typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.")
"/releases/download/v" version
"/ttc-iosevka-" version ".zip"))
(sha256
(base32 "0jkv5rkg5hi0avhwyhcjiqzjslp6zjj77f09vxx2gj9l93byz731"))))
(base32 "1xnkfr11rdjnin2fvgkp9vxxigfbfdncr0wy6n78mlm3p1pqwfrm"))))
(build-system font-build-system)
(home-page "https://be5invis.github.io/Iosevka/")
(synopsis "Coders' typeface, built from code")
@ -1201,7 +1203,7 @@ programming. Iosevka is completely generated from its source code.")
"/releases/download/v" version
"/ttc-iosevka-slab-" version ".zip"))
(sha256
(base32 "1rkmgi08kknc1fg54zpa6w92m3b3v7pc8cpwygz22kgd2h0mdrr8"))))))
(base32 "1n3lh015mvsdbyygpg3p3yqjpqdn1fdvjh1bhi2ggjanhifjsgzh"))))))
(define-public font-iosevka-term
(package
@ -1213,10 +1215,10 @@ programming. Iosevka is completely generated from its source code.")
(method url-fetch/zipbomb)
(uri (string-append "https://github.com/be5invis/Iosevka"
"/releases/download/v" version
"/02-iosevka-term-" version ".zip"))
"/ttf-iosevka-term-" version ".zip"))
(sha256
(base32
"1mxlb3qf64nykjd0x4gjfvib3k5kyv9ssv9iyzxxgk2z80bydz00"))))
"1mwzwpdppmcf03fgb5q6ksj0kk93wwaz2isk24wj1cm66r8psxk0"))))
(arguments
`(#:phases
(modify-phases %standard-phases
@ -1235,10 +1237,10 @@ programming. Iosevka is completely generated from its source code.")
(method url-fetch/zipbomb)
(uri (string-append "https://github.com/be5invis/Iosevka"
"/releases/download/v" version
"/06-iosevka-term-slab-" version ".zip"))
"/ttf-iosevka-term-slab-" version ".zip"))
(sha256
(base32
"1gc16hih157qy6vpa8f88psq0fnksiigi3msqazc75zsm3z4kzqj"))))
"0fiwxkf2gv38ia695wh8cvnb58sqs3fixjd33q1pp9cps94wzjpg"))))
(arguments
`(#:phases
(modify-phases %standard-phases
@ -1247,10 +1249,52 @@ programming. Iosevka is completely generated from its source code.")
(for-each make-file-writable (find-files "." ".*"))
#t)))))))
(define-public font-iosevka-aile
(package
(inherit font-iosevka)
(name "font-iosevka-aile")
(version (package-version font-iosevka))
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://github.com/be5invis/Iosevka"
"/releases/download/v" version
"/ttc-iosevka-aile-" version ".zip"))
(sha256
(base32 "15kz8ahlynnb79s2d367a1fallc4l3j3957yj43qrymayagkh8sv"))))))
(define-public font-iosevka-etoile
(package
(inherit font-iosevka)
(name "font-iosevka-etoile")
(version (package-version font-iosevka))
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://github.com/be5invis/Iosevka"
"/releases/download/v" version
"/ttc-iosevka-etoile-" version ".zip"))
(sha256
(base32 "0q9299mc595m251v9zj9b0zparl2qq8dwx090l0jkfpr2az9xr8q"))))))
(define-public font-iosevka-sparkle
(package
(inherit font-iosevka)
(name "font-iosevka-sparkle")
(version (package-version font-iosevka))
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://github.com/be5invis/Iosevka"
"/releases/download/v" version
"/ttc-iosevka-sparkle-" version ".zip"))
(sha256
(base32 "0nhvcnvl11iqmsxsyrxlbnwy9z1vdhqv6p3g7fig9ra6n5j9k5kn"))))))
(define-public font-sarasa-gothic
(package
(name "font-sarasa-gothic")
(version "0.12.6")
(version "0.12.7")
(source
(origin
(method url-fetch)
@ -1258,7 +1302,7 @@ programming. Iosevka is completely generated from its source code.")
"/releases/download/v" version
"/sarasa-gothic-ttc-" version ".7z"))
(sha256
(base32 "1g6k9d5lajchbhsh3g12fk5cgilyy6yw09fals9vc1f9wsqvac86"))))
(base32 "09v65k00g8m953s6riz9xjzb2jgr6v5pdhcllalzzl7c1cn2xl3k"))))
(build-system font-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -1795,3 +1839,61 @@ characteristic so that they sit smoothly with the Tamil glyphs.")
to write people's name, or for formal business situations where it is necessary
to have a detailed and proper character style.")
(license license:ipa)))
(define-public font-fontna-yasashisa-antique
(package
(name "font-fontna-yasashisa-antique")
(version "0")
(source (origin
(method url-fetch)
(uri (string-append "http://flop.sakura.ne.jp/font/fontna-op/"
"YasashisaAntiqueFont.zip"))
(sha256
(base32
"1hl2qk3lzmh9h2vv5647vhlslkn3vqbq9rqgp4wzybajafx8c6nj"))))
(build-system font-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; encoding issues cause many phases to fail
(add-after 'unpack 'fix-encoding
(lambda _
;; This directory, TrueTypeサポート外, is not properly encoded,
;; which makes rename-file fail. Instead, use shell globbing to
;; select and rename the directory.
(invoke "sh" "-c" "mv TrueType* TrueType")
#t)))))
(native-inputs
`(("bash" ,bash-minimal)
("coreutils" ,coreutils)))
(home-page "http://www.fontna.com/blog/1122/")
(synopsis "Mix font of gothic kanji and minchou kana")
(description "Antique is a font that is popular to write manga bubbles,
dictionary headwords and picture books. This font reduces the thickness
differences in characters compared to other antique fonts.")
(license (list license:ipa
(license:non-copyleft "mplus-TESTFLIGHT-057/LICENSE_E")))))
(define-public font-mplus-testflight
(package
(name "font-mplus-testflight")
(version "063a")
(source (origin
(method url-fetch)
(uri (string-append "https://osdn.net/frs/redir.php?"
"m=gigenet&f=mplus-fonts%2F62344%2Fmplus-TESTFLIGHT-"
version ".tar.xz"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
"0yfx9i77638yrgclnwwl4af79ri3vifi1nslwi6mgzva9cxrgss4"))))
(build-system font-build-system)
(home-page "https://mplus-fonts.osdn.jp/index.html")
(synopsis "Japanese font collection")
(description "M+ is a collection of Japanese fonts with all Latin glyph
sets, with Basic Latin, Latin-1 Supplement, Latin Extended-A, and IPA
Extensions. In addition to European letters used in many Western European
languages, it contains Japanese characters, including Kana glyphs and more
than 5,300 Kanji glyphs, as well major international phonetic symbols,
operators and special symbols.")
(license (license:non-copyleft "file:///LICENSE_E"))))

View File

@ -746,14 +746,14 @@ implements UFO3 as described by the UFO font format.")
(version "20170925")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/googlei18n/nototools/"
"archive/v2017-09-25-tooling-for-phase3-"
"update.tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/googlei18n/nototools")
(commit "v2017-09-25-tooling-for-phase3-update")))
(file-name (git-file-name name version))
(sha256
(base32
"1pvacw18cm9l4sb66pqyjc7hc74xhhfxc7kd5ald8lixf4wzg0s8"))))
"03nzvcvwmrhfrcjhg218q2f3hfrm3vlivp4rk19sc397kh3hisiz"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
@ -831,14 +831,14 @@ work well with other GTK+ desktop environments.")
(name "fntsample")
(version "5.3")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/eugmes/fntsample/archive/release/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/eugmes/fntsample")
(commit (string-append "release/" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0awp4dh1g40ivzvm5xqlvcpcdw1vplrx3drjmbylr62y185vbs74"))))
"02rx3gp7k472304vhjwb129nw10a29s4nvgs7i2m6bpjhlk2xgs5"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; There are no tests.

View File

@ -4,7 +4,7 @@
;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2018 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Julian Graham <joolean@gmail.com>
@ -313,30 +313,24 @@ provide connectivity for client applications written in any language.")
(define-public nml
(package
(name "nml")
(version "0.4.5")
(version "0.5.2")
(source
(origin
(method url-fetch)
(uri (string-append "http://bundles.openttdcoop.org/nml/releases/"
version "/nml-" version ".tar.gz"))
(uri (pypi-uri "nml" version))
(sha256
(base32
"1pmvvm3sgnpngfa7884mqhq3fwdjh9sr0ca07ypnidcg0y341w53"))))
"1lwf5sc5qqzrkxfx5wkkj3yh2j2nzh5r599ly5psy8yw92km24hy"))))
(build-system python-build-system)
;; TODO: Fix test that fails with
;; "AttributeError: partially initialized module 'nml.nmlop' has no
;; attribute 'ADD' (most likely due to a circular import)"
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-pillow
(lambda _
;; pillow's version is not in PIL.Image.VERSION anymore
(substitute* "nml/version_info.py"
(("from PIL import Image") "import PIL")
(("Image.VERSION") "PIL.__version__"))
#t)))))
'(#:tests? #f))
(propagated-inputs
`(("python-pillow" ,python-pillow)
("python-ply" ,python-ply)))
(home-page "https://dev.openttdcoop.org/projects/nml")
(home-page "https://github.com/OpenTTD/nml")
(synopsis "NML compiler")
(description
"@dfn{NewGRF Meta Language} (NML) is a python-based compiler, capable of
@ -1495,16 +1489,17 @@ of use.")
(define-public openmw
(package
(name "openmw")
(version "0.45.0")
(version "0.46.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/OpenMW/openmw/archive/"
"openmw-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/OpenMW/openmw")
(commit (string-append "openmw-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0r0wgvv1faan8z8lbply8lks4hcnppifjrcz04l5zvq6yiqzjg5n"))))
"0rm32zsmxvr6b0jjihfj543skhicbw5kg6shjx312clhlm035w2x"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; No test target
@ -1743,20 +1738,25 @@ a 2D editor view.")
(define-public guile-chickadee
(package
(name "guile-chickadee")
(version "0.4.0")
(version "0.5.0")
(source (origin
(method url-fetch)
(uri (string-append "https://files.dthompson.us/chickadee/"
"chickadee-" version ".tar.gz"))
(sha256
(base32
"1fdicsgls5cp0yffcm5vjmav67gv9bxhz1s3jvdvinspxb485x7l"))))
"0y3s0p4zyghys48sayfhcbmxmflh8hwawnx5an2jlb3x84yr0dsx"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("GUILE_AUTO_COMPILE=0")))
(propagated-inputs
`(("guile-opengl" ,guile-opengl)
("guile-sdl2" ,guile-sdl2)))
(inputs
`(("guile" ,guile-2.2)))
`(("guile" ,guile-2.2)
("libvorbis" ,libvorbis)
("mpg123" ,mpg123)
("openal" ,openal)))
(native-inputs
`(("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
@ -1779,20 +1779,23 @@ that parenthetically inclined game developers need to make 2D (and eventually
(package
(inherit guile-chickadee)
(name "guile3.0-chickadee")
(version "0.4.0")
(version "0.5.0")
(source (origin
(method url-fetch)
(uri (string-append "https://files.dthompson.us/chickadee/"
"chickadee-" version ".tar.gz"))
(sha256
(base32
"1fdicsgls5cp0yffcm5vjmav67gv9bxhz1s3jvdvinspxb485x7l"))))
"0y3s0p4zyghys48sayfhcbmxmflh8hwawnx5an2jlb3x84yr0dsx"))))
(build-system gnu-build-system)
(propagated-inputs
`(("guile-opengl" ,guile3.0-opengl)
("guile-sdl2" ,guile3.0-sdl2)))
(inputs
`(("guile" ,guile-3.0)))
`(("guile" ,guile-3.0)
("libvorbis" ,libvorbis)
("mpg123" ,mpg123)
("openal" ,openal)))
(native-inputs
`(("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))

View File

@ -146,6 +146,7 @@
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages perl-compression)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
@ -176,18 +177,88 @@
#:use-module (gnu packages messaging)
#:use-module (gnu packages networking)
#:use-module (guix build-system copy)
#:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system scons)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system cmake)
#:use-module (guix build-system qt)
#:use-module (guix build-system scons)
#:use-module (guix build-system trivial)
#:use-module ((srfi srfi-1) #:hide (zip))
#:use-module (srfi srfi-26))
(define-public abe
(package
(name "abe")
(version "1.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/abe/abe/abe-" version
"/abe-" version ".tar.gz"))
(sha256
(base32 "1xvpnq1y6y48fn3pvn2lk0h1ilmalv7nb7awpid1g4jcq1sfmi6z"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list (string-append "--with-data-dir="
(assoc-ref %outputs "out")
"/share/abe"))
#:phases
(modify-phases %standard-phases
(replace 'bootstrap
(lambda _ (invoke "sh" "autogen.sh")))
(add-before 'build 'set-SDL
;; Set correct environment for SDL.
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append
(assoc-ref inputs "sdl") "/include/SDL:"
(or (getenv "CPATH") "")))
#t))
(add-after 'install 'finalize-install
(lambda* (#:key outputs #:allow-other-keys)
(let ((share (string-append (assoc-ref outputs "out") "/share")))
;; Installation script does not copy game data files.
(let ((data (string-append share "/abe")))
(for-each (lambda (dir)
(let ((target (string-append data "/" dir)))
(mkdir-p target)
(copy-recursively dir target)))
'("images" "maps" "sounds")))
;; Create desktop file.
(let ((apps (string-append share "/applications")))
(mkdir-p apps)
(make-desktop-entry-file
(string-append apps "/abe.desktop")
#:name "Abe's Amazing Adventure"
#:exec ,name
#:categories '("AdventureGame" "Game")
#:keywords
'("side-scrolling" "adventure" "pyramid" "singleplayer")
#:comment
'(("de" "Ein sich seitwärts bewegendes Abenteuerspiel")
(#f "Side-scrolling game")))))
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
(inputs
`(("libxi" ,libxi)
("libxmu" ,libxmu)
("libxt" ,libxt)
("sdl" ,(sdl-union (list sdl sdl-mixer)))))
(home-page "http://abe.sourceforge.net")
(synopsis "Scrolling, platform-jumping, ancient pyramid exploring game")
(description
"Abe's Amazing Adventure is a scrolling,
platform-jumping, key-collecting, ancient pyramid exploring game, vaguely in
the style of similar games for the Commodore+4.")
(license license:gpl2+)))
;; Data package for adanaxisgpl.
(define adanaxis-mush
(let ((version "1.1.0"))
@ -515,7 +586,7 @@ want what you have.")
(define-public corsix-th
(package
(name "corsix-th")
(version "0.63")
(version "0.64")
(source
(origin
(method git-fetch)
@ -524,7 +595,7 @@ want what you have.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rkyk8g55xny276s0hr5k8mq6f4nzz56d3k2mp09dzfymrqb8hgi"))))
(base32 "0chh9cv2kdc39sr0x8hclcyzd8dz2y6grgagqzkvr7j570wa5cqh"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@ -979,7 +1050,7 @@ automata. The following features are available:
(define-public julius
(package
(name "julius")
(version "1.4.0")
(version "1.4.1")
(source
(origin
(method git-fetch)
@ -988,7 +1059,7 @@ automata. The following features are available:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01rygr592ar530qv1flmaiq8icl0qdxgc8lhkcdyn1g09941z47v"))
(base32 "12hhnhdwgz7hd3hlndbnk15pxggm1375qs0764ija4nl1gbpb110"))
;; Remove unused bundled libraries.
(modules '((guix build utils)))
(snippet
@ -1011,6 +1082,45 @@ does not include game data.")
(license (list license:agpl3
license:zlib)))) ; ext/tinyfiledialogs
(define-public augustus
(package
(inherit julius)
(name "augustus")
(version (package-version julius))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Keriew/augustus")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ii0w0iwa9zv5bbqfcps5mxifd796m6fw4gvjf09pkm3yjgqc0ag"))
;; Remove unused bundled libraries.
(modules '((guix build utils)))
(snippet
'(begin
(with-directory-excursion "ext"
(for-each delete-file-recursively '("dirent" "png" "SDL2" "zlib")))
#t))))
(arguments
;; No tests. See https://github.com/Keriew/augustus/issues/82.
`(#:tests? #f))
(home-page "https://github.com/Keriew/augustus")
(synopsis "Re-implementation of Caesar III game engine with gameplay changes")
(description
"Fork of Julius, an engine for the a city-building real-time strategy
game Caesar III. Gameplay enhancements include:
@itemize
@item roadblocks;
@item market special orders;
@item global labour pool;
@item partial warehouse storage;
@item increased game limits;
@item zoom controls.
@end itemize\n")))
(define-public meandmyshadow
(package
(name "meandmyshadow")
@ -1158,15 +1268,15 @@ destroying an ancient book using a special wand.")
(define-public gnome-chess
(package
(name "gnome-chess")
(version "3.36.0")
(version "3.36.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(uri (string-append "mirror://gnome/sources/gnome-chess/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
"gnome-chess-" version ".tar.xz"))
(sha256
(base32
"1a9fgi749gy1f60vbcyrqqkab9vqs42hji70q73k1xx8rv0agmg0"))))
"165bk8s3nngyqbikggspj4rff5nxxfkfcmgzjb4grmsrgbqwk5di"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
@ -1315,15 +1425,14 @@ Chess). It is similar to standard chess but this variant is far more complicate
(define-public ltris
(package
(name "ltris")
(version "1.0.19")
(version "1.0.20")
(source
(origin
(method url-fetch)
(uri (string-append "http://prdownloads.sourceforge.net/lgames/"
"ltris-" version ".tar.gz"))
(sha256
(base32
"1895wv1fqklrj4apkz47rnkcfhfav7zjknskw6p0886j35vrwslg"))))
(base32 "16zbqsc4amx9g3yjv6054nh4ia09dgfp8k6q4qxpjicl3dw3z0in"))))
(build-system gnu-build-system)
(arguments
'(;; The code in LTris uses traditional GNU semantics for inline functions
@ -1734,6 +1843,118 @@ can be explored and changed freely.")
license:gpl3+
license:silofl1.1))))
(define-public seahorse-adventures
(package
(name "seahorse-adventures")
(version "1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dulsi/seahorse-adventures.git")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rnvk06npaqcpjz5z6xcmssz61i32s422lydp49vrnf3j2g4yimd"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-1)))
;; Remove non-free (non-commercial) font.
(snippet
`(begin
(for-each delete-file (find-files "data/fonts" "."))
#t))))
(build-system python-build-system)
(arguments
`(#:tests? #f ;no test
#:phases
(modify-phases %standard-phases
(delete 'build) ;pure Python
(replace 'install ;no install script
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(share (string-append out "/share"))
(applications (string-append share "/applications"))
(data (string-append share "/seahorse-adventures")))
;; Install data.
(for-each (lambda (f)
(chmod f #o555)
(install-file f data))
'("leveledit.py" "run_game.py" "tileedit.py"))
(for-each (lambda (dir)
(let ((target (string-append data "/" dir)))
(mkdir-p target)
(copy-recursively dir target)))
'("data" "lib"))
;; Create executable.
(mkdir-p bin)
(let ((executable (string-append bin "/seahorse-adventures")))
(call-with-output-file executable
(lambda (p)
(format p
"#!~a~@
export PYTHONPATH=~a:~a~@
exec -a \"~a\" ~a \"$@\"~%"
(which "bash") data (getenv "PYTHONPATH")
(which "python3")
(string-append data "/run_game.py"))))
(chmod executable #o555))
;; Add desktop file.
(mkdir-p applications)
(make-desktop-entry-file
(string-append applications "/seahorse-adventures.desktop")
#:name "Seahorse Adventures"
#:comment
'((#f "Help Barbie the seahorse float on bubbles to the moon"))
#:exec ,name
#:icon ,name
#:categories '("Game" "ActionGame")
#:keywords '("game" "retro" "platform"))
;; Add icons.
(for-each
(lambda (size)
(let ((dir (string-append share "/icons/hicolor/"
size "x" size "/apps")))
(mkdir-p dir)
(copy-file
(string-append "icon" size ".png")
(string-append dir "/searhorse-adventures.png"))))
'("32" "64" "128")))
#t))
(add-after 'install 'unbundle-fonts
;; Unbundle Bitstream Vera font and replace deleted one.
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(data (string-append out "/share/seahorse-adventures"))
(vera (string-append (assoc-ref inputs "font-bitstream-vera")
"/share/fonts/truetype/Vera.ttf")))
(let ((themes-dir (string-append data "/data/themes/")))
(for-each
(lambda (theme)
(let ((target (string-append themes-dir theme "/Vera.ttf")))
(delete-file target)
(symlink vera target)))
'("default" "gray")))
(symlink vera (string-append data "/data/fonts/04B_20__.TTF"))
(substitute* (string-append data "/lib/main.py")
(("f_scale = 0.35") "f_scale = 0.47")))
#t)))))
(inputs
`(("font-bitstream-vera" ,font-bitstream-vera)
("python-pygame" ,python-pygame)))
(home-page "http://www.imitationpickles.org/barbie/")
(synopsis "Help Barbie the seahorse float on bubbles to the moon")
(description
"Barbie Seahorse Adventures is a retro style platform arcade game.
You are Barbie the seahorse who travels through the jungle, up to the
volcano until you float on bubbles to the moon. On the way to your
final destination you will encounter various enemies, servants of the
evil overlord who has stolen the galaxy crystal. Avoid getting hit
and defeat them with your bubbles!")
;; GPL2+ is for code, CC0 is for art.
(license (list license:gpl2+ license:cc0))))
(define-public superstarfighter
(package
(name "superstarfighter")
@ -1892,16 +2113,15 @@ that beneath its ruins lay buried an ancient evil.")
(define-public angband
(package
(name "angband")
(version "4.2.0")
(version "4.2.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://rephial.org/downloads/"
(uri (string-append "https://rephial.org/downloads/"
(version-major+minor version)
"/angband-" version ".tar.gz"))
(sha256
(base32
"0vdm1ymm28wawp94nl1p5q3lhc0k7cnn2kkvvrkfx962gif4kqfk"))
(base32 "03qdavkj2ik02mqjxmlm5bn17ba3yxb1rirp8ghnxy3bsk4kbmxc"))
(modules '((guix build utils)))
(snippet
;; So, some of the sounds/graphics/tilesets are under different
@ -1934,7 +2154,7 @@ that beneath its ruins lay buried an ancient evil.")
`(("autoconf" ,autoconf)
("automake" ,automake)))
(inputs `(("ncurses" ,ncurses)))
(home-page "http://rephial.org/")
(home-page "https://rephial.org/")
(synopsis "Dungeon exploration roguelike")
(description "Angband is a Classic dungeon exploration roguelike. Explore
the depths below Angband, seeking riches, fighting monsters, and preparing to
@ -2972,7 +3192,7 @@ falling, themeable graphics and sounds, and replays.")
(define-public wesnoth
(package
(name "wesnoth")
(version "1.14.11")
(version "1.14.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
@ -2981,7 +3201,7 @@ falling, themeable graphics and sounds, and replays.")
"wesnoth-" version ".tar.bz2"))
(sha256
(base32
"1i8mz6gw3qar09bscczhki0g4scj8pl58v85rp0g55r4bcq41l5v"))))
"1pmqj4rah0256qi9w394ksb9apid723i5f5agkg6x1lahb1ac91q"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;no check target
@ -3982,7 +4202,7 @@ tactics.")
(define-public starfighter
(package
(name "starfighter")
(version "2.0.0.3")
(version "2.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -3991,7 +4211,7 @@ tactics.")
(version-major+minor version) "-src.tar.gz"))
(sha256
(base32
"13vi5kh9ahws4f52421cbyw0jn7pmbnld358lqfmr6flql7ilj3b"))))
"1ldd9cbvl694ps4sapr8213m3zjrci7gii5x3kjjfalkikmndpd2"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -5227,7 +5447,7 @@ fish. The whole game is accompanied by quiet, comforting music.")
(define-public crawl
(package
(name "crawl")
(version "0.24.0")
(version "0.25.0")
(source
(origin
(method url-fetch)
@ -5240,8 +5460,18 @@ 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 "0kdq6s12myxfdg75ma9x3ys2nd0xwb3xm2ynlmhg4628va0pnixr"))
(patches (search-patches "crawl-upgrade-saves.patch"))))
(base32 "0rn1wjxdqw33caiwisfypm1j8cid3c9pz01ahicl17144zs29z3d"))
(patches (search-patches "crawl-upgrade-saves.patch"))
;; The 0.25.0 -nodeps.tar.xz was built from an OSX machine; normally
;; apparently it's built from a Debian machine before the Debian
;; packages are made. These ._* files are binary and have the string
;; "Mac OS X" in them... removing these seems to result in compilation
;; again.
(modules '((guix build utils)))
(snippet
'(begin
(for-each delete-file (find-files "." "^\\._"))
#t))))
(build-system gnu-build-system)
(inputs
`(("lua51" ,lua-5.1)
@ -6844,6 +7074,104 @@ when packaged in Blorb container files or optionally from individual files.")
(home-page "http://frotz.sourceforge.net")
(license license:gpl2+))))
(define-public frozen-bubble
;; Last official release is very outdated (2010). Use latest commit (2017).
(let ((commit "d6a029110ad6ab9e4960052e175addc98807fb7e")
(revision "1"))
(package
(name "frozen-bubble")
(version (git-version "2.2.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kthakore/frozen-bubble.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1rfrcym5lf4qac2qdklikb1ywijyxypq298azzxahy461dadl6cx"))))
(build-system perl-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Build process needs to create files in the "server"
;; directory.
(add-after 'unpack 'fix-permissions
(lambda _
(for-each make-file-writable
(find-files "server" "." #:directories? #t))))
;; By default, build stops at warnings.
(add-after 'unpack 'prevent-build-error
(lambda _
(substitute* "inc/My/Builder.pm"
(("-Werror") ""))
#t))
(add-after 'install 'install-desktop-file-and-icons
(lambda* (#:key outputs #:allow-other-keys)
(let* ((share (string-append (assoc-ref outputs "out") "/share"))
(hicolor (string-append share "/icons/hicolor")))
;; Create desktop entry.
(make-desktop-entry-file
(string-append share "/applications/" ,name ".desktop")
#:name "Frozen Bubble"
#:comment "Frozen Bubble arcade game"
#:exec ,name
#:icon ,name
#:categories '("Game" "ArcadeGame"))
;; Add icons.
(with-directory-excursion "share/icons"
(for-each
(lambda (size)
(let* ((dim (string-append size "x" size))
(dir (string-append hicolor "/" dim "/apps")))
(mkdir-p dir)
(copy-file
(string-append "frozen-bubble-icon-" dim ".png")
(string-append dir "/frozen-bubble.png"))))
'("16" "32" "48" "64"))))
#t))
(add-after 'install 'wrap-perl-libs
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(perl5lib (getenv "PERL5LIB")))
(for-each (lambda (prog)
(wrap-program (string-append out "/" prog)
`("PERL5LIB" ":" prefix
(,(string-append perl5lib ":" out
"/lib/perl5/site_perl")))))
(find-files "bin" ".")))
#t)))))
(native-inputs
`(("perl-alien-sdl" ,perl-alien-sdl)
("perl-capture-tiny" ,perl-capture-tiny)
("perl-locale-maketext-lexicon" ,perl-locale-maketext-lexicon)
("perl-module-build" ,perl-module-build)
("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib)
("perl-compress-bzip2" ,perl-compress-bzip2)
("perl-file-sharedir" ,perl-file-sharedir)
("perl-file-slurp" ,perl-file-slurp)
("perl-file-which" ,perl-file-which)
("perl-ipc-system-simple" ,perl-ipc-system-simple)
("perl-sdl" ,perl-sdl)
("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-pango sdl-ttf)))))
(home-page "http://frozen-bubble.org/")
(synopsis "Puzzle with bubbles")
(description
"Frozen-Bubble is a clone of the popular Puzzle Bobble game, in which
you attempt to shoot bubbles into groups of the same color to cause them to
pop.
Players compete as penguins and must use the arrow keys to aim a colored
bubble at groups of bubbles. The objective is to clear all the bubbles off
the screen before a bubble passes below a line at the bottom.
It features 100 single-player levels, a two-player mode, music and striking
graphics. A level editor is also included to allow players to create and play
their own levels.")
(license license:gpl2))))
(define-public libmanette
(package
(name "libmanette")
@ -10275,43 +10603,54 @@ This package is part of the KDE games module.")
(define-public xmoto
(package
(name "xmoto")
(version "0.5.11")
(version "0.6.1")
(source
(origin
(method url-fetch)
(uri (string-append
"http://download.tuxfamily.org/xmoto/xmoto/" version "/"
"xmoto-" version "-src.tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/xmoto/xmoto.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1ci6r8zd0l7z28cy92ddf9dmqbdqwinz2y1cny34c61b57wsd155"))
(patches
(search-patches
"xmoto-remove-glext.patch" ;fixes licensing issue
"xmoto-reproducible.patch"
"xmoto-utf8.patch"))
;; Unbundle ODE.
(modules '((guix build utils)))
(base32 "00f5ha79lfa2iiaz66wl0hl5dapa1l15qdr7m7knzi0ll7j6z66n"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-1)))
;; XXX: Remove some bundled libraries. Guix provides Chipmunk, but
;; it appears to be incompatible with the (older) one bundled.
(snippet
`(begin
(delete-file-recursively "src/ode")
(let ((keep '("chipmunk" "glad" "md5sum")))
(with-directory-excursion "vendor"
(for-each delete-file-recursively
(lset-difference string=?
(scandir ".")
(cons* "." ".." keep))))
(substitute* "src/CMakeLists.txt"
(("add_subdirectory\\(.*?/vendor/(.+?)\".*" line library)
(if (member library keep) line ""))))
#t))))
(build-system gnu-build-system)
(build-system cmake-build-system)
(arguments
;; XXX: First flag prevents a build error with GCC7+. The second
;; flag works around missing text in game. Both are fixed
;; upstream. Remove once xmoto 0.5.12+ is released.
`(#:make-flags '("CXXFLAGS=-fpermissive -D_GLIBCXX_USE_CXX11_ABI=0")
`(#:tests? #f ;no test
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-desktop-file
(add-after 'unpack 'fix-hard-coded-directory
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(apps (string-append out "/share/applications"))
(pixmaps (string-append out "/share/pixmaps")))
(install-file "extra/xmoto.desktop" apps)
(install-file "extra/xmoto.xpm" pixmaps)
#t)))
(add-after 'install-desktop-file 'install-fonts
(substitute* "src/common/VFileIO.cpp"
(("/usr/share")
(string-append (assoc-ref outputs "out") "/share")))
#t))
(add-before 'build 'set-SDL
;; Set correct environment for SDL.
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append
(assoc-ref inputs "sdl") "/include/SDL:"
(or (getenv "CPATH") "")))
#t))
(add-after 'install 'unbundle-fonts
;; Unbundle DejaVuSans TTF files.
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((font-dir (string-append (assoc-ref inputs "font-dejavu")
"/share/fonts/truetype/"))
@ -10323,38 +10662,34 @@ This package is part of the KDE games module.")
(delete-file target)
(symlink font target)))
'("DejaVuSans.ttf" "DejaVuSansMono.ttf"))
#t)))
(add-after 'install-fonts 'install-man-page
(lambda* (#:key outputs #:allow-other-keys)
(install-file "xmoto.6"
(string-append (assoc-ref outputs "out")
"/share/man/man6"))
#t)))))
#t))))))
(native-inputs
`(("gettext" ,gettext-minimal)))
`(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(inputs
`(("curl" ,curl)
`(("bzip2" ,bzip2)
("curl" ,curl)
("font-dejavu" ,font-dejavu)
("glu" ,glu)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libxdg-basedir" ,libxdg-basedir)
("libxml2" ,libxml2)
("lua" ,lua-5.2)
("lua" ,lua-5.1)
("ode" ,ode)
("sdl" ,(sdl-union (list sdl sdl-mixer sdl-net sdl-ttf)))
("sqlite" ,sqlite)
("zlib" ,zlib)))
(home-page "https://xmoto.tuxfamily.org/")
(synopsis "2D motocross platform game")
(description "X-Moto is a challenging 2D motocross platform game, where
physics play an all important role in the gameplay. You need to control your
bike to its limit, if you want to have a chance finishing the more difficult
challenges.")
(description
"X-Moto is a challenging 2D motocross platform game, where
physics play an all important role in the gameplay. You need to
control your bike to its limit, if you want to have a chance finishing
the more difficult challenges.")
(license (list license:gpl2+ ;whole project
license:bsd-4 ;src/bzip
license:bsd-3 ;src/md5sum
license:lgpl2.1+ ;src/iqsort.h
license:bsd-3 ;vendor/md5sum
license:lgpl2.1+
license:expat))))
(define-public eboard

View File

@ -4,6 +4,7 @@
;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,6 +23,7 @@
(define-module (gnu packages gdb)
#:use-module (gnu packages)
#:use-module (gnu packages hurd)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
#:use-module (gnu packages dejagnu)
@ -68,12 +70,20 @@
#t))
(add-after
'install 'remove-libs-already-in-binutils
(lambda* (#:key inputs outputs #:allow-other-keys)
(lambda* (#:key inputs outputs
;; TODO: Inline the native-inputs addition and
;; below usage in the next rebuild cycle.
,@(if (%current-target-system)
'(native-inputs)
'())
#:allow-other-keys)
;; Like Binutils, GDB installs libbfd, libopcodes, etc.
;; However, this leads to collisions when both are
;; installed, and really is none of its business,
;; conceptually. So remove them.
(let* ((binutils (assoc-ref inputs "binutils"))
(let* ((binutils ,@(if (%current-target-system)
'((assoc-ref native-inputs "binutils"))
'((assoc-ref inputs "binutils"))))
(out (assoc-ref outputs "out"))
(files1 (with-directory-excursion binutils
(append (find-files "lib")
@ -98,11 +108,15 @@
;; Allow use of XML-formatted syscall information. This enables 'catch
;; syscall' and similar commands.
("libxml2" ,libxml2)))
("libxml2" ,libxml2)
;; The Hurd needs -lshouldbeinlibc.
,@(if (hurd-target?) `(("hurd" ,hurd)) '())))
(native-inputs
`(("texinfo" ,texinfo)
("dejagnu" ,dejagnu)
("pkg-config" ,pkg-config)))
("pkg-config" ,pkg-config)
,@(if (hurd-target?) `(("mig" ,mig)) '())))
(home-page "https://www.gnu.org/software/gdb/")
(synopsis "The GNU debugger")
(description
@ -116,16 +130,16 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
;; This version of GDB is required by some of the Rust compilers, see
;; <https://bugs.gnu.org/37810>.
(define-public gdb-8.2
(package/inherit
gdb-9.1
(version "8.2.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz"))
(sha256
(base32
"00i27xqawjv282a07i73lp1l02n0a3ywzhykma75qg500wll6sha"))))))
(package
(inherit gdb-9.1)
(version "8.2.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz"))
(sha256
(base32
"00i27xqawjv282a07i73lp1l02n0a3ywzhykma75qg500wll6sha"))))))
(define-public gdb
;; This is the fixed version that packages depend on. Update it rarely
@ -140,6 +154,15 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz"))
(patches (search-patches "gdb-hurd.patch"))
(sha256
(base32
"0mf5fn8v937qwnal4ykn3ji1y2sxk0fa1yfqi679hxmpg6pdf31n"))))))
(define-public gdb-minimal
(package/inherit
gdb-9.2
(name "gdb-minimal")
(inputs (fold alist-delete (package-inputs gdb)
'("guile" "libxml2" "ncurses" "python-wrapper"
"source-highlight")))))

View File

@ -1858,6 +1858,7 @@ growing set of geoscientific methods.")
"qgis_filedownloader"
;; TODO: Find why the following tests fail
"ProcessingQgisAlgorithmsTestPt1"
"ProcessingQgisAlgorithmsTestPt2"
"ProcessingQgisAlgorithmsTestPt3"
"ProcessingQgisAlgorithmsTestPt4"
"ProcessingGdalAlgorithmsRasterTest"
@ -1872,6 +1873,7 @@ growing set of geoscientific methods.")
"qgis_geometrytest"
"qgis_layouthtmltest"
"qgis_layoutmaptest"
"qgis_layoutmapgridtest"
"qgis_painteffecttest"
"qgis_pallabelingtest"
"qgis_svgmarkertest"
@ -1890,6 +1892,11 @@ growing set of geoscientific methods.")
"PyQgsFileUtils"
"PyQgsGeometryTest"
"PyQgsImageCache"
"PyQgsLayerMetadata"
"PyQgsLayout"
"PyQgsLayoutHtml"
"PyQgsLayoutMapGrid"
"PyQgsMetadataBase"
"PyQgsLayoutExporter"
"PyQgsLayoutLegend"
"PyQgsMapLayer"

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, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Miguel <rosen644835@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -148,14 +148,14 @@ translated messages from the catalogs. Nearly all GNU packages use Gettext.")
(define-public libtextstyle
(package
(name "libtextstyle")
(version "0.20.1")
(version "0.20.2")
(source (origin
(inherit (package-source gnu-gettext))
(uri (string-append "mirror://gnu/gettext/gettext-"
version ".tar.gz"))
(sha256
(base32
"0p3zwkk27wm2m2ccfqm57nj7vqkmfpn7ja1nf65zmhz8qqs5chb6"))))
"1wc9q3y8rsbd757v985vxqcyqsxs7cxk4x7rzsjmq7d4ij8d1fgc"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")

View File

@ -51,7 +51,7 @@
(define-public babl
(package
(name "babl")
(version "0.1.76")
(version "0.1.78")
(source (origin
(method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/babl/"
@ -65,7 +65,7 @@
"/babl-" version ".tar.xz")))
(sha256
(base32
"183kj2yq08vvldp8307vq61y2ravcqkyarrhak9w2l30gygp9100"))))
"0fjjfb0pbgimlqi7rk8cqz8pq595b7gw8nrpkxfmixdz6cv4km8p"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
@ -90,7 +90,7 @@ provided, as well as a framework to add new color models and data types.")
(define-public gegl
(package
(name "gegl")
(version "0.4.22")
(version "0.4.24")
(source (origin
(method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/gegl/"
@ -104,7 +104,7 @@ provided, as well as a framework to add new color models and data types.")
"/gegl-" version ".tar.xz")))
(sha256
(base32
"0q9cckf90fb82qc5d496fjz459f1xw4j4p3rff1f57yivx0yr20q"))))
"0ji57s7cba94vzy49agn7x47ca61rccm6rif0cb0s6rl4ygljrbp"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
@ -135,7 +135,7 @@ buffers.")
(define-public gimp
(package
(name "gimp")
(version "2.10.18")
(version "2.10.20")
(source (origin
(method url-fetch)
(uri (string-append "https://download.gimp.org/pub/gimp/v"
@ -143,7 +143,7 @@ buffers.")
"/gimp-" version ".tar.bz2"))
(sha256
(base32
"05np26g61fyr72s7qjfrcck8v57r0yswq5ihvqyzvgzfx08y3gv5"))))
"0g3vzh1bjffqx94mfghmwvkhncv71cgah2mnfx17q00s9f3rybz1"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 9 MiB of gtk-doc HTML

View File

@ -68,7 +68,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module ((srfi srfi-1) #:hide (zip))
;; Export variables up-front to allow circular dependency with the 'xorg'
;; module.
@ -1019,7 +1019,7 @@ other API remains the same.")
(define-public template-glib
(package
(name "template-glib")
(version "3.32.0")
(version "3.34.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -1027,7 +1027,7 @@ other API remains the same.")
name "-" version ".tar.xz"))
(sha256
(base32
"1g0zx0sxpw8kqp7p3sgl9kngaqrg9xl6cir24nrahks0vgsk98rr"))))
"1z9xkin5fyfh071ma9y045jcw83hgx33dfbjraw6cxk0qdmfysr1"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-D" "enable_gtk_doc=true")))

View File

@ -419,7 +419,7 @@ currently focused application in the top panel of the GNOME shell.")
(define-public gnome-shell-extension-dash-to-panel
(package
(name "gnome-shell-extension-dash-to-panel")
(version "26")
(version "37")
(source (origin
(method git-fetch)
(uri (git-reference
@ -427,7 +427,7 @@ currently focused application in the top panel of the GNOME shell.")
(commit (string-append "v" version))))
(sha256
(base32
"1phfx2pblygpcvsppsqqqflm7qnz46mqkw29hj0nv2dn69hf4xbc"))
"0c8p8cmwjh6rpj7jwj1lccpdv5l0bazwywg8hpwgnqy9f4rxmrz3"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@ -555,8 +555,8 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.")
(define-public papirus-icon-theme
(let ((version "0.0.0") ;; The package does not use semver
(revision "1")
(tag "20200430"))
(revision "2")
(tag "20200602"))
(package
(name "papirus-icon-theme")
(version (git-version version revision tag))
@ -568,7 +568,7 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.")
(commit tag)))
(sha256
(base32
"19dfiifc7cjwy0nb1hgzryzaijszsyix303xsgk5xbmhpwrv92hq"))
"0yv19kl8jr2jmh9018b1qmnq68alw84vrmb35jm462qd3qzzdgah"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments

View File

@ -43,7 +43,7 @@
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2019, 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2019, 2020 Leo Prikler <leo.prikler@student.tugraz.at>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
@ -1682,7 +1682,7 @@ forgotten when the session ends.")
(define-public evince
(package
(name "evince")
(version "3.36.1")
(version "3.36.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/evince/"
@ -1690,7 +1690,7 @@ forgotten when the session ends.")
"evince-" version ".tar.xz"))
(sha256
(base32
"1msbb66lasikpfjpkwsvi7h22hqmk275850ilpdqwbd0b39vzf4c"))))
"0z79jl0j9xq9wgwkfr0d1w1qrdy4447y8shs407n5srr0vixc3bg"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--disable-nautilus" "--enable-introspection")
@ -2174,8 +2174,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
"023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:tests? #f ; needs X, GL, and software rendering
#:phases
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-docbook
(lambda* (#:key inputs #:allow-other-keys)
@ -2185,18 +2184,27 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
"/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl)
"/manpages/docbook.xsl")))
#t))
(add-before 'check 'pre-check
(lambda _
(setenv "HOME" "/tmp")
;; Tests require a running X server.
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
#t)))))
(inputs
`(("gtk+" ,gtk+)
("libxml2" ,libxml2)))
(native-inputs
`(("intltool" ,intltool)
`(("hicolor-icon-theme" ,hicolor-icon-theme)
("intltool" ,intltool)
("itstool" ,itstool)
("libxslt" ,libxslt) ;for xsltproc
("docbook-xml" ,docbook-xml-4.2)
("docbook-xsl" ,docbook-xsl)
("python" ,python-2)
("pkg-config" ,pkg-config)))
("pkg-config" ,pkg-config)
("xorg-server" ,xorg-server-for-tests)))
(home-page "https://glade.gnome.org")
(synopsis "GTK+ rapid application development tool")
(description "Glade is a rapid application development (RAD) tool to
@ -2395,10 +2403,10 @@ library.")
("rust-pango-sys" ,rust-pango-sys-0.9)
("rust-pangocairo" ,rust-pangocairo-0.8)
("rust-phf" ,rust-phf-0.7)
("rust-rayon" ,rust-rayon-1.3)
("rust-rayon" ,rust-rayon-1)
("rust-rctree" ,rust-rctree-0.3)
("rust-string-cache" ,rust-string-cache-0.7)
("rust-regex" ,rust-regex-1.3)
("rust-regex" ,rust-regex-1)
("rust-url" ,rust-url-2.1)
("rust-xml-rs" ,rust-xml-rs-0.8))
#:cargo-development-inputs
@ -4558,7 +4566,7 @@ throughout GNOME for API documentation).")
(define-public cogl
(package
(name "cogl")
(version "1.22.6")
(version "1.22.8")
(source
(origin
(method url-fetch)
@ -4566,7 +4574,7 @@ throughout GNOME for API documentation).")
(version-major+minor version) "/"
"cogl-" version ".tar.xz"))
(sha256
(base32 "0x8v4n61q89qy27v824bqswpz6bmn801403w2q3pa1lcwk9ln4vd"))))
(base32 "0nfph4ai60ncdx7hy6hl1i1cmp761jgnyjfhagzi0iqq36qb41d8"))))
;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
;; cogl, corresponding changes may be appropriate in mutter as well.
(build-system gnu-build-system)
@ -10034,7 +10042,7 @@ integrate seamlessly with the GNOME desktop.")
(define-public gnome-boxes
(package
(name "gnome-boxes")
(version "3.36.4")
(version "3.36.5")
(source
(origin
(method url-fetch)
@ -10042,7 +10050,7 @@ integrate seamlessly with the GNOME desktop.")
(version-major+minor version) "/"
"gnome-boxes-" version ".tar.xz"))
(sha256
(base32 "16l0mq2ydmywcdya1795mcy8syg4zkmz9ws3pzjcqv5y4m7cjj03"))))
(base32 "1khvyhgd3p41fvvknga1hdl0p1ks4kj4cwsiaw28v1sy6nzclm2c"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
@ -10422,3 +10430,37 @@ communicating using the GVariant serialization format instead of JSON when
both peers support it. You might want that when communicating on a single
host to avoid parser overhead and memory-allocator fragmentation.")
(license license:lgpl2.1+)))
(define-public feedbackd
(package
(name "feedbackd")
(version "0.0.0+git20200527")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://source.puri.sm/Librem5/feedbackd.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1wbkzxnqjydfgjvp7vz4ghczcz740zcb1yn90cb6gb5md4n6qx2y"))))
(build-system meson-build-system)
(native-inputs
`(("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
("vala" ,vala)))
(inputs
`(("dbus" ,dbus)
("gsound" ,gsound)
("json-glib" ,json-glib)
("libgudev" ,libgudev)))
(propagated-inputs
`(("glib" ,glib))) ; in Requires of libfeedback-0.0.pc
(synopsis "Haptic/visual/audio feedback via DBus")
(description "Feedbackd provides a DBus daemon to act on events to provide
haptic, visual and audio feedback. It offers the libfeedbackd library and
GObject introspection bindings.")
(home-page "https://source.puri.sm/Librem5/feedbackd")
(license (list license:lgpl2.1+ ; libfeedbackd
license:lgpl3+)))) ; the rest

View File

@ -1,11 +1,11 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
;;; Copyright © 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017, 2018, 2019 Nikita <nikita@n0.is>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nikita <nikita@n0.is>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
@ -180,13 +180,13 @@ authentication and support for SSL3 and TLS.")
(define-public gnurl
(package
(name "gnurl")
(version "7.69.1")
(version "7.70.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gnunet/gnurl-" version ".tar.gz"))
(sha256
(base32
"0x8m26y3klndis6a28j8i0b7ab04d38q3rmlvgaqa65bjhlfdrp0"))))
"0px9la8v4bj1dzxb95fx3yxk0rcjqjrxpj733ga27cza45wwzkqa"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 1.8 MiB of man3 pages
@ -245,7 +245,7 @@ supports HTTP, HTTPS and GnuTLS.")
"See COPYING in the distribution."))
(properties '((ftp-server . "ftp.gnu.org")
(ftp-directory . "/gnunet")))
(home-page "https://gnunet.org/gnurl")))
(home-page "https://gnunet.org/en/gnurl.html")))
(define-public gnunet
(package

View File

@ -648,6 +648,12 @@ from forcing GEXP-PROMISE."
"-p1" "--input" #+makeicecat-patch)
(invoke "patch" "--force" "--no-backup-if-mismatch"
"-p1" "--input" #+gnuzilla-fixes-patch)
;; Remove the bundled tortm-browser-button extension,
;; which doesn't seem to be working properly.
(delete-file-recursively
"data/extensions/tortm-browser-button@jeremybenthum")
(patch-shebang "makeicecat")
(substitute* "makeicecat"
(("^FFMAJOR=(.*)" all ffmajor)

View File

@ -12,7 +12,7 @@
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright @ 2018, 2019 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright @ 2018, 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright @ 2019 Giovanni Biscuolo <g@xelera.eu>
;;; Copyright @ 2019, 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
@ -218,21 +218,28 @@ 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.13
(define-public go-1.14
(package
(inherit go-1.4)
(name "go")
(version "1.13.9")
(version "1.14.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://storage.googleapis.com/golang/"
name version ".src.tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/golang/go.git")
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
(base32
"07gksk9194wa90xyd6yhagxfv7syvsx29bh8ypc4mg700vc1kfrl"))))
"08bazglmqp123c9dgrxflvxd011xsqfxsgah2kzbvca0mhm6qcm3"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.4)
((#:system system)
(if (string-prefix? "aarch64-linux" (or (%current-system)
(%current-target-system)))
"aarch64-linux"
system))
((#:phases phases)
`(modify-phases ,phases
(replace 'prebuild
@ -261,7 +268,13 @@ in the style of communicating sequential processes (@dfn{CSP}).")
'("cmd/go/testdata/script/mod_case_cgo.txt"
"cmd/go/testdata/script/list_find.txt"
"cmd/go/testdata/script/list_compiled_imports.txt"
"cmd/go/testdata/script/cgo_syso_issue29253.txt"))
"cmd/go/testdata/script/cgo_syso_issue29253.txt"
"cmd/go/testdata/script/cover_cgo.txt"
"cmd/go/testdata/script/cover_cgo_xtest.txt"
"cmd/go/testdata/script/cover_cgo_extra_test.txt"
"cmd/go/testdata/script/cover_cgo_extra_file.txt"))
(for-each make-file-writable (find-files "."))
(substitute* "os/os_test.go"
(("/usr/bin") (getcwd))
@ -329,6 +342,10 @@ in the style of communicating sequential processes (@dfn{CSP}).")
("syscall/exec_linux_test.go"
"(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)")))
;; These tests fail on aarch64-linux
(substitute* "cmd/dist/test.go"
(("t.registerHostTest\\(\"testsanitizers/msan.*") ""))
;; fix shebang for testar script
;; note the target script is generated at build time.
(substitute* "../misc/cgo/testcarchive/carchive_test.go"
@ -360,7 +377,6 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(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)
@ -406,7 +422,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
,@(package-native-inputs go-1.4)))
(supported-systems %supported-systems)))
(define-public go go-1.13)
(define-public go go-1.14)
(define-public go-github-com-alsm-ioprogress
(let ((commit "063c3725f436e7fba0c8f588547bee21ffec7ac5")
@ -811,6 +827,33 @@ time.")
(home-page "https://godoc.org/golang.org/x/time/rate")
(license license:bsd-3))))
(define-public go-golang-org-x-oauth2
(let ((commit "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33")
(revision "1"))
(package
(name "go-golang-org-x-oauth2")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/oauth2")
(commit commit)))
(file-name (string-append "go.googlesource.com-oauth2-"
version "-checkout"))
(sha256
(base32
"06jwpvx0x2gjn2y959drbcir5kd7vg87k0r1216abk6rrdzzrzi2"))))
(build-system go-build-system)
(arguments
`(#:import-path "golang.org/x/oauth2"))
(propagated-inputs
`(("go-golang-org-x-net" ,go-golang-org-x-net)))
(home-page "https://go.googlesource.com/oauth2")
(synopsis "Client implementation of the OAuth 2.0 spec")
(description "This package contains a client implementation for OAuth 2.0
spec in Go.")
(license license:bsd-3))))
(define-public go-github-com-burntsushi-toml
(package
(name "go-github-com-burntsushi-toml")
@ -1813,6 +1856,31 @@ terminal.")
makes it possible to handle ANSI color escapes on Windows.")
(license license:expat))))
(define-public go-github-com-mattn-go-pointer
(let ((commit "a0a44394634f41e4992b173b24f14fecd3318a67")
(revision "1"))
(package
(name "go-github-com-mattn-go-pointer")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattn/go-pointer")
(commit commit)))
(sha256
(base32
"09w7hcyc0zz2g23vld6jbcmq4ar27xakp1ldjvh549i5izf2anhz"))
(file-name (git-file-name name version))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/mattn/go-pointer"))
(home-page "https://github.com/mattn/go-pointer")
(synopsis "Utility for cgo")
(description
"This package allows for a cgo argument to be passed a Go pointer.")
(license license:expat))))
(define-public go-github-com-mgutz-ansi
(let ((commit "9520e82c474b0a04dd04f8a40959027271bab992")
(revision "0"))
@ -3563,6 +3631,135 @@ sensors).")
(home-page "https://github.com/shirou/gopsutil")
(license license:bsd-3))))
(define-public go-github-com-danwakefield-fnmatch
(let ((commit "cbb64ac3d964b81592e64f957ad53df015803288")
(revision "0"))
(package
(name "go-github-com-danwakefield-fnmatch")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/danwakefield/fnmatch")
(commit commit)))
(sha256
(base32
"0cbf511ppsa6hf59mdl7nbyn2b2n71y0bpkzbmfkdqjhanqh1lqz"))
(file-name (git-file-name name version))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/danwakefield/fnmatch"))
(home-page "https://github.com/danwakefield/fnmatch")
(synopsis "Updated clone of kballards golang fnmatch gist")
(description "This package provides an updated clone of kballards golang
fnmatch gist (https://gist.github.com/kballard/272720).")
(license license:bsd-2))))
(define-public go-github-com-ddevault-go-libvterm
(let ((commit "b7d861da381071e5d3701e428528d1bfe276e78f")
(revision "0"))
(package
(name "go-github-com-ddevault-go-libvterm")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ddevault/go-libvterm")
(commit commit)))
(sha256
(base32
"06vv4pgx0i6hjdjcar4ch18hp9g6q6687mbgkvs8ymmbacyhp7s6"))
(file-name (git-file-name name version))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/ddevault/go-libvterm"))
(propagated-inputs
`(("go-github-com-mattn-go-pointer" ,go-github-com-mattn-go-pointer)))
(home-page "https://github.com/ddevault/go-libvterm")
(synopsis "Go binding to libvterm")
(description
"This is a fork of another go-libvterm library for use with aerc.")
(license license:expat))))
(define-public go-github-com-emersion-go-imap
(package
(name "go-github-com-emersion-go-imap")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-imap")
(commit (string-append "v" version))))
(sha256
(base32
"1id8j2d0rn9sj8y62xhyygqpk5ygrcl9jlfx92sm1jsvxsm3kywq"))
(file-name (git-file-name name version))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/emersion/go-imap"))
(native-inputs
`(("go-golang-org-x-text" ,go-golang-org-x-text)))
(home-page "https://github.com/emersion/go-imap")
(synopsis "IMAP4rev1 library written in Go")
(description "This package provides an IMAP4rev1 library written in Go. It
can be used to build a client and/or a server.")
(license license:expat)))
(define-public go-github-com-emersion-go-sasl
(let ((commit "240c8404624e076f633766c16adbe96c7ac516b7")
(revision "0"))
(package
(name "go-github-com-emersion-go-sasl")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-sasl")
(commit commit)))
(sha256
(base32
"1py18p3clp474xhx6ypyp0bgv6n1dfm24m95cyyqb0k3vibar6ih"))
(file-name (git-file-name name version))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/emersion/go-sasl"))
(home-page "https://github.com/emersion/go-sasl")
(synopsis "SASL library written in Go")
(description "This package provides a SASL library written in Go.")
(license license:expat))))
(define-public go-github-com-emersion-go-imap-idle
(let ((commit "2704abd7050ed7f2143753554ee23affdf847bd9")
(revision "0"))
(package
(name "go-github-com-emersion-go-imap-idle")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/go-imap-idle")
(commit commit)))
(sha256
(base32
"0blwcadmxgqsdwgr9m4jqfbpfa2viw5ah19xbybpa1z1z4aj5cbc"))
(file-name (git-file-name name version))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/emersion/go-imap-idle"))
(native-inputs
`(("go-github-com-emersion-go-imap" ,go-github-com-emersion-go-imap)
("go-github-com-emersion-go-sasl" ,go-github-com-emersion-go-sasl)
("go-golang-org-x-text" ,go-golang-org-x-text)))
(home-page "https://github.com/emersion/go-imap-idle")
(synopsis "IDLE extension for go-imap")
(description "This package provides an IDLE extension for go-imap.")
(license license:expat))))
(define-public go-github-com-fatih-color
(package
(name "go-github-com-fatih-color")

View File

@ -5,6 +5,7 @@
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2020 Alexander Krotov <krotov@iitp.ru>
;;; Copyright © 2020 Pierre Langlois <pierre.langlos@gmx.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -235,6 +236,58 @@ lines.")
(define-public python-plotly
(package
(name "python-plotly")
(version "4.8.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/plotly/plotly.py.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"08ab677gr85m10zhixr6dnmlfws8q6sra7nhyb8nf3r8dx1ffqhz"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "packages/python/plotly")
#t))
(replace 'check
(lambda _
(invoke "pytest" "-x" "plotly/tests/test_core")
(invoke "pytest" "-x" "plotly/tests/test_io")
;; FIXME: Add optional dependencies and enable their tests.
;; (invoke "pytest" "-x" "plotly/tests/test_optional")
(invoke "pytest" "_plotly_utils/tests")))
(add-before 'reset-gzip-timestamps 'make-files-writable
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each (lambda (file) (chmod file #o644))
(find-files out "\\.gz"))
#t))))))
(native-inputs
`(("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-decorator" ,python-decorator)
("python-ipywidgets" ,python-ipywidgets)
("python-pandas" ,python-pandas)
("python-requests" ,python-requests)
("python-retrying" ,python-retrying)
("python-six" ,python-six)
("python-statsmodels" ,python-statsmodels)
("python-xarray" ,python-xarray)))
(home-page "https://plotly.com/python/")
(synopsis "Interactive plotting library for Python")
(description "Plotly's Python graphing library makes interactive,
publication-quality graphs online. Examples of how to make line plots, scatter
plots, area charts, bar charts, error bars, box plots, histograms, heatmaps,
subplots, multiple-axes, polar charts, and bubble charts. ")
(license license:expat)))
(define-public python-plotly-2.4.1
(package (inherit python-plotly)
(version "2.4.1")
(source
(origin
@ -243,26 +296,19 @@ lines.")
(sha256
(base32
"0s9gk2fl53x8wwncs3fwii1vzfngr0sskv15v3mpshqmrqfrk27m"))))
(build-system python-build-system)
(native-inputs '())
(propagated-inputs
`(("python-decorator" ,python-decorator)
("python-nbformat" ,python-nbformat)
("python-pandas" ,python-pandas)
("python-pytz" ,python-pytz)
("python-requests" ,python-requests)
("python-six" ,python-six)))
(arguments
'(#:tests? #f)) ; The tests are not distributed in the release
(propagated-inputs
`(("python-decorator" ,python-decorator)
("python-nbformat" ,python-nbformat)
("python-pandas" ,python-pandas)
("python-pytz" ,python-pytz)
("python-requests" ,python-requests)
("python-six" ,python-six)))
(home-page "https://plot.ly/python/")
(synopsis "Interactive plotting library for Python")
(description "Plotly's Python graphing library makes interactive,
publication-quality graphs online. Examples of how to make line plots, scatter
plots, area charts, bar charts, error bars, box plots, histograms, heatmaps,
subplots, multiple-axes, polar charts, and bubble charts. ")
(license license:expat)))
'(#:tests? #f)))) ; The tests are not distributed in the release
(define-public python2-plotly
(package-with-python2 python-plotly))
(package-with-python2 python-plotly-2.4.1))
(define-public python-louvain
(package

View File

@ -405,9 +405,11 @@ exception-handling library.")
(base32
"195rs0kdbs8w62irha1nwy83bccz04wglmk578qrj1mky7fc4rjv"))
(patches
;; Patch submitted to upstream (see:
;; https://gitlab.com/inkscape/lib2geom/merge_requests/17).
(search-patches "lib2geom-enable-assertions.patch"))
;; Patches submitted to upstream (see:
;; https://gitlab.com/inkscape/lib2geom/merge_requests/17,
;; https://gitlab.com/inkscape/lib2geom/-/merge_requests/32).
(search-patches "lib2geom-enable-assertions.patch"
"lib2geom-fix-tests.patch"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -27,6 +27,7 @@
;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2020 Julien Lepiler <julien@lepiller.eu>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1396,7 +1397,7 @@ PostgreSQL.")
(define-public guile-config
(package
(name "guile-config")
(version "0.4.1")
(version "0.4.2")
(source
(origin
(method git-fetch)
@ -1405,7 +1406,7 @@ PostgreSQL.")
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32
"1c59ch96d5p4c7si8qp55fdc15375klf2hyh29y3ap8ahqx9pxqj"))))
"09028ylbddjdp3d67zdjz3pnsjqz6zs2bfck5rr3dfaa0qjap40n"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@ -2483,163 +2484,162 @@ completion, a simple mode line, etc.")
(license license:gpl3+))))
(define-public guile-stis-parser
(let ((commit "6e85d37ffc333b722f4413a6c648263701eb75bd")
(revision "1"))
(package
(name "guile-stis-parser")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/tampe/stis-parser")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0v4hvq7rlpbra1ni73lf8k6sdmjlflr50yi3p1f24g85h77pc7c0"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; not supported
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "modules") #t))
(add-after 'chdir 'use-canonical-directory-for-go-files
(lambda _
(substitute* "Makefile.am"
(("/ccache") "/site-ccache"))
#t))
(add-after 'chdir 'delete-broken-symlink
(lambda _
(delete-file "parser/stis-parser/lang/.#calc.scm")
#t)))))
(inputs
`(("guile" ,guile-2.2)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
(home-page "https://gitlab.com/tampe/stis-parser")
(synopsis "Parser combinator framework")
(description
"This package provides a functional parser combinator library that
(package
(name "guile-stis-parser")
(version "1.2.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/tampe/stis-parser")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1fvxdfvc80zqhwzq5x3kxyr6j8p4b51yx85fx1gr3d4gy2ddpx5w"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; not supported
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "modules") #t))
(add-after 'chdir 'delete-broken-symlink
(lambda _
(delete-file "parser/stis-parser/lang/.#calc.scm")
#t)))))
(inputs
`(("guile" ,guile-3.0)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
(home-page "https://gitlab.com/tampe/stis-parser")
(synopsis "Parser combinator framework")
(description
"This package provides a functional parser combinator library that
supports backtracking and a small logical framework. The idea is to build up
chunks that are memoized and there is no clear scanner/parser separation,
chunks can be expressions as well as simple tokens.")
(license license:lgpl2.0+))))
(license license:lgpl2.0+)))
(define-public guile-persist
(let ((commit "b14927b0368af51c024560aee5f55724aee35233")
(revision "1"))
(package
(name "guile-persist")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/tampe/guile-persist")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0z5nf377wh8yj6n3sx2ddn4bdx1qrqnw899dlqjhg0q69qzil522"))
(modules '((guix build utils)))
(snippet
'(begin
;; Install .go files in the right place.
(substitute* "Makefile.am"
(("/ccache") "/site-ccache"))
#t))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-prefix
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "src/Makefile.am"
(("/usr/local/lib/guile")
(string-append (assoc-ref outputs "out") "/lib/guile"))
(("/usr/local/include/guile")
(string-append (assoc-ref inputs "guile") "/include/guile"))
(("-L/usr/local/lib")
(string-append "-L" (assoc-ref inputs "guile") "/lib"))
;; Use canonical directory for go files.
(("/ccache") "/site-ccache"))
#t))
(add-after 'unpack 'patch-library-reference
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "persist/persistance.scm"
(("\"libguile-persist\"")
(format #f "\"~a/lib/guile/2.2/extensions/libguile-persist\"" out)))
#t))))))
(inputs
`(("guile" ,guile-2.2)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(home-page "https://gitlab.com/tampe/guile-persist")
(synopsis "Persistence programming framework for Guile")
(description
"This is a serialization library for serializing objects like classes
(package
(name "guile-persist")
(version "1.2.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/tampe/guile-persist")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"19f8hqcax4v40858kx2j8fy1cvzc2djj99r0n17dy1xxmwa097qi"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-prefix
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "src/Makefile.am"
(("/usr/local/lib/guile")
(string-append (assoc-ref outputs "out") "/lib/guile"))
(("/usr/local/include/guile")
(string-append (assoc-ref inputs "guile") "/include/guile"))
(("-L/usr/local/lib")
(string-append "-L" (assoc-ref inputs "guile") "/lib")))
#t))
(add-after 'unpack 'patch-library-reference
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "persist/persistance.scm"
(("\"libguile-persist\"")
(format #f "\"~a/lib/guile/3.0/extensions/libguile-persist\"" out)))
#t))))))
(inputs
`(("guile" ,guile-3.0)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(home-page "https://gitlab.com/tampe/guile-persist")
(synopsis "Persistence programming framework for Guile")
(description
"This is a serialization library for serializing objects like classes
and objects, closures and structs. This currently does not support
serializing continuations or delimited continuations.")
(license license:lgpl2.0+))))
(license license:lgpl2.0+)))
(define-public python-on-guile
(let ((commit "00a51a23247f1edc4ae8eda72b30df5cd7d0015f")
(revision "3"))
(package
(name "python-on-guile")
(version (git-version "0.1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.elephly.net/software/python-on-guile.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"03rpnqr08rqr3gay128g564rwk8w4jbj28ss6b46z1d4vjs4nk68"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; not supported
#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "modules") #t))
(add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys)
;; Wrap the 'python' executable so it can find its
;; dependencies.
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/python")
`("GUILE_LOAD_PATH" ":" prefix
(,(getenv "GUILE_LOAD_PATH")))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
(,(getenv "GUILE_LOAD_COMPILED_PATH"))))
#t))))))
(inputs
`(("guile" ,guile-2.2)))
(propagated-inputs
`(("guile-persist" ,guile-persist)
("guile-readline" ,guile-readline)
("guile-stis-parser" ,guile-stis-parser)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(home-page "https://gitlab.com/python-on-guile/python-on-guile/")
(synopsis "Python implementation in Guile")
(description
"This package allows you to compile a Guile Python file to any target
(package
(name "python-on-guile")
(version "1.2.3.5")
(home-page "https://gitlab.com/python-on-guile/python-on-guile")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"05xrvcj6a4gzq1ybyin270qz8wamgc7w2skyi9iy6hkpgdhxy8vf"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ;not supported
#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "modules") #t))
(add-after 'chdir 'augment-GUILE_LOAD_PATH
(lambda _
;; TODO: It would be better to patch the Makefile.
(setenv "GUILE_LOAD_PATH"
(string-append ".:"
(getenv "GUILE_LOAD_PATH")))
#t))
(add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys)
;; Wrap the 'python' executable so it can find its
;; dependencies and own modules.
(let* ((out (assoc-ref outputs "out"))
(guile-version ,(version-major+minor
(package-version guile-3.0)))
(scm (string-append out "/share/guile/site/"
guile-version))
(ccache (string-append out "/lib/guile/" guile-version
"/site-ccache"))
(load-path (string-join
(cons scm
;; XXX: cdr because we augment it above.
(cdr (string-split
(getenv "GUILE_LOAD_PATH") #\:)))
":"))
(compiled-path (string-append
ccache ":"
(getenv "GUILE_LOAD_COMPILED_PATH"))))
(wrap-program (string-append out "/bin/python")
`("GUILE_LOAD_PATH" ":" prefix
(,load-path))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
(,compiled-path)))
#t))))))
(inputs
`(("guile" ,guile-3.0)
("guile-persist" ,guile-persist)
("guile-readline" ,guile-readline)
("guile-stis-parser" ,guile-stis-parser)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(synopsis "Python implementation in Guile")
(description
"This package allows you to compile a Guile Python file to any target
from @code{tree-il}.")
(license license:lgpl2.0+))))
(license license:lgpl2.0+)))
(define-public guile-file-names
(package

View File

@ -308,6 +308,19 @@ without requiring the source code to be rewritten.")
(files '("lib/guile/3.0/site-ccache"
"share/guile/site/3.0")))))))
(define-public guile-3.0-latest
;; TODO: Make this 'guile-3.0' on the next rebuild cycle.
(package
(inherit guile-3.0)
(version "3.0.4")
(source (origin
(inherit (package-source guile-3.0))
(uri (string-append "mirror://gnu/guile/guile-"
version ".tar.xz"))
(sha256
(base32
"0c8dkyvs6xbxp7rgnhkyakajzhakay7qn9kahj1mj49x5vf4fybb"))))))
(define-public guile-next
(deprecated-package "guile-next" guile-3.0))
@ -317,7 +330,7 @@ without requiring the source code to be rewritten.")
;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40525
(hidden-package
(package
(inherit guile-3.0)
(inherit guile-3.0-latest)
(propagated-inputs
`(("bdw-gc" ,libgc-7)
,@(srfi-1:alist-delete "bdw-gc" (package-propagated-inputs guile-3.0)))))))

View File

@ -341,14 +341,14 @@ to @code{cabal repl}).")
(define-public git-annex
(package
(name "git-annex")
(version "8.20200522")
(version "8.20200617")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz"))
(sha256
(base32 "1v71k5k9mcj1nq4pb8apx99rgw2rmckr6yshhvjl1dr6j70d67x8"))))
(base32 "1vgpqbscvxm03ibxy6cjnp9vd1wpsr3gkajp4z3m9nnkmjz5r4q4"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags
@ -762,6 +762,58 @@ advanced user's otherwise working script to fail under future circumstances.
@end enumerate")
(license license:gpl3+)))
(define-public shelltestrunner
(package
(name "shelltestrunner")
(version "1.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://hackage/package/shelltestrunner-"
version "/shelltestrunner-" version ".tar.gz"))
(sha256
(base32
"1a5kzqbwg6990249ypw0cx6cqj6663as1kbj8nzblcky8j6kbi6b"))))
(build-system haskell-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(delete 'check)
(add-after 'install 'check
(lambda* (#:key outputs tests? parallel-tests? #:allow-other-keys)
;; This test is inspired by the Makefile in the upstream
;; repository, which is missing in the Hackage release tarball
;; along with some of the tests. The Makefile would not work
;; anyway as it ties into the 'stack' build tool.
(let* ((out (assoc-ref outputs "out"))
(shelltest (string-append out "/bin/shelltest"))
(numjobs (if parallel-tests?
(number->string (parallel-job-count))
"1")))
(if tests?
(invoke shelltest (string-append "-j" numjobs)
"tests/examples")
(format #t "test suite not run~%"))
#t))))))
(inputs
`(("ghc-diff" ,ghc-diff)
("ghc-cmdargs" ,ghc-cmdargs)
("ghc-filemanip" ,ghc-filemanip)
("ghc-hunit" ,ghc-hunit)
("ghc-pretty-show" ,ghc-pretty-show)
("ghc-regex-tdfa" ,ghc-regex-tdfa)
("ghc-safe" ,ghc-safe)
("ghc-utf8-string" ,ghc-utf8-string)
("ghc-test-framework" ,ghc-test-framework)
("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
(home-page "https://github.com/simonmichael/shelltestrunner")
(synopsis "Test CLI programs")
(description
"shelltestrunner (executable: @command{shelltest}) is a command-line tool
for testing command-line programs, or general shell commands. It reads simple
test specifications defining a command to run, some input, and the expected
output, stderr, and exit status.")
(license license:gpl3+)))
(define-public stylish-haskell
(package
(name "stylish-haskell")

View File

@ -8,6 +8,7 @@
;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@gmail.com>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -93,6 +94,27 @@ for screen-scraping.")
(description "HTTP cookie parsing and rendering library for Haskell.")
(license license:bsd-3)))
(define-public ghc-curl
(package
(name "ghc-curl")
(version "1.3.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://hackage/package/curl/curl-"
version ".tar.gz"))
(sha256
(base32
"0vj4hpaa30jz7c702xpsfvqaqdxz28zslsqnsfx6bf6dpwvck1wh"))))
(build-system haskell-build-system)
(inputs
`(("curl" ,curl)))
(home-page "https://hackage.haskell.org/package/curl")
(synopsis "Haskell bindings for libcurl")
(description
"@code{libcurl} is a versatile client-side URL transfer library.
This package provides a Haskell binding to libcurl.")
(license license:bsd-3)))
(define-public ghc-httpd-shed
(package
(name "ghc-httpd-shed")

View File

@ -9812,6 +9812,29 @@ the ideal templating system.")
replace the standard one provided by GHC.")
(license license:expat)))
(define-public ghc-psqueue
(package
(name "ghc-psqueue")
(version "1.1.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://hackage/package/PSQueue-"
version "/PSQueue-" version ".tar.gz"))
(sha256
(base32
"1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza"))))
(build-system haskell-build-system)
(home-page "https://hackage.haskell.org/package/PSQueue")
(synopsis "Priority search queue")
(description
"A @dfn{priority search queue} efficiently supports the operations of
both a search tree and a priority queue. A @code{Binding} is a product of
a key and a priority. Bindings can be inserted, deleted, modified and queried
in logarithmic time, and the binding with the least priority can be retrieved
in constant time. A queue can be built from a list of bindings, sorted by
keys, in linear time.")
(license license:bsd-3)))
(define-public ghc-psqueues
(package
(name "ghc-psqueues")
@ -10249,6 +10272,29 @@ This is not good for Unicode users. This modified regex-compat uses regex-tdfa
this problem.")
(license license:bsd-3)))
(define-public ghc-regex-pcre
(package
(name "ghc-regex-pcre")
(version "0.94.4")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"regex-pcre/regex-pcre-" version ".tar.gz"))
(sha256
(base32
"1h16w994g9s62iwkdqa7bar2n9cfixmkzz2rm8svm960qr57valf"))))
(build-system haskell-build-system)
(inputs
`(("ghc-regex-base" ,ghc-regex-base)
("pcre" ,pcre)))
(home-page "https://hackage.haskell.org/package/regex-pcre")
(synopsis "Enhancement of the builtin Text.Regex library")
(description
"This package is an enhancement of the @code{Text.Regex} library.
It wraps the @code{PCRE} C library providing Perl-compatible regular
expressions.")
(license license:bsd-3)))
(define-public ghc-regex-pcre-builtin
(package
(name "ghc-regex-pcre-builtin")
@ -10264,7 +10310,7 @@ this problem.")
(build-system haskell-build-system)
(inputs
`(("ghc-regex-base" ,ghc-regex-base)))
(home-page "https://hackage.haskell.org/package/regex-pcre")
(home-page "https://hackage.haskell.org/package/regex-pcre-builtin")
(synopsis "Enhancement of the builtin Text.Regex library")
(description
"This package is an enhancement of the @code{Text.Regex} library,

View File

@ -131,11 +131,21 @@ GNU/Hurd."
(build-system gnu-build-system)
;; Flex is needed both at build and run time.
(inputs `(("gnumach-headers" ,gnumach-headers)
("flex" ,flex)))
("flex" ,flex)
("perl" ,perl)))
(native-inputs
`(("flex" ,flex)
("bison" ,bison)))
(arguments `(#:tests? #f))
(arguments `(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'install 'patch-non-shebang-references
(lambda* (#:key build inputs outputs #:allow-other-keys)
(let ((perl (assoc-ref inputs "perl"))
(out (assoc-ref outputs "out")))
(substitute* (string-append out "/bin/mig")
(("perl ") (string-append perl "/bin/perl ")))
#t))))))
(home-page "https://www.gnu.org/software/hurd/microkernel/mach/mig/gnu_mig.html")
(synopsis "Mach 3.0 interface generator for the Hurd")
(description

View File

@ -95,6 +95,22 @@ C/C++ part.")
(license x11)
(home-page "http://site.icu-project.org/")))
(define-public icu4c-67
(package
(inherit icu4c)
(version "67.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/unicode-org/icu/releases/download/release-"
(string-map (lambda (x) (if (char=? x #\.) #\- x)) version)
"/icu4c-"
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
"-src.tgz"))
(sha256
(base32
"1p6mhvxl0xr2n0g6xdps3mwzwlv6mjsz3xlpm793p9aiybb0ra4l"))))))
(define-public icu4c-build-root
(package
(inherit icu4c)

View File

@ -9,6 +9,7 @@
;;; Copyright © 2018 Lprndn <guix@lprndn.info>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -487,6 +488,43 @@ quickly, especially on machines with more than one CPU core. This is primarily
due to its architecture which automatically parallelises the image workflows.")
(license license:lgpl2.1+)))
(define-public gmic
(package
(name "gmic")
(version "2.9.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://gmic.eu/files/source/gmic_"
version ".tar.gz"))
(sha256
(base32 "13axx7nwchn6ysgpvlw3fib474q4nrwv3qn20g3q03ldid0xvjah"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;there are no tests
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("curl" ,curl)
("fftw" ,fftw)
("graphicsmagick" ,graphicsmagick)
("libjpeg-turbo" ,libjpeg-turbo)
("libpng" ,libpng)
("libtiff" ,libtiff)
("libx11" ,libx11)
;;("opencv" ,opencv) ;OpenCV is currently broken in the CI
("openexr" ,openexr)
("zlib" ,zlib)))
(home-page "https://gmic.eu/")
(synopsis "Full-featured framework for digital image processing")
(description "G'MIC is a full-featured framework for digital image
processing. It provides several user interfaces to convert / manipulate
/ filter / visualize generic image datasets, ranging from 1D scalar
signals to 3D+t sequences of multi-spectral volumetric images, hence
including 2D color images.")
;; Dual-licensed, either license applies.
(license (list license:cecill license:cecill-c))))
(define-public nip2
(package
(name "nip2")

View File

@ -213,6 +213,11 @@ endif()~%~%"
(arguments
`(#:tests? #t
#:test-target "check" ;otherwise some test binaries are missing
#:imported-modules (,@%cmake-build-system-modules
(guix build glib-or-gtk-build-system))
#:modules ((guix build cmake-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-icon-cache-generator
@ -240,7 +245,11 @@ endif()~%~%"
;; as the "share/inkscape/ui/units.xml" file.
(delete 'check)
(add-after 'install 'check
(assoc-ref %standard-phases 'check)))))
(assoc-ref %standard-phases 'check))
(add-after 'install 'glib-or-gtk-compile-schemas
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
(add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(inputs
`(("aspell" ,aspell)
("autotrace" ,autotrace)

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -212,7 +213,7 @@ written in Go.")
(define-public go-ipfs
(package
(name "go-ipfs")
(version "0.4.23")
(version "0.5.1")
(source
(origin
(method url-fetch/tarbomb)
@ -220,7 +221,7 @@ written in Go.")
"https://dist.ipfs.io/go-ipfs/v" version
"/go-ipfs-source.tar.gz"))
(sha256
(base32 "191ir4h6c76xcnbwx9fj8j2lzzqyp10inmqd8sa393b5y0jmhi5a"))
(base32 "0lpilycjbc1g9adp4d5kryfprixj18hg3235fnivakmv7fy2akkm"))
(file-name (string-append name "-" version "-source"))))
(build-system go-build-system)
(arguments

View File

@ -48,6 +48,7 @@
#:use-module (gnu packages gnupg)
#:use-module (gnu packages guile)
#:use-module (gnu packages lua)
#:use-module (gnu packages lxqt)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
@ -77,6 +78,7 @@
(sha256
(base32
"0mg8jydc70vlylppzich26q4s40kr78r3ysfyjwisfvlg2byxvs8"))
(patches (search-patches "quassel-qt-514-compat.patch"))
(modules '((guix build utils)))
;; We don't want to install the bundled scripts.
(snippet
@ -111,6 +113,7 @@
("qttools" ,qttools)))
(inputs
`(("inxi" ,inxi-minimal)
("libdbusmenu-qt" ,libdbusmenu-qt)
("qca" ,qca)
("qtbase" ,qtbase)
("qtmultimedia" ,qtmultimedia)

View File

@ -54,7 +54,6 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gl)
#:use-module (gnu packages ghostscript) ;lcms
#:use-module (gnu packages gnome)
@ -165,6 +164,64 @@ defined in The Java Language Specification into the bytecoded instruction set
and binary format defined in The Java Virtual Machine Specification.")
(license license:ibmpl1.0)))
(define-public drip
;; Last release is from 2014, with a few important commits afterwards.
(let ((commit "a4bd00df0199e78243847f06cc04ecaea31f8f08"))
(package
(name "drip")
(version (git-version "0.2.4" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ninjudd/drip")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0wzmjwfyldr3jn49517xd8yn7dgdk8h88qkga3kjyg1zc375ylg2"))))
(build-system gnu-build-system)
(native-inputs
`(("jdk" ,icedtea "jdk")))
(arguments
`(#:tests? #f ; No tests.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'install 'fix-wrapper
(lambda* (#:key inputs #:allow-other-keys)
(let ((jps (string-append (assoc-ref inputs "jdk") "/bin/jps")))
(substitute* "bin/drip"
(("jps") jps)
(("brew update && brew upgrade drip") "guix pull && guix install drip")
;; No need to make:
(("\\(cd -- \"\\$drip_dir\" && make -s\\) \\|\\| exit 1") "")
;; No need to include source:
(("\\[\\[ -r \\$drip_dir/src/org/flatland/drip/Main\\.java \\]\\]")
"true"))
#t)))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(share (string-append out "/share/drip")))
(mkdir-p bin)
(for-each
(lambda (file)
(install-file (string-append "bin/" file) bin))
'("drip" "drip_daemon" "drip_proxy"))
(install-file "drip.jar" share)
(substitute* (string-append bin "/drip")
(("drip_dir=\\$bin_dir/..")
(string-append "drip_dir=" share)))
#t))))))
(home-page "https://github.com/ninjudd/drip")
(synopsis "Faster Java Virtual Machine launching")
(description "Drip is a launcher for the Java Virtual Machine that
provides much faster startup times than the @command{java} command. The @command{drip}
script is intended to be a drop-in replacement for the @command{java} command,
only faster.")
(license license:epl1.0))))
;; This is the last version of GNU Classpath that can be built without ECJ.
(define classpath-bootstrap
(package
@ -254,11 +311,6 @@ language.")
("libffi" ,libffi)
("zip" ,zip)
("zlib" ,zlib)))
;; When built with a recent GCC and glibc the configure step of icedtea-6
;; fails with an invalid instruction error.
(native-inputs
`(("gcc" ,gcc-5)
("libc" ,glibc-2.28)))
(home-page "http://jamvm.sourceforge.net/")
(synopsis "Small Java Virtual Machine")
(description "JamVM is a Java Virtual Machine conforming to the JVM
@ -708,6 +760,8 @@ machine.")))
(sha256
(base32
"1nl0zxz8y5x8gwsrm7n32bry4dx8x70p8z3s9jbdvs8avyb8whkn"))
(patches
(search-patches "jamvm-2.0.0-disable-branch-patching.patch"))
(snippet
'(begin
;; Remove precompiled software.
@ -7363,8 +7417,7 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;"))
`(("junit" ,java-junit)))
(propagated-inputs
`(("java-stringtemplate" ,java-stringtemplate-3)
("antlr" ,antlr2)
("antlr3" ,antlr3-3.1)))))
("antlr" ,antlr2)))))
(define-public antlr3-3.1
(package
@ -11926,6 +11979,7 @@ Isolation and Durability) properties.")
(uri (git-reference
(url "https://github.com/remkop/picocli")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1sxp6rxjfgjd98ly14b3d15dvxkm5wg4g46w12jyhmr0kmkaca3c"))))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;;
;;; This file is part of GNU Guix.
;;;
@ -287,21 +288,48 @@ This package is part of the KDE multimedia module.")
(define-public k3b
(package
(name "k3b")
(version "20.04.1")
(version "20.04.2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/release-service/" version
"/src/k3b-" version ".tar.xz"))
(sha256
(base32 "0r01ninrrmqk7pl5jg0g51fcky1ammw0yyq572wyhibw7q8y7ly7"))))
(base32 "15wm987hz6rfs9ds9l1gbs6gdsardj1ywvk6zmpvj2i2190y4b3q"))))
(build-system qt-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'set-absolute-library-paths
(lambda _
;; Set absolute paths for dlopened libraries. We cant use k3bs
;; runpath as they are loaded by the Qt library.
(let ((libcdio-paranoia (assoc-ref %build-inputs "libcdio-paranoia"))
(libdvdcss (assoc-ref %build-inputs "libdvdcss")))
(substitute* "libk3b/tools/k3bcdparanoialib.cpp"
(("\"(cdio_cdda|cdio_paranoia)\"" _ library)
(string-append "\"" libcdio-paranoia "/lib/" library "\"")))
(substitute* "libk3b/tools/k3blibdvdcss.cpp"
(("\"(dvdcss)\"" _ library)
(string-append "\"" libdvdcss "/lib/" library "\""))))
#t))
(add-after 'qt-wrap 'wrap-path
(lambda _
;; Set paths to backend programs.
(wrap-program (string-append (assoc-ref %outputs "out") "/bin/k3b")
`("PATH" ":" prefix
,(map (lambda (input)
(string-append (assoc-ref %build-inputs input) "/bin"))
'("cdrdao" "dvd+rw-tools" "libburn" "sox"))))
#t)))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)
("kdoctools" ,kdoctools)))
(inputs
`(("ffmpeg" ,ffmpeg)
`(("cdrdao" ,cdrdao)
("dvd+rw-tools" ,dvd+rw-tools)
("ffmpeg" ,ffmpeg)
("flac" ,flac)
("karchive" ,karchive)
("kcmutils" ,kcmutils)
@ -319,6 +347,9 @@ This package is part of the KDE multimedia module.")
("kwidgetsaddons" ,kwidgetsaddons)
("kxmlgui" ,kxmlgui)
("lame" ,lame)
("libburn" ,libburn)
("libcdio-paranoia" ,libcdio-paranoia)
("libdvdcss" ,libdvdcss)
("libdvdread" ,libdvdread)
;; TODO: LibFuzzer
("libiconv" ,libiconv)
@ -334,13 +365,17 @@ This package is part of the KDE multimedia module.")
("qtwebkit" ,qtwebkit)
("shared-mime-info" ,shared-mime-info)
("solid" ,solid)
("sox" ,sox)
("taglib" ,taglib)))
(home-page "https://kde.org/applications/multimedia/org.kde.k3b")
(synopsis "Sophisticated CD/DVD burning application")
(description "K3b is CD-writing software which intends to be feature-rich
and provide an easily usable interface. Features include burning audio CDs
from .WAV and .MP3 audio files, configuring external programs and configuring
devices.")
devices.
The @code{udisks-service} should be enabled for @command{k3b} to discover the
available CD drives.")
(license ;; GPL for programs, FDL for documentation
(list license:gpl2+ license:fdl1.2+))))

View File

@ -567,20 +567,20 @@ different notification systems.")
(define-public kdeconnect
(package
(name "kdeconnect")
(version "1.4")
(version "20.04.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/kdeconnect/"
version "/kdeconnect-kde-"
(uri (string-append "mirror://kde/stable/release-service/"
version "/src/kdeconnect-kde-"
version ".tar.xz"))
(sha256
(base32
"06i6spspqpl79x6z2bfvbgd08b3h1pyx5j1xjhd8ifyrm52pkvna"))))
"1knhpjdbffw858dfd9kml91a02fkc0rcjydfavcyr79j9x8mv3bq"))))
(build-system qt-build-system)
(arguments
`(#:configure-flags '("-DBUILD_TESTING=ON"
"-DLIBEXEC_INSTALL_DIR=libexec")
"-DKDE_INSTALL_LIBEXECDIR=libexec")
#:phases (modify-phases %standard-phases
(add-after 'set-paths 'extend-CPLUS_INCLUDE_PATH
(lambda* (#:key inputs #:allow-other-keys)

View File

@ -269,7 +269,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.")
(define-public kodi
(package
(name "kodi")
(version "18.7")
(version "18.7.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -278,7 +278,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.")
(file-name (git-file-name name version))
(sha256
(base32
"082cpih84j7v29w55qhj0rdia7hdjpwi81qywiwawd4vlyimpv2h"))
"1ypn29yhy49mz9x4xqh2zfdrsbfwm1b4canvh9zvy9c1irjwf419"))
(patches (search-patches "kodi-skip-test-449.patch"
"kodi-increase-test-timeout.patch"
"kodi-set-libcurl-ssl-parameters.patch"))

View File

@ -166,12 +166,14 @@ with usb4java.")
(name "java-usb4java")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/usb4java/usb4java/"
"archive/usb4java-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/usb4java/usb4java")
(commit (string-append "usb4java-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0gzpsnzwgsdyra3smq288yvxnwrgvdwxr6g8jbknnsk56kv6wc34"))))
"0aip6k24czz5g58qwb963mpick0b6ks774drfpdd8gcdvj9iv87j"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "usb4java.jar"

View File

@ -512,14 +512,6 @@ and video calls or instant messaging capabilities to an application.")
`(#:tests? #f ; No test target
#:phases
(modify-phases %standard-phases
(add-after 'set-paths 'set-qt-rcc-source-date-override
(lambda _
;; This fixes a reproducibility problem where the Qt Resource
;; Compiler (RCC) includes timestamp of its source files
;; (see: https://reproducible-builds.org/docs/
;; deterministic-build-systems/#cmake-notes).
(setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
#t))
(add-after 'unpack 'fix-cmake-error
(lambda _
;; This is fixed in commit efed2fd8 of the master branch.

View File

@ -371,50 +371,50 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(sha256 hash)))
(define-public linux-libre-5.7-version "5.7.2")
(define-public linux-libre-5.7-version "5.7.6")
(define-public linux-libre-5.7-pristine-source
(let ((version linux-libre-5.7-version)
(hash (base32 "02brxm78n0kg4mh48acvjsr7mpvaqd279ycyaixaflid1s1awrb0")))
(hash (base32 "1rhhys2fvfrfsc6lk0qkq59p83qhwvns4jhk0jlyylyzqqywkm4z")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.7)))
(define-public linux-libre-5.4-version "5.4.46")
(define-public linux-libre-5.4-version "5.4.49")
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "13hvnfdcbcb9a21zizq8d90mc8maxz03zmzsj6iqsjd2y7r4y1rh")))
(hash (base32 "0g2psjf2q10mfc3vv6brjn6s2nkg73ll1s04gpshw907d9irpn2m")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.128")
(define-public linux-libre-4.19-version "4.19.130")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "0g31ad3wziy4xqna0yvwjcnza3jhd93syjpfvmwh0b4pkj2adar9")))
(hash (base32 "03zhsizj53ngwxn7d4mzix9xbxxd5lhbzrvawvbb91f83pkc14m6")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.184")
(define-public linux-libre-4.14-version "4.14.186")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "0h6r06c1d7amkfglsr66ic89p0zxpmk7jkq1ylcbknmkiwkixx9g")))
(hash (base32 "0q52fmkiqa9hpdkf0wlpcqnc6wqssqz6cgfk1ix1anq0h5hl4ns4")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.227")
(define-public linux-libre-4.9-version "4.9.228")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
(hash (base32 "0pqc0wld4s4zjas95xm54mrkk00l9zkc59b6i9gq4km126s8bi1q")))
(hash (base32 "0d7w2zzs79ywxzfrh4bmk5lw318qbkcb8mcsyyh3cc25qqlz9gwg")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
(define-public linux-libre-4.4-version "4.4.227")
(define-public linux-libre-4.4-version "4.4.228")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
(hash (base32 "196x57w740firg8zchypq4vq6a83ymmwn9amqrscym9zr0pcgm40")))
(hash (base32 "0y1xc5lk8j3p5maarksmh18wy921rgcngzsih7q1a82rah1fsjxr")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@ -1087,6 +1087,29 @@ network adapters.")
between the CDemu userspace daemon and linux kernel.")
(license license:gpl2+)))
(define-public bbswitch-module
(package
(name "bbswitch-module")
(version "0.8")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Bumblebee-Project/bbswitch")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1glch4j0x1dzlp2yrb67v2r5jg9609jb6p8m251y78m74advqw0l"))))
(build-system linux-module-build-system)
(arguments
;; No tests.
`(#:tests? #f))
(home-page "https://github.com/Bumblebee-Project/bbswitch")
(synopsis "Kernel module that disables discrete Nvidia graphics cards")
(description "The bbswitch module provides a way to toggle the Nvidia
graphics card on Optimus laptops.")
(license license:gpl2)))
(define-public ddcci-driver-linux
(package
(name "ddcci-driver-linux")
@ -1463,12 +1486,13 @@ block devices, UUIDs, TTYs, and many other tools.")
(name "ddate")
(version "0.2.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/bo0ts/ddate/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/bo0ts/ddate")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1bbqqq8mswj4bp9083gxjaky5ysfznax4cynsqwmy125z053yg6m"))))
(base32 "1qchxnxvghbma6gp1g78wnjxsri0b72ha9axyk31cplssl7yn73f"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f))
(home-page "https://github.com/bo0ts/ddate")
@ -3764,13 +3788,14 @@ particular the @code{perf} command.")
(name "pflask")
(version "0.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ghedo/pflask/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/ghedo/pflask")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1g8fjj67dfkc2s0852l9vqi1pm61gp4rxbpzbzg780f5s5hd1fys"))))
"1jikjbhlxlqracnai3v9krzcgd2xwp0p4adw5n07yxc7b857damz"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no tests
@ -6266,13 +6291,14 @@ NexGen, Rise, and SiS CPUs.")
(version "0.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/JasonFerrara/jmtpfs/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/JasonFerrara/jmtpfs")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"10v8d7mmx8b8123x5f9y9zaaa428ms6wkngwn2ra71n5a53wrjn0"))))
"1pm68agkhrwgrplrfrnbwdcvx5lrivdmqw8pb5gdmm3xppnryji1"))))
(build-system gnu-build-system)
(inputs
`(("file" ,file)
@ -6293,12 +6319,13 @@ the MTP device as a file system.")
(version "0.51")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/jamesodhunt/procenv/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/jamesodhunt/procenv")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1javw97yw0qvjmj14js8vw6nsfyf2xc0kfiyq5f2hsp0553w2cdq"))))
(base32 "1ilrsw1rc85w29mkbkmm5n5w427gapv43yrjzvkb4kc9xhscgdjn"))))
(build-system gnu-build-system)
(arguments `(#:configure-flags '("--disable-silent-rules")))
(native-inputs `(("groff" ,groff) ; for tests
@ -6817,12 +6844,18 @@ the superuser to make device nodes.")
(substitute* "Makefile"
(("/bin/sh") (which "sh")))
#t))
(add-after 'unpack 'patch-getopt
(add-after 'unpack 'patch-script
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "scripts/fakeroot.in"
(("getopt")
(string-append (assoc-ref inputs "util-linux")
"/bin/getopt")))
"/bin/getopt"))
(("sed")
(string-append (assoc-ref inputs "sed")
"/bin/sed"))
(("cut")
(string-append (assoc-ref inputs "coreutils")
"/bin/cut")) )
#t))
(add-before 'configure 'setenv
(lambda _
@ -6859,7 +6892,9 @@ the superuser to make device nodes.")
("xz" ,xz))) ; for the tests
(inputs
`(("libcap" ,libcap/next)
("util-linux" ,util-linux)))
("util-linux" ,util-linux)
("sed" ,sed)
("coreutils" ,coreutils)))
(synopsis "Provides a fake root environment")
(description "@command{fakeroot} runs a command in an environment where
it appears to have root privileges for file manipulation. This is useful

View File

@ -3592,11 +3592,13 @@ process form data posted with HTTP POST method using enctype
(version "2.0.4")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/pmai/md5/archive/release-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/pmai/md5")
(commit (string-append "release-" version))))
(file-name (git-file-name "md5" version))
(sha256
(base32 "19yl9n0pjdz5gw4qi711lka97xcd9f81ylg434hk7jwn9f2s6w11"))))
(base32 "1waqxzm7vlc22n92hv8r27anlvvjkkh9slhrky1ww7mdx4mmxwb8"))))
(build-system asdf-build-system/sbcl)
(home-page "https://github.com/pmai/md5")
(synopsis
@ -5719,22 +5721,7 @@ offered, one SAX-like, the other similar to StAX.")
(install-file "catalog.dtd"
(string-append
(assoc-ref outputs "out")
"/lib/" (%lisp-type)))))
(add-after 'create-asd 'remove-component
;; XXX: The original .asd has no components, but our build system
;; creates an entry nonetheless. We need to remove it for the
;; generated .asd to load properly. See trivia.trivial for a
;; similar problem.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(asd (string-append out "/lib/sbcl/cxml.asd")))
(substitute* asd
((" :components
")
""))
(substitute* asd
((" *\\(\\(:compiled-file \"cxml--system\"\\)\\)")
""))))))))))
"/lib/" (%lisp-type))))))))))
(define-public cl-cxml
(sbcl-package->cl-source-package sbcl-cxml))
@ -6136,7 +6123,6 @@ This package uses fare-quasiquote with named-readtable.")))
(define-public cl-fare-quasiquote-readtable
(sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable))
;; TODO: Add support for component-less system in asdf-build-system/sbcl.
(define-public sbcl-fare-quasiquote-extras
(package
(inherit sbcl-fare-quasiquote)
@ -6156,22 +6142,7 @@ This package uses fare-quasiquote with named-readtable.")))
(install-file "fare-quasiquote-extras.asd" lib)
(make-file-writable
(string-append lib "/fare-quasiquote-extras.asd"))
#t)))
(add-after 'create-asd-file 'fix-asd-file
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib/" (%lisp-type)))
(asd (string-append lib "/fare-quasiquote-extras.asd")))
(substitute* asd
((":class")
"")
(("asdf/bundle:prebuilt-system")
"")
((":components")
"")
(("\\(\\(:compiled-file \"fare-quasiquote-extras--system\"\\)\\)")
"")))
#t)))))
#t))))))
(description "This library combines @code{fare-quasiquote-readtable} and
@code{fare-quasiquote-optima}.")))
@ -6247,32 +6218,6 @@ with extensible optimizer interface.")))
(name "sbcl-trivia.trivial")
(inputs
`(("trivia.level2" ,sbcl-trivia.level2)))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'create-asd-file
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib/" (%lisp-type)))
(level2 (assoc-ref inputs "trivia.level2")))
(mkdir-p lib)
(install-file "trivia.trivial.asd" lib)
;; XXX: This .asd does not have any component and the build
;; system fails to work in this case. We should update the
;; build system to handle component-less .asd.
;; TODO: How do we append to file in Guile? It seems that
;; (open-file ... "a") gets a "Permission denied".
(substitute* (string-append lib "/trivia.trivial.asd")
(("\"\\)")
(string-append "\")
(progn (asdf/source-registry:ensure-source-registry)
(setf (gethash
\"trivia.level2\"
asdf/source-registry:*source-registry*)
#p\""
level2
"/share/common-lisp/sbcl-bundle-systems/trivia.level2.asd\"))")))))))))
(description "Trivia is a pattern matching compiler that is compatible
with Optima, another pattern matching library for Common Lisp. It is meant to
be faster and more extensible than Optima.
@ -6350,24 +6295,7 @@ This system contains the CFFI foreign slot access extension.")))
("trivia.cffi" ,sbcl-trivia.cffi)
("optima" ,sbcl-optima)))
(arguments
`(#:test-asd-file "trivia.test.asd"
#:phases
(modify-phases %standard-phases
(add-after 'create-asd 'remove-component
;; XXX: The original .asd has no components, but our build system
;; creates an entry nonetheless. We need to remove it for the
;; generated .asd to load properly. See trivia.trivial for a
;; similar problem.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(asd (string-append out "/lib/" (%lisp-type) "/trivia.asd")))
(substitute* asd
((" :components
")
""))
(substitute* asd
((" *\\(\\(:compiled-file \"trivia--system\"\\)\\)")
""))))))))
`(#:test-asd-file "trivia.test.asd"))
(description "Trivia is a pattern matching compiler that is compatible
with Optima, another pattern matching library for Common Lisp. It is meant to
be faster and more extensible than Optima.")))
@ -12018,3 +11946,180 @@ tables.")
(define-public cl-rdkafka
(sbcl-package->cl-source-package sbcl-cl-rdkafka))
(define-public sbcl-acclimation
(let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5"))
(package
(name "sbcl-acclimation")
(version (git-version "0.0.0" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/robert-strandh/Acclimation")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq"))))
(build-system asdf-build-system/sbcl)
(home-page "https://github.com/robert-strandh/Acclimation")
(synopsis "Internationalization library for Common Lisp")
(description "This project is meant to provide tools for
internationalizing Common Lisp programs.
One important aspect of internationalization is of course the language used in
error messages, documentation strings, etc. But with this project we provide
tools for all other aspects of internationalization as well, including dates,
weight, temperature, names of physical quantitites, etc.")
(license license:bsd-2))))
(define-public cl-acclimation
(sbcl-package->cl-source-package sbcl-acclimation))
(define-public sbcl-clump-2-3-tree
(let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a"))
(package
(name "sbcl-clump-2-3-tree")
(version (git-version "0.0.0" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/robert-strandh/Clump")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh"))))
(arguments
'(#:asd-file "2-3-tree/clump-2-3-tree.asd"
#:asd-system-name "clump-2-3-tree"))
(inputs
`(("acclimation" ,sbcl-acclimation)))
(build-system asdf-build-system/sbcl)
(home-page "https://github.com/robert-strandh/Clump")
(synopsis "Implementation of 2-3 trees for Common Lisp")
(description "The purpose of this library is to provide a collection of
implementations of trees.
In contrast to existing libraries such as cl-containers, it does not impose a
particular use for the trees. Instead, it aims for a stratified design,
allowing client code to choose between different levels of abstraction.
As a consequence of this policy, low-level interfaces are provided where
the concrete representation is exposed, but also high level interfaces
where the trees can be used as search trees or as trees that represent
sequences of objects.")
(license license:bsd-2))))
(define-public sbcl-clump-binary-tree
(package
(inherit sbcl-clump-2-3-tree)
(name "sbcl-clump-binary-tree")
(arguments
'(#:asd-file "Binary-tree/clump-binary-tree.asd"
#:asd-system-name "clump-binary-tree"))
(synopsis "Implementation of binary trees for Common Lisp")))
(define-public sbcl-clump
(package
(inherit sbcl-clump-2-3-tree)
(name "sbcl-clump")
(arguments
'(#:asd-file "clump.asd"
#:asd-system-name "clump"))
(inputs
`(("clump-2-3-tree" ,sbcl-clump-2-3-tree)
("clump-binary-tree" ,sbcl-clump-binary-tree)))
(synopsis "Collection of tree implementations for Common Lisp")))
(define-public cl-clump
(sbcl-package->cl-source-package sbcl-clump))
(define-public sbcl-cluffer-base
(let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a"))
(package
(name "sbcl-cluffer-base")
(version (git-version "0.0.0" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/robert-strandh/cluffer")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj"))))
(arguments
'(#:asd-file "Base/cluffer-base.asd"
#:asd-system-name "cluffer-base"))
(inputs
`(("acclimation" ,sbcl-acclimation)))
(build-system asdf-build-system/sbcl)
(home-page "https://github.com/robert-strandh/cluffer")
(synopsis "Common Lisp library providing a protocol for text-editor buffers")
(description "Cluffer is a library for representing the buffer of a text
editor. As such, it defines a set of CLOS protocols for client code to
interact with the buffer contents in various ways, and it supplies different
implementations of those protocols for different purposes.")
(license license:bsd-2))))
(define-public sbcl-cluffer-standard-line
(package
(inherit sbcl-cluffer-base)
(name "sbcl-cluffer-standard-line")
(arguments
'(#:asd-file "Standard-line/cluffer-standard-line.asd"
#:asd-system-name "cluffer-standard-line"))
(inputs
`(("cluffer-base" ,sbcl-cluffer-base)))))
(define-public sbcl-cluffer-standard-buffer
(package
(inherit sbcl-cluffer-base)
(name "sbcl-cluffer-standard-buffer")
(arguments
'(#:asd-file "Standard-buffer/cluffer-standard-buffer.asd"
#:asd-system-name "cluffer-standard-buffer"))
(inputs
`(("cluffer-base" ,sbcl-cluffer-base)
("clump" ,sbcl-clump)))))
(define-public sbcl-cluffer-simple-line
(package
(inherit sbcl-cluffer-base)
(name "sbcl-cluffer-simple-line")
(arguments
'(#:asd-file "Simple-line/cluffer-simple-line.asd"
#:asd-system-name "cluffer-simple-line"))
(inputs
`(("cluffer-base" ,sbcl-cluffer-base)))))
(define-public sbcl-cluffer-simple-buffer
(package
(inherit sbcl-cluffer-base)
(name "sbcl-cluffer-simple-buffer")
(arguments
'(#:asd-file "Simple-buffer/cluffer-simple-buffer.asd"
#:asd-system-name "cluffer-simple-buffer"))
(inputs
`(("cluffer-base" ,sbcl-cluffer-base)))))
(define-public sbcl-cluffer
(package
(inherit sbcl-cluffer-base)
(name "sbcl-cluffer")
(arguments
'(#:asd-file "cluffer.asd"
#:asd-system-name "cluffer"))
(inputs
`(("cluffer-base" ,sbcl-cluffer-base)
("cluffer-standard-line" ,sbcl-cluffer-standard-line)
("cluffer-standard-buffer" ,sbcl-cluffer-standard-buffer)
("cluffer-simple-line" ,sbcl-cluffer-simple-line)
("cluffer-simple-buffer" ,sbcl-cluffer-simple-buffer)))))
(define-public cl-cluffer
(sbcl-package->cl-source-package sbcl-cluffer))

View File

@ -11,6 +11,7 @@
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Simon South <simon@simonsouth.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -38,6 +39,7 @@
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages readline)
#:use-module (gnu packages m4)
#:use-module (gnu packages tls)
#:use-module (gnu packages xml)
#:use-module (gnu packages glib)
@ -292,6 +294,65 @@ directory structure and file attributes.")
(define-public lua5.2-filesystem
(make-lua-filesystem "lua5.2-filesystem" lua-5.2))
(define (make-lua-ossl name lua)
(package
(name name)
(version "20170903")
(source (origin
(method url-fetch)
(uri (string-append "https://25thandclement.com/~william/"
"projects/releases/luaossl-" version ".tgz"))
(sha256
(base32
"10392bvd0lzyibipblgiss09zlqh3a5zgqg1b9lgbybpqb9cv2k3"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(let ((out (assoc-ref %outputs "out"))
(lua-api-version ,(version-major+minor (package-version lua))))
(list "CC=gcc"
"CFLAGS='-D HAVE_SYS_SYSCTL_H=0'" ; sys/sysctl.h is deprecated
(string-append "DESTDIR=" out)
(string-append "LUA_APIS=" lua-api-version)
"prefix="))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(add-after 'install 'check
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(lua-version ,(version-major+minor (package-version lua))))
(setenv "LUA_CPATH"
(string-append out "/lib/lua/" lua-version "/?.so;;"))
(setenv "LUA_PATH"
(string-append out "/share/lua/" lua-version "/?.lua;;"))
(with-directory-excursion "regress"
(for-each (lambda (f)
(invoke "lua" f))
(find-files "." "^[0-9].*\\.lua$"))))
#t)))))
(inputs
`(("lua" ,lua)
("openssl" ,openssl)))
(home-page "https://25thandclement.com/~william/projects/luaossl.html")
(synopsis "OpenSSL bindings for Lua")
(description "The luaossl extension module for Lua provides comprehensive,
low-level bindings to the OpenSSL library, including support for certificate and
key management, key generation, signature verification, and deep bindings to the
distinguished name, alternative name, and X.509v3 extension interfaces. It also
binds OpenSSL's bignum, message digest, HMAC, cipher, and CSPRNG interfaces.")
(license license:expat)))
(define-public lua-ossl
(make-lua-ossl "lua-ossl" lua))
(define-public lua5.1-ossl
(make-lua-ossl "lua5.1-ossl" lua-5.1))
(define-public lua5.2-ossl
(make-lua-ossl "lua5.2-ossl" lua-5.2))
(define (make-lua-sec name lua)
(package
(name name)
@ -340,6 +401,112 @@ secure session between the peers.")
(define-public lua5.2-sec
(make-lua-sec "lua5.2-sec" lua-5.2))
(define (make-lua-cqueues name lua lua-ossl)
(package
(name name)
(version "20171014")
(source (origin
(method url-fetch)
(uri (string-append "https://25thandclement.com/~william/"
"projects/releases/cqueues-" version ".tgz"))
(sha256
(base32
"1dabhpn6r0hlln8vx9hxm34pfcm46qzgpb2apmziwg5z51fi4ksb"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 string-fun))
#:make-flags
(let ((out (assoc-ref %outputs "out"))
(lua-api-version ,(version-major+minor (package-version lua))))
(list "CC=gcc"
(string-append "LUA_APIS=" lua-api-version)))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(replace 'install
(lambda* (#:key make-flags outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(apply invoke "make" "install"
(append make-flags
(list (string-append "DESTDIR=" out)
"prefix="))))))
(add-after 'install 'check
(lambda* (#:key inputs outputs make-flags #:allow-other-keys)
(let*
((lua-version ,(version-major+minor (package-version lua)))
(env-suffix (if (equal? lua-version "5.1")
""
(string-append
"_"
(string-replace-substring lua-version "." "_"))))
(lua-ossl (assoc-ref inputs "lua-ossl"))
(out (assoc-ref outputs "out"))
(lua-cpath (lambda (p)
(string-append p "/lib/lua/" lua-version "/?.so")))
(lua-path (lambda (p)
(string-append p "/share/lua/" lua-version "/?.lua"))))
;; The test suite sets Lua-version-specific search-path variables
;; when available so we must do the same, as these take
;; precedence over the generic "LUA_CPATH" and "LUA_PATH"
(setenv (string-append "LUA_CPATH" env-suffix)
(string-append
(string-join (map lua-cpath (list out lua-ossl)) ";")
";;"))
(setenv (string-append "LUA_PATH" env-suffix)
(string-append
(string-join (map lua-path (list out lua-ossl)) ";")
";;"))
;; Skip regression tests we expect to fail
(with-directory-excursion "regress"
(for-each (lambda (f)
(rename-file f (string-append f ".skip")))
(append
;; Regression tests that require network
;; connectivity
'("22-client-dtls.lua"
"30-starttls-completion.lua"
"62-noname.lua"
"153-dns-resolvers.lua")
;; Regression tests that require LuaJIT
'("44-resolvers-gc.lua"
"51-join-defunct-thread.lua")
;; Regression tests that require Lua 5.3
(if (not (equal? lua-version "5.3"))
'("152-thread-integer-passing.lua")
'()))))
(apply invoke "make" "check" make-flags)))))))
(native-inputs
`(("m4" ,m4)))
(inputs
`(("lua" ,lua)
("openssl" ,openssl)))
(propagated-inputs
`(("lua-ossl" ,lua-ossl)))
(home-page "https://25thandclement.com/~william/projects/cqueues.html")
(synopsis "Event loop for Lua using continuation queues")
(description "The cqueues extension module for Lua implements an event loop
that operates through the yielding and resumption of coroutines. It is designed
to be non-intrusive, composable, and embeddable within existing applications.")
(license license:expat)))
(define-public lua-cqueues
(make-lua-cqueues "lua-cqueues" lua lua-ossl))
(define-public lua5.1-cqueues
(make-lua-cqueues "lua5.1-cqueues" lua-5.1 lua5.1-ossl))
(define-public lua5.2-cqueues
(make-lua-cqueues "lua5.2-cqueues" lua-5.2 lua5.2-ossl))
(define-public lua-penlight
(package
(name "lua-penlight")

View File

@ -137,7 +137,19 @@ able to change themes, icons, and fonts used by GTK+ applications.")
(base32
"04n3vgh3ix12p8jfs4w0dyfq3anbjy33h7g53wbbqqc0f74xyplb"))))
(build-system gnu-build-system)
(inputs `(("gtk+" ,gtk+-2)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'xrandr-absolutely
;; lxrandr is useless without xrandr and gives an unhelpful error
;; message if it's not in $PATH, so make it a hard dependency.
(lambda* (#:key input #:allow-other-keys)
(substitute* "src/lxrandr.c"
(("(\"|')xrandr\"" _ match)
(string-append match (which "xrandr") "\"")))
#t)))))
(inputs `(("gtk+" ,gtk+-2)
("xrandr" ,xrandr)))
(native-inputs `(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(synopsis "LXDE monitor configuration tool")

View File

@ -946,14 +946,14 @@ main intended application of Autograd is gradient-based optimization.")
(name "lightgbm")
(version "2.0.12")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/Microsoft/LightGBM/archive/v"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/Microsoft/LightGBM")
(commit (string-append "v" version))))
(sha256
(base32
"132zf0yk0545mg72hyzxm102g3hpb6ixx9hnf8zd2k55gas6cjj1"))
(file-name (string-append name "-" version ".tar.gz"))))
"0jlvyn7k81dzrh9ij3zw576wbgiwmmr26rzpdxjn1dbpc3njpvzi"))
(file-name (git-file-name name version))))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-nose" ,python-nose)))
@ -968,8 +968,8 @@ main intended application of Autograd is gradient-based optimization.")
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key outputs #:allow-other-keys)
(with-directory-excursion ,(string-append "../LightGBM-" version)
(lambda _
(with-directory-excursion "../source"
(invoke "pytest" "tests/c_api_test/test_.py")))))))
(build-system cmake-build-system)
(home-page "https://github.com/Microsoft/LightGBM")
@ -1817,8 +1817,7 @@ advanced research.")
"1k8szlpm19rcwcxdny9qdm3gmaqq8akb4xlvrzyz8c2d679aak6l"))))
(build-system python-build-system)
(propagated-inputs
`(("ipython" ,(prompt-toolkit-2-instead-of-prompt-toolkit
python-ipython))
`(("ipython" ,python-ipython)
("numpy" ,python-numpy)
("pandas" ,python-pandas)
("scipy" ,python-scipy)))

View File

@ -32,6 +32,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org>
;;; Copyright © 2020 Eric Brown <ecbrown@ericcbrown.com>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -146,6 +147,44 @@
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
(define-public anubis
(package
(name "anubis")
;; This 4.2.90 alpha release adds support for Guile 3 and has fixes for
;; other issues.
(version "4.2.90")
(source
(origin
(method url-fetch)
(uri (string-append "https://alpha.gnu.org/gnu/anubis/anubis-"
version ".tar.gz"))
(sha256
(base32
"0dvm6acl32dv8bixx9z50gzwfp6kj4kxnn1j3dcwjlp7sasjp41s"))))
(build-system gnu-build-system)
(native-inputs
`(("automake" ,automake)
("autoconf" ,autoconf)
("gettext" ,gettext-minimal)
("m4" ,m4))) ;for the test suite
(inputs
`(("gdbm" ,gdbm)
("gnutls" ,gnutls)
("gpgme" ,gpgme)
("gsasl" ,gsasl)
("guile" ,guile-3.0)
("libgcrypt" ,libgcrypt) ;gnutls support depends on libgcrypt
("libgpg-error" ,libgpg-error)))
(outputs '("out" "debug"))
(synopsis "SMTP message submission daemon")
(description "Anubis is a daemon that sits between the Mail User
Agent (MUA) and the Mail Transfer Agent (MTA). When a mail is sent by a user
in the MUA, it is first passed to Anubis, which performs additional processing
to the message before passing it on for delivery by the MTA. Anubis may, for
example, modify the message headers or body, or encrypt or sign the message.")
(home-page "https://www.gnu.org/software/anubis/manual/")
(license gpl3+)))
(define-public mailutils
(package
(name "mailutils")
@ -382,7 +421,7 @@ aliasing facilities to work just as they would on normal mail.")
(define-public mutt
(package
(name "mutt")
(version "1.14.2")
(version "1.14.4")
(source (origin
(method url-fetch)
(uri (list
@ -392,7 +431,7 @@ aliasing facilities to work just as they would on normal mail.")
version ".tar.gz")))
(sha256
(base32
"0cdcls0x6f2w99hkjz48hxhnx86w3bnyxzibchdc9yspih770bz2"))
"1hykkq3m7kqic5r7vzg45xaww7415fv5i2d03slzykqb47w5d3na"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs

View File

@ -6,6 +6,7 @@
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -75,7 +76,7 @@
(define-public mate-common
(package
(name "mate-common")
(version "1.22.0")
(version "1.24.1")
(source
(origin
(method url-fetch)
@ -83,7 +84,7 @@
name "-" version ".tar.xz"))
(sha256
(base32
"11lwckndizawbq993ws8lqp59vsc873zri0m8s1i5zyc4qx9f69z"))))
"1dgp6k2l6dz7x2lnqk4y5xfkld376726hda3mrc777f821kk99nr"))))
(build-system gnu-build-system)
(home-page "https://mate-desktop.org/")
(synopsis "Common files for development of MATE packages")
@ -264,7 +265,16 @@ desktop and the mate-about program.")
name "-" version ".tar.xz"))
(sha256
(base32
"094mnlczxq9crjj8z7dzs1zmwscdkbp54l3qjaf4a4bhd8lihv8d"))))
"094mnlczxq9crjj8z7dzs1zmwscdkbp54l3qjaf4a4bhd8lihv8d"))
(modules '((guix build utils)))
;; This is fixed by commit ea13e065 upstream. Remove this once 1.25.0
;; is out.
(snippet
'(begin
(substitute* "data/Locations.xml.in"
(("Godthab")
"Nuuk"))
#t))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@ -1596,10 +1606,6 @@ used to bring up authentication dialogs.")
("shared-mime-info" ,shared-mime-info)
("yelp" ,yelp)
("zenity" ,zenity)))
;; FIXME: Propagating glib:bin fixes http://issues.guix.gnu.org/issue/38135
;; The proper fix is in core-updates. So we can remove this after next merge.
(propagated-inputs
`(("glib:bin" ,glib "bin")))
(synopsis "The MATE desktop environment")
(home-page "https://mate-desktop.org/")
(description

View File

@ -4052,6 +4052,7 @@ evaluates expressions using the standard order of operations.")
(uri (git-reference
(url "https://github.com/xaos-project/XaoS")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"00110p5xscjsmn7avfqgydn656zbmdj3l3y2fpv9b4ihzpid8n7a"))))

View File

@ -4,7 +4,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2016, 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
@ -21,6 +21,8 @@
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Reza Alizadeh Majd <r.majd@pantherx.org>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -59,6 +61,7 @@
#:use-module (gnu packages documentation)
#:use-module (gnu packages enchant)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@ -152,14 +155,14 @@ keys, no previous conversation is compromised.")
(name "libsignal-protocol-c")
(version "2.3.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/WhisperSystems/"
"libsignal-protocol-c/archive/v" version
".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/WhisperSystems/libsignal-protocol-c")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0380hl6fw3ppf265fg897pyrpqygpx4m9j8ifq118bim8lq6z0pk"))))
"1qj2w4csy6j9jg1jy66n1qwysx7hgjywk4n35hlqcnh1kpa14k3p"))))
(arguments
`(;; Required for proper linking and for tests to run.
#:configure-flags '("-DBUILD_SHARED_LIBS=on" "-DBUILD_TESTING=1")))
@ -568,7 +571,7 @@ compromised.")
(version "1.8.1")
(source (origin
(method url-fetch)
(uri (string-append "http://znc.in/releases/archive/znc-"
(uri (string-append "https://znc.in/releases/archive/znc-"
version ".tar.gz"))
(sha256
(base32
@ -602,7 +605,7 @@ compromised.")
("perl" ,perl)
("python" ,python)
("zlib" ,zlib)))
(home-page "https://znc.in")
(home-page "https://wiki.znc.in/ZNC")
(synopsis "IRC network bouncer")
(description "ZNC is an @dfn{IRC network bouncer} or @dfn{BNC}. It can
detach the client from the actual IRC server, and also from selected channels.
@ -1031,7 +1034,7 @@ and prevent message loss.")
(define-public c-toxcore
(package
(name "c-toxcore")
(version "0.2.9")
(version "0.2.12")
(source
(origin
(method git-fetch)
@ -1041,7 +1044,7 @@ and prevent message loss.")
(file-name (git-file-name name version))
(sha256
(base32
"0aljr9hqybla6p61af6fdkv0x8gph7c2wacqqa9hq2z9w0p4fs5j"))))
"0a6sqpm00d2rn0nviqfz4gh9ck1wzci6rxgmqmcyryl5ca19ffvp"))))
(arguments
`(#:tests? #f)) ; FIXME: Testsuite seems to stay stuck on test 3. Disable
; for now.
@ -1120,14 +1123,15 @@ instant messenger with audio and video chat capabilities.")
(define-public qtox
(package
(name "qtox")
(version "1.16.3")
(version "1.17.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/qTox/qTox/archive/v"
version ".tar.gz"))
(method url-fetch/tarbomb)
(uri (string-append "https://github.com/qTox/qTox/releases"
"/download/v" version
"/v" version ".tar.gz"))
(sha256
(base32
"10n3cgw9xaqin9la8wpd8v83bkjmimicgbyp5ninsdgsrgky4hmq"))
"0fmr3a0apil3rl32247qv2pqslp3knpbj5vhprdq0ixsvifrlhmh"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system)
(arguments
@ -1140,6 +1144,13 @@ instant messenger with audio and video chat capabilities.")
(("__TIME__") "\"\"")
(("TIMESTAMP") "\"\""))
#t))
(add-after 'unpack 'disable-network-tests
(lambda _
;; These tests require network access.
(substitute* "cmake/Testing.cmake"
(("auto_test\\(core core\\)") "# auto_test(core core)")
(("auto_test\\(net bsu\\)") "# auto_test(net bsu)"))
#t))
;; Ensure that icons are found at runtime.
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
@ -2177,4 +2188,84 @@ support for high performance Telegram Bot creation.")
(home-page "https://core.telegram.org/tdlib")
(license license:boost1.0))))
(define-public purple-mm-sms
(package
(name "purple-mm-sms")
(version "0.1.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://source.puri.sm/Librem5/purple-mm-sms.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1daf7zl8bhhm1szkgxflpqql69f2w9i9nlgf1n4p1nynxifz1bim"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(let ((out (assoc-ref %outputs "out")))
;; Fix hardcoded paths
(list (string-append "PREFIX=" out)
(string-append "PLUGIN_DIR_PURPLE=" out "/lib/purple-2")
(string-append "DATA_ROOT_DIR_PURPLE=" out "/share")))
#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs
`(("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)))
(inputs
`(("modem-manager" ,modem-manager)
("pidgin" ,pidgin)))
(synopsis "Libpurple plugin for SMS via ModemManager")
(description "Plugin for libpurple to allow sending SMS using ModemManager.")
(home-page "https://source.puri.sm/Librem5/purple-mm-sms")
(license license:gpl2+)))
(define-public chatty
(package
(name "chatty")
(version "0.1.10")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://source.puri.sm/Librem5/chatty.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0czvqwjzsb0rvmgrmbh97m1b35rnwl41j7q32z4fcqb7bschibql"))))
(build-system meson-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-updating-desktop-database
(lambda _
(substitute* "meson.build"
(("meson.add_install_script.*") ""))
#t)))))
(native-inputs
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)))
(inputs
`(("feedbackd" ,feedbackd)
("folks" ,folks)
("libgcrypt" ,libgcrypt)
("libgee" ,libgee)
("libhandy" ,libhandy)
("pidgin" ,pidgin)
("purple-mm-sms" ,purple-mm-sms)
("sqlite" ,sqlite)))
(propagated-inputs
`(("adwaita-icon-theme" ,adwaita-icon-theme)
("evolution-data-server" ,evolution-data-server)))
(synopsis "Mobile client for XMPP and SMS messaging")
(description "Chatty is a chat program for XMPP and SMS. It works on mobile
as well as on desktop platforms. It's based on libpurple and ModemManager.")
(home-page "https://source.puri.sm/Librem5/chatty")
(license license:gpl3+)))
;;; messaging.scm ends here

View File

@ -299,14 +299,14 @@ interface for the Music Player Daemon.")
(name "sonata")
(version "1.7b1")
(source (origin
(method url-fetch)
(uri
(string-append "https://github.com/multani/sonata/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/multani/sonata")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"07gq2nxqwxs0qyxjbay7k5j25zd386bn7wdr2dl1gk53diwnn7s0"))))
"1npbxlrg6k154qybfd250nq2p96kxdsdkj9wwnp93gljnii3g8wh"))))
(build-system python-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)

View File

@ -503,7 +503,7 @@ settings (aliasing, linear interpolation and cubic interpolation).")
(define-public hydrogen
(package
(name "hydrogen")
(version "1.0.0-beta2")
(version "1.0.0-rc1")
(source
(origin
(method git-fetch)
@ -512,7 +512,7 @@ settings (aliasing, linear interpolation and cubic interpolation).")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1s3jrdyjpm92flw9mkkxchnj0wz8nn1y1kifii8ws252iiqjya4a"))))
(base32 "1ibbdzyk30nj83jrq7py78hwpjgy0lq7ji6gi2pdp1pqzz1mqp0v"))))
(build-system cmake-build-system)
(arguments
`(#:test-target "tests"
@ -2182,7 +2182,7 @@ backends, including ALSA, OSS, Network and FluidSynth.")
("docbook-xsl" ,docbook-xsl)
("qttools" ,qttools)
("pkg-config" ,pkg-config)))
(home-page "http://vmpk.sourceforge.net")
(home-page "https://vmpk.sourceforge.io/")
(synopsis "Virtual MIDI piano keyboard")
(description
"Virtual MIDI Piano Keyboard is a MIDI events generator and receiver. It

View File

@ -38,6 +38,7 @@
;;; Copyright © 2019 Diego N. Barbato <dnbarbato@posteo.de>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -63,6 +64,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
@ -85,6 +87,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
@ -297,6 +300,34 @@ specification, which provides IPv6 Internet connectivity to IPv6 enabled hosts
residing in IPv4-only networks, even when they are behind a NAT device.")
(license license:gpl2+)))
(define-public ndisc6
(package
(name "ndisc6")
(version "1.0.4")
(source (origin
(method url-fetch)
(uri (string-append "https://www.remlab.net/files/ndisc6/ndisc6-"
version ".tar.bz2"))
(sha256
(base32
"07swyar1hl83zxmd7fqwb2q0c0slvrswkcfp3nz5lknrk15dmcdb"))))
(build-system gnu-build-system)
(home-page "https://www.remlab.net/ndisc6/")
(synopsis "IPv6 diagnostic tools")
(description
"NDisc6 is a collection of tools for IPv6 networking diagnostics.
It includes the following programs:
@itemize
@item @command{ndisc6}: ICMPv6 Neighbor Discovery tool.
@item @command{rdisc6}: ICMPv6 Router Discovery tool.
@item @command{tcptraceroute6}: IPv6 traceroute over TCP.
@item @command{traceroute6}: IPv6 traceroute over UDP.
@item @command{rdnssd}: Recursive DNS Servers discovery daemon.
@end itemize")
;; The user can choose version 2 or 3 of the GPL, not later versions.
(license (list license:gpl2 license:gpl3))))
(define-public socat
(package
(name "socat")
@ -653,6 +684,76 @@ interfaces, with a simple and efficient view on the command line. It is
intended as a substitute for the PPPStatus and EthStatus projects.")
(license license:gpl2+)))
(define-public iputils
(package
(name "iputils")
(version "20190709")
(home-page "https://github.com/iputils/iputils")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page)
(commit (string-append "s" version))))
(file-name (git-file-name name version))
(patches (search-patches "iputils-libcap-compat.patch"))
(sha256
(base32
"04bp4af15adp79ipxmiakfp0ij6hx5qam266flzbr94pr8z8l693"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-DBUILD_RARPD=true")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-docbook-url
(lambda* (#:key inputs #:allow-other-keys)
(let* ((docbook-xsl (assoc-ref inputs "docbook-xsl"))
(uri (string-append docbook-xsl "/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl))))
(for-each
(lambda (file)
(substitute* file
(("http://docbook\\.sourceforge\\.net/release/xsl-ns/current")
uri)))
(cons "doc/meson.build"
(find-files "doc" "\\.xsl$")))
#t))))))
(native-inputs
`(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)
("docbook-xsl" ,docbook-xsl)
("docbook-xml" ,docbook-xml-5)
("libxml2" ,libxml2) ;for XML_CATALOG_FILES
("xsltproc" ,libxslt)))
(inputs
`(("libcap" ,libcap)
("libidn2" ,libidn2)
("openssl" ,openssl)))
(synopsis "Collection of network utilities")
(description
"This package contains a variety of tools for dealing with network
configuration, troubleshooting, or servers. Utilities included are:
@itemize @bullet
@item @command{arping}: Ping hosts using the @dfn{Adress Resolution Protocol}.
@item @command{clockdiff}: Compute time difference between network hosts
using ICMP TSTAMP messages.
@item @command{ninfod}: Daemon that responds to IPv6 Node Information Queries.
@item @command{ping}: Use ICMP ECHO messages to measure round-trip delays
and packet loss across network paths.
@item @command{rarpd}: Answer RARP requests from clients.
@item @command{rdisc}: Populate network routing tables with information from
the ICMP router discovery protocol.
@item @command{tftpd}: Trivial file transfer protocol server.
@item @command{tracepath}: Trace network path to an IPv4 or IPv6 address and
discover MTU along the way.
@end itemize")
;; The various utilities are covered by different licenses, see LICENSE
;; for details.
(license (list license:gpl2+ ;arping, rarpd, tracepath
license:bsd-3 ;clockdiff, ninfod, ping, tftpd
(license:non-copyleft
"https://spdx.org/licenses/Rdisc.html"
"Sun Microsystems license, see rdisc.c for details")))))
(define-public nload
(package
(name "nload")
@ -1343,13 +1444,13 @@ definitions and structure manipulators for Perl.")
(define-public perl-net-dns-resolver-programmable
(package
(name "perl-net-dns-resolver-programmable")
(version "v0.003")
(version "0.003")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/J/JM/JMEHNLE/net-dns-resolver-programmable/"
"Net-DNS-Resolver-Programmable-" version ".tar.gz"))
"Net-DNS-Resolver-Programmable-v" version ".tar.gz"))
(sha256
(base32
"1v3nl2kaj4fs55n1617n53q8sa3mir06898vpy1rq98zjih24h4d"))
@ -1765,12 +1866,12 @@ gone wild and are suddenly taking up your bandwidth.")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/nzbget/nzbget/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(uri (string-append "https://github.com/nzbget/nzbget/releases"
"/download/v" version
"/nzbget-" version "-src.tar.gz"))
(sha256
(base32
"0l3dzxz7d7jf6cyach41zirvsx1x0vs4nh053c0miycv7zjyrly7"))
"0lwd0pfrs4a5ms193hgz2qiyf7grrc925dw6y0nfc0gkp27db9b5"))
(modules '((guix build utils)))
(snippet
;; Reported upstream as <https://github.com/nzbget/nzbget/pull/414>.
@ -1807,7 +1908,7 @@ procedure calls (RPCs).")
(define-public openvswitch
(package
(name "openvswitch")
(version "2.12.0")
(version "2.13.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -1815,7 +1916,7 @@ procedure calls (RPCs).")
version ".tar.gz"))
(sha256
(base32
"1y78ix5inhhcvicbvyy2ij38am1215nr55vydhab3d4065q45z8k"))))
"0cd5vmfr6zwgcnkwys6rag6cmz68v0librpaplianv734xs74pyx"))))
(build-system gnu-build-system)
(arguments
'(;; FIXME: many tests fail with:
@ -1842,11 +1943,9 @@ procedure calls (RPCs).")
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
("python" ,python-2)
("python" ,python-wrapper)
;; for testing
("util-linux" ,util-linux)))
(propagated-inputs
`(("python-six" ,python2-six)))
(inputs
`(("libcap-ng" ,libcap-ng)
("openssl" ,openssl)))
@ -1936,13 +2035,14 @@ enabled due to license conflicts between the BSD advertising clause and the GPL.
(version "3.0.19")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ptrrkssn/pidentd/archive/"
"v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/ptrrkssn/pidentd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0y3kd1bkydqkpc1qdff24yswysamsqivvadjy0468qri5730izgc"))))
"1k4rr0b4ygxssbnsykzjvz4hjhazzz4j5arlilyc1iq7b1wzsk7i"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; No tests are included
@ -1951,7 +2051,7 @@ enabled due to license conflicts between the BSD advertising clause and the GPL.
(home-page "https://www.lysator.liu.se/~pen/pidentd/")
(synopsis "Small Ident Daemon")
(description
"@dfn{Pidentd} (Peter's Ident Daemon) is a identd, which implements a
"@dfn{Pidentd} (Peter's Ident Daemon) is an identd, which implements a
identification server. Pidentd looks up specific TCP/IP connections and
returns the user name and other information about the connection.")
(license license:public-domain)))
@ -2121,33 +2221,28 @@ interface and a programmable text output for scripting.")
(define-public libnet
(package
(name "libnet")
(version "1.2-rc3")
(version "1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sam-github/libnet")
(commit (string-append "libnet-" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "https://github.com/libnet/libnet/releases/download"
"/v" version "/libnet-" version ".tar.gz"))
(sha256
(base32
"0cy8w4g5rv963v4p6iq3333kxgdddx2lywp70xf62553a25xhhs4"))))
"19ys9vxk6fg70yzzdxsphfr0rwzgxxhr9b3ykhpg7rfray0qd96a"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "libnet") #t))
(add-before 'build 'build-doc
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "-C" "doc" "doc"
make-flags))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("doxygen" ,doxygen)))
(home-page "https://sourceforge.net/projects/libnet-dev/")
`(;; To build the documentation, Doxygen and Perl is required.
("doxygen" ,doxygen)
("perl" ,perl)))
(home-page "https://github.com/libnet/libnet")
(synopsis "Framework for low-level network packet construction")
(description
"Libnet provides a fairly portable framework for network packet
@ -2937,7 +3032,7 @@ module @code{batman-adv}, for Layer 2.")
(define-public pagekite
(package
(name "pagekite")
(version "1.5.0.200327")
(version "1.5.2.200603")
(source
(origin
(method git-fetch)
@ -2946,7 +3041,7 @@ module @code{batman-adv}, for Layer 2.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vw7kjwxqd3qvm7kpxgjzl6797y0i1f16yfkfad84qpx2ij0gvdm"))))
(base32 "08rcyr54dssnpand6y26f8x9cjmd91hr44my08kxw70s5iqiwizv"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -3192,3 +3287,49 @@ CDP. The goal of LLDP is to provide an inter-vendor compatible mechanism to
deliver Link-Layer notifications to adjacent network devices. @code{lldpd} is
an implementation of LLDP. It also supports some proprietary protocols.")
(license license:isc)))
(define-public hashcash
(package
(name "hashcash")
(version "1.22")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.hashcash.org/source/hashcash-"
version ".tgz"))
(sha256
(base32
"15kqaimwb2y8wvzpn73021bvay9mz1gqqfc40gk4hj6f84nz34h1"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "CC=" ,(cc-for-target)))
#:phases
(modify-phases %standard-phases
(delete 'configure)
;; No tests available.
(delete 'check)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((outdir (assoc-ref outputs "out"))
(bindir (string-append outdir "/bin"))
(mandir (string-append outdir "/share/man/man1"))
(docdir (string-append outdir "/share/doc/hashcash-" ,version)))
;; Install manually, as we don't need the `sha1' binary
(install-file "hashcash" bindir)
(install-file "hashcash.1" mandir)
(install-file "README" docdir)
(install-file "LICENSE" docdir)
(install-file "CHANGELOG" docdir)
#t))))))
(home-page "https://www.hashcash.org/")
(synopsis "Denial-of-service countermeasure")
(description "Hashcash is a proof-of-work algorithm, which has been used
as a denial-of-service countermeasure technique in a number of systems.
A hashcash stamp constitutes a proof-of-work which takes a parametrizable
amount of work to compute for the sender. The recipient can verify received
hashcash stamps efficiently.
This package contains a command-line tool for computing and verifying hashcash
stamps.")
(license license:public-domain)))

View File

@ -2940,13 +2940,14 @@ and 4 (random based) according to RFC 4122.")
(name "ocaml4.07-piqi")
(version "0.7.7")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/alavrik/piqi-ocaml/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/alavrik/piqi-ocaml")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1l0b4saxmwqgw9mb10mwrz31lvpj3l0abh3cwarqp0x4vdrzshbh"))))
"1913jpsb8mvqi8609j4g4sm5jhg50dq0xqxgy8nmvknfryyc89nm"))))
(build-system ocaml-build-system)
(arguments
`(#:make-flags
@ -2955,6 +2956,10 @@ and 4 (random based) according to RFC 4122.")
"/bin/sh"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'make-files-writable
(lambda _
(for-each make-file-writable (find-files "."))
#t))
(delete 'configure))
#:ocaml ,ocaml-4.07
#:findlib ,ocaml4.07-findlib))

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