mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 13:58:15 -05:00
Merge branch 'master' into core-updates
This commit is contained in:
commit
43bc785511
121 changed files with 4847 additions and 1306 deletions
|
@ -99,6 +99,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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -218,6 +218,17 @@ (define %historical-authorized-signing-keys
|
|||
(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 @@ (define repository
|
|||
(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 @@ (define authenticated-commits
|
|||
(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 commits
|
|||
(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 @@ (define reporter
|
|||
(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:~%"))
|
||||
|
|
|
@ -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])
|
||||
|
|
|
@ -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
|
||||
|
|
200
doc/guix.texi
200
doc/guix.texi
|
@ -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
|
||||
|
@ -24594,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
|
||||
|
||||
|
|
250
etc/committer.scm.in
Executable file
250
etc/committer.scm.in
Executable 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)
|
74
etc/news.scm
74
etc/news.scm
|
@ -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
|
||||
|
|
|
@ -80,16 +80,8 @@ (define (scope dir)
|
|||
(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 @@ (define (scope dir)
|
|||
;; 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 @@ (define* (boot-hurd-system #:key (on-error 'debug))
|
|||
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 @@ (define translators
|
|||
(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"))))
|
||||
|
|
|
@ -137,12 +137,13 @@ (define* (register-closure prefix closure
|
|||
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
|
||||
|
|
|
@ -223,12 +223,13 @@ (define* (register-closure prefix closure
|
|||
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)))))
|
||||
|
||||
|
||||
;;;
|
||||
|
|
|
@ -137,12 +137,6 @@ (define (umount-cow-store)
|
|||
"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"))
|
||||
|
|
|
@ -25,6 +25,7 @@ (define-module (gnu installer newt final)
|
|||
#: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 @@ (define* (run-install-shell locale
|
|||
#: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?))
|
||||
|
|
14
gnu/local.mk
14
gnu/local.mk
|
@ -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 \
|
||||
|
@ -891,6 +893,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 \
|
||||
|
@ -917,7 +920,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 \
|
||||
|
@ -1103,6 +1105,7 @@ 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 \
|
||||
|
@ -1160,8 +1163,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 \
|
||||
|
@ -1425,6 +1427,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 \
|
||||
|
@ -1449,6 +1452,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 \
|
||||
|
@ -1540,6 +1544,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 \
|
||||
|
@ -1605,9 +1610,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 \
|
||||
|
|
|
@ -210,10 +210,9 @@ (define remote-exp
|
|||
(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
|
||||
|
|
|
@ -1364,7 +1364,7 @@ (define-public rottlog
|
|||
(define-public sudo
|
||||
(package
|
||||
(name "sudo")
|
||||
(version "1.9.0")
|
||||
(version "1.9.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -1374,7 +1374,7 @@ (define-public sudo
|
|||
version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0p7r3cl16pjwbc48ff1gbhjw51lngrghvwblxz5lxpyzqlwi88xb"))
|
||||
"1zxd6hxwhxqrm876wsn9bfajbfc4hc6l9ivzj5rjg80hzv71ch99"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -3472,7 +3472,7 @@ (define-public inxi-minimal
|
|||
(let ((real-name "inxi"))
|
||||
(package
|
||||
(name "inxi-minimal")
|
||||
(version "3.1.01-1")
|
||||
(version "3.1.03-1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -3481,7 +3481,7 @@ (define-public inxi-minimal
|
|||
(commit version)))
|
||||
(file-name (git-file-name real-name version))
|
||||
(sha256
|
||||
(base32 "0r204w0r06ibdr4dck7yw2nmvj7xq68bjr7xwwiy7liqdml0n0yc"))))
|
||||
(base32 "0539hvlq021wxhbwzdp7qliiq1jgw60mxlwrwx0z2x8qi1zqdzg6"))))
|
||||
(build-system trivial-build-system)
|
||||
(inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
|
|
|
@ -2344,7 +2344,29 @@ (define-public supercollider
|
|||
(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
|
||||
|
@ -2355,44 +2377,16 @@ (define-public supercollider
|
|||
"-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
|
||||
|
@ -2404,6 +2398,11 @@ (define-public supercollider
|
|||
"\\(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"))
|
||||
|
@ -2416,7 +2415,8 @@ (define-public supercollider
|
|||
(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)
|
||||
|
|
|
@ -357,10 +357,7 @@ (define-public coreutils
|
|||
(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"
|
||||
|
@ -380,7 +377,15 @@ (define-public coreutils
|
|||
(("/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
|
||||
|
|
|
@ -7813,13 +7813,13 @@ (define-public r-variantannotation
|
|||
(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")
|
||||
|
|
|
@ -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 @@ (define-public bison
|
|||
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)
|
||||
|
|
|
@ -42,7 +42,6 @@ (define-module (gnu packages bittorrent)
|
|||
#: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 @@ (define-module (gnu packages bittorrent)
|
|||
#: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 @@ (define-public transmission
|
|||
'("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 @@ (define-public transmission
|
|||
;; 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
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages build-tools)
|
|||
#: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))
|
||||
|
@ -276,6 +281,80 @@ (define-public premake5
|
|||
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")
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages cdrom)
|
|||
#: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 @@ (define-public cdparanoia
|
|||
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")
|
||||
|
|
|
@ -47,8 +47,8 @@ (define-module (gnu packages ci)
|
|||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public cuirass
|
||||
(let ((commit "2280ae18eb25aa7034636c58bf288c9bd5a8fa3b")
|
||||
(revision "31"))
|
||||
(let ((commit "3db603c1913fe14d260a44b05575a2ead3866b47")
|
||||
(revision "32"))
|
||||
(package
|
||||
(name "cuirass")
|
||||
(version (git-version "0.0.1" revision commit))
|
||||
|
@ -60,7 +60,7 @@ (define-public cuirass
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gbmpwgiwy740d936b052gfivzw52pgrny7j7lbl56wi9wnawkc9"))))
|
||||
"1q69lgngsvpvcy6ww2a75wndjzymay5xaqmbj78znqmn7ck3fv44"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:modules ((guix build utils)
|
||||
|
|
60
gnu/packages/convmv.scm
Normal file
60
gnu/packages/convmv.scm
Normal 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/")))
|
|
@ -2131,14 +2131,14 @@ (define-public r-globaloptions
|
|||
(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)
|
||||
|
@ -3839,18 +3839,20 @@ (define-public r-venndiagram
|
|||
(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
|
||||
|
@ -6634,23 +6636,106 @@ (define-public r-officer
|
|||
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)
|
||||
|
@ -8922,14 +9007,14 @@ (define-public r-bayestestr
|
|||
(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)
|
||||
|
@ -11769,14 +11854,14 @@ (define-public r-longitudinal
|
|||
(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
|
||||
|
@ -15839,14 +15924,14 @@ (define-public r-citr
|
|||
(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)
|
||||
|
|
|
@ -32,6 +32,7 @@ (define-module (gnu packages crates-io)
|
|||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages glib)
|
||||
|
@ -49,6 +50,7 @@ (define-module (gnu packages crates-io)
|
|||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
|
@ -149,10 +151,10 @@ (define-public rust-addr2line-0.9
|
|||
("rust-memmap" ,rust-memmap-0.7)
|
||||
("rust-rustc-test" ,rust-rustc-test-0.3))))))
|
||||
|
||||
(define-public rust-adler32-1.0
|
||||
(define-public rust-adler32-1
|
||||
(package
|
||||
(name "rust-adler32")
|
||||
(version "1.0.4")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -161,12 +163,15 @@ (define-public rust-adler32-1.0
|
|||
(string-append name "-" version ".crate"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hnan4fgmnidgn2k84hh2i67c3wp2c5iwd5hs61yi7gwwx1p6bjx"))))
|
||||
"0bgks405vz823bphgwhj4l9h6vpfh900s0phfk4qqijyh9xhfysn"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
`(#:cargo-inputs
|
||||
(("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
|
||||
("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0))
|
||||
#:cargo-development-inputs
|
||||
(("rust-rand" ,rust-rand-0.4))))
|
||||
(("rust-bencher" ,rust-bencher-0.1)
|
||||
("rust-rand" ,rust-rand-0.4))))
|
||||
(home-page "https://github.com/remram44/adler32-rs")
|
||||
(synopsis "Implementation of the Adler32 rolling hash algorithm")
|
||||
(description
|
||||
|
@ -4619,31 +4624,42 @@ (define-public rust-curl-sys-0.4
|
|||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "curl-sys" version))
|
||||
(file-name (string-append name "-" version ".crate"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02542zmvl3fpdqf7ai4cqnamm4albx9j645dkjx5qr1myq8ax42y"))))
|
||||
"02542zmvl3fpdqf7ai4cqnamm4albx9j645dkjx5qr1myq8ax42y"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin (delete-file-recursively "curl") #t))))
|
||||
(build-system cargo-build-system)
|
||||
;(arguments
|
||||
; `(#:phases
|
||||
; (modify-phases %standard-phases
|
||||
; (add-after 'unpack 'find-openssl
|
||||
; (lambda* (#:key inputs #:allow-other-keys)
|
||||
; (let ((openssl (assoc-ref inputs "openssl")))
|
||||
; (setenv "OPENSSL_DIR" openssl))
|
||||
; #t)))))
|
||||
;(native-inputs
|
||||
; `(("pkg-config" ,pkg-config)))
|
||||
;(inputs
|
||||
; `(("curl" ,curl)
|
||||
; ("nghttp2" ,nghttp2)
|
||||
; ("openssl" ,openssl)
|
||||
; ("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-libc" ,rust-libc-0.2)
|
||||
("rust-libnghttp2-sys" ,rust-libnghttp2-sys-0.1)
|
||||
("rust-libz-sys" ,rust-libz-sys-1.0)
|
||||
("rust-openssl-sys" ,rust-openssl-sys-0.9)
|
||||
("rust-winapi" ,rust-winapi-0.3)
|
||||
("rust-cc" ,rust-cc-1.0)
|
||||
("rust-pkg-config" ,rust-pkg-config-0.3)
|
||||
("rust-vcpkg" ,rust-vcpkg-0.2))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'find-openssl
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((openssl (assoc-ref inputs "openssl")))
|
||||
(setenv "OPENSSL_DIR" openssl))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
("nghttp2" ,nghttp2)
|
||||
("openssl" ,openssl)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://github.com/alexcrichton/curl-rust")
|
||||
(synopsis "Native bindings to the libcurl library")
|
||||
(description
|
||||
"This package provides native bindings to the @code{libcurl} library.")
|
||||
(properties '((hidden? . #t)))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-custom-derive-0.1
|
||||
|
@ -4835,7 +4851,7 @@ (define-public rust-deflate-0.7
|
|||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-adler32" ,rust-adler32-1.0)
|
||||
(("rust-adler32" ,rust-adler32-1)
|
||||
("rust-byteorder" ,rust-byteorder-1.3)
|
||||
("rust-gzip-header" ,rust-gzip-header-0.3)
|
||||
("rust-flate2" ,rust-flate2-1.0))))
|
||||
|
@ -10325,7 +10341,7 @@ (define-public rust-inflate-0.4
|
|||
"1zxjdn8iwa0ssxrnjmywm3r1v284wryvzrf8vkc7nyf5ijbjknqw"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs (("rust-adler32" ,rust-adler32-1.0))))
|
||||
`(#:cargo-inputs (("rust-adler32" ,rust-adler32-1))))
|
||||
(home-page "https://github.com/PistonDevelopers/inflate.git")
|
||||
(synopsis "DEFLATE decoding")
|
||||
(description "This package provides DEFLATE decoding.")
|
||||
|
@ -11178,8 +11194,43 @@ (define-public rust-lazycell-1.2
|
|||
"This package provides a library providing a lazily filled Cell struct.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-lexical-core-0.7
|
||||
(package
|
||||
(name "rust-lexical-core")
|
||||
(version "0.7.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "lexical-core" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05i6b69ay8xbxw88vx89vglb7xm5n8ky82hax7d5a7z60bdccrfv"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-arrayvec" ,rust-arrayvec-0.5)
|
||||
("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-cfg-if" ,rust-cfg-if-0.1)
|
||||
("rust-dtoa" ,rust-dtoa-0.4)
|
||||
("rust-ryu" ,rust-ryu-1.0)
|
||||
("rust-static-assertions" ,rust-static-assertions-1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-approx" ,rust-approx-0.3)
|
||||
("rust-proptest" ,rust-proptest-0.9)
|
||||
("rust-quickcheck" ,rust-quickcheck-0.9))))
|
||||
(home-page
|
||||
"https://github.com/Alexhuszagh/rust-lexical/tree/master/lexical-core")
|
||||
(synopsis
|
||||
"Lexical, to- and from-string conversion routines")
|
||||
(description
|
||||
"Lexical, to- and from-string conversion routines.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-lexical-core-0.4
|
||||
(package
|
||||
(inherit rust-lexical-core-0.7)
|
||||
(name "rust-lexical-core")
|
||||
(version "0.4.2")
|
||||
(source
|
||||
|
@ -11191,7 +11242,6 @@ (define-public rust-lexical-core-0.4
|
|||
(sha256
|
||||
(base32
|
||||
"1gr5y3ykghd3wjc00l3iizkj1dxylyhwi6fj6yn2qg06nzx771iz"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs
|
||||
|
@ -11204,14 +11254,7 @@ (define-public rust-lexical-core-0.4
|
|||
(("rust-approx" ,rust-approx-0.3)
|
||||
("rust-proptest" ,rust-proptest-0.9)
|
||||
("rust-quickcheck" ,rust-quickcheck-0.8)
|
||||
("rust-rustc-version" ,rust-rustc-version-0.2))))
|
||||
(home-page
|
||||
"https://github.com/Alexhuszagh/rust-lexical/tree/master/lexical-core")
|
||||
(synopsis
|
||||
"Lexical, to- and from-string conversion routines")
|
||||
(description
|
||||
"Lexical, to- and from-string conversion routines.")
|
||||
(license (list license:asl2.0 license:expat))))
|
||||
("rust-rustc-version" ,rust-rustc-version-0.2))))))
|
||||
|
||||
(define-public rust-libc-0.2
|
||||
(package
|
||||
|
@ -11334,12 +11377,22 @@ (define-public rust-libgit2-sys-0.7
|
|||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "libgit2-sys" version))
|
||||
(file-name (string-append name "-" version ".crate"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wcvg2qqra2aviasvqcscl8gb2rnjnd6h998wy5dlmf2bnriqi28"))))
|
||||
(arguments '())
|
||||
(properties '((hidden? . #t)))))
|
||||
"1wcvg2qqra2aviasvqcscl8gb2rnjnd6h998wy5dlmf2bnriqi28"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin (delete-file-recursively "libgit2") #t))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-curl-sys" ,rust-curl-sys-0.4)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-libssh2-sys" ,rust-libssh2-sys-0.2)
|
||||
("rust-libz-sys" ,rust-libz-sys-1.0)
|
||||
("rust-openssl-sys" ,rust-openssl-sys-0.9)
|
||||
("rust-cc" ,rust-cc-1.0)
|
||||
("rust-pkg-config" ,rust-pkg-config-0.3))))))
|
||||
|
||||
(define-public rust-libloading-0.5
|
||||
(package
|
||||
|
@ -11438,18 +11491,25 @@ (define-public rust-libnghttp2-sys-0.1
|
|||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "libnghttp2-sys" version))
|
||||
(file-name (string-append name "-" version ".crate"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qr4lyh7righx9n22c7amlcpk906rn1jnb2zd6gdfpa3yi24s982"))))
|
||||
"0qr4lyh7righx9n22c7amlcpk906rn1jnb2zd6gdfpa3yi24s982"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin (delete-file-recursively "nghttp2") #t))))
|
||||
(build-system cargo-build-system)
|
||||
;(inputs
|
||||
; `(("nghttp2" ,nghttp2)))
|
||||
(arguments
|
||||
`(#:skip-build? #t ; Uses unstable features
|
||||
#:cargo-inputs
|
||||
(("rust-libc" ,rust-libc-0.2)
|
||||
("rust-cc" ,rust-cc-1.0))))
|
||||
(inputs
|
||||
`(("nghttp2" ,nghttp2)))
|
||||
(home-page "https://github.com/alexcrichton/nghttp2-rs")
|
||||
(synopsis "FFI bindings for libnghttp2 (nghttp2)")
|
||||
(description
|
||||
"This package provides FFI bindings for libnghttp2 (nghttp2).")
|
||||
(properties '((hidden? . #t)))
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
|
@ -12639,7 +12699,7 @@ (define-public rust-miniz-oxide-0.3
|
|||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs (("rust-adler32" ,rust-adler32-1.0))))
|
||||
#:cargo-inputs (("rust-adler32" ,rust-adler32-1))))
|
||||
(home-page "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide")
|
||||
(synopsis "Pure rust replacement for the miniz DEFLATE/zlib encoder/decoder")
|
||||
(description
|
||||
|
@ -13421,8 +13481,53 @@ (define-public rust-nodrop-union-0.1
|
|||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-nom-5
|
||||
(package
|
||||
(name "rust-nom")
|
||||
(version "5.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "nom" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1br74rwdp3c2ddga03bphnf355spn4mzwf1slg0a30zd4qnjdd7z"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Tests require example directory, not included in tarball.
|
||||
#:cargo-inputs
|
||||
(("rust-lazy-static" ,rust-lazy-static-1)
|
||||
("rust-lexical-core" ,rust-lexical-core-0.7)
|
||||
("rust-memchr" ,rust-memchr-2.2)
|
||||
("rust-regex" ,rust-regex-1.1)
|
||||
("rust-version-check" ,rust-version-check-0.9))
|
||||
#:cargo-development-inputs
|
||||
(("rust-criterion" ,rust-criterion-0.2)
|
||||
("rust-doc-comment" ,rust-doc-comment-0.3)
|
||||
("rust-jemallocator" ,rust-jemallocator-0.1))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'configure 'override-jemalloc
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((jemalloc (assoc-ref inputs "jemalloc")))
|
||||
(setenv "JEMALLOC_OVERRIDE"
|
||||
(string-append jemalloc "/lib/libjemalloc_pic.a")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("jemalloc" ,jemalloc)))
|
||||
(home-page "https://github.com/Geal/nom")
|
||||
(synopsis
|
||||
"Byte-oriented, zero-copy, parser combinators library")
|
||||
(description
|
||||
"This package provides a byte-oriented, zero-copy, parser
|
||||
combinators library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-nom-4.2
|
||||
(package
|
||||
(inherit rust-nom-5)
|
||||
(name "rust-nom")
|
||||
(version "4.2.3")
|
||||
(source
|
||||
|
@ -13434,7 +13539,6 @@ (define-public rust-nom-4.2
|
|||
(sha256
|
||||
(base32
|
||||
"1mkvby8b4m61p4g1px0pwr58yfkphyp1jcfbp4qfp7l6iqdaklia"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs
|
||||
|
@ -13444,14 +13548,7 @@ (define-public rust-nom-4.2
|
|||
("rust-version-check" ,rust-version-check-0.1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-criterion" ,rust-criterion-0.2)
|
||||
("rust-jemallocator" ,rust-jemallocator-0.1))))
|
||||
(home-page "https://github.com/Geal/nom")
|
||||
(synopsis
|
||||
"Byte-oriented, zero-copy, parser combinators library")
|
||||
(description
|
||||
"This package provides a byte-oriented, zero-copy, parser
|
||||
combinators library.")
|
||||
(license license:expat)))
|
||||
("rust-jemallocator" ,rust-jemallocator-0.1))))))
|
||||
|
||||
(define-public rust-nom-3
|
||||
(package
|
||||
|
@ -21861,8 +21958,29 @@ (define-public rust-stackvector-1.0
|
|||
"StackVec: vector-like facade for stack-allocated arrays.")
|
||||
(license (list license:asl2.0 license:expat))))
|
||||
|
||||
(define-public rust-static-assertions-1
|
||||
(package
|
||||
(name "rust-static-assertions")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "static-assertions" version))
|
||||
(file-name (string-append name "-" version ".crate"))
|
||||
(sha256
|
||||
(base32
|
||||
"0gsl6xmw10gvn3zs1rv99laj5ig7ylffnh71f9l34js4nr4r7sx2"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/nvzqz/static-assertions-rs")
|
||||
(synopsis "Compile-time assertions for rust")
|
||||
(description
|
||||
"This package provides compile-time assertions to ensure that invariants
|
||||
are met.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-static-assertions-0.3
|
||||
(package
|
||||
(inherit rust-static-assertions-1)
|
||||
(name "rust-static-assertions")
|
||||
(version "0.3.4")
|
||||
(source
|
||||
|
@ -21872,14 +21990,7 @@ (define-public rust-static-assertions-0.3
|
|||
(file-name (string-append name "-" version ".crate"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lw33i89888yb3x29c6dv4mrkg3534n0rlg3r7qzh4p58xmv6gkz"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/nvzqz/static-assertions-rs")
|
||||
(synopsis "Compile-time assertions for rust")
|
||||
(description
|
||||
"This package provides compile-time assertions to ensure that invariants
|
||||
are met.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
"1lw33i89888yb3x29c6dv4mrkg3534n0rlg3r7qzh4p58xmv6gkz"))))))
|
||||
|
||||
(define-public rust-stb-truetype-0.3
|
||||
(package
|
||||
|
|
|
@ -415,14 +415,14 @@ (define-public cups-pk-helper
|
|||
(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 @@ (define-public foomatic-filters
|
|||
(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
|
||||
|
|
|
@ -1147,7 +1147,7 @@ (define-public emacs-recutils
|
|||
(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 @@ (define-public rocksdb
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0rp8q73dx5f1nkcf2qp6fljm4dpj281y6cqckqgv976kvwvqdgz1"))
|
||||
"1f2wqb6px812ijcivq3rsknqgkv01wblc6sd8wavhrw8qljgr3s1"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -72,7 +72,7 @@ (define-module (gnu packages diffoscope)
|
|||
(define-public diffoscope
|
||||
(package
|
||||
(name "diffoscope")
|
||||
(version "146")
|
||||
(version "148")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -81,7 +81,7 @@ (define-public diffoscope
|
|||
(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 @@ (define-public diffoscope
|
|||
(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
|
||||
|
|
|
@ -119,7 +119,7 @@ (define-public dnsmasq
|
|||
(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 @@ (define-public isc-bind
|
|||
"/bind-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zjgaspnx0p0rp83h4yj595s25da7fjis94z9frhv3azvq9nbb17"))))
|
||||
"02ip1xvmnqla3p5k2rmfrksrw4q9iqbrhyg3mamvrj5a7n6hh8km"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs `("out" "utils"))
|
||||
(inputs
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages docbook)
|
|||
#: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 @@ (define-public docbook-xml
|
|||
(sha256
|
||||
(base32
|
||||
"1d671lcjckjri28xfbf6dq7y3xnkppa910w1jin8rjc35dx06kjf"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
'(#:builder (begin
|
||||
(use-modules (guix build utils))
|
||||
|
@ -60,19 +102,11 @@ (define-public docbook-xml
|
|||
(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)
|
||||
|
|
|
@ -64,7 +64,7 @@ (define-public gnu-efi
|
|||
(define-public sbsigntools
|
||||
(package
|
||||
(name "sbsigntools")
|
||||
(version "0.9.3")
|
||||
(version "0.9.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -75,7 +75,7 @@ (define-public sbsigntools
|
|||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0gc3xmp73xl7z4nkwz4qy960rdflmx7k4ksgyblcnia9smvsir6y"))))
|
||||
(base32 "1y76wy65y6k10mjl2dm5hb5ms475alr4s080xzj8y833x01xvf3m"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages emacs-xyz)
|
|||
#: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)
|
||||
|
@ -249,6 +250,79 @@ (define-public emacs-ac-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,10 +472,10 @@ (define-public emacs-libgit
|
|||
|
||||
(define-public emacs-magit
|
||||
;; There hasn't been an official release since 2018-11-16.
|
||||
(let ((commit "d05545ec2fd7edf915eaf1b9c15c785bb08975cc"))
|
||||
(let ((commit "0746bf1bacfe896d3917ccc19c7fb9d95c18b1e9"))
|
||||
(package
|
||||
(name "emacs-magit")
|
||||
(version (git-version "2.90.1" "4" commit))
|
||||
(version (git-version "2.90.1" "5" commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -410,7 +484,7 @@ (define-public emacs-magit
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"11aqyy4r9hrdi9nlypd70hn8384b6q89c7xavgv8c5q7f2g5z9qg"))))
|
||||
"1sgdygr81s2qxq2ahf998hl89qrb0r2wbgnsiz3hdda1431p0wzg"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:emacs ,emacs-no-x ;module support is required
|
||||
|
@ -1188,14 +1262,14 @@ (define-public emacs-reformatter
|
|||
(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 +1478,21 @@ (define-public emacs-eww-lnum
|
|||
(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 +1502,56 @@ (define-public emacs-emms
|
|||
(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
|
||||
|
@ -3289,6 +3302,32 @@ (define-public emacs-znc
|
|||
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")
|
||||
|
@ -3912,6 +3951,31 @@ (define-public emacs-flycheck-grammalecte
|
|||
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 +4053,62 @@ (define-public emacs-docker-compose-mode
|
|||
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 +4193,14 @@ (define-public emacs-ob-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 +5229,28 @@ (define-public emacs-puppet-mode
|
|||
(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
|
||||
|
@ -7397,7 +7514,7 @@ (define-public emacs-highlight-indentation
|
|||
(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 +7523,23 @@ (define-public emacs-elpy
|
|||
(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
|
||||
|
@ -9456,48 +9584,26 @@ (define-public emacs-yasnippet
|
|||
(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 +10121,17 @@ (define-public emacs-use-package
|
|||
(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 +14621,7 @@ (define-public emacs-helm-mode-manager
|
|||
(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 +14630,7 @@ (define-public emacs-hy-mode
|
|||
(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 +14769,11 @@ (define-public emacs-org-ref
|
|||
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 +14782,7 @@ (define-public emacs-org-reveal
|
|||
(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 +17032,11 @@ (define-public emacs-github-review
|
|||
(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 +17046,9 @@ (define-public emacs-deadgrep
|
|||
(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)))
|
||||
|
|
|
@ -44,7 +44,9 @@ (define-module (gnu packages emulators)
|
|||
#: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 @@ (define-module (gnu packages emulators)
|
|||
#: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 @@ (define-public higan
|
|||
(define-public mgba
|
||||
(package
|
||||
(name "mgba")
|
||||
(version "0.8.1")
|
||||
(version "0.8.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -423,7 +426,7 @@ (define-public mgba
|
|||
(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.
|
||||
|
@ -1622,3 +1625,156 @@ (define-public gens-gs
|
|||
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+))))
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages engineering)
|
|||
#: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 @@ (define-module (gnu packages engineering)
|
|||
#: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 @@ (define-module (gnu packages engineering)
|
|||
#: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 @@ (define-module (gnu packages engineering)
|
|||
#: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 @@ (define-public linsmith
|
|||
(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 @@ (define-public volk
|
|||
(,(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 @@ (define-public lib3ds
|
|||
(define-public meshlab
|
||||
(package
|
||||
(name "meshlab")
|
||||
(version "2020.05")
|
||||
(version "2020.06")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -2633,7 +2638,7 @@ (define-public meshlab
|
|||
(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 @@ (define-public meshlab
|
|||
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+))))
|
||||
|
|
|
@ -70,7 +70,7 @@ (define-module (gnu packages enlightenment)
|
|||
(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 @@ (define-public efl
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0w3srvigg4kfi7xq76c7y4hnq5yr2gxrrsvlyj1g2wc1igz1vyg1"))))
|
||||
"0ajwc8lmay5ai7nsrp778g393h0p4h98p4c22gic2w61fgkcd5fy"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
`(("check" ,check)
|
||||
|
@ -152,11 +152,6 @@ (define-public efl
|
|||
; (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")
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages fonts)
|
|||
#: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 @@ (define-public font-iosevka
|
|||
(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 @@ (define-public font-iosevka
|
|||
"/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 @@ (define-public font-iosevka-slab
|
|||
"/releases/download/v" version
|
||||
"/ttc-iosevka-slab-" version ".zip"))
|
||||
(sha256
|
||||
(base32 "1rkmgi08kknc1fg54zpa6w92m3b3v7pc8cpwygz22kgd2h0mdrr8"))))))
|
||||
(base32 "1n3lh015mvsdbyygpg3p3yqjpqdn1fdvjh1bhi2ggjanhifjsgzh"))))))
|
||||
|
||||
(define-public font-iosevka-term
|
||||
(package
|
||||
|
@ -1213,10 +1215,10 @@ (define-public font-iosevka-term
|
|||
(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 @@ (define-public font-iosevka-term-slab
|
|||
(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 @@ (define-public font-iosevka-term-slab
|
|||
(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 @@ (define-public font-sarasa-gothic
|
|||
"/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 @@ (define-public font-ipa-mj-mincho
|
|||
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"))))
|
||||
|
|
|
@ -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>
|
||||
|
@ -1495,7 +1495,7 @@ (define-public mygui-gl
|
|||
(define-public openmw
|
||||
(package
|
||||
(name "openmw")
|
||||
(version "0.45.0")
|
||||
(version "0.46.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1504,7 +1504,7 @@ (define-public openmw
|
|||
"openmw-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0r0wgvv1faan8z8lbply8lks4hcnppifjrcz04l5zvq6yiqzjg5n"))))
|
||||
"0n7x39kwhwmi6ly9hd7yc6dhlrmmdmx30ahc46kmlzzn2n7mm8q7"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No test target
|
||||
|
@ -1743,20 +1743,25 @@ (define-public eureka
|
|||
(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 +1784,23 @@ (define-public guile3.0-chickadee
|
|||
(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)))
|
||||
|
|
|
@ -146,6 +146,7 @@ (define-module (gnu packages games)
|
|||
#: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,14 +177,15 @@ (define-module (gnu packages games)
|
|||
#: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))
|
||||
|
@ -515,7 +517,7 @@ (define-public cataclysm-dda
|
|||
(define-public corsix-th
|
||||
(package
|
||||
(name "corsix-th")
|
||||
(version "0.63")
|
||||
(version "0.64")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -524,7 +526,7 @@ (define-public corsix-th
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1rkyk8g55xny276s0hr5k8mq6f4nzz56d3k2mp09dzfymrqb8hgi"))))
|
||||
(base32 "0chh9cv2kdc39sr0x8hclcyzd8dz2y6grgagqzkvr7j570wa5cqh"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -1011,6 +1013,45 @@ (define-public julius
|
|||
(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")
|
||||
|
@ -1733,6 +1774,118 @@ (define-public roguebox-adventures
|
|||
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")
|
||||
|
@ -2970,7 +3123,7 @@ (define-public gnujump
|
|||
(define-public wesnoth
|
||||
(package
|
||||
(name "wesnoth")
|
||||
(version "1.14.12")
|
||||
(version "1.14.13")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
|
||||
|
@ -2979,7 +3132,7 @@ (define-public wesnoth
|
|||
"wesnoth-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"027bc1363hdgahw7dvd22fvvqd132byxnljfbq6lvlr5ci01q8mk"))))
|
||||
"1pmqj4rah0256qi9w394ksb9apid723i5f5agkg6x1lahb1ac91q"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ;no check target
|
||||
|
@ -5225,7 +5378,7 @@ (define-public fillets-ng
|
|||
(define-public crawl
|
||||
(package
|
||||
(name "crawl")
|
||||
(version "0.24.0")
|
||||
(version "0.25.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -5238,8 +5391,18 @@ (define-public crawl
|
|||
(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)
|
||||
|
@ -6842,6 +7005,104 @@ (define-public frotz-sdl
|
|||
(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")
|
||||
|
@ -10273,43 +10534,54 @@ (define-public kjumpingcube
|
|||
(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/"))
|
||||
|
@ -10321,38 +10593,34 @@ (define-public xmoto
|
|||
(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
|
||||
|
|
|
@ -419,7 +419,7 @@ (define-public gnome-shell-extension-hide-app-icon
|
|||
(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 @@ (define-public gnome-shell-extension-dash-to-panel
|
|||
(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 @@ (define-public numix-theme
|
|||
|
||||
(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 @@ (define-public papirus-icon-theme
|
|||
(commit tag)))
|
||||
(sha256
|
||||
(base32
|
||||
"19dfiifc7cjwy0nb1hgzryzaijszsyix303xsgk5xbmhpwrv92hq"))
|
||||
"0yv19kl8jr2jmh9018b1qmnq68alw84vrmb35jm462qd3qzzdgah"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -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>
|
||||
|
@ -2174,8 +2174,7 @@ (define-public glade3
|
|||
"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 @@ (define-public glade3
|
|||
"/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
|
||||
|
@ -10424,3 +10432,37 @@ (define-public jsonrpc-glib
|
|||
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
|
||||
|
|
|
@ -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 @@ (define-public libmicrohttpd
|
|||
(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 @@ (define-public gnurl
|
|||
"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
|
||||
|
|
|
@ -648,6 +648,12 @@ (define icecat-source
|
|||
"-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)
|
||||
|
|
|
@ -811,6 +811,33 @@ (define-public go-golang-org-x-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 +1840,31 @@ (define-public go-github-com-mattn-go-colorable
|
|||
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"))
|
||||
|
|
|
@ -405,9 +405,11 @@ (define-public lib2geom
|
|||
(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
|
||||
|
|
|
@ -1396,7 +1396,7 @@ (define-public guile-dbd-postgresql
|
|||
(define-public guile-config
|
||||
(package
|
||||
(name "guile-config")
|
||||
(version "0.4.1")
|
||||
(version "0.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1405,7 +1405,7 @@ (define-public guile-config
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"1c59ch96d5p4c7si8qp55fdc15375klf2hyh29y3ap8ahqx9pxqj"))))
|
||||
"09028ylbddjdp3d67zdjz3pnsjqz6zs2bfck5rr3dfaa0qjap40n"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
|
|
|
@ -308,6 +308,19 @@ (define-public guile-3.0
|
|||
(files '("lib/guile/3.0/site-ccache"
|
||||
"share/guile/site/3.0")))))))
|
||||
|
||||
(define-public guile-3.0.3
|
||||
;; TODO: Make this 'guile-3.0' on the next rebuild cycle.
|
||||
(package
|
||||
(inherit guile-3.0)
|
||||
(version "3.0.3")
|
||||
(source (origin
|
||||
(inherit (package-source guile-3.0))
|
||||
(uri (string-append "mirror://gnu/guile/guile-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fz6fgx7ran6nn0l978jmpckjc9knk4g3bddr75n0daqqmhjs95k"))))))
|
||||
|
||||
(define-public guile-next
|
||||
(deprecated-package "guile-next" guile-3.0))
|
||||
|
||||
|
|
|
@ -341,14 +341,14 @@ (define-public ghcid
|
|||
(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 @@ (define-public shellcheck
|
|||
@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")
|
||||
|
|
|
@ -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 @@ (define-public ghc-cookie
|
|||
(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")
|
||||
|
|
|
@ -9812,6 +9812,29 @@ (define-public ghc-protolude
|
|||
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 @@ (define-public ghc-regex-compat-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")
|
||||
|
|
|
@ -213,6 +213,11 @@ (define-public inkscape-1.0
|
|||
(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 @@ (define-public inkscape-1.0
|
|||
;; 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)
|
||||
|
|
|
@ -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 @@ (define-public gx-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 @@ (define-public go-ipfs
|
|||
"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
|
||||
|
|
|
@ -48,6 +48,7 @@ (define-module (gnu packages irc)
|
|||
#: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 @@ (define-public quassel
|
|||
(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 @@ (define-public quassel
|
|||
("qttools" ,qttools)))
|
||||
(inputs
|
||||
`(("inxi" ,inxi-minimal)
|
||||
("libdbusmenu-qt" ,libdbusmenu-qt)
|
||||
("qca" ,qca)
|
||||
("qtbase" ,qtbase)
|
||||
("qtmultimedia" ,qtmultimedia)
|
||||
|
|
|
@ -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 @@ (define-public juk
|
|||
(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 can’t use k3b’s
|
||||
;; 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 @@ (define-public k3b
|
|||
("kwidgetsaddons" ,kwidgetsaddons)
|
||||
("kxmlgui" ,kxmlgui)
|
||||
("lame" ,lame)
|
||||
("libburn" ,libburn)
|
||||
("libcdio-paranoia" ,libcdio-paranoia)
|
||||
("libdvdcss" ,libdvdcss)
|
||||
("libdvdread" ,libdvdread)
|
||||
;; TODO: LibFuzzer
|
||||
("libiconv" ,libiconv)
|
||||
|
@ -334,13 +365,17 @@ (define-public k3b
|
|||
("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+))))
|
||||
|
||||
|
|
|
@ -269,7 +269,7 @@ (define-public fstrcmp
|
|||
(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 @@ (define-public kodi
|
|||
(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"))
|
||||
|
|
|
@ -512,14 +512,6 @@ (define-public linphoneqt
|
|||
`(#: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.
|
||||
|
|
|
@ -371,18 +371,18 @@ (define (%upstream-linux-source version hash)
|
|||
(sha256 hash)))
|
||||
|
||||
|
||||
(define-public linux-libre-5.7-version "5.7.2")
|
||||
(define-public linux-libre-5.7-version "5.7.4")
|
||||
(define-public linux-libre-5.7-pristine-source
|
||||
(let ((version linux-libre-5.7-version)
|
||||
(hash (base32 "02brxm78n0kg4mh48acvjsr7mpvaqd279ycyaixaflid1s1awrb0")))
|
||||
(hash (base32 "06mm0bmjw54aypfhhbm9aaz5bmgymvygfak587iwv901635gb95w")))
|
||||
(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.47")
|
||||
(define-public linux-libre-5.4-pristine-source
|
||||
(let ((version linux-libre-5.4-version)
|
||||
(hash (base32 "13hvnfdcbcb9a21zizq8d90mc8maxz03zmzsj6iqsjd2y7r4y1rh")))
|
||||
(hash (base32 "0v4d86yci4lq82nb1fgf0g3j0348v6q6m77czpm4b3cs7lwrs2wp")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.4)))
|
||||
|
@ -395,26 +395,26 @@ (define-public linux-libre-4.19-pristine-source
|
|||
(%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.185")
|
||||
(define-public linux-libre-4.14-pristine-source
|
||||
(let ((version linux-libre-4.14-version)
|
||||
(hash (base32 "0h6r06c1d7amkfglsr66ic89p0zxpmk7jkq1ylcbknmkiwkixx9g")))
|
||||
(hash (base32 "1iixxwidp53s2i2br58wbx5s69f2jcllb116z73pv7fmd06b2czk")))
|
||||
(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)))
|
||||
|
|
|
@ -5719,22 +5719,7 @@ (define-public sbcl-cxml
|
|||
(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 +6121,6 @@ (define-public sbcl-fare-quasiquote-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 +6140,7 @@ (define-public sbcl-fare-quasiquote-extras
|
|||
(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 +6216,6 @@ (define-public sbcl-trivia.trivial
|
|||
(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 +6293,7 @@ (define-public sbcl-trivia
|
|||
("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 +11944,180 @@ (define-public sbcl-cl-rdkafka
|
|||
|
||||
(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))
|
||||
|
|
|
@ -1817,8 +1817,7 @@ (define-public python-iml
|
|||
"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)))
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages mail)
|
|||
#: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 @@ (define-public fetchmail
|
|||
(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 @@ (define-public mutt
|
|||
version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0cdcls0x6f2w99hkjz48hxhnx86w3bnyxzibchdc9yspih770bz2"))
|
||||
"1hykkq3m7kqic5r7vzg45xaww7415fv5i2d03slzykqb47w5d3na"))
|
||||
(patches (search-patches "mutt-store-references.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
|
|
@ -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.
|
||||
;;;
|
||||
|
@ -264,7 +265,16 @@ (define-public libmateweather
|
|||
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
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
;;; 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.
|
||||
;;;
|
||||
|
@ -60,6 +61,7 @@ (define-module (gnu packages messaging)
|
|||
#: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)
|
||||
|
@ -569,7 +571,7 @@ (define-public znc
|
|||
(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
|
||||
|
@ -603,7 +605,7 @@ (define-public znc
|
|||
("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.
|
||||
|
@ -2186,4 +2188,84 @@ (define-public tdlib
|
|||
(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
|
||||
|
|
|
@ -503,7 +503,7 @@ (define-public dumb-allegro4
|
|||
(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 @@ (define-public hydrogen
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1s3jrdyjpm92flw9mkkxchnj0wz8nn1y1kifii8ws252iiqjya4a"))))
|
||||
(base32 "1ibbdzyk30nj83jrq7py78hwpjgy0lq7ji6gi2pdp1pqzz1mqp0v"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:test-target "tests"
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages networking)
|
|||
#: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 @@ (define-module (gnu packages networking)
|
|||
#: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 @@ (define-public miredo
|
|||
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 @@ (define-public ifstatus
|
|||
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")
|
||||
|
@ -3187,3 +3288,49 @@ (define-public lldpd
|
|||
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)))
|
||||
|
|
|
@ -118,8 +118,8 @@ (define-public guix
|
|||
;; Note: the 'update-guix-package.scm' script expects this definition to
|
||||
;; start precisely like this.
|
||||
(let ((version "1.1.0")
|
||||
(commit "141b5c162048f5cb52e8c90ff7c16a2e98babcfb")
|
||||
(revision 10))
|
||||
(commit "c00564192a9924ab2218c243342963aba89d67d1")
|
||||
(revision 12))
|
||||
(package
|
||||
(name "guix")
|
||||
|
||||
|
@ -135,7 +135,7 @@ (define-public guix
|
|||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1j3vag994kj05b09a7w4lyas991a19hbbslcm9xvn5k2ilf4qskz"))
|
||||
"008ywpdkc5f2jh25x6rr9glzvq4a6qih7v73w5dbxscpddx5c5g2"))
|
||||
(file-name (string-append "guix-" version "-checkout"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -542,15 +542,30 @@ (define-public current-guix
|
|||
(define-public nix
|
||||
(package
|
||||
(name "nix")
|
||||
(version "2.3.5")
|
||||
(version "2.3.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://nixos.org/releases/nix/nix-"
|
||||
version "/nix-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hbqsrp1ii2sfq8x2mahjrl2182qck76n8blrl1jfz3xq99m6i15"))))
|
||||
"128xf2as0y7hr28x575pbf9lkjpxr9hsxknbavv4p7ywr4lhbs85"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "--sysconfdir=/etc")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'install
|
||||
;; Don't try & fail to create subdirectories in /etc, but keep them
|
||||
;; in the output as examples.
|
||||
(lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(etc (string-append out "/etc")))
|
||||
(apply invoke "make" "install"
|
||||
(string-append "sysconfdir=" etc)
|
||||
(string-append "profiledir=" etc "/profile.d")
|
||||
make-flags)))))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("boost" ,boost)
|
||||
("brotli" ,brotli)
|
||||
|
|
86
gnu/packages/patches/emacs-hyperbole-toggle-messaging.patch
Normal file
86
gnu/packages/patches/emacs-hyperbole-toggle-messaging.patch
Normal file
|
@ -0,0 +1,86 @@
|
|||
From 6d5c587ec719e3309077c7d637b03b13db65c047 Mon Sep 17 00:00:00 2001
|
||||
From: Joseph LaFreniere <joseph@lafreniere.xyz>
|
||||
Date: Fri, 12 Jul 2019 12:43:46 -0500
|
||||
Subject: [PATCH] Move definition of hyperbole-toggle-messaging to hsettings
|
||||
|
||||
---
|
||||
hsettings.el | 25 +++++++++++++++++++++++++
|
||||
hyperbole.el | 26 --------------------------
|
||||
2 files changed, 25 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/hsettings.el b/hsettings.el
|
||||
index 6cdd1b8..9632067 100644
|
||||
--- a/hsettings.el
|
||||
+++ b/hsettings.el
|
||||
@@ -163,6 +163,31 @@ package to display search results."
|
||||
search-term)))
|
||||
(user-error "(Hyperbole): Invalid web search service `%s'" service-name))))
|
||||
|
||||
+;;;###autoload
|
||||
+(defun hyperbole-toggle-messaging (&optional arg)
|
||||
+ "Toggle Hyperbole support for explicit buttons in mail and news buffers.
|
||||
+Toggles the boolean variable `inhibit-hyperbole-messaging’ and either
|
||||
+adds hooks (nil value) or removes them (t value).
|
||||
+
|
||||
+With optional prefix ARG > 0, enables support. If ARG <= 0,
|
||||
+disables/inhibits support."
|
||||
+ (interactive "P")
|
||||
+ (setq inhibit-hyperbole-messaging (if (null arg)
|
||||
+ (not inhibit-hyperbole-messaging)
|
||||
+ (<= (prefix-numeric-value arg) 0)))
|
||||
+ (if inhibit-hyperbole-messaging
|
||||
+ (var:remove-all)
|
||||
+ (var:append-all)
|
||||
+ ;; Add any hooks that were skipped when inhibit-hyperbole-messaging
|
||||
+ ;; was nil.
|
||||
+ (cond ((boundp 'hyperbole-loading))
|
||||
+ ((not after-init-time)
|
||||
+ (add-hook 'after-init-hook (lambda () (load "hyperbole"))))
|
||||
+ (t (load "hyperbole"))))
|
||||
+ (if (called-interactively-p 'interactive)
|
||||
+ (message "Hyperbole messaging button support is %s"
|
||||
+ (if inhibit-hyperbole-messaging "disabled" "enabled"))))
|
||||
+
|
||||
(defcustom inhibit-hyperbole-messaging t
|
||||
"*Determines whether Hyperbole supports explicit buttons in mail and news buffers.
|
||||
The default of t means disable such support (work remains to
|
||||
diff --git a/hyperbole.el b/hyperbole.el
|
||||
index 4aa427d..872dbaf 100644
|
||||
--- a/hyperbole.el
|
||||
+++ b/hyperbole.el
|
||||
@@ -121,32 +121,6 @@
|
||||
t)))
|
||||
(error "(Hyperbole): Startup failure: `hyperb:dir' must be manually added to `load-path' to fix.")))
|
||||
|
||||
-;; This must be defined before the defcustom `inhbit-hyperbole-messaging'.
|
||||
-;;;###autoload
|
||||
-(defun hyperbole-toggle-messaging (&optional arg)
|
||||
- "Toggle Hyperbole support for explicit buttons in mail and news buffers.
|
||||
-Toggles the boolean variable `inhibit-hyperbole-messaging’ and either
|
||||
-adds hooks (nil value) or removes them (t value).
|
||||
-
|
||||
-With optional prefix ARG > 0, enables support. If ARG <= 0,
|
||||
-disables/inhibits support."
|
||||
- (interactive "P")
|
||||
- (setq inhibit-hyperbole-messaging (if (null arg)
|
||||
- (not inhibit-hyperbole-messaging)
|
||||
- (<= (prefix-numeric-value arg) 0)))
|
||||
- (if inhibit-hyperbole-messaging
|
||||
- (var:remove-all)
|
||||
- (var:append-all)
|
||||
- ;; Add any hooks that were skipped when inhibit-hyperbole-messaging
|
||||
- ;; was nil.
|
||||
- (cond ((boundp 'hyperbole-loading))
|
||||
- ((not after-init-time)
|
||||
- (add-hook 'after-init-hook (lambda () (load "hyperbole"))))
|
||||
- (t (load "hyperbole"))))
|
||||
- (if (called-interactively-p 'interactive)
|
||||
- (message "Hyperbole messaging button support is %s"
|
||||
- (if inhibit-hyperbole-messaging "disabled" "enabled"))))
|
||||
-
|
||||
(defgroup hyperbole-koutliner nil
|
||||
"Hyperbole multi-level autonumbered outliner customizations."
|
||||
:group 'hyperbole)
|
||||
--
|
||||
2.22.0
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
When decoding AV1 files, prefer dav1d over libaom for performance
|
||||
reasons.
|
||||
|
||||
Patch copied from upstream source repository:
|
||||
|
||||
<https://git.videolan.org/gitweb.cgi/ffmpeg.git/?p=ffmpeg.git;a=commitdiff;h=dc0806dd25882f41f6085c8356712f95fded56c7>
|
||||
|
||||
From dc0806dd25882f41f6085c8356712f95fded56c7 Mon Sep 17 00:00:00 2001
|
||||
From: James Almer <jamrial@gmail.com>
|
||||
Date: Sun, 15 Sep 2019 11:29:56 -0300
|
||||
Subject: [PATCH] avcodec/allcodecs: make libdav1d the preferred AV1 decoder
|
||||
|
||||
It's considerably faster than libaom in most systems.
|
||||
|
||||
Reviewed-by: BBB
|
||||
Signed-off-by: James Almer <jamrial@gmail.com>
|
||||
---
|
||||
libavcodec/allcodecs.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
|
||||
index 5130fca026..d5dfba1877 100644
|
||||
--- a/libavcodec/allcodecs.c
|
||||
+++ b/libavcodec/allcodecs.c
|
||||
@@ -680,7 +680,6 @@ extern AVCodec ff_pcm_mulaw_at_encoder;
|
||||
extern AVCodec ff_pcm_mulaw_at_decoder;
|
||||
extern AVCodec ff_qdmc_at_decoder;
|
||||
extern AVCodec ff_qdm2_at_decoder;
|
||||
-extern AVCodec ff_libaom_av1_decoder;
|
||||
extern AVCodec ff_libaom_av1_encoder;
|
||||
extern AVCodec ff_libaribb24_decoder;
|
||||
extern AVCodec ff_libcelt_decoder;
|
||||
@@ -738,6 +737,7 @@ extern AVCodec ff_idf_decoder;
|
||||
/* external libraries, that shouldn't be used by default if one of the
|
||||
* above is available */
|
||||
extern AVCodec ff_h263_v4l2m2m_encoder;
|
||||
+extern AVCodec ff_libaom_av1_decoder;
|
||||
extern AVCodec ff_libopenh264_encoder;
|
||||
extern AVCodec ff_libopenh264_decoder;
|
||||
extern AVCodec ff_h264_amf_encoder;
|
||||
--
|
||||
2.20.1
|
||||
|
37
gnu/packages/patches/iputils-libcap-compat.patch
Normal file
37
gnu/packages/patches/iputils-libcap-compat.patch
Normal file
|
@ -0,0 +1,37 @@
|
|||
Fix name clash with libcap 2.29.
|
||||
|
||||
Taken from upstream:
|
||||
https://github.com/iputils/iputils/commit/18f9a84e0e702841d6cc4d5f593de4fbd1348e83
|
||||
|
||||
diff --git a/ninfod/ninfod.c b/ninfod/ninfod.c
|
||||
--- a/ninfod/ninfod.c
|
||||
+++ b/ninfod/ninfod.c
|
||||
@@ -455,7 +455,7 @@ static void do_daemonize(void)
|
||||
/* --------- */
|
||||
#ifdef HAVE_LIBCAP
|
||||
static const cap_value_t cap_net_raw = CAP_NET_RAW;
|
||||
-static const cap_value_t cap_setuid = CAP_SETUID;
|
||||
+static const cap_value_t cap_setuserid = CAP_SETUID;
|
||||
static cap_flag_value_t cap_ok;
|
||||
#else
|
||||
static uid_t euid;
|
||||
@@ -487,7 +487,7 @@ static void limit_capabilities(void)
|
||||
|
||||
cap_get_flag(cap_cur_p, CAP_SETUID, CAP_PERMITTED, &cap_ok);
|
||||
if (cap_ok != CAP_CLEAR)
|
||||
- cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuid, CAP_SET);
|
||||
+ cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuserid, CAP_SET);
|
||||
|
||||
if (cap_set_proc(cap_p) < 0) {
|
||||
DEBUG(LOG_ERR, "cap_set_proc: %s\n", strerror(errno));
|
||||
@@ -520,8 +520,8 @@ static void drop_capabilities(void)
|
||||
|
||||
/* setuid / setuid */
|
||||
if (cap_ok != CAP_CLEAR) {
|
||||
- cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuid, CAP_SET);
|
||||
- cap_set_flag(cap_p, CAP_EFFECTIVE, 1, &cap_setuid, CAP_SET);
|
||||
+ cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuserid, CAP_SET);
|
||||
+ cap_set_flag(cap_p, CAP_EFFECTIVE, 1, &cap_setuserid, CAP_SET);
|
||||
|
||||
if (cap_set_proc(cap_p) < 0) {
|
||||
DEBUG(LOG_ERR, "cap_set_proc: %s\n", strerror(errno));
|
172
gnu/packages/patches/lib2geom-fix-tests.patch
Normal file
172
gnu/packages/patches/lib2geom-fix-tests.patch
Normal file
|
@ -0,0 +1,172 @@
|
|||
From 488edbf84e918e0353e7a8f438abbf6eeca3767e Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
Date: Wed, 17 Jun 2020 23:20:53 -0400
|
||||
Subject: [PATCH] tests: Fix tests on non-x86_64 platforms.
|
||||
|
||||
On platform other than x86_64 such as aarch64-linux or i686-linux,
|
||||
some double comparison would fail.
|
||||
|
||||
See <http://issues.guix.gnu.org/41827>.
|
||||
|
||||
* tests/bezier-test.cpp: (Casteljau): Replace EXPECT_EQ by
|
||||
EXPECT_near.
|
||||
(Subdivide): Replace EXPECT_EQ by EXPECT_DOUBLE_EQ.
|
||||
(Portion): Replace EXPECT_EQ by EXPECT_near.
|
||||
* tests/ellipse-test.cpp (BezierIntersection): Lower error tolerance
|
||||
from 6e-13 to 6e-12.
|
||||
* tests/line-test.cpp (Reflection): Replace EXPECT_FLOAT_EQ BY
|
||||
EXPECT_near.
|
||||
(Coefficients): Skip test.
|
||||
* tests/parallelogram-test.cpp (area): Replace EXPECT_EQ by
|
||||
EXPECT_DOUBLE_EQ.
|
||||
---
|
||||
tests/bezier-test.cpp | 31 +++++++++++++++++--------------
|
||||
tests/ellipse-test.cpp | 2 +-
|
||||
tests/line-test.cpp | 11 +++++++----
|
||||
tests/parallelogram-test.cpp | 8 ++++----
|
||||
4 files changed, 29 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/tests/bezier-test.cpp b/tests/bezier-test.cpp
|
||||
index 4054a65..46209f4 100644
|
||||
--- a/tests/bezier-test.cpp
|
||||
+++ b/tests/bezier-test.cpp
|
||||
@@ -152,11 +152,13 @@ TEST_F(BezierTest, Casteljau) {
|
||||
EXPECT_vector_equal(right2, right);
|
||||
|
||||
double vnone = casteljau_subdivision<double>(t, &wiggle[0], NULL, NULL, wiggle.order());
|
||||
- EXPECT_EQ(vnone, vok);
|
||||
+ EXPECT_near(vnone, vok, 1e-12);
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(BezierTest, Portion) {
|
||||
+ constexpr Coord eps{1e-12};
|
||||
+
|
||||
for (unsigned i = 0; i < 10000; ++i) {
|
||||
double from = g_random_double_range(0, 1);
|
||||
double to = g_random_double_range(0, 1);
|
||||
@@ -165,8 +167,8 @@ TEST_F(BezierTest, Portion) {
|
||||
Bezier result = portion(input, from, to);
|
||||
|
||||
// the endpoints must correspond exactly
|
||||
- EXPECT_EQ(result.at0(), input.valueAt(from));
|
||||
- EXPECT_EQ(result.at1(), input.valueAt(to));
|
||||
+ EXPECT_near(result.at0(), input.valueAt(from), eps);
|
||||
+ EXPECT_near(result.at1(), input.valueAt(to), eps);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -181,16 +183,16 @@ TEST_F(BezierTest, Subdivide) {
|
||||
|
||||
// the endpoints must correspond exactly
|
||||
// moreover, the subdivision point must be exactly equal to valueAt(t)
|
||||
- EXPECT_EQ(result.first.at0(), input.at0());
|
||||
- EXPECT_EQ(result.first.at1(), result.second.at0());
|
||||
- EXPECT_EQ(result.second.at0(), input.valueAt(t));
|
||||
- EXPECT_EQ(result.second.at1(), input.at1());
|
||||
+ EXPECT_DOUBLE_EQ(result.first.at0(), input.at0());
|
||||
+ EXPECT_DOUBLE_EQ(result.first.at1(), result.second.at0());
|
||||
+ EXPECT_DOUBLE_EQ(result.second.at0(), input.valueAt(t));
|
||||
+ EXPECT_DOUBLE_EQ(result.second.at1(), input.at1());
|
||||
|
||||
// ditto for valueAt
|
||||
- EXPECT_EQ(result.first.valueAt(0), input.valueAt(0));
|
||||
- EXPECT_EQ(result.first.valueAt(1), result.second.valueAt(0));
|
||||
- EXPECT_EQ(result.second.valueAt(0), input.valueAt(t));
|
||||
- EXPECT_EQ(result.second.valueAt(1), input.valueAt(1));
|
||||
+ EXPECT_DOUBLE_EQ(result.first.valueAt(0), input.valueAt(0));
|
||||
+ EXPECT_DOUBLE_EQ(result.first.valueAt(1), result.second.valueAt(0));
|
||||
+ EXPECT_DOUBLE_EQ(result.second.valueAt(0), input.valueAt(t));
|
||||
+ EXPECT_DOUBLE_EQ(result.second.valueAt(1), input.valueAt(1));
|
||||
|
||||
if (result.first.at1() != result.second.at0()) {
|
||||
errors.push_back(std::pair<Bezier,double>(input, t));
|
||||
@@ -271,9 +273,10 @@ TEST_F(BezierTest, Deflate) {
|
||||
EXPECT_FLOAT_EQ(0, b.at0());
|
||||
b = b.deflate();
|
||||
const double rootposition = (0.5-0.25) / (1-0.25);
|
||||
- EXPECT_FLOAT_EQ(0, b.valueAt(rootposition));
|
||||
+ constexpr Coord eps{1e-12};
|
||||
+ EXPECT_near(0.0, b.valueAt(rootposition), eps);
|
||||
b = b.subdivide(rootposition).second;
|
||||
- EXPECT_FLOAT_EQ(0, b.at0());
|
||||
+ EXPECT_near(0.0, b.at0(), eps);
|
||||
}
|
||||
|
||||
TEST_F(BezierTest, Roots) {
|
||||
@@ -364,7 +367,7 @@ TEST_F(BezierTest, Operators) {
|
||||
for(int i = 0; i <= 16; i++) {
|
||||
double t = i/16.0;
|
||||
double b = B.valueAt(t);
|
||||
- EXPECT_FLOAT_EQ(b*b, product.valueAt(t));
|
||||
+ EXPECT_near(b*b, product.valueAt(t), 1e-12);
|
||||
}
|
||||
}
|
||||
}
|
||||
diff --git a/tests/ellipse-test.cpp b/tests/ellipse-test.cpp
|
||||
index 561c285..d6e65d8 100644
|
||||
--- a/tests/ellipse-test.cpp
|
||||
+++ b/tests/ellipse-test.cpp
|
||||
@@ -199,7 +199,7 @@ TEST(EllipseTest, BezierIntersection) {
|
||||
std::vector<ShapeIntersection> xs = e.intersect(b);
|
||||
|
||||
EXPECT_EQ(xs.size(), 2ul);
|
||||
- EXPECT_intersections_valid(e, b, xs, 6e-13);
|
||||
+ EXPECT_intersections_valid(e, b, xs, 6e-12);
|
||||
}
|
||||
|
||||
TEST(EllipseTest, Coefficients) {
|
||||
diff --git a/tests/line-test.cpp b/tests/line-test.cpp
|
||||
index 99546dd..2399130 100644
|
||||
--- a/tests/line-test.cpp
|
||||
+++ b/tests/line-test.cpp
|
||||
@@ -91,10 +91,12 @@ TEST(LineTest, Reflection) {
|
||||
|
||||
Point testra = pa * reflecta;
|
||||
Point testrb = pb * reflectb;
|
||||
- EXPECT_FLOAT_EQ(testra[X], ra[X]);
|
||||
- EXPECT_FLOAT_EQ(testra[Y], ra[Y]);
|
||||
- EXPECT_FLOAT_EQ(testrb[X], rb[X]);
|
||||
- EXPECT_FLOAT_EQ(testrb[Y], rb[Y]);
|
||||
+
|
||||
+ constexpr Coord eps{1e-12};
|
||||
+ EXPECT_near(testra[X], ra[X], eps);
|
||||
+ EXPECT_near(testra[Y], ra[Y], eps);
|
||||
+ EXPECT_near(testrb[X], rb[X], eps);
|
||||
+ EXPECT_near(testrb[Y], rb[Y], eps);
|
||||
}
|
||||
|
||||
TEST(LineTest, RotationToZero) {
|
||||
@@ -115,6 +117,7 @@ TEST(LineTest, RotationToZero) {
|
||||
}
|
||||
|
||||
TEST(LineTest, Coefficients) {
|
||||
+ GTEST_SKIP() << "This test fails on i686-linux and aarch64-linux";
|
||||
std::vector<Line> lines;
|
||||
lines.push_back(Line(Point(1e9,1e9), Point(1,1)));
|
||||
//the case below will never work without normalizing the line
|
||||
diff --git a/tests/parallelogram-test.cpp b/tests/parallelogram-test.cpp
|
||||
index 8109ead..70ccea1 100644
|
||||
--- a/tests/parallelogram-test.cpp
|
||||
+++ b/tests/parallelogram-test.cpp
|
||||
@@ -106,13 +106,13 @@ TEST(ParallelogramTest, area)
|
||||
{
|
||||
Rect r(2, 4, 7, 8);
|
||||
Parallelogram p(r);
|
||||
- EXPECT_EQ(p.area(), r.area());
|
||||
+ EXPECT_DOUBLE_EQ(p.area(), r.area());
|
||||
p *= Rotate(M_PI / 4.0); // 45°
|
||||
- EXPECT_EQ(p.area(), r.area());
|
||||
+ EXPECT_DOUBLE_EQ(p.area(), r.area());
|
||||
p *= HShear(2);
|
||||
- EXPECT_EQ(p.area(), r.area());
|
||||
+ EXPECT_DOUBLE_EQ(p.area(), r.area());
|
||||
p *= Scale(2);
|
||||
- EXPECT_EQ(p.area(), r.area() * 4);
|
||||
+ EXPECT_DOUBLE_EQ(p.area(), r.area() * 4);
|
||||
}
|
||||
|
||||
class ParallelogramTest
|
||||
--
|
||||
2.26.2
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
From f95925afef451755fc1449e57fbfdc2e7277f4b4 Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
Date: Sat, 11 Jan 2020 00:44:55 -0500
|
||||
Subject: [PATCH 1/3] tests: Link against GLib.
|
||||
|
||||
This resolves an error about not finding <glib.h> when linking the
|
||||
tests that make use of GLib.
|
||||
|
||||
* src/tests/CMakeLists.txt[2GEOM_GTESTS_SRC]: Add the glib library to
|
||||
the link target libraries.
|
||||
---
|
||||
src/tests/CMakeLists.txt | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
|
||||
index 5ddf7f9c..626cfd87 100644
|
||||
--- a/src/tests/CMakeLists.txt
|
||||
+++ b/src/tests/CMakeLists.txt
|
||||
@@ -32,8 +32,10 @@ sbasis-test
|
||||
|
||||
foreach(source ${2GEOM_GTESTS_SRC})
|
||||
add_executable(${source} ${source}.cpp)
|
||||
- target_include_directories(${source} PRIVATE ${GSL_INCLUDE_DIRS} ${GTK3_INCLUDE_DIRS})
|
||||
- target_link_libraries(${source} 2geom gtest_main gtest ${GSL_LIBRARIES} ${GTK3_LIBRARIES})
|
||||
+ target_include_directories(${source} PRIVATE ${GSL_INCLUDE_DIRS}
|
||||
+ ${GTK3_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS})
|
||||
+ target_link_libraries(${source} 2geom gtest_main gtest ${GSL_LIBRARIES}
|
||||
+ ${GTK3_LIBRARIES} ${GLIB_LIBRARIES})
|
||||
add_test(NAME ${source} COMMAND ${source})
|
||||
endforeach()
|
||||
|
||||
--
|
||||
2.24.1
|
||||
|
|
@ -1,94 +0,0 @@
|
|||
From 6693b9c8ff1ae1ec02c9002c0a8f5f416f0c88f0 Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
Date: Sun, 12 Jan 2020 23:23:33 -0500
|
||||
Subject: [PATCH 3/3] build: Prefer googletest from the system.
|
||||
|
||||
Fixes issue #4.
|
||||
|
||||
The build system now look for a system installed googletest or falls
|
||||
back to the bundled copy of googletest otherwise.
|
||||
|
||||
* CMakeLists.txt: Add call to find_package(GTest).
|
||||
(include_directories): Remove "src/googletest/googletest/include" from
|
||||
arg.
|
||||
* src/CMakeLists.txt[NOT GTEST_FOUND]: Define the gtest and gtest_main
|
||||
libraries when GTEST_FOUND is false. Globally include the googletest
|
||||
headers here. Define aliases for the gtest and gtest_main libraries
|
||||
that match those defined by the FindGTest module.
|
||||
* src/tests/CMakeLists.txt: Replace references to gtest_main and gtest
|
||||
by GTest::Main and GTest::GTest, respectively.
|
||||
---
|
||||
CMakeLists.txt | 3 ++-
|
||||
src/CMakeLists.txt | 15 +++++++++++----
|
||||
src/tests/CMakeLists.txt | 6 +++---
|
||||
3 files changed, 16 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index bfeb8f03..96fbd58c 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -25,13 +25,14 @@ find_package(DoubleConversion REQUIRED)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
find_package(Cython)
|
||||
find_package(Threads)
|
||||
+find_package(GTest)
|
||||
pkg_check_modules(GTK3 gtk+-3.0)
|
||||
pkg_check_modules(GLIB glib-2.0)
|
||||
pkg_check_modules(CAIRO cairo)
|
||||
pkg_check_modules(GSL gsl)
|
||||
|
||||
# Add global include and link directories
|
||||
-include_directories(src src/googletest/googletest/include ${CMAKE_CURRENT_BINARY_DIR})
|
||||
+include_directories(src ${CMAKE_CURRENT_BINARY_DIR})
|
||||
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/2geom)
|
||||
|
||||
check_cxx_source_compiles("#include <math.h>\nint main() { double a=0.5,b=0.5,c=0.5; sincos(a, &b, &c); return 0; }" HAVE_SINCOS)
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index eefb3ac5..941dc4c7 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -1,7 +1,14 @@
|
||||
-add_library(gtest SHARED googletest/googletest/src/gtest-all.cc)
|
||||
-target_include_directories(gtest PRIVATE googletest/googletest)
|
||||
-target_link_libraries(gtest Threads::Threads)
|
||||
-add_library(gtest_main STATIC googletest/googletest/src/gtest_main.cc)
|
||||
+if(NOT GTEST_FOUND)
|
||||
+ message("No system googletest library: using bundled copy.")
|
||||
+ add_library(gtest SHARED googletest/googletest/src/gtest-all.cc)
|
||||
+ add_library(gtest_main STATIC googletest/googletest/src/gtest_main.cc)
|
||||
+ target_include_directories(gtest PRIVATE googletest/googletest)
|
||||
+ target_link_libraries(gtest Threads::Threads)
|
||||
+ include_directories(SYSTEM googletest/googletest/include)
|
||||
+ # Aliases to share the same nomenclature with FindGTest.
|
||||
+ add_library(GTest::GTest ALIAS gtest)
|
||||
+ add_library(GTest::Main ALIAS gtest_main)
|
||||
+endif()
|
||||
|
||||
add_subdirectory(2geom)
|
||||
add_subdirectory(tests)
|
||||
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
|
||||
index 626cfd87..3538f8cf 100644
|
||||
--- a/src/tests/CMakeLists.txt
|
||||
+++ b/src/tests/CMakeLists.txt
|
||||
@@ -34,15 +34,15 @@ foreach(source ${2GEOM_GTESTS_SRC})
|
||||
add_executable(${source} ${source}.cpp)
|
||||
target_include_directories(${source} PRIVATE ${GSL_INCLUDE_DIRS}
|
||||
${GTK3_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS})
|
||||
- target_link_libraries(${source} 2geom gtest_main gtest ${GSL_LIBRARIES}
|
||||
- ${GTK3_LIBRARIES} ${GLIB_LIBRARIES})
|
||||
+ target_link_libraries(${source} 2geom GTest::Main GTest::GTest
|
||||
+ ${GSL_LIBRARIES} ${GTK3_LIBRARIES} ${GLIB_LIBRARIES})
|
||||
add_test(NAME ${source} COMMAND ${source})
|
||||
endforeach()
|
||||
|
||||
foreach(source ${2GEOM_TESTS_SRC})
|
||||
add_executable(${source} ${source}.cpp)
|
||||
target_include_directories(${source} PRIVATE ${GSL_INCLUDE_DIRS} ${GTK3_INCLUDE_DIRS})
|
||||
- target_link_libraries(${source} 2geom gtest ${GSL_LIBRARIES} ${GTK3_LIBRARIES})
|
||||
+ target_link_libraries(${source} 2geom GTest::GTest ${GSL_LIBRARIES} ${GTK3_LIBRARIES})
|
||||
add_test(NAME ${source} COMMAND ${source})
|
||||
endforeach(source)
|
||||
|
||||
--
|
||||
2.24.1
|
||||
|
24
gnu/packages/patches/python-memcached-syntax-warnings.patch
Normal file
24
gnu/packages/patches/python-memcached-syntax-warnings.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
Problem reported upstream:
|
||||
https://github.com/linsomniac/python-memcached/issues/176
|
||||
|
||||
---
|
||||
memcache.py | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/memcache.py b/memcache.py
|
||||
index 05b6657..b935681 100644
|
||||
--- a/memcache.py
|
||||
+++ b/memcache.py
|
||||
@@ -1300,8 +1300,8 @@ class Client(threading.local):
|
||||
key = key[1]
|
||||
if key is None:
|
||||
raise Client.MemcachedKeyNoneError("Key is None")
|
||||
- if key is '':
|
||||
- if key_extra_len is 0:
|
||||
+ if key == '':
|
||||
+ if key_extra_len == 0:
|
||||
raise Client.MemcachedKeyNoneError("Key is empty")
|
||||
|
||||
# key is empty but there is some other component to key
|
||||
--
|
||||
2.26.2
|
130
gnu/packages/patches/quassel-qt-514-compat.patch
Normal file
130
gnu/packages/patches/quassel-qt-514-compat.patch
Normal file
|
@ -0,0 +1,130 @@
|
|||
https://github.com/quassel/quassel/commit/579e559a6322209df7cd51c34801fecff5fe734b.patch
|
||||
|
||||
Based on the above patch, with some changes due to how the code has changed
|
||||
in the time since 0.13.1 was released.
|
||||
|
||||
https://git.archlinux.org/svntogit/community.git/plain/trunk/quassel-0.13.1-qt5.14.patch?h=packages/quassel
|
||||
|
||||
From 579e559a6322209df7cd51c34801fecff5fe734b Mon Sep 17 00:00:00 2001
|
||||
From: Manuel Nickschas <sputnick@quassel-irc.org>
|
||||
Date: Tue, 7 Jan 2020 18:34:54 +0100
|
||||
Subject: [PATCH] common: Disable enum type stream operators for Qt >= 5.14
|
||||
|
||||
Starting from version 5.14, Qt provides stream operators for enum
|
||||
types, which collide with the ones we ship in types.h. Disable
|
||||
Quassel's stream operators when compiling against Qt 5.14 or later.
|
||||
|
||||
Add a unit test that ensures that enum serialization honors the width
|
||||
of the underlying type.
|
||||
---
|
||||
src/common/types.h | 2 +
|
||||
tests/common/CMakeLists.txt | 2 +
|
||||
tests/common/typestest.cpp | 79 +++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 83 insertions(+)
|
||||
create mode 100644 tests/common/typestest.cpp
|
||||
|
||||
diff --git a/src/common/types.h b/src/common/types.h
|
||||
index d3742b788..e2a9aab5e 100644
|
||||
--- a/src/common/types.h
|
||||
+++ b/src/common/types.h
|
||||
@@ -140,6 +140,7 @@ Q_DECLARE_METATYPE(QHostAddress)
|
||||
typedef QList<MsgId> MsgIdList;
|
||||
typedef QList<BufferId> BufferIdList;
|
||||
|
||||
+#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
|
||||
/**
|
||||
* Catch-all stream serialization operator for enum types.
|
||||
*
|
||||
@@ -169,6 +170,7 @@ QDataStream &operator>>(QDataStream &in, T &value) {
|
||||
value = static_cast<T>(v);
|
||||
return in;
|
||||
}
|
||||
+#endif
|
||||
|
||||
// Exceptions
|
||||
|
||||
diff --git a/tests/common/typestest.cpp b/tests/common/typestest.cpp
|
||||
new file mode 100644
|
||||
index 000000000..04031c299
|
||||
--- /dev/null
|
||||
+++ b/tests/common/typestest.cpp
|
||||
@@ -0,0 +1,79 @@
|
||||
+/***************************************************************************
|
||||
+ * Copyright (C) 2005-2020 by the Quassel Project *
|
||||
+ * devel@quassel-irc.org *
|
||||
+ * *
|
||||
+ * This program 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 2 of the License, or *
|
||||
+ * (at your option) version 3. *
|
||||
+ * *
|
||||
+ * This program 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 this program; if not, write to the *
|
||||
+ * Free Software Foundation, Inc., *
|
||||
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
|
||||
+ ***************************************************************************/
|
||||
+
|
||||
+#include <cstdint>
|
||||
+
|
||||
+#include <QByteArray>
|
||||
+#include <QDataStream>
|
||||
+#include <QObject>
|
||||
+
|
||||
+#include "testglobal.h"
|
||||
+#include "types.h"
|
||||
+
|
||||
+using namespace ::testing;
|
||||
+
|
||||
+class EnumHolder
|
||||
+{
|
||||
+ Q_GADGET
|
||||
+
|
||||
+public:
|
||||
+ enum class Enum16 : uint16_t {};
|
||||
+ enum class Enum32 : uint32_t {};
|
||||
+
|
||||
+ enum class EnumQt16 : uint16_t {};
|
||||
+ Q_ENUM(EnumQt16)
|
||||
+ enum class EnumQt32 : uint32_t {};
|
||||
+ Q_ENUM(EnumQt32)
|
||||
+};
|
||||
+
|
||||
+// Verify that enums are (de)serialized as their underlying type
|
||||
+TEST(TypesTest, enumSerialization)
|
||||
+{
|
||||
+ QByteArray data;
|
||||
+ QDataStream out(&data, QIODevice::WriteOnly);
|
||||
+
|
||||
+ // Serialize
|
||||
+ out << EnumHolder::Enum16(0xabcd);
|
||||
+ ASSERT_THAT(data.size(), Eq(2));
|
||||
+ out << EnumHolder::Enum32(0x123456);
|
||||
+ ASSERT_THAT(data.size(), Eq(6));
|
||||
+ out << EnumHolder::EnumQt16(0x4321);
|
||||
+ ASSERT_THAT(data.size(), Eq(8));
|
||||
+ out << EnumHolder::Enum32(0xfedcba);
|
||||
+ ASSERT_THAT(data.size(), Eq(12));
|
||||
+ ASSERT_THAT(out.status(), Eq(QDataStream::Status::Ok));
|
||||
+
|
||||
+ // Deserialize
|
||||
+ QDataStream in(data);
|
||||
+ EnumHolder::Enum16 enum16;
|
||||
+ EnumHolder::Enum32 enum32;
|
||||
+ EnumHolder::EnumQt16 enumQt16;
|
||||
+ EnumHolder::EnumQt32 enumQt32;
|
||||
+ in >> enum16 >> enum32 >> enumQt16 >> enumQt32;
|
||||
+ ASSERT_THAT(in.status(), Eq(QDataStream::Status::Ok));
|
||||
+ EXPECT_TRUE(in.atEnd());
|
||||
+
|
||||
+ EXPECT_THAT((int)enum16, Eq(0xabcd));
|
||||
+ EXPECT_THAT((int)enum32, Eq(0x123456));
|
||||
+ EXPECT_THAT((int)enumQt16, Eq(0x4321));
|
||||
+ EXPECT_THAT((int)enumQt32, Eq(0xfedcba));
|
||||
+}
|
||||
+
|
||||
+#include "typestest.moc"
|
66
gnu/packages/patches/tup-unbundle-dependencies.patch
Normal file
66
gnu/packages/patches/tup-unbundle-dependencies.patch
Normal file
|
@ -0,0 +1,66 @@
|
|||
Allow building tup after removing some bundled sources from the source
|
||||
tree.
|
||||
|
||||
diff --git a/build.sh b/build.sh
|
||||
index 2937116d..eab650f7 100755
|
||||
--- a/build.sh
|
||||
+++ b/build.sh
|
||||
@@ -16,7 +16,7 @@ else
|
||||
echo "Error: invalid TUP_SERVER \"$server\"" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
-LDFLAGS="$LDFLAGS -lm"
|
||||
+LDFLAGS="$LDFLAGS -lm -lsqlite3 `pcre-config --libs`"
|
||||
: ${CC:=gcc}
|
||||
case "$os" in
|
||||
Linux)
|
||||
@@ -65,17 +65,15 @@ mkdir luabuiltin
|
||||
|
||||
CFLAGS="$CFLAGS -DTUP_SERVER=\"$server\""
|
||||
CFLAGS="$CFLAGS -DHAVE_CONFIG_H"
|
||||
+CFLAGS="$CFLAGS `pcre-config --cflags`"
|
||||
|
||||
-for i in ../src/tup/*.c ../src/tup/tup/main.c ../src/tup/monitor/null.c ../src/tup/flock/fcntl.c ../src/inih/ini.c ../src/pcre/*.c $plat_files; do
|
||||
+for i in ../src/tup/*.c ../src/tup/tup/main.c ../src/tup/monitor/null.c ../src/tup/flock/fcntl.c ../src/inih/ini.c $plat_files; do
|
||||
echo " bootstrap CC $CFLAGS $i"
|
||||
# Put -I. first so we find our new luabuiltin.h file, not one built
|
||||
# by a previous 'tup upd'.
|
||||
- $CC $CFLAGS -c $i -I. -I../src -I../src/pcre $plat_cflags
|
||||
+ $CC $CFLAGS -c $i -I. -I../src $plat_cflags
|
||||
done
|
||||
|
||||
-echo " bootstrap CC $CFLAGS ../src/sqlite3/sqlite3.c"
|
||||
-$CC $CFLAGS -c ../src/sqlite3/sqlite3.c -DSQLITE_TEMP_STORE=2 -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION $plat_cflags
|
||||
-
|
||||
echo " bootstrap LD tup $LDFLAGS"
|
||||
echo "const char *tup_version(void) {return \"$label\";}" | $CC -x c -c - -o tup_version.o
|
||||
$CC *.o -o tup -lpthread $plat_ldflags $LDFLAGS
|
||||
diff --git a/src/tup/db.c b/src/tup/db.c
|
||||
index 55ee3edd..9bdf7a80 100644
|
||||
--- a/src/tup/db.c
|
||||
+++ b/src/tup/db.c
|
||||
@@ -46,7 +46,7 @@
|
||||
#include <errno.h>
|
||||
#include <ctype.h>
|
||||
#include <sys/stat.h>
|
||||
-#include "sqlite3/sqlite3.h"
|
||||
+#include <sqlite3.h>
|
||||
|
||||
#define DB_VERSION 17
|
||||
#define PARSER_VERSION 12
|
||||
diff --git a/src/tup/tupid.h b/src/tup/tupid.h
|
||||
index 7b36ae46..19aed438 100644
|
||||
--- a/src/tup/tupid.h
|
||||
+++ b/src/tup/tupid.h
|
||||
@@ -21,7 +21,7 @@
|
||||
#ifndef tup_tupid_h
|
||||
#define tup_tupid_h
|
||||
|
||||
-#include "sqlite3/sqlite3.h"
|
||||
+#include <sqlite3.h>
|
||||
|
||||
typedef sqlite3_int64 tupid_t;
|
||||
|
||||
--
|
||||
2.26.2
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
Description: Allow building without upstream-supplied glext.h
|
||||
Author: Stephen Kitt <steve@sk2.org>
|
||||
Bug: http://todo.xmoto.tuxfamily.org/index.php?do=details&task_id=803
|
||||
|
||||
--- xmoto-0.5.9+dfsg.orig/src/include/xm_OpenGL.h
|
||||
+++ xmoto-0.5.9+dfsg/src/include/xm_OpenGL.h
|
||||
@@ -1,7 +1,6 @@
|
||||
#ifdef ENABLE_OPENGL
|
||||
/* Pull in OpenGL headers */
|
||||
/* following scissored from SDL_opengl.h */
|
||||
-#define __glext_h_ /* Don't let gl.h include glext.h */
|
||||
#ifdef HAVE_APPLE_OPENGL_FRAMEWORK
|
||||
#include <OpenGL/gl.h> /* Header File For The OpenGL Library */
|
||||
#include <OpenGL/glu.h> /* Header File For The GLU Library */
|
||||
@@ -12,8 +11,5 @@
|
||||
#include <GL/gl.h> /* Header File For The OpenGL Library */
|
||||
#include <GL/glu.h> /* Header File For The GLU Library */
|
||||
#endif
|
||||
-#undef __glext_h_
|
||||
-
|
||||
-#include "../glext.h"
|
||||
|
||||
#endif
|
|
@ -1,24 +0,0 @@
|
|||
Description: Avoid __DATE__ and __TIME__ to build reproducibly
|
||||
Author: Stephen Kitt <skitt@debian.org>
|
||||
|
||||
--- a/src/GameInit.cpp
|
||||
+++ b/src/GameInit.cpp
|
||||
@@ -248,7 +248,6 @@
|
||||
Logger::setActiv(XMSession::instance()->noLog() == false); /* apply log activ mode */
|
||||
|
||||
LogInfo(std::string("X-Moto " + XMBuild::getVersionString(true)).c_str());
|
||||
- LogInfo("compiled at "__DATE__" "__TIME__);
|
||||
if(SwapEndian::bigendien) {
|
||||
LogInfo("Systeme is bigendien");
|
||||
} else {
|
||||
--- a/src/states/StateOptions.cpp
|
||||
+++ b/src/states/StateOptions.cpp
|
||||
@@ -1233,8 +1233,6 @@
|
||||
int p=25;
|
||||
makeWindowOptions_infos_line(v_window, "Version", "X-Moto " + XMBuild::getVersionString(true), p);
|
||||
p+=20;
|
||||
- makeWindowOptions_infos_line(v_window, "Compilation date", __DATE__ " " __TIME__, p);
|
||||
- p+=20;
|
||||
makeWindowOptions_infos_line(v_window, "User data directory", XMFS::getUserDir(FDT_DATA), p);
|
||||
p+=20;
|
||||
makeWindowOptions_infos_line(v_window, "User config directory", XMFS::getUserDir(FDT_CONFIG), p);
|
|
@ -1,16 +0,0 @@
|
|||
Description: Build with g++'s new utf8.h
|
||||
Author: Stephen Kitt <skitt@debian.org>
|
||||
|
||||
--- a/src/helpers/utf8.h
|
||||
+++ b/src/helpers/utf8.h
|
||||
@@ -18,8 +18,8 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
=============================================================================*/
|
||||
|
||||
-#ifndef __UTF8_H__
|
||||
-#define __UTF8_H__
|
||||
+#ifndef __XMOTO_UTF8_H__
|
||||
+#define __XMOTO_UTF8_H__
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
|
@ -57,9 +57,13 @@ (define-module (gnu packages perl)
|
|||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gd)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages hurd)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages less)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages perl-check)
|
||||
|
@ -67,7 +71,9 @@ (define-module (gnu packages perl)
|
|||
#:use-module (gnu packages perl-web)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages web))
|
||||
|
||||
;;;
|
||||
|
@ -321,6 +327,63 @@ (define-public perl-aliased
|
|||
implicitly.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-alien-sdl
|
||||
(package
|
||||
(name "perl-alien-sdl")
|
||||
(version "1.446")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/F/FR/FROGGS/"
|
||||
"Alien-SDL-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0ajipk43syhlmw0zinbj1i6r46vdlkr06wkx7ivqjgf6qffjran9"))))
|
||||
(build-system perl-build-system)
|
||||
(arguments
|
||||
`(#:module-build-flags
|
||||
;; XXX: For some reason, `sdl-config' reports stand-alone SDL
|
||||
;; directory, not SDL-union provided as an input to the
|
||||
;; package. We force the latter with "--prefix=" option.
|
||||
(list (let ((sdl (assoc-ref %build-inputs "sdl")))
|
||||
(string-append "--with-sdl-config=" sdl "/bin/sdl-config"
|
||||
" --prefix=" sdl)))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Fix "unrecognized option: --with-sdl-config" during build.
|
||||
;; Reported upstream as
|
||||
;; <https://github.com/PerlGameDev/SDL/issues/261>. See also
|
||||
;; <https://github.com/PerlGameDev/SDL/issues/272>.
|
||||
(add-after 'unpack 'fix-build.pl
|
||||
(lambda _
|
||||
(substitute* "Build.PL"
|
||||
(("use Getopt::Long;") "")
|
||||
(("GetOptions\\( \"travis\" => \\\\\\$travis \\);") ""))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("perl-archive-extract" ,perl-archive-extract)
|
||||
("perl-archive-zip" ,perl-archive-zip)
|
||||
("perl-capture-tiny" ,perl-capture-tiny)
|
||||
("perl-file-sharedir" ,perl-file-sharedir)
|
||||
("perl-file-which" ,perl-file-which)
|
||||
("perl-module-build" ,perl-module-build)
|
||||
("perl-text-patch" ,perl-text-patch)))
|
||||
(inputs
|
||||
`(("freetype" ,freetype)
|
||||
("fontconfig" ,fontconfig)
|
||||
("pango" ,pango)
|
||||
("sdl" ,(sdl-union
|
||||
(list sdl sdl-gfx sdl-image sdl-mixer sdl-net sdl-ttf
|
||||
sdl-pango)))
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://metacpan.org/release/Alien-SDL")
|
||||
(synopsis "Get, build and use SDL libraries")
|
||||
(description
|
||||
"Alien::SDL can be used to detect and get configuration settings from an
|
||||
installed SDL and related libraries. Based on your platform it offers the
|
||||
possibility to download and install prebuilt binaries or to build SDL & co.@:
|
||||
from source codes.")
|
||||
(license license:perl-license)))
|
||||
|
||||
(define-public perl-any-moose
|
||||
(package
|
||||
(name "perl-any-moose")
|
||||
|
@ -2850,14 +2913,14 @@ (define-public perl-date-calc-xs
|
|||
(define-public perl-date-manip
|
||||
(package
|
||||
(name "perl-date-manip")
|
||||
(version "6.78")
|
||||
(version "6.82")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/S/SB/SBECK/"
|
||||
"Date-Manip-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1faxj6gafrqir9hvy9r8q57s93n57b412s04qycrks7r0520hdnb"))))
|
||||
(base32 "0ak72kpydwhq2z03mhdfwm3ganddzb8gawzh6crpsjvb9kwvr5ps"))))
|
||||
(build-system perl-build-system)
|
||||
(arguments
|
||||
;; Tests would require tzdata for timezone information, but tzdata is in
|
||||
|
@ -4808,15 +4871,14 @@ (define-public perl-filesys-notify-simple
|
|||
(define-public perl-getopt-long
|
||||
(package
|
||||
(name "perl-getopt-long")
|
||||
(version "2.49.1")
|
||||
(version "2.51")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/J/JV/JV/"
|
||||
"Getopt-Long-v" (substring version 1) ".tar.gz"))
|
||||
"Getopt-Long-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bw8gbhj8s5gmkqvs3m7pk9arqhgqssrby4yimh29ah9alix9ylq"))))
|
||||
(base32 "0r659i6rkz8zkfgdccbn29zmd4bk9lcdc4y20ng6w2glqaa3pd10"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "https://metacpan.org/release/Getopt-Long")
|
||||
(synopsis "Module to handle parsing command line options")
|
||||
|
@ -9676,14 +9738,14 @@ (define-public perl-text-csv
|
|||
(define-public perl-text-csv-xs
|
||||
(package
|
||||
(name "perl-text-csv-xs")
|
||||
(version "1.39")
|
||||
(version "1.43")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/H/HM/HMBRAND/"
|
||||
"Text-CSV_XS-" version ".tgz"))
|
||||
(sha256
|
||||
(base32 "1gcy1bxym6f7qsxivkl3c5p94r1bjhf9csy1x38a1gk8mx744kma"))))
|
||||
(base32 "1frh8awr5ipry21x4403wdkbglpl707n69smksg8sf79ia75756d"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "https://metacpan.org/release/Text-CSV_XS")
|
||||
(synopsis "Routines for manipulating CSV files")
|
||||
|
@ -10704,14 +10766,14 @@ (define-public perl-xs-object-magic
|
|||
(define-public perl-yaml
|
||||
(package
|
||||
(name "perl-yaml")
|
||||
(version "1.29")
|
||||
(version "1.30")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/T/TI/TINITA/"
|
||||
"YAML-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0gl5ssvrdajlbc85cy6z873n9cwlssk5q8z97a31vyiikhw5fp4w"))))
|
||||
(base32 "1kbrfksjg4k4vmx1i337m5n69m00m0m5bgsh61c15bzzrgbacc2h"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-test-yaml" ,perl-test-yaml)))
|
||||
|
@ -10956,6 +11018,46 @@ (define-public perl-scalar-list-utils
|
|||
such that being individual extensions would be wasteful.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-sdl
|
||||
(package
|
||||
(name "perl-sdl")
|
||||
(version "2.548")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/F/FR/FROGGS/"
|
||||
"SDL-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1dagpmcpjnwvd4g6mmnc312rqpd4qcwx21rpi2j7084wz8mijai5"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-alien-sdl" ,perl-alien-sdl)
|
||||
("perl-capture-tiny" ,perl-capture-tiny)
|
||||
("perl-file-sharedir" ,perl-file-sharedir)
|
||||
("perl-module-build" ,perl-module-build)
|
||||
("perl-test-most" ,perl-test-most)
|
||||
("perl-tie-simple" ,perl-tie-simple)))
|
||||
(inputs
|
||||
`(("freeglut" ,freeglut)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("libpng" ,libpng)
|
||||
("libsmpeg" ,libsmpeg)
|
||||
("libtiff" ,libtiff)
|
||||
("mesa" ,mesa)
|
||||
("sdl" ,(sdl-union
|
||||
(list sdl sdl-gfx sdl-image sdl-mixer sdl-pango sdl-ttf)))))
|
||||
(propagated-inputs
|
||||
`(("perl-file-sharedir" ,perl-file-sharedir)
|
||||
("perl-tie-simple" ,perl-tie-simple)))
|
||||
(home-page "https://metacpan.org/release/SDL")
|
||||
(synopsis "SDL bindings to Perl")
|
||||
(description
|
||||
"SDL Perl is a package of Perl modules that provide both functional and
|
||||
object oriented interfaces to the Simple DirectMedia Layer for Perl5. This
|
||||
package takes some liberties with the SDL API, and attempts to adhere to the
|
||||
spirit of both the SDL and Perl.")
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public perl-shell-command
|
||||
(package
|
||||
(name "perl-shell-command")
|
||||
|
|
|
@ -6450,7 +6450,7 @@ (define-public python-ipython
|
|||
(propagated-inputs
|
||||
`(("python-backcall" ,python-backcall)
|
||||
("python-pyzmq" ,python-pyzmq)
|
||||
("python-prompt-toolkit" ,python-prompt-toolkit)
|
||||
("python-prompt-toolkit" ,python-prompt-toolkit-2)
|
||||
("python-terminado" ,python-terminado)
|
||||
("python-matplotlib" ,python-matplotlib)
|
||||
("python-numpy" ,python-numpy)
|
||||
|
@ -9004,8 +9004,7 @@ (define-public python-widgetsnbextension
|
|||
"1ismyaxbv9d56yqqqb8xl58hg0iq0bbyy014a53y1g3hfbc8g7q7"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-ipykernel"
|
||||
,(prompt-toolkit-2-instead-of-prompt-toolkit python-ipykernel))
|
||||
`(("python-ipykernel" ,python-ipykernel)
|
||||
("python-notebook" ,python-notebook)))
|
||||
(native-inputs
|
||||
`(("python-certifi" ,python-certifi)
|
||||
|
@ -9032,8 +9031,7 @@ (define-public python-ipywidgets
|
|||
"15sww2mvnkqlvx55gwa82v05062a8j1xpncnqna4k9sl53hgcig9"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-ipython" ,(prompt-toolkit-2-instead-of-prompt-toolkit
|
||||
python-ipython))
|
||||
`(("python-ipython" ,python-ipython)
|
||||
("python-traitlets" ,python-traitlets)
|
||||
("python-widgetsnbextension" ,python-widgetsnbextension)))
|
||||
(native-inputs
|
||||
|
@ -9063,8 +9061,7 @@ (define-public python-jupyter-console
|
|||
"06s3kr5vx0l1y1b7fxb04dmrppscl7q69sl9yyfr0d057d1ssvkg"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-ipykernel" ,(prompt-toolkit-2-instead-of-prompt-toolkit
|
||||
python-ipykernel))
|
||||
`(("python-ipykernel" ,python-ipykernel)
|
||||
("python-jupyter-client" ,python-jupyter-client)
|
||||
("python-prompt-toolkit" ,python-prompt-toolkit-2)
|
||||
("python-pygments" ,python-pygments)))
|
||||
|
@ -11782,7 +11779,8 @@ (define-public python-memcached
|
|||
(uri (pypi-uri "python-memcached" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0kvyapavbirk2x3n1jx4yb9nyigrj1s3x15nm3qhpvhkpqvqdqm2"))))
|
||||
"0kvyapavbirk2x3n1jx4yb9nyigrj1s3x15nm3qhpvhkpqvqdqm2"))
|
||||
(patches (search-patches "python-memcached-syntax-warnings.patch"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs `(("python-six" ,python-six)))
|
||||
(home-page
|
||||
|
@ -11886,7 +11884,7 @@ (define-public python-cachy
|
|||
(define-public poetry
|
||||
(package
|
||||
(name "poetry")
|
||||
(version "1.0.5")
|
||||
(version "1.0.9")
|
||||
;; Poetry can only be built from source with Poetry.
|
||||
(source
|
||||
(origin
|
||||
|
@ -11894,7 +11892,7 @@ (define-public poetry
|
|||
(uri (pypi-uri "poetry" version))
|
||||
(sha256
|
||||
(base32
|
||||
"02h387k0xssvv78yy82pcpknpq4w5ym2in1zl8cg9r5wljl5w6cf"))))
|
||||
"1avp0db1a4hf6lz3wrzhpdvj4rpmzr4in3myrd3lp5j66nc5ck0a"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;; Pypi does not have tests.
|
||||
|
@ -11905,8 +11903,7 @@ (define-public poetry
|
|||
(substitute* "setup.py"
|
||||
;; poetry won't update version as 21.0.0 relies on python > 3.6
|
||||
(("keyring>=20.0.1,<21.0.0") "keyring>=21.0.0,<22.0.0")
|
||||
(("pyrsistent>=0.14.2,<0.15.0") "pyrsistent>=0.14.2,<0.16.0")
|
||||
(("importlib-metadata>=1.1.3,<1.2.0") "importlib-metadata>=1.1.3,<1.5.0"))
|
||||
(("pyrsistent>=0.14.2,<0.15.0") "pyrsistent>=0.14.2,<0.17.0"))
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
`(("python-cachecontrol" ,python-cachecontrol)
|
||||
|
@ -11914,9 +11911,9 @@ (define-public poetry
|
|||
("python-cleo" ,python-cleo)
|
||||
("python-clikit" ,python-clikit)
|
||||
("python-html5lib" ,python-html5lib)
|
||||
("python-importlib-metadata" ,python-importlib-metadata) ;; python < 3.8
|
||||
("python-jsonschema" ,python-jsonschema)
|
||||
("python-keyring" ,python-keyring)
|
||||
("python-msgpack-transitional" ,python-msgpack-transitional)
|
||||
("python-pexpect" ,python-pexpect)
|
||||
("python-pkginfo" ,python-pkginfo)
|
||||
("python-pyparsing" ,python-pyparsing)
|
||||
|
@ -12192,10 +12189,6 @@ (define-public python-prompt-toolkit-2
|
|||
("python-six" ,python-six)
|
||||
("python-pygments" ,python-pygments)))))
|
||||
|
||||
(define-public prompt-toolkit-2-instead-of-prompt-toolkit
|
||||
(package-input-rewriting/spec
|
||||
`(("python-prompt-toolkit" . ,(const python-prompt-toolkit-2)))))
|
||||
|
||||
(define-public python2-prompt-toolkit
|
||||
(package-with-python2 python-prompt-toolkit-2))
|
||||
|
||||
|
|
|
@ -1070,3 +1070,41 @@ (define-public rtl-433
|
|||
from devices on the 433 MHz, 868 MHz, 315 MHz, 345 MHz and 915 MHz ISM bands.")
|
||||
(home-page "https://github.com/merbanan/rtl_433")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public multimon-ng
|
||||
(package
|
||||
(name "multimon-ng")
|
||||
(version "1.1.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/EliasOenal/multimon-ng.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1973xfyvzl1viz19zr83cgqlx5laxbjrca35rqabn6dlb6xb5xk8"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("libx11" ,libx11)
|
||||
("pulseaudio" ,pulseaudio)))
|
||||
(arguments
|
||||
'(#:tests? #f)) ; No test suite
|
||||
(home-page "https://github.com/EliasOenal/multimon-ng")
|
||||
(synopsis "Decoder for digital radio transmission modes")
|
||||
(description "Multimon-ng can decode several digital radio transmission
|
||||
modes:
|
||||
@itemize
|
||||
@item POCSAG512, POCSAG1200, POCSAG2400
|
||||
@item FLEX
|
||||
@item EAS
|
||||
@item UFSK1200, CLIPFSK, AFSK1200, AFSK2400, AFSK2400_2, AFSK2400_3
|
||||
@item HAPN4800
|
||||
@item FSK9600
|
||||
@item DTMF
|
||||
@item ZVEI1, ZVEI2, ZVEI3, DZVEI, PZVEI
|
||||
@item EEA, EIA, CCIR
|
||||
@item MORSE CW
|
||||
@item X10
|
||||
@end itemize")
|
||||
(license license:gpl2+)))
|
||||
|
|
|
@ -620,26 +620,17 @@ (define-public guile-sdl
|
|||
(define-public guile-sdl2
|
||||
(package
|
||||
(name "guile-sdl2")
|
||||
(version "0.4.0")
|
||||
(version "0.5.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://files.dthompson.us/guile-sdl2/"
|
||||
"guile-sdl2-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zcxwgyadwpbhq6h5mv2569c3kalgra26zc186y9fqiyyzmh1v9s"))))
|
||||
"118x0cg7fzbsyrfhy5f9ab7dqp9czgia0ycgzp6sn3nlsdrcnr4m"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags '("GUILE_AUTO_COMPILE=0")
|
||||
#:configure-flags
|
||||
(list (string-append "--with-libsdl2-prefix="
|
||||
(assoc-ref %build-inputs "sdl2"))
|
||||
(string-append "--with-libsdl2-image-prefix="
|
||||
(assoc-ref %build-inputs "sdl2-image"))
|
||||
(string-append "--with-libsdl2-ttf-prefix="
|
||||
(assoc-ref %build-inputs "sdl2-ttf"))
|
||||
(string-append "--with-libsdl2-mixer-prefix="
|
||||
(assoc-ref %build-inputs "sdl2-mixer")))))
|
||||
'(#:make-flags '("GUILE_AUTO_COMPILE=0")))
|
||||
(native-inputs
|
||||
`(("guile" ,guile-2.2)
|
||||
("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -803,14 +803,14 @@ (define-public oil
|
|||
(package
|
||||
(name "oil")
|
||||
;; https://www.oilshell.org/blog/2020/04/release-0.8.pre4.html#comment-on-version-numbering
|
||||
(version "0.8.pre5")
|
||||
(version "0.8.pre6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.oilshell.org/download/oil-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "02llxx10izxpv1y32qn8k6r0y7al01rzxjirc8h6x8nd9kiaqknl"))))
|
||||
(base32 "11nfwn5b1w74hv78065jg2zm45mqzi59381b0f649j7n3g7yp3iq"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:strip-binaries? #f ; strip breaks the binary
|
||||
|
@ -827,7 +827,7 @@ (define-public oil
|
|||
(replace 'check
|
||||
;; The tests are not distributed in the tarballs but upstream
|
||||
;; recommends running this smoke test.
|
||||
;; https://github.com/oilshell/oil/blob/release/0.8.pre5/INSTALL.txt#L38-L48
|
||||
;; https://github.com/oilshell/oil/blob/release/0.8.pre6/INSTALL.txt#L38-L48
|
||||
(lambda _
|
||||
(let* ((oil "_bin/oil.ovm"))
|
||||
(invoke/quiet oil "osh" "-c" "echo hi")
|
||||
|
|
|
@ -5902,3 +5902,24 @@ (define-public emacs-ess
|
|||
Emacs. It is designed to support editing of scripts and interaction with
|
||||
various statistical analysis programs such as R, Julia, and JAGS.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(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
|
||||
"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+)))
|
||||
|
|
|
@ -182,9 +182,9 @@ (define-public gnutls
|
|||
"0jvca1qahn9lrwv6f5kfs95icirc15b2a8x9fzczyj996ipg3b5z"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(,@(if (hurd-target?) '(#:tests? #f) '())
|
||||
; Ensure we don't keep a reference to this buggy software.
|
||||
#:disallowed-references (,net-tools)
|
||||
`(#:tests? ,(not (hurd-target?))
|
||||
;; Ensure we don't keep a reference to net-tools.
|
||||
#:disallowed-references ,(if (hurd-target?) '() (list net-tools))
|
||||
#:configure-flags
|
||||
(list
|
||||
;; GnuTLS doesn't consult any environment variables to specify
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -141,8 +142,28 @@ (define-public privoxy
|
|||
;; $out/etc/privoxy.
|
||||
#:configure-flags (list (string-append "--sysconfdir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/etc/privoxy"))
|
||||
#:tests? #f))
|
||||
"/etc/privoxy")
|
||||
"--localstatedir=/var")
|
||||
#:tests? #f ; no test suite
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-default-logging
|
||||
(lambda _
|
||||
(with-fluids ((%default-port-encoding "ISO-8859-1"))
|
||||
;; Do not create /var/run nor /var/log/privoxy/logfile.
|
||||
(substitute* "GNUmakefile.in"
|
||||
(("(logfile \\|\\| exit )1" _ match)
|
||||
(string-append match "0"))
|
||||
(("(\\$\\(DESTDIR\\)\\$\\(SHARE_DEST\\)) \\\\" _ match)
|
||||
match)
|
||||
((".*\\$\\(LOG_DEST\\) \\$\\(DESTDIR\\)\\$\\(PID_DEST\\).*")
|
||||
""))
|
||||
;; Disable logging in the default configuration to allow for
|
||||
;; non-root users using it as is.
|
||||
(substitute* "config"
|
||||
(("^logdir") "#logdir")
|
||||
(("^logfile") "#logfile")))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("w3m" ,w3m)
|
||||
("pcre" ,pcre)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
|
||||
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
|
||||
;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si>
|
||||
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -167,7 +167,7 @@ (define-public filters
|
|||
(define-public xsnow
|
||||
(package
|
||||
(name "xsnow")
|
||||
(version "2.0.15")
|
||||
(version "2.0.22")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -175,7 +175,7 @@ (define-public xsnow
|
|||
"https://www.ratrabbit.nl/ratrabbit/system/files/xsnow/xsnow-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "086s42frbz9bk550414v908yrax4iwwlvlxv4zwp39cyp7wgws03"))))
|
||||
(base32 "1880643fal6l7bskqbm4zfbr2s719698mkx4pchrxkjpb240sj0z"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
|
|
@ -121,11 +121,13 @@ (define-module (gnu packages video)
|
|||
#:use-module (gnu packages iso-codes)
|
||||
#:use-module (gnu packages libidn)
|
||||
#:use-module (gnu packages libreoffice)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages markup)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
|
@ -935,16 +937,14 @@ (define-public libva-utils
|
|||
(define-public ffmpeg
|
||||
(package
|
||||
(name "ffmpeg")
|
||||
(version "4.2.3")
|
||||
(version "4.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
|
||||
version ".tar.xz"))
|
||||
;; See <https://issues.guix.gnu.org/issue/39719>
|
||||
(patches (search-patches "ffmpeg-prefer-dav1d.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cddkb5sma9dzy8i59sfls19rhjlq40zn9mh3x666dqkxl5ckxlx"))))
|
||||
"0pbrsv5v96yd8qzb9bk4kw7qk4xqpi03rsd5xfbwnjzlhijd02hx"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("dav1d" ,dav1d)
|
||||
|
@ -971,6 +971,7 @@ (define-public ffmpeg
|
|||
("mesa" ,mesa)
|
||||
("openal" ,openal)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("rav1e" ,rav1e)
|
||||
("sdl" ,sdl2)
|
||||
("soxr" ,soxr)
|
||||
("speex" ,speex)
|
||||
|
@ -1052,6 +1053,7 @@ (define-public ffmpeg
|
|||
"--enable-libmp3lame"
|
||||
"--enable-libopus"
|
||||
"--enable-libpulse"
|
||||
"--enable-librav1e"
|
||||
"--enable-libsoxr"
|
||||
"--enable-libspeex"
|
||||
"--enable-libtheora"
|
||||
|
@ -1130,10 +1132,10 @@ (define-public ffmpeg-3.4
|
|||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg)
|
||||
((#:configure-flags flags)
|
||||
`(delete "--enable-libdav1d" (delete "--enable-libaom"
|
||||
,flags)))))
|
||||
(inputs (alist-delete "dav1d" (alist-delete "libaom"
|
||||
(package-inputs ffmpeg))))))
|
||||
`(delete "--enable-libdav1d" (delete "--enable-libaom" (delete "--enable-librav1e"
|
||||
,flags))))))
|
||||
(inputs (alist-delete "dav1d" (alist-delete "libaom" (alist-delete "rav1e"
|
||||
(package-inputs ffmpeg)))))))
|
||||
|
||||
(define-public ffmpeg-for-stepmania
|
||||
(hidden-package
|
||||
|
@ -1197,7 +1199,7 @@ (define-public ffmpegthumbnailer
|
|||
(define-public vlc
|
||||
(package
|
||||
(name "vlc")
|
||||
(version "3.0.10")
|
||||
(version "3.0.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1206,7 +1208,7 @@ (define-public vlc
|
|||
"/vlc-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cackl1084hcmg4myf3kvjvd6sjxmzn0c0qkmanz6brvgzyanrm9"))))
|
||||
"06a9hfl60f6l0fs5c9ma5s8np8kscm4ala6m2pdfji9lyfna351y"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("flex" ,flex)
|
||||
|
@ -1218,10 +1220,6 @@ (define-public vlc
|
|||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("avahi" ,avahi)
|
||||
;; XXX Try removing dav1d here and testing AV1 playback when FFmpeg 4.3
|
||||
;; is released.
|
||||
;; <https://issues.guix.gnu.org/issue/39719>
|
||||
("dav1d" ,dav1d)
|
||||
("dbus" ,dbus)
|
||||
("eudev" ,eudev)
|
||||
("flac" ,flac)
|
||||
|
@ -2771,7 +2769,7 @@ (define-public mps-youtube
|
|||
(define-public handbrake
|
||||
(package
|
||||
(name "handbrake")
|
||||
(version "1.3.2")
|
||||
(version "1.3.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/HandBrake/HandBrake/"
|
||||
|
@ -2779,7 +2777,7 @@ (define-public handbrake
|
|||
"HandBrake-" version "-source.tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0w7jxjrccvxp7g15dv0spildg5apmqp4gwbcqmg58va2gylynvzc"))
|
||||
"11bzhyp052bmng5119x74xvdj5632smx6qsk537ygda8bzckg2i1"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove "contrib" and source not necessary for
|
||||
|
@ -4097,3 +4095,42 @@ (define-public wf-recorder
|
|||
wlroots-based compositors. More specifically, those that support
|
||||
@code{wlr-screencopy-v1} and @code{xdg-output}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public guvcview
|
||||
(package
|
||||
(name "guvcview")
|
||||
(version "2.0.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/guvcview/source/guvcview-"
|
||||
"src-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11byyfpkcik7wvf2qic77zjamfr2rhji97dpj1gy2fg1bvpiqf4m"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; There are no tests and "make check" would fail on an intltool error.
|
||||
'(#:tests? #f))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("intltool" ,intltool)))
|
||||
(inputs
|
||||
`(("gtk+" ,gtk+)
|
||||
("eudev" ,eudev)
|
||||
("libusb" ,libusb)
|
||||
("v4l-utils" ,v4l-utils) ;libv4l2
|
||||
("ffmpeg" ,ffmpeg) ;libavcodec, libavutil
|
||||
("sdl2" ,sdl2)
|
||||
("gsl" ,gsl)
|
||||
("portaudio" ,portaudio)
|
||||
("alsa-lib" ,alsa-lib)))
|
||||
(home-page "http://guvcview.sourceforge.net/")
|
||||
(synopsis "Control your webcam and capture videos and images")
|
||||
(description
|
||||
"GTK+ UVC Viewer (guvcview) is a graphical application to control a
|
||||
webcam accessible with Video4Linux (V4L2) and to capture videos and images.
|
||||
It provides control over precise settings of the webcam such as exposure,
|
||||
brightness, contrast, and frame rate.")
|
||||
|
||||
;; 'COPYING' is GPLv3 but source headers say GPLv2+.
|
||||
(license license:gpl2+)))
|
||||
|
|
|
@ -694,14 +694,14 @@ (define-public xmonad
|
|||
(define-public xmobar
|
||||
(package
|
||||
(name "xmobar")
|
||||
(version "0.33")
|
||||
(version "0.34")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://hackage/package/xmobar/"
|
||||
"xmobar-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hr3qqykc5givcpcwrr9f2y920jmiinmxm5mcy6qgpgymgwqb618"))))
|
||||
"0x09xbz7y9ay0046j1xpr9jjk5jqivqi06vm3q6mhcrgc4y922rx"))))
|
||||
(build-system haskell-build-system)
|
||||
(native-inputs
|
||||
`(("ghc-hspec" ,ghc-hspec)
|
||||
|
|
|
@ -266,8 +266,7 @@ (define (shepherd-service-file service)
|
|||
(define (scm->go file)
|
||||
"Compile FILE, which contains code to be loaded by shepherd's config file,
|
||||
and return the resulting '.go' file."
|
||||
;; FIXME: %current-target-system may not be bound <https://bugs.gnu.org/29296>
|
||||
(let ((target (%current-target-system)))
|
||||
(let-system (system target)
|
||||
(with-extensions (list shepherd)
|
||||
(computed-file (string-append (basename (scheme-file-name file) ".scm")
|
||||
".go")
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 Ryan Moe <ryan.moe@gmail.com>
|
||||
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -18,24 +19,45 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu services virtualization)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services configuration)
|
||||
#:use-module (gnu bootloader)
|
||||
#:use-module (gnu bootloader grub)
|
||||
#:use-module (gnu image)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages virtualization)
|
||||
#:use-module (gnu services base)
|
||||
#:use-module (gnu services configuration)
|
||||
#:use-module (gnu services dbus)
|
||||
#:use-module (gnu services shepherd)
|
||||
#:use-module (gnu system shadow)
|
||||
#:use-module (gnu services ssh)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu system file-systems)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages virtualization)
|
||||
#:use-module (guix records)
|
||||
#:use-module (gnu system hurd)
|
||||
#:use-module (gnu system image)
|
||||
#:use-module (gnu system shadow)
|
||||
#:use-module (gnu system)
|
||||
#:use-module (guix derivations)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix store)
|
||||
#:use-module (guix utils)
|
||||
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (rnrs bytevectors)
|
||||
#:use-module (ice-9 match)
|
||||
|
||||
#:export (libvirt-configuration
|
||||
#:export (%hurd-vm-operating-system
|
||||
hurd-vm-configuration
|
||||
hurd-vm-disk-image
|
||||
hurd-vm-id
|
||||
hurd-vm-net-options
|
||||
hurd-vm-options
|
||||
hurd-vm-service-type
|
||||
|
||||
libvirt-configuration
|
||||
libvirt-service-type
|
||||
virtlog-configuration
|
||||
virtlog-service-type
|
||||
|
@ -773,3 +795,112 @@ (define qemu-binfmt-service-type
|
|||
"This service supports transparent emulation of binaries
|
||||
compiled for other architectures using QEMU and the @code{binfmt_misc}
|
||||
functionality of the kernel Linux.")))
|
||||
|
||||
|
||||
;;;
|
||||
;;; The Hurd in VM service: a Childhurd.
|
||||
;;;
|
||||
|
||||
(define %hurd-vm-operating-system
|
||||
(operating-system
|
||||
(inherit %hurd-default-operating-system)
|
||||
(host-name "childhurd")
|
||||
(timezone "Europe/Amsterdam")
|
||||
(bootloader (bootloader-configuration
|
||||
(bootloader grub-minimal-bootloader)
|
||||
(target "/dev/vda")
|
||||
(timeout 0)))
|
||||
(services (cons*
|
||||
(service openssh-service-type
|
||||
(openssh-configuration
|
||||
(openssh openssh-sans-x)
|
||||
(use-pam? #f)
|
||||
(port-number 2222)
|
||||
(permit-root-login #t)
|
||||
(allow-empty-passwords? #t)
|
||||
(password-authentication? #t)))
|
||||
%base-services/hurd))))
|
||||
|
||||
(define-record-type* <hurd-vm-configuration>
|
||||
hurd-vm-configuration make-hurd-vm-configuration
|
||||
hurd-vm-configuration?
|
||||
(os hurd-vm-configuration-os ;<operating-system>
|
||||
(default %hurd-vm-operating-system))
|
||||
(qemu hurd-vm-configuration-qemu ;<package>
|
||||
(default qemu-minimal))
|
||||
(image hurd-vm-configuration-image ;string
|
||||
(thunked)
|
||||
(default (hurd-vm-disk-image this-record)))
|
||||
(disk-size hurd-vm-configuration-disk-size ;number or 'guess
|
||||
(default 'guess))
|
||||
(memory-size hurd-vm-configuration-memory-size ;number
|
||||
(default 512))
|
||||
(options hurd-vm-configuration-options ;list of string
|
||||
(default `("--snapshot")))
|
||||
(id hurd-vm-configuration-id ;#f or integer [1..]
|
||||
(default #f))
|
||||
(net-options hurd-vm-configuration-net-options ;list of string
|
||||
(thunked)
|
||||
(default (hurd-vm-net-options this-record))))
|
||||
|
||||
(define (hurd-vm-disk-image config)
|
||||
"Return a disk-image for the Hurd according to CONFIG."
|
||||
(let ((os (hurd-vm-configuration-os config))
|
||||
(disk-size (hurd-vm-configuration-disk-size config)))
|
||||
(system-image
|
||||
(image
|
||||
(inherit hurd-disk-image)
|
||||
(size disk-size)
|
||||
(operating-system os)))))
|
||||
|
||||
(define (hurd-vm-net-options config)
|
||||
(let ((id (or (hurd-vm-configuration-id config) 0)))
|
||||
(define (qemu-vm-port base)
|
||||
(number->string (+ base (* 1000 id))))
|
||||
`("--device" "rtl8139,netdev=net0"
|
||||
"--netdev" ,(string-append
|
||||
"user,id=net0"
|
||||
",hostfwd=tcp:127.0.0.1:" (qemu-vm-port 10022) "-:2222"
|
||||
",hostfwd=tcp:127.0.0.1:" (qemu-vm-port 15900) "-:5900"))))
|
||||
|
||||
(define (hurd-vm-shepherd-service config)
|
||||
"Return a <shepherd-service> for a Hurd in a Virtual Machine with CONFIG."
|
||||
|
||||
(let ((image (hurd-vm-configuration-image config))
|
||||
(qemu (hurd-vm-configuration-qemu config))
|
||||
(memory-size (hurd-vm-configuration-memory-size config))
|
||||
(options (hurd-vm-configuration-options config))
|
||||
(id (hurd-vm-configuration-id config))
|
||||
(net-options (hurd-vm-configuration-net-options config))
|
||||
(provisions '(hurd-vm childhurd)))
|
||||
|
||||
(define vm-command
|
||||
#~(list
|
||||
(string-append #$qemu "/bin/qemu-system-i386")
|
||||
#$@(if (file-exists? "/dev/kvm") '("--enable-kvm") '())
|
||||
"-m" (number->string #$memory-size)
|
||||
#$@net-options
|
||||
#$@options
|
||||
"--hda" #+image))
|
||||
|
||||
(list
|
||||
(shepherd-service
|
||||
(documentation "Run the Hurd in a Virtual Machine: a Childhurd.")
|
||||
(provision (if id
|
||||
(map
|
||||
(cute symbol-append <>
|
||||
(string->symbol (number->string id)))
|
||||
provisions)
|
||||
provisions))
|
||||
(requirement '(networking))
|
||||
(start #~(make-forkexec-constructor #$vm-command))
|
||||
(stop #~(make-kill-destructor))))))
|
||||
|
||||
(define hurd-vm-service-type
|
||||
(service-type
|
||||
(name 'hurd-vm)
|
||||
(extensions (list (service-extension shepherd-root-service-type
|
||||
hurd-vm-shepherd-service)))
|
||||
(default-value (hurd-vm-configuration))
|
||||
(description
|
||||
"Provide a Virtual Machine running the GNU/Hurd.")))
|
||||
|
|
|
@ -941,7 +941,9 @@ (define %setuid-programs
|
|||
;; Default set of setuid-root programs.
|
||||
(let ((shadow (@ (gnu packages admin) shadow)))
|
||||
(list (file-append shadow "/bin/passwd")
|
||||
(file-append shadow "/bin/sg")
|
||||
(file-append shadow "/bin/su")
|
||||
(file-append shadow "/bin/newgrp")
|
||||
(file-append shadow "/bin/newuidmap")
|
||||
(file-append shadow "/bin/newgidmap")
|
||||
(file-append inetutils "/bin/ping")
|
||||
|
@ -1191,6 +1193,7 @@ (define (hurd-multiboot-modules os)
|
|||
"--device-master-port='${device-port}'"
|
||||
"--exec-server-task='${exec-task}'"
|
||||
"--store-type=typed"
|
||||
"--x-xattr-translator-records"
|
||||
"'${root}'" "'$(task-create)'" "'$(task-resume)'"))
|
||||
(target (%current-target-system))
|
||||
(libc (if target
|
||||
|
|
|
@ -81,7 +81,10 @@ (define %base-services/hurd
|
|||
(service guix-service-type
|
||||
(guix-configuration
|
||||
(extra-options '("--disable-chroot"
|
||||
"--disable-deduplication"))))))
|
||||
"--disable-deduplication"))))
|
||||
(service special-files-service-type
|
||||
`(("/bin/sh" ,(file-append bash "/bin/sh"))
|
||||
("/usr/bin/env" ,(file-append coreutils "/bin/env"))))))
|
||||
|
||||
(define %hurd-default-operating-system
|
||||
(operating-system
|
||||
|
|
|
@ -524,15 +524,15 @@ (define* (system-image image)
|
|||
"Return the derivation of IMAGE. It can be a raw disk-image or an ISO9660
|
||||
image, depending on IMAGE format."
|
||||
(define substitutable? (image-substitutable? image))
|
||||
(define target (image-target image))
|
||||
|
||||
(let* ((os (operating-system-for-image image))
|
||||
(image* (image-with-os image os))
|
||||
(target (image-target image))
|
||||
(register-closures? (has-guix-service-type? os))
|
||||
(bootcfg (operating-system-bootcfg os))
|
||||
(bootloader (bootloader-configuration-bootloader
|
||||
(operating-system-bootloader os))))
|
||||
(with-parameters ((%current-target-system target))
|
||||
(with-parameters ((%current-target-system target))
|
||||
(let* ((os (operating-system-for-image image))
|
||||
(image* (image-with-os image os))
|
||||
(register-closures? (has-guix-service-type? os))
|
||||
(bootcfg (operating-system-bootcfg os))
|
||||
(bootloader (bootloader-configuration-bootloader
|
||||
(operating-system-bootloader os))))
|
||||
(case (image-format image)
|
||||
((disk-image)
|
||||
(system-disk-image image*
|
||||
|
@ -573,8 +573,4 @@ (define (find-image file-system-type target)
|
|||
(else
|
||||
efi-disk-image)))))
|
||||
|
||||
;;; Local Variables:
|
||||
;;; eval: (put 'maybe-with-target 'scheme-indent-function 1)
|
||||
;;; End:
|
||||
|
||||
;;; image.scm ends here
|
||||
|
|
|
@ -298,5 +298,5 @@ (define uuid=?
|
|||
(bytevector=? (uuid-bytevector a) b))
|
||||
(((? uuid? a) (? uuid? b))
|
||||
(bytevector=? (uuid-bytevector a) (uuid-bytevector b)))
|
||||
((a b)
|
||||
(((or (? uuid? a) (? bytevector? a)) (or (? uuid? b) (? bytevector? b)))
|
||||
(uuid=? b a))))
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2013, 2014, 2015, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -113,6 +114,7 @@ (define* (cmake-build store name inputs
|
|||
(phases '(@ (guix build cmake-build-system)
|
||||
%standard-phases))
|
||||
(system (%current-system))
|
||||
(substitutable? #t)
|
||||
(imported-modules %cmake-build-system-modules)
|
||||
(modules '((guix build cmake-build-system)
|
||||
(guix build utils))))
|
||||
|
@ -162,6 +164,7 @@ (define guile-for-build
|
|||
#:inputs inputs
|
||||
#:modules imported-modules
|
||||
#:outputs outputs
|
||||
#:substitutable? substitutable?
|
||||
#:guile-for-build guile-for-build))
|
||||
|
||||
|
||||
|
@ -192,6 +195,7 @@ (define* (cmake-cross-build store name
|
|||
"bin" "sbin"))
|
||||
(phases '(@ (guix build cmake-build-system)
|
||||
%standard-phases))
|
||||
(substitutable? #t)
|
||||
(system (%current-system))
|
||||
(build (nix-system->gnu-triplet system))
|
||||
(imported-modules %cmake-build-system-modules)
|
||||
|
@ -271,6 +275,7 @@ (define guile-for-build
|
|||
#:inputs (append native-drvs target-drvs)
|
||||
#:outputs outputs
|
||||
#:modules imported-modules
|
||||
#:substitutable? substitutable?
|
||||
#:guile-for-build guile-for-build))
|
||||
|
||||
(define cmake-build-system
|
||||
|
|
|
@ -235,25 +235,21 @@ (define* (dist-package p source #:key (phases '%dist-phases))
|
|||
(source s)
|
||||
(arguments
|
||||
;; Use the right phases and modules.
|
||||
(let* ((args (default-keyword-arguments (package-arguments p)
|
||||
`(#:phases #f
|
||||
#:modules ,%default-modules
|
||||
#:imported-modules ,%gnu-build-system-modules))))
|
||||
(substitute-keyword-arguments args
|
||||
((#:modules modules)
|
||||
`((guix build gnu-dist)
|
||||
,@modules))
|
||||
((#:imported-modules modules)
|
||||
`((guix build gnu-dist)
|
||||
,@modules))
|
||||
((#:phases _)
|
||||
phases))))
|
||||
(substitute-keyword-arguments (package-arguments p)
|
||||
((#:modules modules %default-modules)
|
||||
`((guix build gnu-dist)
|
||||
,@modules))
|
||||
((#:imported-modules modules %gnu-build-system-modules)
|
||||
`((guix build gnu-dist)
|
||||
,@modules))
|
||||
((#:phases _ #f)
|
||||
phases)))
|
||||
(native-inputs
|
||||
;; Add autotools & co. as inputs.
|
||||
(let ((ref (lambda (module var)
|
||||
(module-ref (resolve-interface module) var))))
|
||||
`(,@(package-native-inputs p)
|
||||
("autoconf" ,((ref '(gnu packages autotools) 'autoconf-wrapper)))
|
||||
("autoconf" ,(ref '(gnu packages autotools) 'autoconf-wrapper))
|
||||
("automake" ,(ref '(gnu packages autotools) 'automake))
|
||||
("libtool" ,(ref '(gnu packages autotools) 'libtool))
|
||||
("gettext" ,(ref '(gnu packages gettext) 'gnu-gettext))
|
||||
|
@ -517,9 +513,11 @@ (define* (gnu-cross-build store name
|
|||
(define canonicalize-reference
|
||||
(match-lambda
|
||||
((? package? p)
|
||||
(derivation->output-path (package-cross-derivation store p system)))
|
||||
(derivation->output-path (package-cross-derivation store p
|
||||
target system)))
|
||||
(((? package? p) output)
|
||||
(derivation->output-path (package-cross-derivation store p system)
|
||||
(derivation->output-path (package-cross-derivation store p
|
||||
target system)
|
||||
output))
|
||||
((? string? output)
|
||||
output)))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2015, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -30,26 +30,6 @@ (define-module (guix build gnu-dist)
|
|||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define* (copy-source #:key source #:allow-other-keys)
|
||||
(copy-recursively source "."))
|
||||
|
||||
(define* (autoreconf #:rest args)
|
||||
(letrec-syntax ((try-files (syntax-rules (else)
|
||||
((_ (else fallback ...))
|
||||
(begin fallback ...))
|
||||
((_ file files ... (else fallback ...))
|
||||
(if (file-exists? file)
|
||||
(begin
|
||||
(format #t "bootstrapping with `~a'...~%"
|
||||
file)
|
||||
(invoke (string-append "./" file)))
|
||||
(try-files files ...
|
||||
(else fallback ...)))))))
|
||||
(try-files "bootstrap" "bootstrap.sh" "autogen" "autogen.sh"
|
||||
(else
|
||||
(format #t "bootstrapping with `autoreconf'...~%")
|
||||
(invoke "autoreconf" "-vfi")))))
|
||||
|
||||
(define* (build #:key build-before-dist? make-flags (dist-target "distcheck")
|
||||
#:allow-other-keys
|
||||
#:rest args)
|
||||
|
@ -60,23 +40,10 @@ (define* (build #:key build-before-dist? make-flags (dist-target "distcheck")
|
|||
(apply invoke "make" dist-target make-flags))
|
||||
|
||||
(define* (install-dist #:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(meta (string-append out "/nix-support")) ; Hydra meta-data
|
||||
(tarballs (find-files "." "\\.tar\\.")))
|
||||
(mkdir out)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(for-each (lambda (tarball)
|
||||
(copy-file tarball (string-append out "/" tarball)))
|
||||
out)
|
||||
|
||||
(mkdir meta)
|
||||
(call-with-output-file (string-append out "/hydra-build-products")
|
||||
(lambda (port)
|
||||
(for-each (lambda (tarball)
|
||||
;; This tells Hydra's what kind of build products we have,
|
||||
;; so it can represent them nicely. See `product-list.tt'
|
||||
;; in Hydra for details.
|
||||
(format port "file source-dist ~a/~a~%" out tarball))
|
||||
tarballs)))
|
||||
(install-file tarball out))
|
||||
(find-files "." "\\.tar\\."))
|
||||
#t))
|
||||
|
||||
(define %dist-phases
|
||||
|
@ -84,8 +51,7 @@ (define %dist-phases
|
|||
(modify-phases %standard-phases
|
||||
(delete 'strip)
|
||||
(replace 'install install-dist)
|
||||
(replace 'build build)
|
||||
(add-before 'configure 'autoreconf autoreconf)
|
||||
(replace 'unpack copy-source)))
|
||||
(add-after 'build 'build-dist build)
|
||||
(delete 'build)))
|
||||
|
||||
;;; gnu-dist.scm ends here
|
||||
|
|
|
@ -186,13 +186,17 @@ (define (compiled-system system)
|
|||
(_ system))))
|
||||
|
||||
(define* (generate-system-definition system
|
||||
#:key version dependencies)
|
||||
#:key version dependencies component?)
|
||||
`(asdf:defsystem
|
||||
,(normalize-string system)
|
||||
:class asdf/bundle:prebuilt-system
|
||||
,@(if component?
|
||||
'(:class asdf/bundle:prebuilt-system)
|
||||
'())
|
||||
:version ,version
|
||||
:depends-on ,dependencies
|
||||
:components ((:compiled-file ,(compiled-system system)))
|
||||
,@(if component?
|
||||
`(:components ((:compiled-file ,(compiled-system system))))
|
||||
'())
|
||||
,@(if (string=? "ecl" (%lisp-type))
|
||||
`(:lib ,(string-append system ".a"))
|
||||
'())))
|
||||
|
@ -311,14 +315,20 @@ (define registry
|
|||
lisp-input-map)
|
||||
(map dependency-name dependencies)))
|
||||
|
||||
;; Ensure directory exists, which might not be the case for an .asd without components.
|
||||
(mkdir-p (dirname asd-file))
|
||||
(call-with-output-file asd-file
|
||||
(lambda (port)
|
||||
(display
|
||||
(replace-escaped-macros
|
||||
(format #f "~y~%~y~%"
|
||||
(generate-system-definition system
|
||||
#:version version
|
||||
#:dependencies dependencies)
|
||||
(generate-system-definition
|
||||
system
|
||||
#:version version
|
||||
#:dependencies dependencies
|
||||
;; Some .asd don't have components, and thus they don't generate any .fasl.
|
||||
#:component? (pair?
|
||||
(find-files (dirname asd-file) "--system\\.fasl$")))
|
||||
(generate-dependency-links registry system)))
|
||||
port))))
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue