Merge branch 'master' into staging
This commit is contained in:
commit
5f9b018aa8
105
doc/guix.texi
105
doc/guix.texi
|
@ -30,7 +30,7 @@ Copyright @copyright{} 2016, 2017 ng0@*
|
|||
Copyright @copyright{} 2016, 2017 Jan Nieuwenhuizen@*
|
||||
Copyright @copyright{} 2016 Julien Lepiller@*
|
||||
Copyright @copyright{} 2016 Alex ter Weele@*
|
||||
Copyright @copyright{} 2017 Clément Lassieur@*
|
||||
Copyright @copyright{} 2017, 2018 Clément Lassieur@*
|
||||
Copyright @copyright{} 2017 Mathieu Othacehe@*
|
||||
Copyright @copyright{} 2017 Federico Beffa@*
|
||||
Copyright @copyright{} 2017 Carlo Zancanaro@*
|
||||
|
@ -7231,6 +7231,15 @@ As an example, @var{file} might contain a definition like this
|
|||
@verbatiminclude environment-gdb.scm
|
||||
@end example
|
||||
|
||||
@item --manifest=@var{file}
|
||||
@itemx -m @var{file}
|
||||
Create an environment for the packages contained in the manifest object
|
||||
returned by the Scheme code in @var{file}.
|
||||
|
||||
This is similar to the same-named option in @command{guix package}
|
||||
(@pxref{profile-manifest, @option{--manifest}}) and uses the same
|
||||
manifest files.
|
||||
|
||||
@item --ad-hoc
|
||||
Include all specified packages in the resulting environment, as if an
|
||||
@i{ad hoc} package were defined with them as inputs. This option is
|
||||
|
@ -11263,6 +11272,9 @@ The XAuth package to use.
|
|||
The Shepherd package used when invoking @command{halt} and
|
||||
@command{reboot}.
|
||||
|
||||
@item @code{sessreg} (default: @code{sessreg})
|
||||
The sessreg package used in order to register the session.
|
||||
|
||||
@item @code{slim} (default: @code{slim})
|
||||
The SLiM package to use.
|
||||
@end table
|
||||
|
@ -15721,14 +15733,48 @@ signature.
|
|||
The certbot service automates this process: the initial key
|
||||
generation, the initial certification request to the Let's Encrypt
|
||||
service, the web server challenge/response integration, writing the
|
||||
certificate to disk, and the automated periodic renewals.
|
||||
certificate to disk, the automated periodic renewals, and the deployment
|
||||
tasks associated with the renewal (e.g. reloading services, copying keys
|
||||
with different permissions).
|
||||
|
||||
Certbot is run twice a day, at a random minute within the hour. It
|
||||
won't do anything until your certificates are due for renewal or
|
||||
revoked, but running it regularly would give your service a chance of
|
||||
staying online in case a Let's Encrypt-initiated revocation happened for
|
||||
some reason.
|
||||
|
||||
By using this service, you agree to the ACME Subscriber Agreement, which
|
||||
can be found there:
|
||||
@url{https://acme-v01.api.letsencrypt.org/directory}.
|
||||
|
||||
@defvr {Scheme Variable} certbot-service-type
|
||||
A service type for the @code{certbot} Let's Encrypt client.
|
||||
A service type for the @code{certbot} Let's Encrypt client. Its value
|
||||
must be a @code{certbot-configuration} record as in this example:
|
||||
|
||||
@example
|
||||
(define %nginx-deploy-hook
|
||||
(program-file
|
||||
"nginx-deploy-hook"
|
||||
#~(let ((pid (call-with-input-file "/var/run/nginx/pid" read)))
|
||||
(kill pid SIGHUP))))
|
||||
|
||||
(service certbot-service-type
|
||||
(certbot-configuration
|
||||
(email "foo@@example.net")
|
||||
(certificates
|
||||
(list
|
||||
(certificate-configuration
|
||||
(domains '("example.net" "www.example.net"))
|
||||
(deploy-hook %nginx-deploy-hook))
|
||||
(certificate-configuration
|
||||
(domains '("bar.example.net")))))))
|
||||
@end example
|
||||
|
||||
See below for details about @code{certbot-configuration}.
|
||||
@end defvr
|
||||
|
||||
@deftp {Data Type} certbot-configuration
|
||||
Data type representing the configuration of the @code{certbot} serice.
|
||||
Data type representing the configuration of the @code{certbot} service.
|
||||
This type has the following parameters:
|
||||
|
||||
@table @asis
|
||||
|
@ -15739,16 +15785,24 @@ The certbot package to use.
|
|||
The directory from which to serve the Let's Encrypt challenge/response
|
||||
files.
|
||||
|
||||
@item @code{hosts} (default: @code{()})
|
||||
A list of hosts for which to generate certificates and request
|
||||
signatures.
|
||||
@item @code{certificates} (default: @code{()})
|
||||
A list of @code{certificates-configuration}s for which to generate
|
||||
certificates and request signatures. Each certificate has a @code{name}
|
||||
and several @code{domains}.
|
||||
|
||||
@item @code{email}
|
||||
Mandatory email used for registration, recovery contact, and important
|
||||
account notifications.
|
||||
|
||||
@item @code{rsa-key-size} (default: @code{2048})
|
||||
Size of the RSA key.
|
||||
|
||||
@item @code{default-location} (default: @i{see below})
|
||||
The default @code{nginx-location-configuration}. Because @code{certbot}
|
||||
needs to be able to serve challenges and responses, it needs to be able
|
||||
to run a web server. It does so by extending the @code{nginx} web
|
||||
service with an @code{nginx-server-configuration} listening on the
|
||||
@var{hosts} on port 80, and which has a
|
||||
@var{domains} on port 80, and which has a
|
||||
@code{nginx-location-configuration} for the @code{/.well-known/} URI
|
||||
path subspace used by Let's Encrypt. @xref{Web Services}, for more on
|
||||
these nginx configuration data types.
|
||||
|
@ -15758,19 +15812,44 @@ Requests to other URL paths will be matched by the
|
|||
@code{nginx-server-configuration}s.
|
||||
|
||||
By default, the @code{default-location} will issue a redirect from
|
||||
@code{http://@var{host}/...} to @code{https://@var{host}/...}, leaving
|
||||
@code{http://@var{domain}/...} to @code{https://@var{domain}/...}, leaving
|
||||
you to define what to serve on your site via @code{https}.
|
||||
|
||||
Pass @code{#f} to not issue a default location.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
The public key and its signatures will be written to
|
||||
@code{/etc/letsencrypt/live/@var{host}/fullchain.pem}, for each
|
||||
@var{host} in the configuration. The private key is written to
|
||||
@code{/etc/letsencrypt/live/@var{host}/privkey.pem}.
|
||||
@deftp {Data Type} certificate-configuration
|
||||
Data type representing the configuration of a certificate.
|
||||
This type has the following parameters:
|
||||
|
||||
@table @asis
|
||||
@item @code{name} (default: @i{see below})
|
||||
This name is used by Certbot for housekeeping and in file paths; it
|
||||
doesn't affect the content of the certificate itself. To see
|
||||
certificate names, run @code{certbot certificates}.
|
||||
|
||||
Its default is the first provided domain.
|
||||
|
||||
@item @code{domains} (default: @code{()})
|
||||
The first domain provided will be the subject CN of the certificate, and
|
||||
all domains will be Subject Alternative Names on the certificate.
|
||||
|
||||
@item @code{deploy-hook} (default: @code{#f})
|
||||
Command to be run in a shell once for each successfully issued
|
||||
certificate. For this command, the shell variable
|
||||
@code{$RENEWED_LINEAGE} will point to the config live subdirectory (for
|
||||
example, @samp{"/etc/letsencrypt/live/example.com"}) containing the new
|
||||
certificates and keys; the shell variable @code{$RENEWED_DOMAINS} will
|
||||
contain a space-delimited list of renewed certificate domains (for
|
||||
example, @samp{"example.com www.example.com"}.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
For each @code{certificate-configuration}, the certificate is saved to
|
||||
@code{/etc/letsencrypt/live/@var{name}/fullchain.pem} and the key is
|
||||
saved to @code{/etc/letsencrypt/live/@var{name}/privkey.pem}.
|
||||
@node DNS Services
|
||||
@subsubsection DNS Services
|
||||
@cindex DNS (domain name system)
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2017 sharlatan <sharlatanus@gmail.com>
|
||||
# Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
# Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
|
@ -153,6 +154,9 @@ chk_sys_arch()
|
|||
x86_64 | x86-64 | x64 | amd64)
|
||||
local arch=x86_64
|
||||
;;
|
||||
aarch64)
|
||||
local arch=aarch64
|
||||
;;
|
||||
*)
|
||||
_err "${ERR}Unsupported CPU type: ${arch}"
|
||||
exit 1
|
||||
|
|
16
gnu/local.mk
16
gnu/local.mk
|
@ -13,7 +13,7 @@
|
|||
# Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
# Copyright © 2016, 2017 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
# Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
# Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
# Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
# Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
|
||||
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
|
||||
|
@ -142,6 +142,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/elixir.scm \
|
||||
%D%/packages/embedded.scm \
|
||||
%D%/packages/emacs.scm \
|
||||
%D%/packages/emulators.scm \
|
||||
%D%/packages/enchant.scm \
|
||||
%D%/packages/engineering.scm \
|
||||
%D%/packages/enlightenment.scm \
|
||||
|
@ -248,6 +249,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/libffcall.scm \
|
||||
%D%/packages/libffi.scm \
|
||||
%D%/packages/libftdi.scm \
|
||||
%D%/packages/license.scm \
|
||||
%D%/packages/calendar.scm \
|
||||
%D%/packages/libidn.scm \
|
||||
%D%/packages/libphidget.scm \
|
||||
|
@ -763,6 +765,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/heimdal-CVE-2017-11103.patch \
|
||||
%D%/packages/patches/hmmer-remove-cpu-specificity.patch \
|
||||
%D%/packages/patches/higan-remove-march-native-flag.patch \
|
||||
%D%/packages/patches/htop-fix-process-tree.patch \
|
||||
%D%/packages/patches/hubbub-sort-entities.patch \
|
||||
%D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \
|
||||
%D%/packages/patches/hwloc-tests-without-sysfs.patch \
|
||||
|
@ -801,9 +804,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \
|
||||
%D%/packages/patches/laby-make-install.patch \
|
||||
%D%/packages/patches/lcms-CVE-2016-10165.patch \
|
||||
%D%/packages/patches/ldc-disable-tests.patch \
|
||||
%D%/packages/patches/ldc-1.1.0-disable-dmd-tests.patch \
|
||||
%D%/packages/patches/ldc-1.1.0-disable-phobos-tests.patch \
|
||||
%D%/packages/patches/ldc-bootstrap-disable-tests.patch \
|
||||
%D%/packages/patches/ldc-1.7.0-disable-phobos-tests.patch \
|
||||
%D%/packages/patches/ledger-fix-uninitialized.patch \
|
||||
%D%/packages/patches/ledger-revert-boost-python-fix.patch \
|
||||
%D%/packages/patches/liba52-enable-pic.patch \
|
||||
|
@ -948,7 +950,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/openssl-runpath.patch \
|
||||
%D%/packages/patches/openssl-1.1.0-c-rehash-in.patch \
|
||||
%D%/packages/patches/openssl-c-rehash-in.patch \
|
||||
%D%/packages/patches/optipng-CVE-2017-1000229.patch \
|
||||
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \
|
||||
%D%/packages/patches/osip-CVE-2017-7853.patch \
|
||||
%D%/packages/patches/ots-no-include-missing-file.patch \
|
||||
|
@ -956,6 +957,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/p7zip-CVE-2016-9296.patch \
|
||||
%D%/packages/patches/p7zip-CVE-2017-17969.patch \
|
||||
%D%/packages/patches/p7zip-remove-unused-code.patch \
|
||||
%D%/packages/patches/password-store-gnupg-compat.patch \
|
||||
%D%/packages/patches/patchelf-page-size.patch \
|
||||
%D%/packages/patches/patchelf-rework-for-arm.patch \
|
||||
%D%/packages/patches/patchutils-xfail-gendiff-tests.patch \
|
||||
|
@ -1044,8 +1046,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-unittest2-python3-compat.patch \
|
||||
%D%/packages/patches/python-unittest2-remove-argparse.patch \
|
||||
%D%/packages/patches/python-waitress-fix-tests.patch \
|
||||
%D%/packages/patches/qemu-CVE-2017-15038.patch \
|
||||
%D%/packages/patches/qemu-CVE-2017-15289.patch \
|
||||
%D%/packages/patches/qt4-ldflags.patch \
|
||||
%D%/packages/patches/qtbase-use-TZDIR.patch \
|
||||
%D%/packages/patches/qtscript-disable-tests.patch \
|
||||
|
@ -1141,6 +1141,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/vsearch-unbundle-cityhash.patch \
|
||||
%D%/packages/patches/vte-CVE-2012-2738-pt1.patch \
|
||||
%D%/packages/patches/vte-CVE-2012-2738-pt2.patch \
|
||||
%D%/packages/patches/wavpack-CVE-2018-7253.patch \
|
||||
%D%/packages/patches/wavpack-CVE-2018-7254.patch \
|
||||
%D%/packages/patches/weechat-python.patch \
|
||||
%D%/packages/patches/wicd-bitrate-none-fix.patch \
|
||||
%D%/packages/patches/wicd-get-selected-profile-fix.patch \
|
||||
|
|
|
@ -269,7 +269,8 @@ graphs and can export its output to different formats.")
|
|||
version "/htop-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0j07z0xm2gj1vzvbgh4323k4db9mr7drd7gw95mmpqi61ncvwq1j"))))
|
||||
"0j07z0xm2gj1vzvbgh4323k4db9mr7drd7gw95mmpqi61ncvwq1j"))
|
||||
(patches (search-patches "htop-fix-process-tree.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)))
|
||||
|
|
|
@ -2377,6 +2377,8 @@ stretching and pitch scaling of audio. This package contains the library.")
|
|||
(method url-fetch)
|
||||
(uri (string-append "http://www.wavpack.com/"
|
||||
name "-" version ".tar.bz2"))
|
||||
(patches (search-patches "wavpack-CVE-2018-7253.patch"
|
||||
"wavpack-CVE-2018-7254.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"0i19c6krc0p9krwrqy9s5xahaafigqzxcn31piidmlaqadyn4f8r"))))
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
(define-public fio
|
||||
(package
|
||||
(name "fio")
|
||||
(version "3.4")
|
||||
(version "3.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -42,7 +42,7 @@
|
|||
"fio-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"01dqvg5mgb4fh1jqqmi179k2rb517p4h4sr3mhlnd0alk1x12w8a"))))
|
||||
"1rrzcrn07db4pffvi2q0d0k884bwcapx6r1rfv4yx9066snvx240"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:test-target "test"
|
||||
|
|
|
@ -8111,7 +8111,7 @@ throughput genetic sequencing data sets using regression methods.")
|
|||
(define-public r-qtl
|
||||
(package
|
||||
(name "r-qtl")
|
||||
(version "1.42-7")
|
||||
(version "1.42-8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -8119,7 +8119,7 @@ throughput genetic sequencing data sets using regression methods.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hxij8v4my5x4pf5fn5327g7m3n7vjkbzrl580vcmp81n3n3nmrx"))))
|
||||
"1l528dwvfpdlr05imrrm4rq32axp6hld9nqm6mm43kn5n7z2f5k6"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "http://rqtl.org/")
|
||||
(synopsis "R package for analyzing QTL experiments in genetics")
|
||||
|
|
|
@ -71,6 +71,22 @@
|
|||
(base32
|
||||
"0p2vhnc18cnbmb39vq4m7hzv4mhnm2l0a2s7gx3ar277fwng3hys"))))
|
||||
|
||||
;; The GRUB test suite fails with later versions of Qemu, so we
|
||||
;; keep it at 2.10 for now. See
|
||||
;; <https://lists.gnu.org/archive/html/bug-grub/2018-02/msg00004.html>.
|
||||
;; TODO: When grub no longer needs this version, move to gnu/packages/debug.scm.
|
||||
(define qemu-minimal-2.10
|
||||
(package
|
||||
(inherit qemu-minimal)
|
||||
(version "2.10.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.qemu.org/qemu-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17w21spvaxaidi2am5lpsln8yjpyp2zi3s3gc6nsxj5arlgamzgw"))))))
|
||||
|
||||
(define-public grub
|
||||
(package
|
||||
(name "grub")
|
||||
|
@ -144,7 +160,7 @@
|
|||
;; Dependencies for the test suite. The "real" QEMU is needed here,
|
||||
;; because several targets are used.
|
||||
("parted" ,parted)
|
||||
("qemu" ,qemu-minimal)
|
||||
("qemu" ,qemu-minimal-2.10)
|
||||
("xorriso" ,xorriso)))
|
||||
(home-page "https://www.gnu.org/software/grub/")
|
||||
(synopsis "GRand Unified Boot loader")
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -41,8 +42,8 @@
|
|||
(arguments
|
||||
`(#:parallel-build? #f ; There are some nasty racy rules in the Makefile.
|
||||
#:phases
|
||||
(alist-cons-before
|
||||
'configure 'pre-conf
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'pre-conf
|
||||
(lambda _
|
||||
(substitute* (append '("common/env.c")
|
||||
(find-files "test" "\\.sh"))
|
||||
|
@ -59,8 +60,8 @@
|
|||
(substitute* "test/00/t0077a.sh"
|
||||
(("ar qc") "ar qcU"))
|
||||
|
||||
(setenv "SH" (which "sh")))
|
||||
%standard-phases)))
|
||||
(setenv "SH" (which "sh"))
|
||||
#t)))))
|
||||
(native-inputs `(("bison" ,bison)
|
||||
;; For building the documentation:
|
||||
("groff" ,groff)
|
||||
|
|
|
@ -1109,14 +1109,14 @@ methods.")
|
|||
(define-public r-timedate
|
||||
(package
|
||||
(name "r-timedate")
|
||||
(version "3042.101")
|
||||
(version "3043.102")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "timeDate" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vcckaw1gqz3j4v69r9jn41vlmk5a5c7572xam1nl75ki5v4r3bc"))))
|
||||
"0wvl5pq261rvbgly7vilk3x3m9xk3ly6il1i5scwdf6srl1vlz1p"))))
|
||||
(properties `((upstream-name . "timeDate")))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://www.rmetrics.org")
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
;;; Copyright © 2016, 2017 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -663,3 +664,49 @@ that are faster than MD5, SHA-1, SHA-2, and SHA-3, yet are at least as secure
|
|||
as the latest standard, SHA-3. It is an improved version of the SHA-3 finalist
|
||||
BLAKE.")
|
||||
(license license:public-domain))))
|
||||
|
||||
(define-public rhash
|
||||
(package
|
||||
(name "rhash")
|
||||
(version "1.3.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/rhash/RHash/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bhz3xdl6r06k1bqigdjz42l31iqz2qdpg7zk316i7p2ra56iq4q"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list "CC=gcc"
|
||||
(string-append "PREFIX=" %output))
|
||||
#:test-target "test"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "Makefile"
|
||||
(("\\$\\(DESTDIR\\)/etc")
|
||||
(string-append (assoc-ref outputs "out") "/etc")))
|
||||
#t))
|
||||
(add-after 'build 'build-library
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "lib-shared" make-flags)))
|
||||
(add-after 'install 'install-library
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "install-lib-shared" make-flags)
|
||||
(apply invoke
|
||||
"make" "-C" "librhash" "install-headers"
|
||||
"install-so-link" make-flags)))
|
||||
(add-after 'check 'check-library
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "test-shared-lib" make-flags))))))
|
||||
(home-page "https://sourceforge.net/projects/rhash/")
|
||||
(synopsis "Utility for computing hash sums")
|
||||
(description "RHash is a console utility for calculation and verification
|
||||
of magnet links and a wide range of hash sums like CRC32, MD4, MD5, SHA1,
|
||||
SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R
|
||||
34.11-94, RIPEMD-160, HAS-160, EDON-R, Whirlpool and Snefru.")
|
||||
(license (license:non-copyleft "file://COPYING"))))
|
||||
|
|
|
@ -169,7 +169,7 @@ tools that process C/C++ code.")
|
|||
(inputs
|
||||
`(("custom-qemu"
|
||||
;; The afl-qemu tool builds qemu 2.10.0 with a few patches applied.
|
||||
,(package (inherit qemu-minimal)
|
||||
,(package (inherit (@@ (gnu packages bootloaders) qemu-minimal-2.10))
|
||||
(name "afl-qemu")
|
||||
(inputs
|
||||
`(("afl-src" ,source)
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
|
||||
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -74,7 +75,7 @@
|
|||
(define-public calibre
|
||||
(package
|
||||
(name "calibre")
|
||||
(version "3.11.1")
|
||||
(version "3.17.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -83,7 +84,7 @@
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0kwza7iyyyfhq476z5fk9962iyd0qpgmzm1k36nqcy8sfjbk8mrl"))
|
||||
"1w6hw1s0d4daa4q2ykzhxdndiq61l8z7ls7rxh7k7p62ia0i5sxp"))
|
||||
;; Remove non-free or doubtful code, see
|
||||
;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
|
||||
(modules '((guix build utils)))
|
||||
|
@ -175,7 +176,8 @@
|
|||
(substitute* "setup/build_environment.py"
|
||||
(("sys.prefix") (string-append "'" pyqt "'")))
|
||||
(setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo"))
|
||||
(setenv "PODOFO_LIB_DIR" (string-append podofo "/lib")))))
|
||||
(setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"))
|
||||
#t)))
|
||||
(add-after 'install 'install-font-liberation
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(for-each (lambda (file)
|
||||
|
@ -194,11 +196,11 @@
|
|||
#t)))))
|
||||
(home-page "http://calibre-ebook.com/")
|
||||
(synopsis "E-book library management software")
|
||||
(description "Calibre is an ebook library manager. It can view, convert
|
||||
and catalog ebooks in most of the major ebook formats. It can also talk
|
||||
to many ebook reader devices. It can go out to the Internet and fetch
|
||||
(description "Calibre is an e-book library manager. It can view, convert
|
||||
and catalog e-books in most of the major e-book formats. It can also talk
|
||||
to many e-book reader devices. It can go out to the Internet and fetch
|
||||
metadata for books. It can download newspapers and convert them into
|
||||
ebooks for convenient reading.")
|
||||
e-books for convenient reading.")
|
||||
;; Calibre is largely GPL3+, but includes a number of components covered
|
||||
;; by other licenses. See COPYRIGHT for more details.
|
||||
(license (list license:gpl3+
|
||||
|
|
|
@ -3844,6 +3844,26 @@ strings, and code folding.")
|
|||
in Emacs.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-edit-indirect
|
||||
(package
|
||||
(name "emacs-edit-indirect")
|
||||
(version "0.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/Fanael/edit-indirect/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07kr58rd1p5j764wminsssazr73hy51yw8iqcsv5z2dwgj7msv71"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/Fanael/edit-indirect")
|
||||
(synopsis "Edit regions in separate buffers")
|
||||
(description "This package allows you to edit regions in separate buffers,
|
||||
like @code{org-edit-src-code} but for arbitrary regions.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-projectile
|
||||
(package
|
||||
(name "emacs-projectile")
|
||||
|
@ -4266,6 +4286,52 @@ are pretty much the same (and SLIME served as the principle inspiration for
|
|||
CIDER).")
|
||||
(license license:gpl3+)))
|
||||
|
||||
;; There hasn't been a tag or release since 2015, so we take the latest
|
||||
;; commit.
|
||||
(define-public emacs-sly
|
||||
(let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "emacs-sly")
|
||||
(version (string-append "1.0.0-" revision "." (string-take commit 9)))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/joaotavora/sly.git")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:include (cons "^lib\\/" %default-include)
|
||||
#:phases
|
||||
;; The package provides autoloads.
|
||||
(modify-phases %standard-phases
|
||||
(delete 'make-autoloads))))
|
||||
(home-page "https://github.com/joaotavora/sly")
|
||||
(synopsis "Sylvester the Cat's Common Lisp IDE")
|
||||
(description
|
||||
"SLY is Sylvester the Cat's Common Lisp IDE. SLY is a fork of SLIME, and
|
||||
contains the following improvements over it:
|
||||
|
||||
@enumerate
|
||||
@item Completely redesigned REPL based on Emacs's own full-featured
|
||||
@code{comint.el}
|
||||
@item Live code annotations via a new @code{sly-stickers} contrib
|
||||
@item Consistent interactive button interface. Everything can be copied to
|
||||
the REPL.
|
||||
@item Multiple inspectors with independent history
|
||||
@item Regexp-capable @code{M-x sly-apropos}
|
||||
@item Contribs are first class SLY citizens and enabled by default
|
||||
@item Use ASDF to loads contribs on demand.
|
||||
@end enumerate
|
||||
|
||||
SLY tracks SLIME's bugfixes and all its familar features (debugger, inspector,
|
||||
xref, etc...) are still available, but with better integration.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-lua-mode
|
||||
(let ((commit "652e299cb967fccca827dda381d61a9c144d97de")
|
||||
(revision "1"))
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2014, 2015, 2016 David Thompson <dthompson2@worcester.edu>
|
||||
;;; Copyright © 2014, 2016 David Thompson <dthompson2@worcester.edu>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
|
||||
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
|
||||
|
@ -14,9 +14,7 @@
|
|||
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2016, 2017 Rodger Fox <thylakoid@openmailbox.org>
|
||||
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
;;; Copyright © 2016, 2017, 2018 ng0 <ng0@n0.is>
|
||||
;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
|
||||
|
@ -1619,69 +1617,6 @@ interactive fiction, also known as text adventures, which were implemented
|
|||
either by Infocom or created using the Inform compiler.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public retroarch
|
||||
(package
|
||||
(name "retroarch")
|
||||
(version "1.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/libretro/RetroArch/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0fdribjfc5zz9brzhqcxw6m76kvyg13l67aiigszv4wsjd5j3gpz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(etc (string-append out "/etc"))
|
||||
(vulkan (assoc-ref inputs "vulkan-icd-loader")))
|
||||
;; Hard-code the path to libvulkan.so.
|
||||
(substitute* "gfx/common/vulkan_common.c"
|
||||
(("libvulkan.so") (string-append vulkan "/lib/libvulkan.so")))
|
||||
(substitute* "qb/qb.libs.sh"
|
||||
(("/bin/true") (which "true")))
|
||||
;; The configure script does not yet accept the extra arguments
|
||||
;; (like ‘CONFIG_SHELL=’) passed by the default configure phase.
|
||||
(zero? (system*
|
||||
"./configure"
|
||||
(string-append "--prefix=" out)
|
||||
(string-append "--global-config-dir=" etc)))))))))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("ffmpeg" ,ffmpeg)
|
||||
("freetype" ,freetype)
|
||||
("libxinerama" ,libxinerama)
|
||||
("libxkbcommon" ,libxkbcommon)
|
||||
("libxml2" ,libxml2)
|
||||
("libxv" ,libxv)
|
||||
("mesa" ,mesa)
|
||||
("openal" ,openal)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("python" ,python)
|
||||
("sdl" ,sdl2)
|
||||
("udev" ,eudev)
|
||||
("vulkan-icd-loader" ,vulkan-icd-loader)
|
||||
("wayland", wayland)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(home-page "https://www.libretro.com/")
|
||||
(synopsis "Reference frontend for the libretro API")
|
||||
(description
|
||||
"Libretro is a simple but powerful development interface that allows for
|
||||
the easy creation of emulators, games and multimedia applications that can plug
|
||||
straight into any libretro-compatible frontend. RetroArch is the official
|
||||
reference frontend for the libretro API, currently used by most as a modular
|
||||
multi-system game/emulator system.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public gnugo
|
||||
(package
|
||||
(name "gnugo")
|
||||
|
@ -1922,48 +1857,6 @@ next campaign.")
|
|||
(description "This package contains a dedicated server for @emph{The
|
||||
Battle for Wesnoth}.")))
|
||||
|
||||
(define-public dosbox
|
||||
(package
|
||||
(name "dosbox")
|
||||
(version "0.74.svn3947")
|
||||
(source (origin
|
||||
(method svn-fetch)
|
||||
(uri (svn-reference
|
||||
(url "http://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk/")
|
||||
(revision 3947)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
;; Use SVN head, since the last release (2010) is incompatible
|
||||
;; with GCC 4.8+ (see
|
||||
;; <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=624976>).
|
||||
(sha256
|
||||
(base32
|
||||
"1p918j6090d1nkvgq7ifvmn506zrdmyi32y7p3ms40d5ssqjg8fj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after
|
||||
'unpack 'autogen.sh
|
||||
(lambda _
|
||||
(zero? (system* "sh" "autogen.sh")))))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)))
|
||||
(inputs
|
||||
`(("sdl" ,sdl)
|
||||
("libpng" ,libpng)
|
||||
("zlib" ,zlib)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("glu" ,glu)
|
||||
("mesa" ,mesa)))
|
||||
(home-page "http://www.dosbox.com")
|
||||
(synopsis "X86 emulator with CGA/EGA/VGA/etc. graphics and sound")
|
||||
(description "DOSBox is a DOS-emulator that uses the SDL library. DOSBox
|
||||
also emulates CPU:286/386 realmode/protected mode, Directory
|
||||
FileSystem/XMS/EMS, Tandy/Hercules/CGA/EGA/VGA/VESA graphics, a
|
||||
SoundBlaster/Gravis Ultra Sound card for excellent sound compatibility with
|
||||
older games.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public gamine
|
||||
(package
|
||||
(name "gamine")
|
||||
|
@ -2082,638 +1975,6 @@ world}, @uref{http://evolonline.org, Evol Online} and
|
|||
;; The rest is under GPL2+.
|
||||
(license (list license:gpl2+ license:zlib license:cc-by-sa4.0))))
|
||||
|
||||
(define-public mupen64plus-core
|
||||
(package
|
||||
(name "mupen64plus-core")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-core/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0dg2hksm5qni2hcha93k7n4fqr92888p946f7phb0ndschzfh9kk"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("freetype" ,freetype)
|
||||
("glu" ,glu)
|
||||
("libpng" ,libpng)
|
||||
("mesa" ,mesa)
|
||||
("sdl2" ,sdl2)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list "all" (string-append "PREFIX=" out)))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
;; As per the Makefile (in projects/unix/Makefile):
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Nintendo 64 emulator core library")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
core library.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-audio-sdl
|
||||
(package
|
||||
(name "mupen64plus-audio-sdl")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-audio-sdl/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0ss6w92n2rpfnazhg9lbq0nvs3fqx93nliz3k3wjxdlx4dpi7h3a"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus SDL input plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
SDL audio plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-input-sdl
|
||||
(package
|
||||
(name "mupen64plus-input-sdl")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-input-sdl/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "11sj5dbalp2nrlmki34vy7wy28vc175pnnkdk65p8599hnyq37ri"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("which" ,which)))
|
||||
(inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus SDL input plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
SDL input plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-rsp-hle
|
||||
(package
|
||||
(name "mupen64plus-rsp-hle")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-rsp-hle/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "15h7mgz6xd2zjzm6l3f96sbs8kwr3xvbwzgikhnka79m6c69hsxv"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus SDL input plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
high-level emulation (HLE) RSP processor plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-rsp-z64
|
||||
(package
|
||||
(name "mupen64plus-rsp-z64")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-rsp-z64/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "10jz1w2dhx5slhyk4m8mdqlpsd6cshchslr1fckb2ayzb1ls3ghi"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus SDL input plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Z64 RSP processor plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-video-arachnoid
|
||||
(package
|
||||
(name "mupen64plus-video-arachnoid")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-arachnoid/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0jjwf144rihznm4lnqbhgigxw664v3v32wy94adaa6imk8z6gslh"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("mesa" ,mesa)
|
||||
("mupen64plus-core" ,mupen64plus-core)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus Rice Video plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Arachnoid video plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-video-glide64
|
||||
(package
|
||||
(name "mupen64plus-video-glide64")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-glide64/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1rm55dbf6xgsq1blbzs6swa2ajv0qkn38acbljj346abnk6s3dla"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("mesa" ,mesa)
|
||||
("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix")))
|
||||
;; XXX Should be unnecessary with the next release.
|
||||
(add-before
|
||||
'build 'use-sdl2
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("SDL_CONFIG = (.*)sdl-config" all prefix)
|
||||
(string-append "SDL_CONFIG = " prefix "sdl2-config"))))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus Rice Video plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Glide64 video plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-video-glide64mk2
|
||||
(package
|
||||
(name "mupen64plus-video-glide64mk2")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-glide64mk2/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1ihl4q293d6svba26b4mhapjcdg12p90gibz79b4mx423jlcxxj9"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("libpng" ,libpng)
|
||||
("mesa" ,mesa)
|
||||
("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus Rice Video plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Glide64MK2 video plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-video-rice
|
||||
(package
|
||||
(name "mupen64plus-video-rice")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-rice/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0rd2scjmh285w61aj3mgx71whg5rqrjbry3cdgicczrnyvf8wdvk"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("libpng" ,libpng)
|
||||
("mesa" ,mesa)
|
||||
("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus Rice Video plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Rice Video plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-video-z64
|
||||
(package
|
||||
(name "mupen64plus-video-z64")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-z64/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("glew" ,glew)
|
||||
("mupen64plus-core" ,mupen64plus-core)
|
||||
("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix")))
|
||||
;; XXX Should be unnecessary with the next release.
|
||||
(add-before
|
||||
'build 'use-sdl2
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("SDL_CONFIG = (.*)sdl-config" all prefix)
|
||||
(string-append "SDL_CONFIG = " prefix "sdl2-config"))))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus Z64 video plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
Z64 video plugin.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mupen64plus-ui-console
|
||||
(package
|
||||
(name "mupen64plus-ui-console")
|
||||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-ui-console/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "04qkpd8ic7xsgnqz7spl00wxdygf79m7d1k8rabbygjk5lg6p8z2"))
|
||||
(patches (search-patches "mupen64plus-ui-console-notice.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("sdl2" ,sdl2)))
|
||||
;; Mupen64Plus supports a single data directory and a single plugin
|
||||
;; directory in its configuration, yet we need data and plugin files from
|
||||
;; a variety of packages. The best way to deal with this is to install
|
||||
;; all packages from which data and plugin files are needed into one's
|
||||
;; profile, and point the configuration there. Hence, propagate the most
|
||||
;; important packages here to save the user from the bother. The patch
|
||||
;; mupen64plus-ui-console-notice also gives users instructions on what
|
||||
;; they need to do in order to point the configuration to their profile.
|
||||
(propagated-inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)
|
||||
("mupen64plus-audio-sdl" ,mupen64plus-audio-sdl)
|
||||
("mupen64plus-input-sdl" ,mupen64plus-input-sdl)
|
||||
("mupen64plus-rsp-hle" ,mupen64plus-rsp-hle)
|
||||
("mupen64plus-video-glide64" ,mupen64plus-video-glide64)
|
||||
("mupen64plus-video-glide64mk2" ,mupen64plus-video-glide64mk2)
|
||||
("mupen64plus-video-rice" ,mupen64plus-video-rice)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The mupen64plus build system has no configure phase.
|
||||
(delete 'configure)
|
||||
;; Makefile is in a subdirectory.
|
||||
(add-before
|
||||
'build 'cd-to-project-dir
|
||||
(lambda _
|
||||
(chdir "projects/unix"))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(m64p (assoc-ref %build-inputs "mupen64plus-core")))
|
||||
(list "all"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "APIDIR=" m64p "/include/mupen64plus")
|
||||
;; Trailing slash matters here.
|
||||
(string-append "COREDIR=" m64p "/lib/")))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://www.mupen64plus.org/")
|
||||
(synopsis "Mupen64Plus SDL input plugin")
|
||||
(description
|
||||
"Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
|
||||
which is capable of accurately playing many games. This package contains the
|
||||
command line user interface. Installing this package is the easiest way
|
||||
towards a working Mupen64Plus for casual users.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public nestopia-ue
|
||||
(package
|
||||
(name "nestopia-ue")
|
||||
(version "1.47")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/rdanbrook/nestopia/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dzrrjmvyqks64q5l5pfly80jb6qcsbj5b3dm40fijd5xnpbapci"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; We don't need libretro for the GNU/Linux build.
|
||||
(delete-file-recursively "libretro")
|
||||
;; Use system zlib.
|
||||
(delete-file-recursively "source/zlib")
|
||||
(substitute* "source/core/NstZlib.cpp"
|
||||
(("#include \"../zlib/zlib.h\"") "#include <zlib.h>"))))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("ao" ,ao)
|
||||
("glu" ,glu)
|
||||
("gtk+" ,gtk+)
|
||||
("libarchive" ,libarchive)
|
||||
("mesa" ,mesa)
|
||||
("sdl2" ,sdl2)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The Nestopia build system consists solely of a Makefile.
|
||||
(delete 'configure)
|
||||
(add-before 'build 'remove-xdg-desktop-menu-call
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("xdg-desktop-menu install .*") ""))))
|
||||
(add-before 'build 'remove-gdkwayland-include
|
||||
(lambda _
|
||||
(substitute* "source/unix/gtkui/gtkui.h"
|
||||
(("#include <gdk/gdkwayland\\.h>") "")))))
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list "CC=gcc" "CXX=g++" (string-append "PREFIX=" out)))
|
||||
;; There are no tests.
|
||||
#:tests? #f))
|
||||
(home-page "http://0ldsk00l.ca/nestopia/")
|
||||
(synopsis "Nintendo Entertainment System (NES/Famicom) emulator")
|
||||
(description
|
||||
"Nestopia UE (Undead Edition) is a fork of the Nintendo Entertainment
|
||||
System (NES/Famicom) emulator Nestopia, with enhancements from members of the
|
||||
emulation community. It provides highly accurate emulation.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emulation-station
|
||||
(let ((commit "646bede3d9ec0acf0ae378415edac136774a66c5"))
|
||||
(package
|
||||
(name "emulation-station")
|
||||
(version "2.0.1")
|
||||
(source (origin
|
||||
(method git-fetch) ; no tarball available
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Aloshi/EmulationStation.git")
|
||||
(commit commit))) ; no version tag
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cm0sq2wri2l9cvab1l0g02za59q7klj0h3p028vr96n6njj4w9v"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; no tests
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("boost" ,boost)
|
||||
("curl" ,curl)
|
||||
("eigin" ,eigen)
|
||||
("freeimage" ,freeimage)
|
||||
("freetype" ,freetype)
|
||||
("mesa" ,mesa)
|
||||
("sdl2" ,sdl2)))
|
||||
(synopsis "Video game console emulator front-end")
|
||||
(description "EmulationStation provides a graphical front-end to a large
|
||||
number of video game console emulators. It features an interface that is
|
||||
usable with any game controller that has at least 4 buttons, theming support,
|
||||
and a game metadata scraper.")
|
||||
(home-page "http://www.emulationstation.org")
|
||||
(license license:expat))))
|
||||
|
||||
(define openttd-engine
|
||||
(package
|
||||
(name "openttd-engine")
|
||||
|
@ -3055,39 +2316,6 @@ players.")
|
|||
(home-page "http://pio.sourceforge.net/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public desmume
|
||||
(package
|
||||
(name "desmume")
|
||||
(version "0.9.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/desmume/desmume/"
|
||||
version "/desmume-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15l8wdw3q61fniy3h93d84dnm6s4pyadvh95a0j6d580rjk4pcrs"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; Enable support for WiFi and microphone.
|
||||
`(#:configure-flags '("--enable-wifi"
|
||||
"--enable-openal")))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("intltool" ,intltool)))
|
||||
(inputs
|
||||
`(("zlib" ,zlib)
|
||||
("sdl" ,sdl)
|
||||
("glib" ,glib)
|
||||
("gtk+" ,gtk+-2)
|
||||
("glu" ,glu)))
|
||||
(home-page "http://desmume.org/")
|
||||
(synopsis "Nintendo DS emulator")
|
||||
(description
|
||||
"DeSmuME is an emulator for the Nintendo DS handheld gaming console.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public einstein
|
||||
(package
|
||||
(name "einstein")
|
||||
|
@ -3343,155 +2571,6 @@ Red Eclipse provides fast paced and accessible gameplay.")
|
|||
license:cc-by3.0
|
||||
license:cc0)))))
|
||||
|
||||
(define-public higan
|
||||
(package
|
||||
(name "higan")
|
||||
(version "106")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://gitlab.com/higan/higan/repository/archive.tar.gz?ref=v"
|
||||
version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0y42pra0dxzlbkyzcp3r8a39pji2bj3p9fl40425f60af2igr4rw"))
|
||||
(patches (search-patches "higan-remove-march-native-flag.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("ao" ,ao)
|
||||
("eudev" ,eudev)
|
||||
("gtk+" ,gtk+-2)
|
||||
("gtksourceview-2" ,gtksourceview-2)
|
||||
("libxv" ,libxv)
|
||||
("mesa" ,mesa)
|
||||
("openal" ,openal)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("sdl" ,sdl)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(let ((build-phase (assoc-ref %standard-phases 'build))
|
||||
(install-phase (assoc-ref %standard-phases 'install)))
|
||||
(modify-phases %standard-phases
|
||||
;; The higan build system has no configure phase.
|
||||
(delete 'configure)
|
||||
(add-before 'build 'chdir-to-higan
|
||||
(lambda _
|
||||
(chdir "higan")))
|
||||
(add-before 'install 'create-/share/applications
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; It seems the author forgot to do this in the Makefile.
|
||||
(mkdir-p (string-append out "/share/applications")))))
|
||||
(add-after 'install 'chdir-to-icarus
|
||||
(lambda _
|
||||
(chdir "../icarus")))
|
||||
(add-after 'chdir-to-icarus 'build-icarus build-phase)
|
||||
(add-after 'build-icarus 'install-icarus install-phase)
|
||||
(add-after 'install-icarus 'wrap-higan-executable
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(higan (string-append bin "/higan"))
|
||||
(higan-original (string-append higan "-original"))
|
||||
(bash (string-append (assoc-ref inputs "bash")
|
||||
"/bin/bash"))
|
||||
(coreutils (assoc-ref inputs "coreutils"))
|
||||
(mkdir (string-append coreutils "/bin/mkdir"))
|
||||
(cp (string-append coreutils "/bin/cp"))
|
||||
(cp-r (string-append cp " -r --no-preserve=mode")))
|
||||
;; First, have the executable make sure ~/.local/share/higan
|
||||
;; contains up to date files. Higan insists on looking there
|
||||
;; for these data files.
|
||||
(rename-file higan higan-original)
|
||||
(with-output-to-file higan
|
||||
(lambda ()
|
||||
(display
|
||||
(string-append
|
||||
"#!" bash "\n"
|
||||
;; higan doesn't respect $XDG_DATA_HOME
|
||||
mkdir " -p ~/.local/share\n"
|
||||
cp-r " " out "/share/higan ~/.local/share\n"
|
||||
"exec " higan-original))))
|
||||
(chmod higan #o555)
|
||||
;; Second, make sure higan will find icarus in PATH.
|
||||
(wrap-program higan
|
||||
`("PATH" ":" prefix (,bin))))))))
|
||||
#:make-flags
|
||||
(list "compiler=g++"
|
||||
(string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
;; There is no test suite.
|
||||
#:tests? #f))
|
||||
(home-page "http://byuu.org/emulation/higan/")
|
||||
(synopsis "Nintendo multi-system emulator")
|
||||
(description
|
||||
"higan (formerly bsnes) is an emulator for multiple Nintendo video game
|
||||
consoles, including the Nintendo Entertainment System (NES/Famicom), Super
|
||||
Nintendo Entertainment System (SNES/Super Famicom), Game Boy, Game Boy
|
||||
Color (GBC), and Game Boy Advance (GBA). It also supports the subsystems
|
||||
Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
|
||||
;; As noted in these files among more:
|
||||
;; - icarus/icarus.cpp
|
||||
;; - higan/emulator/emulator.hpp
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public mgba
|
||||
(package
|
||||
(name "mgba")
|
||||
(version "0.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/mgba-emu/mgba/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xmq1q1j71hnpd49wm91cqq8w5zdhb921cm17jchp4qjmaqgwy3w"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Make sure we don't use the bundled software.
|
||||
'(for-each
|
||||
(lambda (subdir)
|
||||
(let ((lib-subdir (string-append "src/third-party/" subdir)))
|
||||
(delete-file-recursively lib-subdir)))
|
||||
'("libpng" "lzma" "sqlite3" "zlib")))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no "test" target
|
||||
#:configure-flags
|
||||
(list "-DUSE_LZMA=OFF" ;do not use bundled LZMA
|
||||
"-DUSE_LIBZIP=OFF" ;use "zlib" instead
|
||||
(string-append "-DCMAKE_INSTALL_LIBDIR="
|
||||
(assoc-ref %outputs "out") "/lib"))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("ffmpeg" ,ffmpeg)
|
||||
("imagemagick" ,imagemagick)
|
||||
("libedit" ,libedit)
|
||||
("libepoxy" ,libepoxy)
|
||||
("libpng" ,libpng)
|
||||
("mesa" ,mesa)
|
||||
("minizip" ,minizip)
|
||||
("ncurses" ,ncurses)
|
||||
("qtbase" ,qtbase)
|
||||
("qtmultimedia" ,qtmultimedia)
|
||||
("qttools" ,qttools)
|
||||
("sdl2" ,sdl2)
|
||||
("sqlite" ,sqlite)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://mgba.io")
|
||||
(synopsis "Game Boy Advance emulator")
|
||||
(description
|
||||
"mGBA is an emulator for running Game Boy Advance games. It aims to be
|
||||
faster and more accurate than many existing Game Boy Advance emulators, as
|
||||
well as adding features that other emulators lack. It also supports Game Boy
|
||||
and Game Boy Color games.")
|
||||
;; Code is mainly MPL 2.0. "blip_buf.c" is LGPL 2.1+ and "inih.c" is
|
||||
;; BSD-3.
|
||||
(license (list license:mpl2.0 license:lgpl2.1+ license:bsd-3))))
|
||||
|
||||
(define-public grue-hunter
|
||||
(package
|
||||
(name "grue-hunter")
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2017 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
|
||||
;;; Copyright © 2017, 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
|
@ -43,6 +43,7 @@
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages webkit)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public geos
|
||||
|
@ -153,6 +154,36 @@ and driving.")
|
|||
(home-page "https://wiki.gnome.org/Apps/Maps")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public libgaiagraphics
|
||||
(package
|
||||
(name "libgaiagraphics")
|
||||
(version "0.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.gaia-gis.it/gaia-sins/libgaiagraphics-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"076afqv417ag3hfvnif0qc7qscmnq1dsf6y431yygwgf34rjkayc"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("cairo" ,cairo)
|
||||
("libpng" ,libpng)
|
||||
("libjepeg-turbo" ,libjpeg-turbo)
|
||||
("libtiff" ,libtiff)
|
||||
("libgeotiff" ,libgeotiff)
|
||||
("proj.4" ,proj.4)
|
||||
("libxml2" ,libxml2)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "Gaia common graphics support")
|
||||
(description "libgaiagraphics is a library supporting
|
||||
common-utility raster handling methods.")
|
||||
(home-page "https://www.gaia-gis.it/fossil/libgaiagraphics/index")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public libgeotiff
|
||||
(package
|
||||
(name "libgeotiff")
|
||||
|
@ -202,6 +233,54 @@ writing GeoTIFF information tags.")
|
|||
(license:non-copyleft "file://LICENSE"
|
||||
"See LICENSE in the distribution.")))))
|
||||
|
||||
(define-public libspatialite
|
||||
(package
|
||||
(name "libspatialite")
|
||||
(version "4.3.0a")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.gaia-gis.it/gaia-sins/libspatialite-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16d4lpl7xrm9zy4gphy6nwanpjp8wn9g4wq2i2kh8abnlhq01448"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("freexl" ,freexl)
|
||||
("geos" ,geos)
|
||||
("libxml2" ,libxml2)
|
||||
("proj.4" ,proj.4)
|
||||
("sqlite" ,sqlite)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; 3 tests are failing, ignore them:
|
||||
(add-after 'unpack 'ignore-broken-tests
|
||||
(lambda _
|
||||
(substitute* '("test/Makefile.in")
|
||||
(("\tcheck_sql_stm.*" all) "\tcheck_multithread$(EXEEXT) \\\n")
|
||||
(("(\tch.*) check_v.*ble2.*$" all vt1) (string-append vt1 " \\\n"))
|
||||
(("\tch.* (check_v.*ble4.*)$" all vt4) (string-append "\t" vt4)))
|
||||
#t)))))
|
||||
(synopsis "Extend SQLite to support Spatial SQL capabilities")
|
||||
(description
|
||||
"SpatiaLite is a library intended to extend the SQLite core to support
|
||||
fully fledged Spatial SQL capabilities.")
|
||||
(home-page "https://www.gaia-gis.it/fossil/libspatialite/index")
|
||||
;; For the genuine libspatialite-sources holds:
|
||||
;; Any of the licenses MPL1.1, GPL2+ or LGPL2.1+ may be picked.
|
||||
;; Files under src/control_points are from GRASS
|
||||
;; and are licensed under GPL2+ only.
|
||||
;; src/md5.[ch]: Placed into the public domain by Alexander Peslyak.
|
||||
(license (list license:gpl2+
|
||||
license:lgpl2.1+
|
||||
license:mpl1.1
|
||||
license:public-domain))))
|
||||
|
||||
(define-public proj.4
|
||||
(package
|
||||
(name "proj.4")
|
||||
|
@ -378,3 +457,36 @@ development.")
|
|||
(synopsis "Python bindings for Mapnik")
|
||||
(description "This package provides Python bindings for Mapnik.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public spatialite-gui
|
||||
(package
|
||||
(name "spatialite-gui")
|
||||
(version "1.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.gaia-gis.it/gaia-sins/spatialite_gui-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1r05dz9pyc8vsd2wbqxcsracpfbaamz470rcyp2myfpqwznv376b"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("freexl" ,freexl)
|
||||
("geos" ,geos)
|
||||
("libgaiagraphics" ,libgaiagraphics)
|
||||
("libspatialite" ,libspatialite)
|
||||
("libxml2" ,libxml2)
|
||||
("proj.4" ,proj.4)
|
||||
("sqlite" ,sqlite)
|
||||
("wxwidgets" ,wxwidgets-2)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "Graphical user interface for SpatiaLite")
|
||||
(description "Spatialite-gui provides a visual interface for viewing and
|
||||
maintaining a spatialite database. You can easily see the structure of the
|
||||
tables and data contents using point and click functions, many of which
|
||||
construct common SQL queries, or craft your own SQL queries.")
|
||||
(home-page "https://www.gaia-gis.it/fossil/spatialite_gui/index")
|
||||
(license license:gpl3+)))
|
||||
|
|
|
@ -198,7 +198,7 @@ translated messages from the catalogs. Nearly all GNU packages use Gettext.")
|
|||
("texlive" ,texlive-tiny) ;for tests
|
||||
("libxml2" ,libxml2)
|
||||
("xsltproc" ,libxslt)))
|
||||
(home-page "http://po4a.alioth.debian.org/")
|
||||
(home-page "https://po4a.org/")
|
||||
(synopsis "Scripts to ease maintenance of translations")
|
||||
(description
|
||||
"The po4a (PO for anything) project goal is to ease translations (and
|
||||
|
|
|
@ -428,14 +428,14 @@ from software emulation to complete hardware acceleration for modern GPUs.")
|
|||
(define (mesa-demos-source version)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/demos/" version
|
||||
(uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/demos"
|
||||
"/mesa-demos-" version ".tar.bz2"))
|
||||
(sha256 (base32 "1vqb7s5m3fcg2csbiz45mha1pys2xx6rhw94fcyvapqdpm5iawy1"))))
|
||||
(sha256 (base32 "0zgzbz55a14hz83gbmm0n9gpjnf5zadzi2kjjvkn6khql2a9rs81"))))
|
||||
|
||||
(define-public mesa-utils
|
||||
(package
|
||||
(name "mesa-utils")
|
||||
(version "8.3.0")
|
||||
(version "8.4.0")
|
||||
(source (mesa-demos-source version))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
|
|
@ -2449,7 +2449,7 @@ libxml to ease remote use of the RESTful API.")
|
|||
(define-public libsoup
|
||||
(package
|
||||
(name "libsoup")
|
||||
(version "2.60.2")
|
||||
(version "2.60.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/libsoup/"
|
||||
|
@ -2457,7 +2457,7 @@ libxml to ease remote use of the RESTful API.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"00fsy12mz9b55algq7c6gk4xj5j6a5z6dxcnq59fdqkji3hwyqvj"))))
|
||||
"08lawrdkkzycvpb1h0wfiqfz6dgx77jp0wxp546lxgisy9icf38v"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
|
|
|
@ -214,14 +214,14 @@ compatible to GNU Pth.")
|
|||
(define-public gnupg
|
||||
(package
|
||||
(name "gnupg")
|
||||
(version "2.2.4")
|
||||
(version "2.2.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1v7j8v2ww1knknbrhw3svfrqkmf9ll58iq0dczbsdpqgg1j3w6j0"))))
|
||||
"0mzgibq4dpxh3i9anmwg12xdjry28y83icafhx3j3djg5niqk89z"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
|
||||
|
@ -1091,29 +1091,28 @@ installed as @code{stb_image}.")
|
|||
(define-public optipng
|
||||
(package
|
||||
(name "optipng")
|
||||
(version "0.7.6")
|
||||
(version "0.7.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://prdownloads.sourceforge.net/optipng/optipng-"
|
||||
version ".tar.gz"))
|
||||
(patches (search-patches "optipng-CVE-2017-1000229.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"105yk5qykvhiahzag67gm36s2kplxf6qn5hay02md0nkrcgn6w28"))))
|
||||
"0lj4clb851fzpaq446wgj0sfy922zs5l5misbpwv6w7qrqrz4cjg"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; configure script does not accept arguments CONFIG_SHELL and SHELL
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(zero? (system* "sh" "configure"
|
||||
(string-append "--prefix=" (assoc-ref outputs "out")))))))))
|
||||
(synopsis "Optimizer that recompresses PNG image files to a
|
||||
smaller size")
|
||||
;; configure script doesn't accept arguments CONFIG_SHELL and SHELL
|
||||
(invoke "sh" "configure"
|
||||
(string-append "--prefix=" (assoc-ref outputs "out")))
|
||||
#t)))))
|
||||
(synopsis "Optimizer that recompresses PNG image files to a smaller size")
|
||||
(description "OptiPNG is a PNG optimizer that recompresses image
|
||||
files to a smaller size, without losing any information. This program
|
||||
also converts external formats (BMP, GIF, PNM and TIFF) to optimized
|
||||
|
|
|
@ -41,14 +41,14 @@
|
|||
(define-public rdmd
|
||||
(package
|
||||
(name "rdmd")
|
||||
(version "2.073.0")
|
||||
(version "2.077.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/dlang/tools/archive/v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01if3ivnb7g2myfhymp4d9346s4vmvcl82i1kxfs5iza45almh7v"))))
|
||||
"0c8w373rv6iz3xfid94w40ncv2lr2ncxi662qsr4lda4aghczmq7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -58,7 +58,7 @@
|
|||
(replace
|
||||
'build
|
||||
(lambda _
|
||||
(zero? (system* "ldc2" "rdmd.d"))))
|
||||
(invoke "ldc2" "rdmd.d")))
|
||||
(replace
|
||||
'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
|
@ -77,7 +77,6 @@ and freshness without requiring additional information from the user.")
|
|||
(license license:boost1.0)))
|
||||
|
||||
(define-public ldc-bootstrap
|
||||
(let ((runtime-version "0.17.3"))
|
||||
(package
|
||||
(name "ldc")
|
||||
(version "0.17.4")
|
||||
|
@ -92,6 +91,10 @@ and freshness without requiring additional information from the user.")
|
|||
"1kw0j378k6bh0k66dvx99bjq8ilp8bb24w3jrmibn8rhmqv0d5q8"))))
|
||||
(build-system cmake-build-system)
|
||||
(supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
|
||||
(properties
|
||||
;; Some of the tests take a very long time on ARMv7. See
|
||||
;; <https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00312.html>.
|
||||
`((max-silent-time . ,(* 3600 3))))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
@ -120,12 +123,15 @@ and freshness without requiring additional information from the user.")
|
|||
(("echo") (which "echo")))
|
||||
(substitute* "runtime/phobos/std/datetime.d"
|
||||
(("/usr/share/zoneinfo/")
|
||||
(string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")))
|
||||
(string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
|
||||
(("tzName == \"[+]VERSION\"")
|
||||
"(tzName == \"+VERSION\" || std.algorithm.endsWith(tzName, \"/leapseconds\"))"))
|
||||
(substitute* "tests/d2/dmd-testsuite/Makefile"
|
||||
(("/bin/bash") (which "bash")))
|
||||
;; FIXME: this test cannot be linked.
|
||||
(delete-file "tests/d2/dmd-testsuite/runnable/cppa.d")
|
||||
#t)))))
|
||||
;; the following two tests fail on i686
|
||||
(for-each delete-file '("tests/ir/attributes.d" "tests/ir/align.d")))))))
|
||||
(inputs
|
||||
`(("libconfig" ,libconfig)
|
||||
("libedit" ,libedit)
|
||||
|
@ -142,59 +148,51 @@ and freshness without requiring additional information from the user.")
|
|||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/ldc-developers/phobos/archive/ldc-v"
|
||||
runtime-version ".tar.gz"))
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qywnvnp019mmmr74aw90ir9f03iz0hc7cgzna609agsar0b27jl"))
|
||||
(patches (search-patches "ldc-disable-tests.patch"))))
|
||||
"16x36kp46mqiihxx7jvr1d3mv3b96yfmhinb9lzinh2m4clr85wz"))
|
||||
(patches (search-patches "ldc-bootstrap-disable-tests.patch"))))
|
||||
("druntime-src"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/ldc-developers/druntime/archive/ldc-v"
|
||||
runtime-version ".tar.gz"))
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0z418n6x2fxac07sxpi4rl69069qiym4w6r9sjppn91q58qh8hjs"))))
|
||||
"0iw2xxhcbsc5f1707dgdzhff528363l4faqdk513gaxs2dhfx8vx"))))
|
||||
("dmd-testsuite-src"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v"
|
||||
runtime-version ".tar.gz"))
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"196mkfax5y3yqm3gz7jhqhnkjwrvr2m4a8nc9k41l0511ldzsk9x"))))))
|
||||
|
||||
(properties
|
||||
;; Some of the tests take a very long time on ARMv7. See
|
||||
;; <https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00312.html>.
|
||||
`((max-silent-time . ,(* 3600 3))))
|
||||
|
||||
"0z6ch930wjkg2vlnqkbliwxxxifad6ydsdpwdxwnajkb2kaxsjx4"))))))
|
||||
(home-page "http://wiki.dlang.org/LDC")
|
||||
(synopsis "LLVM compiler for the D programming language")
|
||||
(description
|
||||
"LDC is a compiler for the D programming language. It is based on the
|
||||
latest DMD frontend and uses LLVM as backend.")
|
||||
"LDC is a compiler for the D programming language. It is based on
|
||||
the latest DMD compiler that was written in C and is used for
|
||||
bootstrapping more recent compilers written in D.")
|
||||
;; Most of the code is released under BSD-3, except for code originally
|
||||
;; written for GDC, which is released under GPLv2+, and the DMD frontend,
|
||||
;; which is released under the "Boost Software License version 1.0".
|
||||
(license (list license:bsd-3
|
||||
license:gpl2+
|
||||
license:boost1.0)))))
|
||||
license:boost1.0))))
|
||||
|
||||
(define-public ldc
|
||||
;; The phobos, druntime and dmd-testsuite dependencies do not have a newer
|
||||
;; release than 1.1.0-beta4, hence the need to make use of the older-version
|
||||
;; variable to hold this variable.
|
||||
(let ((older-version "1.1.0"))
|
||||
;; Phobos, druntime and dmd-testsuite library dependencies do
|
||||
;; not always have a newer release than the compiler, hence we
|
||||
;; retain this variable.
|
||||
(let ((older-version "1.7.0"))
|
||||
(package
|
||||
(inherit ldc-bootstrap)
|
||||
(name "ldc")
|
||||
(version "1.1.1")
|
||||
;; Beta version needed to compile various scientific tools that require
|
||||
;; the newer beta versions, and won't compile successfully with the
|
||||
;; older stable version.
|
||||
(version "1.7.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -203,7 +201,7 @@ latest DMD frontend and uses LLVM as backend.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yjiwg8pnlm2286bwdkwasaqw6ys7lymrqvhh5xyb1adha1ndcav"))))
|
||||
"0rqchmlbhz1pd8ksl1vfhfd5s3cp9h9pqi4k4w2np9sq0zr7abwn"))))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
@ -217,20 +215,36 @@ latest DMD frontend and uses LLVM as backend.")
|
|||
(and (unpack "phobos-src" "runtime/phobos")
|
||||
(unpack "druntime-src" "runtime/druntime")
|
||||
(unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")))))
|
||||
;; The 'patch-dmd2 step in ldc causes the build to fail since
|
||||
;; dmd2/root/port.c no longer exists. Arguments needed to have
|
||||
;; 'patch-dmd2 step removed, but retain everything else.
|
||||
(add-after 'unpack-submodule-sources 'patch-phobos
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "runtime/phobos/std/process.d"
|
||||
(substitute* '("runtime/phobos/std/process.d"
|
||||
"tests/linking/linker_switches.d")
|
||||
(("/bin/sh") (which "sh"))
|
||||
(("echo") (which "echo")))
|
||||
(substitute* "runtime/phobos/std/datetime.d"
|
||||
(("/usr/share/zoneinfo/")
|
||||
(string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")))
|
||||
(substitute* "tests/d2/dmd-testsuite/Makefile"
|
||||
(("/bin/bash") (which "bash")))
|
||||
#t)))))
|
||||
;; disable unittests in the following files. We are discussing with
|
||||
;; upstream
|
||||
(substitute* '("runtime/phobos/std/net/curl.d"
|
||||
"runtime/phobos/std/datetime/systime.d"
|
||||
"runtime/phobos/std/datetime/timezone.d"
|
||||
)
|
||||
(("version(unittest)") "version(skipunittest)")
|
||||
((" unittest") " version(skipunittest) unittest"))
|
||||
;; the following tests require a more recent LLVM
|
||||
(delete-file "tests/compilable/ctfe_math.d")
|
||||
(delete-file "tests/debuginfo/nested_gdb.d")
|
||||
(delete-file "tests/debuginfo/classtypes_gdb.d")
|
||||
;; the following tests requires AVX instruction set in the CPU.
|
||||
(substitute* "tests/d2/dmd-testsuite/runnable/test_cdvecfill.d"
|
||||
(("^// DISABLED: ") "^// DISABLED: linux64 "))
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; some tests call into gdb binary which needs SHELL and CC set
|
||||
(setenv "SHELL" (which "sh"))
|
||||
(setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))
|
||||
(invoke "make" "test" "-j" (number->string (parallel-job-count))))))))
|
||||
(native-inputs
|
||||
`(("llvm" ,llvm)
|
||||
("clang" ,clang)
|
||||
|
@ -247,7 +261,7 @@ latest DMD frontend and uses LLVM as backend.")
|
|||
older-version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0z5v55b9s1ppf0c2ivjq7sbmq688c37c92ihc3qwrbxnqvkkvrlk"))
|
||||
"042hn3v0zk353r0h6yclq56z86hi437y969bckyb2qsnv00h60hi"))
|
||||
;; This patch deactivates some tests that depend on network access
|
||||
;; to pass. It also deactivates some tests that have some reliance
|
||||
;; on timezone.
|
||||
|
@ -257,7 +271,7 @@ latest DMD frontend and uses LLVM as backend.")
|
|||
;; that is being pursued at
|
||||
;; <https://forum.dlang.org/post/zmdbdgnzrxyvtpqafvyg@forum.dlang.org>.
|
||||
;; It also deactivates a test that requires /root
|
||||
(patches (search-patches "ldc-1.1.0-disable-phobos-tests.patch"))))
|
||||
(patches (search-patches "ldc-1.7.0-disable-phobos-tests.patch"))))
|
||||
("druntime-src"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
|
@ -266,7 +280,7 @@ latest DMD frontend and uses LLVM as backend.")
|
|||
older-version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07qvrqj6vgakd6qr4x5f70w6zwkzd1li5x8i1b5ywnds1z5lnfp6"))))
|
||||
"0pvabk70zw8c1gbmvy2i486bg22bn0l5nbacjz0qwmhf0w9y9ylh"))))
|
||||
("dmd-testsuite-src"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
|
@ -275,18 +289,12 @@ latest DMD frontend and uses LLVM as backend.")
|
|||
older-version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12cak7yqmsgjlflx0dp6fwmwb9dac25amgi86n0bb95ard3547wy"))
|
||||
;; Remove the gdb tests that fails with a "Error: No such file or
|
||||
;; directory" error, despite the files being present in the debug
|
||||
;; files left with the --keep-failed flag to guix build.
|
||||
(patches (search-patches "ldc-1.1.0-disable-dmd-tests.patch")))))))))
|
||||
|
||||
(define-public ldc-beta ldc)
|
||||
"1i8j1raah7b26bprwkdick443ivdsihgi1l14sn9rh4a95rnrpd9")))))))))
|
||||
|
||||
(define-public dub
|
||||
(package
|
||||
(name "dub")
|
||||
(version "1.5.0")
|
||||
(version "1.7.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/dlang/dub/archive/"
|
||||
|
@ -294,7 +302,7 @@ latest DMD frontend and uses LLVM as backend.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1p9pmzjsmd7v3jpilv0z0c8ar1ykvri6nn5fv95f8d2vriczj29m"))))
|
||||
"1jvr1mmq8j77wnsrsg7x2xv8yfljqd6x8gn6yy7dd6h6y3cf408q"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; it would have tested itself by installing some packages (vibe etc)
|
||||
|
@ -303,7 +311,7 @@ latest DMD frontend and uses LLVM as backend.")
|
|||
(delete 'configure) ; no configure script
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(zero? (system* "./build.sh"))))
|
||||
(invoke "./build.sh")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -317,10 +325,12 @@ latest DMD frontend and uses LLVM as backend.")
|
|||
(home-page "https://code.dlang.org/getting_started")
|
||||
(synopsis "Package and build manager for D projects")
|
||||
(description
|
||||
"DUB is a package and build manager for applications and libraries written
|
||||
in the D programming language. It can automatically retrieve a project's
|
||||
dependencies and integrate them in the build process.
|
||||
"DUB is a package and build manager for applications and
|
||||
libraries written in the D programming language. It can
|
||||
automatically retrieve a project's dependencies and integrate
|
||||
them in the build process.
|
||||
|
||||
The design emphasis is on maximum simplicity for simple projects, while
|
||||
providing the opportunity to customize things when needed. ")
|
||||
The design emphasis is on maximum simplicity for simple projects,
|
||||
while providing the opportunity to customize things when
|
||||
needed.")
|
||||
(license license:expat)))
|
||||
|
|
|
@ -0,0 +1,160 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages license)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages perl-check))
|
||||
|
||||
;;;
|
||||
;;; Please: Try to add new module packages in alphabetic order.
|
||||
;;;
|
||||
|
||||
(define-public perl-regexp-pattern-license
|
||||
(package
|
||||
(name "perl-regexp-pattern-license")
|
||||
(version "3.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/J/JO/JONASS/Regexp-Pattern-License-"
|
||||
"v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1479ismcgq1mx712yhw0qswb4z75spc81f9k621vfpkji0smpyk2"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-regexp-pattern" ,perl-regexp-pattern)
|
||||
("perl-test-exception" ,perl-test-exception)))
|
||||
(propagated-inputs
|
||||
`(("perl-strictures" ,perl-strictures-2)))
|
||||
(home-page "http://search.cpan.org/dist/Regexp-Pattern-License/")
|
||||
(synopsis "Regular expressions for legal licenses")
|
||||
(description "Regexp::Pattern::License provides a hash of regular
|
||||
expression patterns related to legal software licenses.
|
||||
|
||||
Regexp::Pattern is a convention for organizing reusable regex patterns.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public perl-string-copyright
|
||||
(package
|
||||
(name "perl-string-copyright")
|
||||
(version "0.003005")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/J/JO/JONASS/String-Copyright-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12c6x4c10gr46ryc3dpwgfi6wggmgy4a1ls2hwhcpdm3wvzy5619"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-number-range" ,perl-number-range)))
|
||||
(propagated-inputs
|
||||
`(("perl-exporter-tiny" ,perl-exporter-tiny)))
|
||||
(home-page "http://search.cpan.org/dist/String-Copyright/")
|
||||
(synopsis "Representation of text-based copyright statements")
|
||||
(description "String::Copyright Parses common styles of copyright
|
||||
statements and serializes in normalized format.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public perl-software-license
|
||||
(package
|
||||
(name "perl-software-license")
|
||||
(version "0.103013")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/L/LE/LEONT/Software-License-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wqgh7vdlc966amlrq0b2szz18lnrl9rfh8wlf7v0hqg74vxjh96"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-try-tiny" ,perl-try-tiny)))
|
||||
(propagated-inputs
|
||||
`(("perl-data-section" ,perl-data-section)
|
||||
("perl-text-template" ,perl-text-template)))
|
||||
(home-page "http://search.cpan.org/dist/Software-License/")
|
||||
(synopsis "Templated software licenses")
|
||||
(description "This package provides templated software licenses.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public licensecheck
|
||||
(package
|
||||
(name "licensecheck")
|
||||
(version "3.0.33")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/J/JO/JONASS/App-Licensecheck-"
|
||||
"v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wydxb2jks1k3bxkcp7p0pazh5v3awbbcf6haplvwzkkayszhgs4"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-regexp-pattern" ,perl-regexp-pattern)
|
||||
("perl-software-license" ,perl-software-license)
|
||||
("perl-test-requires" ,perl-test-requires)
|
||||
("perl-test-roo" ,perl-test-roo)
|
||||
("perl-test-script" ,perl-test-script)
|
||||
("perl-universal-require" ,perl-universal-require)
|
||||
("perl-number-range" ,perl-number-range)
|
||||
("perl-sub-quote" ,perl-sub-quote)))
|
||||
(propagated-inputs
|
||||
`(("perl-getopt-long-descriptive" ,perl-getopt-long-descriptive)
|
||||
("perl-moo" ,perl-moo-2)
|
||||
("perl-namespace-clean" ,perl-namespace-clean)
|
||||
("perl-path-iterator-rule" ,perl-path-iterator-rule)
|
||||
("perl-path-tiny" ,perl-path-tiny)
|
||||
("perl-pod-constants" ,perl-pod-constants)
|
||||
("perl-regexp-pattern-license" ,perl-regexp-pattern-license)
|
||||
("perl-sort-key" ,perl-sort-key)
|
||||
("perl-strictures" ,perl-strictures-2)
|
||||
("perl-string-copyright" ,perl-string-copyright)
|
||||
("perl-string-escape" ,perl-string-escape)
|
||||
("perl-try-tiny" ,perl-try-tiny)
|
||||
("perl-module-runtime" ,perl-module-runtime)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(perllib (string-append out "/lib/perl5/site_perl/"
|
||||
,(package-version perl))))
|
||||
(wrap-program (string-append out "/bin/licensecheck")
|
||||
`("PERL5LIB" ":"
|
||||
prefix (,(string-append perllib ":" (getenv "PERL5LIB")))))
|
||||
#t))))))
|
||||
(home-page "http://search.cpan.org/dist/App-Licensecheck/")
|
||||
(synopsis "License checker for source files")
|
||||
(description "Licensecheck attempts to determine the license that applies
|
||||
to each file passed to it, by searching the start of the file for text
|
||||
belonging to various licenses.")
|
||||
(license (package-license perl))))
|
|
@ -383,8 +383,8 @@ It has been modified to remove all non-free binary blobs.")
|
|||
;; supports qemu "virt" machine and possibly a large number of ARM boards.
|
||||
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
|
||||
|
||||
(define %linux-libre-version "4.15.4")
|
||||
(define %linux-libre-hash "0dg5b2vgp2ph0l63cxyq6bz05hvc90wab05f8y3a8731c9xsxmzq")
|
||||
(define %linux-libre-version "4.15.5")
|
||||
(define %linux-libre-hash "1vrqya5zkhzl37fpj5v0v1igm7jf2gi13apkpak90l51xiw592cs")
|
||||
|
||||
(define-public linux-libre
|
||||
(make-linux-libre %linux-libre-version
|
||||
|
@ -392,8 +392,8 @@ It has been modified to remove all non-free binary blobs.")
|
|||
%linux-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define %linux-libre-4.14-version "4.14.20")
|
||||
(define %linux-libre-4.14-hash "1xc5g2kq3wpn6i61rpypnlb0f82f05b8jac2lg62rv4v46bsvfwv")
|
||||
(define %linux-libre-4.14-version "4.14.21")
|
||||
(define %linux-libre-4.14-hash "07d27mph514jxxkzil4b3c848ywfd4r4js0wl5wsfy7a3j757278")
|
||||
|
||||
(define-public linux-libre-4.14
|
||||
(make-linux-libre %linux-libre-4.14-version
|
||||
|
@ -402,14 +402,14 @@ It has been modified to remove all non-free binary blobs.")
|
|||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.9
|
||||
(make-linux-libre "4.9.82"
|
||||
"1x2hbn2kf7ikgdiqwj2d6d0s1pa1xh4xywliyj3rfsilanny2ipw"
|
||||
(make-linux-libre "4.9.83"
|
||||
"09mw2r2fbn0g6xfhyxk0n54c7sg0vk9nlp7k2ca3v0v24n7lrfza"
|
||||
%intel-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.4
|
||||
(make-linux-libre "4.4.116"
|
||||
"00y5xhgqiyf7ivivnphwvkjgszk8rzn4s8q3sgshswz3kdic55hj"
|
||||
(make-linux-libre "4.4.117"
|
||||
"1mlq9npyriwj0wpj24zah55bkxil31l182ypbn6b3x4yvmr8lhz0"
|
||||
%intel-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
|
@ -1089,7 +1089,7 @@ external rate conversion.")
|
|||
(define-public iptables
|
||||
(package
|
||||
(name "iptables")
|
||||
(version "1.6.1")
|
||||
(version "1.6.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1097,7 +1097,7 @@ external rate conversion.")
|
|||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1x8c9y340x79djsq54bc1674ryv59jfphrk4f88i7qbvbnyxghhg"))))
|
||||
"0crp0lvh5m2f15pr8cw97h8yb8zjj10x95zj06j46cr68vx2vl2m"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
|
@ -1111,14 +1111,17 @@ external rate conversion.")
|
|||
#:configure-flags ; add $libdir to the RUNPATH of executables
|
||||
(list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))))
|
||||
(home-page "https://www.netfilter.org/projects/iptables/index.html")
|
||||
(synopsis "Program to configure the Linux IP packet filtering rules")
|
||||
(synopsis "Programs to configure Linux IP packet filtering rules")
|
||||
(description
|
||||
"iptables is the userspace command line program used to configure the
|
||||
Linux 2.4.x and later IPv4 packet filtering ruleset (firewall). It is targeted at
|
||||
system administrators. Since Network Address Translation is also configured
|
||||
from the packet filter ruleset, iptables is used for this, too. The iptables
|
||||
package also includes ip6tables. ip6tables is used for configuring the IPv6
|
||||
packet filter.")
|
||||
"@command{iptables} is the user-space command line program used to
|
||||
configure the Linux 2.4.x and later IPv4 packet filtering ruleset
|
||||
(@dfn{firewall}), including @dfn{NAT} (Network Address Translation).
|
||||
|
||||
This package also includes @command{ip6tables}, which is used to configure the
|
||||
IPv6 packet filter.
|
||||
|
||||
Both commands are targeted at system administrators.
|
||||
")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public ebtables
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -24,11 +25,33 @@
|
|||
#:use-module (gnu packages ghostscript))
|
||||
|
||||
(define-public lout
|
||||
;; This one is a bit tricky, because it doesn't follow the GNU Build System
|
||||
;; rules. Instead, it has a makefile that has to be patched to set the
|
||||
;; prefix, etc., and it has no makefile rules to build its doc.
|
||||
(let ((configure-phase
|
||||
'(lambda* (#:key outputs #:allow-other-keys)
|
||||
(package
|
||||
(name "lout")
|
||||
(version "3.40")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/lout/lout-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gb8vb1wl7ikn269dd1c7ihqhkyrwk19jwx5kd0rdvbk6g7g25ix"))))
|
||||
(build-system gnu-build-system) ; actually, just a makefile
|
||||
(outputs '("out" "doc"))
|
||||
(native-inputs
|
||||
`(("ghostscript" ,ghostscript)))
|
||||
(arguments
|
||||
`(#:modules ((guix build utils)
|
||||
(guix build gnu-build-system)
|
||||
(srfi srfi-1)) ; we need SRFI-1
|
||||
#:tests? #f ; no "check" target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; This package is a bit tricky, because it doesn't follow the GNU
|
||||
;; Build System rules. Instead, it has a makefile that has to be
|
||||
;; patched to set the prefix, etc., and it has no makefile rules to
|
||||
;; build its documentation.
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(doc (assoc-ref outputs "doc")))
|
||||
(substitute* "makefile"
|
||||
|
@ -44,71 +67,39 @@
|
|||
(mkdir (string-append out "/bin"))
|
||||
(mkdir (string-append out "/lib"))
|
||||
(mkdir (string-append out "/man"))
|
||||
(mkdir-p (string-append doc "/share/doc/lout")))))
|
||||
(install-man-phase
|
||||
'(lambda* (#:key outputs #:allow-other-keys)
|
||||
(zero? (system* "make" "installman"))))
|
||||
(doc-phase
|
||||
'(lambda* (#:key outputs #:allow-other-keys)
|
||||
(define out
|
||||
(assoc-ref outputs "doc"))
|
||||
|
||||
(mkdir-p (string-append doc "/share/doc/lout"))
|
||||
#t)))
|
||||
(add-after 'install 'install-man-pages
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(invoke "make" "installman")
|
||||
#t))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "doc")))
|
||||
(setenv "PATH"
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/bin:" (getenv "PATH")))
|
||||
(chdir "doc")
|
||||
(with-directory-excursion "doc"
|
||||
(every (lambda (doc)
|
||||
(format #t "doc: building `~a'...~%" doc)
|
||||
(with-directory-excursion doc
|
||||
(let ((file (string-append out "/share/doc/lout/"
|
||||
doc ".ps")))
|
||||
(and (or (file-exists? "outfile.ps")
|
||||
(zero? (system* "lout" "-r4" "-o"
|
||||
"outfile.ps" "all")))
|
||||
(begin
|
||||
(unless (file-exists? "outfile.ps")
|
||||
(invoke "lout" "-r4" "-o"
|
||||
"outfile.ps" "all"))
|
||||
(copy-file "outfile.ps" file)
|
||||
#t)
|
||||
(zero? (system* "ps2pdf"
|
||||
(invoke "ps2pdf"
|
||||
"-dPDFSETTINGS=/prepress"
|
||||
"-sPAPERSIZE=a4"
|
||||
file
|
||||
(string-append out "/share/doc/lout/"
|
||||
doc ".pdf")))))))
|
||||
'("design" "expert" "slides" "user")))))
|
||||
(package
|
||||
(name "lout")
|
||||
(version "3.40")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/lout/lout-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gb8vb1wl7ikn269dd1c7ihqhkyrwk19jwx5kd0rdvbk6g7g25ix"))))
|
||||
(build-system gnu-build-system) ; actually, just a makefile
|
||||
(outputs '("out" "doc"))
|
||||
(native-inputs
|
||||
`(("ghostscript" ,ghostscript)))
|
||||
(arguments `(#:modules ((guix build utils)
|
||||
(guix build gnu-build-system)
|
||||
(srfi srfi-1)) ; we need SRFI-1
|
||||
#:tests? #f ; no "check" target
|
||||
|
||||
;; Customize the build phases.
|
||||
#:phases (alist-replace
|
||||
'configure ,configure-phase
|
||||
|
||||
(alist-cons-after
|
||||
'install 'install-man-pages
|
||||
,install-man-phase
|
||||
|
||||
(alist-cons-after
|
||||
'install 'install-doc
|
||||
,doc-phase
|
||||
%standard-phases)))))
|
||||
doc ".pdf")))))
|
||||
'("design" "expert" "slides" "user")))
|
||||
#t))))))
|
||||
(synopsis "Document layout system")
|
||||
(description
|
||||
"The Lout document formatting system reads a high-level description of
|
||||
"The Lout document formatting system reads a high-level description of
|
||||
a document similar in style to LaTeX and produces a PostScript or plain text
|
||||
output file.
|
||||
|
||||
|
@ -124,4 +115,4 @@ TeX macros because Lout is a high-level, purely functional language, the
|
|||
outcome of an eight-year research project that went back to the
|
||||
beginning.")
|
||||
(license gpl3+)
|
||||
(home-page "https://savannah.nongnu.org/projects/lout/"))))
|
||||
(home-page "https://savannah.nongnu.org/projects/lout/")))
|
||||
|
|
|
@ -907,7 +907,7 @@ and search library.")
|
|||
(define-public getmail
|
||||
(package
|
||||
(name "getmail")
|
||||
(version "5.4")
|
||||
(version "5.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -915,7 +915,7 @@ and search library.")
|
|||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1iwss9z94p165gxr2yw7s9q12a0bn71fcdbikzkykr5s7xxnz2ds"))))
|
||||
"0l43lbnrnyyrq8mlnw37saq6v0mh3nkirdq1dwnsrihykzjjwf70"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
|
|
|
@ -3047,7 +3047,7 @@ specifications.")
|
|||
(define-public lpsolve
|
||||
(package
|
||||
(name "lpsolve")
|
||||
(version "5.5.2.0")
|
||||
(version "5.5.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -3055,7 +3055,7 @@ specifications.")
|
|||
"/lp_solve_" version "_source.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"176c7f023mb6b8bfmv4rfqnrlw88lsg422ca74zjh19i2h5s69sq"))
|
||||
"12pj1idjz31r7c2mb5w03vy1cmvycvbkx9z29s40qdmkp1i7q6i0"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(substitute* (list "lp_solve/ccc" "lpsolve55/ccc")
|
||||
|
@ -3076,13 +3076,14 @@ specifications.")
|
|||
`(#:tests? #f ; no check target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'configure) ; no configure script
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(and (with-directory-excursion "lpsolve55"
|
||||
(zero? (system* "bash" "ccc")))
|
||||
(with-directory-excursion "lpsolve55"
|
||||
(invoke "bash" "ccc"))
|
||||
(with-directory-excursion "lp_solve"
|
||||
(zero? (system* "bash" "ccc"))))))
|
||||
(invoke "bash" "ccc"))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -3091,11 +3092,8 @@ specifications.")
|
|||
;; This is where LibreOffice expects to find the header
|
||||
;; files, and where they are installed by Debian.
|
||||
(include (string-append out "/include/lpsolve")))
|
||||
(mkdir-p lib)
|
||||
(copy-file "lpsolve55/bin/ux64/liblpsolve55.a"
|
||||
(string-append lib "/liblpsolve55.a"))
|
||||
(copy-file "lpsolve55/bin/ux64/liblpsolve55.so"
|
||||
(string-append lib "/liblpsolve55.so"))
|
||||
(install-file "lpsolve55/bin/ux64/liblpsolve55.a" lib)
|
||||
(install-file "lpsolve55/bin/ux64/liblpsolve55.so" lib)
|
||||
(install-file "lp_solve/bin/ux64/lp_solve" bin)
|
||||
|
||||
;; Install a subset of the header files as on Debian
|
||||
|
@ -3437,14 +3435,14 @@ supports compressed MAT files, as well as newer (version 7.3) MAT files.")
|
|||
(define-public vc
|
||||
(package
|
||||
(name "vc")
|
||||
(version "1.2.0")
|
||||
(version "1.3.3")
|
||||
(source
|
||||
(origin (method url-fetch)
|
||||
(uri (string-append "https://github.com/VcDevel/Vc/releases/"
|
||||
"download/" version "/Vc-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rh6dhqar3y07n4xqyml0sa0v48qv3ch9dc3yc2in855hlh4vnqi"))))
|
||||
"1zmlpn32jzb38smp3j834llmbix3whsrbw0h397qxysbw792kih8"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
|
||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -56,16 +56,16 @@
|
|||
(define-public libmpdclient
|
||||
(package
|
||||
(name "libmpdclient")
|
||||
(version "2.13")
|
||||
(version "2.14")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "http://musicpd.org/download/libmpdclient/"
|
||||
(string-append "https://musicpd.org/download/libmpdclient/"
|
||||
(car (string-split version #\.))
|
||||
"/libmpdclient-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pflbv2jzik7yxnacci1iqs0awy1i5ipwn67xk0hg9r0pi9bs5ai"))))
|
||||
"0whk0qw0lsd3kaimdznz0c45bfym0p4885zf4b7pfc7y3dwy510a"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
|
@ -88,16 +88,16 @@ interfacing MPD in the C, C++ & Objective C languages.")
|
|||
(define-public mpd
|
||||
(package
|
||||
(name "mpd")
|
||||
(version "0.20.15")
|
||||
(version "0.20.17")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "http://musicpd.org/download/mpd/"
|
||||
(string-append "https://musicpd.org/download/mpd/"
|
||||
(version-major+minor version)
|
||||
"/mpd-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0h7bm561i8p0bjp1hy8fsiy5zj7db24zyv6ypfihwf35wrklz766"))))
|
||||
"1hfssmvp4wmy7zh4bl4zv2zqwiddsy77v69w9fh61pqrwbqfgc1c"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -162,17 +162,17 @@ protocol.")
|
|||
(define-public mpd-mpc
|
||||
(package
|
||||
(name "mpd-mpc")
|
||||
(version "0.28")
|
||||
(version "0.29")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "http://www.musicpd.org/download/mpc/"
|
||||
(string-append "https://www.musicpd.org/download/mpc/"
|
||||
(car (string-split version #\.))
|
||||
"/mpc-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0iy5mdffkk61255f62si7p8mhyhkib70zlr1i1iimj2xr037scx4"))))
|
||||
(build-system gnu-build-system)
|
||||
"1lxr0z5i5yx4lcvy9nyxj6q32qlz473j3zm6va68zd1cj3ndmw82"))))
|
||||
(build-system meson-build-system)
|
||||
(inputs `(("libmpdclient" ,libmpdclient)))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(synopsis "Music Player Daemon client")
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -27,14 +28,14 @@
|
|||
(define-public musl
|
||||
(package
|
||||
(name "musl")
|
||||
(version "1.1.18")
|
||||
(version "1.1.19")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.musl-libc.org/releases/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0651lnj5spckqjf83nz116s8qhhydgqdy3rkl4icbh5f05fyw5yh"))))
|
||||
"1nf1wh44bhm8gdcfr75ayib29b99vpq62zmjymrq7f96h9bshnfv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Musl has no tests
|
||||
|
@ -43,7 +44,7 @@
|
|||
(synopsis "Small C standard library")
|
||||
(description "musl is a simple and lightweight C standard library. It
|
||||
strives to be correct in the sense of standards-conformance and safety.")
|
||||
(home-page "http://www.musl-libc.org")
|
||||
(home-page "https://www.musl-libc.org")
|
||||
;; Musl as a whole is released under the Expat license. Parts of it are
|
||||
;; derived from various third-party projects that are released under
|
||||
;; non-copyleft licenses. See the COPYRIGHT file for details.
|
||||
|
|
|
@ -1584,21 +1584,20 @@ displays the results in real time.")
|
|||
(define-public strongswan
|
||||
(package
|
||||
(name "strongswan")
|
||||
(version "5.6.1")
|
||||
(version "5.6.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.strongswan.org/strongswan-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0lxbyiary8iapx3ysw40czrmxf983fhfzs5mvz2hk1j1mpc85hp0"))))
|
||||
(base32 "14ifqay54brw2b2hbmm517bxw8bs9631d7jm4g139igkxcq0m9p0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'adjust-to-environment
|
||||
(add-before 'build 'patch-command-file-names
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Adjust file names.
|
||||
(substitute* "src/libstrongswan/utils/process.c"
|
||||
(("/bin/sh")
|
||||
(string-append (assoc-ref inputs "bash") "/bin/sh")))
|
||||
|
@ -1607,8 +1606,9 @@ displays the results in real time.")
|
|||
(("/bin/sh") (which "sh"))
|
||||
(("/bin/echo") (which "echo"))
|
||||
(("cat") (which "cat")))
|
||||
|
||||
;; This is needed for tests.
|
||||
#t))
|
||||
(add-before 'check 'set-up-test-environment
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")
|
||||
"/share/zoneinfo"))
|
||||
#t)))
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
(define-public parallel
|
||||
(package
|
||||
(name "parallel")
|
||||
(version "20180122")
|
||||
(version "20180222")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -55,7 +55,7 @@
|
|||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wkbppb4mc56grl6jsp803sf0hm7mg5ff7qmxalp7sd0vxqw41p9"))))
|
||||
"1bwx1rcrqz04d8fajlllhrfkjqxg0mfvsd86wf6p067gmgdrf6g8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
|
||||
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
|
||||
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
|
||||
|
@ -342,7 +342,8 @@ any X11 window.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0scqkpll2q8jhzcgcsh9kqz0gwdpvynivqjmmbzax2irjfaiklpn"))))
|
||||
"0scqkpll2q8jhzcgcsh9kqz0gwdpvynivqjmmbzax2irjfaiklpn"))
|
||||
(patches (search-patches "password-store-gnupg-compat.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
|
|
@ -0,0 +1,99 @@
|
|||
From 2971a187551e062ffefdab965f55377b36cd94eb Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
Date: Wed, 21 Feb 2018 06:00:50 +0100
|
||||
Subject: [PATCH] Fix process tree
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This manually reverts:
|
||||
|
||||
commit 584a9bceab948590dabd189d234a86e6bf4ec3f4
|
||||
Author: wangqr <wangqr@wangqr.tk>
|
||||
Date: Fri Sep 1 21:27:24 2017 +0800
|
||||
|
||||
Find roots when constructing process tree, fix #587
|
||||
|
||||
which breaks the process tree (‘t’) view in at least some cases.
|
||||
I will investigate further...
|
||||
---
|
||||
ProcessList.c | 63 +++++++++++++++++------------------------------------------
|
||||
1 file changed, 18 insertions(+), 45 deletions(-)
|
||||
|
||||
diff --git a/ProcessList.c b/ProcessList.c
|
||||
index 48b2d95..225253d 100644
|
||||
--- a/ProcessList.c
|
||||
+++ b/ProcessList.c
|
||||
@@ -213,51 +213,24 @@ void ProcessList_sort(ProcessList* this) {
|
||||
// Restore settings
|
||||
this->settings->sortKey = sortKey;
|
||||
this->settings->direction = direction;
|
||||
- int vsize = Vector_size(this->processes);
|
||||
- // Find all processes whose parent is not visible
|
||||
- int size;
|
||||
- while ((size = Vector_size(this->processes))) {
|
||||
- int i;
|
||||
- for (i = 0; i < size; i++) {
|
||||
- Process* process = (Process*)(Vector_get(this->processes, i));
|
||||
- // Immediately consume not shown processes
|
||||
- if (!process->show) {
|
||||
- process = (Process*)(Vector_take(this->processes, i));
|
||||
- process->indent = 0;
|
||||
- Vector_add(this->processes2, process);
|
||||
- ProcessList_buildTree(this, process->pid, 0, 0, direction, false);
|
||||
- break;
|
||||
- }
|
||||
- pid_t ppid = process->tgid == process->pid ? process->ppid : process->tgid;
|
||||
- // Bisect the process vector to find parent
|
||||
- int l = 0, r = size;
|
||||
- // If PID corresponds with PPID (e.g. "kernel_task" (PID:0, PPID:0)
|
||||
- // on Mac OS X 10.11.6) cancel bisecting and regard this process as
|
||||
- // root.
|
||||
- if (process->pid == ppid)
|
||||
- r = 0;
|
||||
- while (l < r) {
|
||||
- int c = (l + r) / 2;
|
||||
- pid_t pid = ((Process*)(Vector_get(this->processes, c)))->pid;
|
||||
- if (ppid == pid) {
|
||||
- break;
|
||||
- } else if (ppid < pid) {
|
||||
- r = c;
|
||||
- } else {
|
||||
- l = c + 1;
|
||||
- }
|
||||
- }
|
||||
- // If parent not found, then construct the tree with this root
|
||||
- if (l >= r) {
|
||||
- process = (Process*)(Vector_take(this->processes, i));
|
||||
- process->indent = 0;
|
||||
- Vector_add(this->processes2, process);
|
||||
- ProcessList_buildTree(this, process->pid, 0, 0, direction, process->showChildren);
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
- // There should be no loop in the process tree
|
||||
- assert(i < size);
|
||||
+
|
||||
+ // Take PID 1 as root and add to the new listing
|
||||
+ int vsize = Vector_size(this->processes);
|
||||
+ Process* init = (Process*) (Vector_take(this->processes, 0));
|
||||
+ if (!init) return;
|
||||
+ // This assertion crashes on hardened kernels.
|
||||
+ // I wonder how well tree view works on those systems.
|
||||
+ // assert(init->pid == 1);
|
||||
+ init->indent = 0;
|
||||
+ Vector_add(this->processes2, init);
|
||||
+ // Recursively empty list
|
||||
+ ProcessList_buildTree(this, init->pid, 0, 0, direction, true);
|
||||
+ // Add leftovers
|
||||
+ while (Vector_size(this->processes)) {
|
||||
+ Process* p = (Process*) (Vector_take(this->processes, 0));
|
||||
+ p->indent = 0;
|
||||
+ Vector_add(this->processes2, p);
|
||||
+ ProcessList_buildTree(this, p->pid, 0, 0, direction, p->showChildren);
|
||||
}
|
||||
assert(Vector_size(this->processes2) == vsize); (void)vsize;
|
||||
assert(Vector_size(this->processes) == 0);
|
||||
--
|
||||
2.16.2
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
This patch deactivates some tests that fail when ldc is built with the command:
|
||||
|
||||
./pre-inst-env guix environment guix --pure -- ./pre-inst-env guix build ldc@1.1.0-beta6
|
||||
|
||||
When the --keep-failed flag is added to the build command above, and the tests
|
||||
run in the resulting /tmp/guix-build-ldc-1.1.0-beta6.drv-* directory, the tests
|
||||
pass.
|
||||
|
||||
by Frederick M. Muriithi <fredmanglis@gmail.com>
|
||||
|
||||
diff --git a/d_do_test.d b/d_do_test.d
|
||||
index aa67169..8173759 100755
|
||||
--- a/d_do_test.d
|
||||
+++ b/d_do_test.d
|
||||
@@ -645,8 +645,6 @@ int main(string[] args)
|
||||
auto gdb_output = execute(fThisRun, command, true, result_path);
|
||||
if (testArgs.gdbMatch !is null)
|
||||
{
|
||||
- enforce(match(gdb_output, regex(testArgs.gdbMatch)),
|
||||
- "\nGDB regex: '"~testArgs.gdbMatch~"' didn't match output:\n----\n"~gdb_output~"\n----\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
diff --git a/runnable/gdb15729.sh b/runnable/gdb15729.sh
|
||||
index 1d390e0..906b2b6 100755
|
||||
--- a/runnable/gdb15729.sh
|
||||
+++ b/runnable/gdb15729.sh
|
||||
@@ -21,7 +21,6 @@ if [ $OS == "linux" ]; then
|
||||
echo RESULT=
|
||||
p s.val
|
||||
EOF
|
||||
- gdb ${dir}${SEP}gdb15729 --batch -x ${dir}${SEP}gdb15729.gdb | grep 'RESULT=.*1234' || exit 1
|
||||
fi
|
||||
|
||||
rm -f ${libname} ${dir}${SEP}{gdb15729${OBJ},gdb15729${EXE},gdb15729.gdb}
|
|
@ -1,414 +0,0 @@
|
|||
This patch deactivates failing tests that depend on network connectivity
|
||||
to pass in curl.d and socket.d
|
||||
It deactivates tests in path.d that assume /root
|
||||
|
||||
A thread was started on the ldc forum to pursue the possibility of a
|
||||
version flag to deactivate tests conditionally. The thread is at
|
||||
https://forum.dlang.org/post/zmdbdgnzrxyvtpqafvyg@forum.dlang.org
|
||||
|
||||
by Frederick M. Muriithi <fredmanglis@gmail.com>
|
||||
|
||||
diff --git a/std/datetime.d b/std/datetime.d
|
||||
index 4d4afb1..2c91a44 100644
|
||||
--- a/std/datetime.d
|
||||
+++ b/std/datetime.d
|
||||
@@ -27306,8 +27306,8 @@ public:
|
||||
// leaving it commented out until I can sort it out.
|
||||
//assert(equal(tzNames, tzNames.uniq()));
|
||||
|
||||
- foreach(tzName; tzNames)
|
||||
- assertNotThrown!DateTimeException(testPZSuccess(tzName));
|
||||
+ //foreach(tzName; tzNames)
|
||||
+ //assertNotThrown!DateTimeException(testPZSuccess(tzName));
|
||||
}
|
||||
|
||||
|
||||
@@ -29178,8 +29178,8 @@ public:
|
||||
|
||||
auto tzNames = getInstalledTZNames();
|
||||
|
||||
- foreach(tzName; tzNames)
|
||||
- assertNotThrown!DateTimeException(testPTZSuccess(tzName));
|
||||
+ //foreach(tzName; tzNames)
|
||||
+ //assertNotThrown!DateTimeException(testPTZSuccess(tzName));
|
||||
|
||||
// No timezone directories on Android, just a single tzdata file
|
||||
version(Android) {} else
|
||||
diff --git a/std/net/curl.d b/std/net/curl.d
|
||||
index 9c6af66..5fccb38 100644
|
||||
--- a/std/net/curl.d
|
||||
+++ b/std/net/curl.d
|
||||
@@ -419,7 +419,7 @@ void download(Conn = AutoProtocol)(const(char)[] url, string saveToPath, Conn co
|
||||
|
||||
unittest
|
||||
{
|
||||
- static import std.file;
|
||||
+ /*static import std.file;
|
||||
foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
{
|
||||
testServer.handle((s) {
|
||||
@@ -430,7 +430,7 @@ unittest
|
||||
scope (exit) std.file.remove(fn);
|
||||
download(host, fn);
|
||||
assert(std.file.readText(fn) == "Hello world");
|
||||
- }
|
||||
+ }*/
|
||||
}
|
||||
|
||||
/** Upload file from local files system using the HTTP or FTP protocol.
|
||||
@@ -483,7 +483,7 @@ void upload(Conn = AutoProtocol)(string loadFromPath, const(char)[] url, Conn co
|
||||
|
||||
unittest
|
||||
{
|
||||
- static import std.file;
|
||||
+ /*static import std.file;
|
||||
foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
{
|
||||
auto fn = std.file.deleteme;
|
||||
@@ -496,7 +496,7 @@ unittest
|
||||
s.send(httpOK());
|
||||
});
|
||||
upload(fn, host ~ "/path");
|
||||
- }
|
||||
+ }*/
|
||||
}
|
||||
|
||||
/** HTTP/FTP get content.
|
||||
@@ -551,7 +551,7 @@ T[] get(Conn = AutoProtocol, T = char)(const(char)[] url, Conn conn = Conn())
|
||||
|
||||
unittest
|
||||
{
|
||||
- foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
+ /*foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
{
|
||||
testServer.handle((s) {
|
||||
assert(s.recvReq.hdrs.canFind("GET /path"));
|
||||
@@ -559,7 +559,7 @@ unittest
|
||||
});
|
||||
auto res = get(host ~ "/path");
|
||||
assert(res == "GETRESPONSE");
|
||||
- }
|
||||
+ }*/
|
||||
}
|
||||
|
||||
|
||||
@@ -598,7 +598,7 @@ if (is(T == char) || is(T == ubyte))
|
||||
|
||||
unittest
|
||||
{
|
||||
- foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
+ /*foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
{
|
||||
testServer.handle((s) {
|
||||
auto req = s.recvReq;
|
||||
@@ -608,12 +608,12 @@ unittest
|
||||
});
|
||||
auto res = post(host ~ "/path", "POSTBODY");
|
||||
assert(res == "POSTRESPONSE");
|
||||
- }
|
||||
+ }*/
|
||||
}
|
||||
|
||||
unittest
|
||||
{
|
||||
- auto data = new ubyte[](256);
|
||||
+ /*auto data = new ubyte[](256);
|
||||
foreach (i, ref ub; data)
|
||||
ub = cast(ubyte)i;
|
||||
|
||||
@@ -624,7 +624,7 @@ unittest
|
||||
s.send(httpOK(cast(ubyte[])[17, 27, 35, 41]));
|
||||
});
|
||||
auto res = post!ubyte(testServer.addr, data);
|
||||
- assert(res == cast(ubyte[])[17, 27, 35, 41]);
|
||||
+ assert(res == cast(ubyte[])[17, 27, 35, 41]);*/
|
||||
}
|
||||
|
||||
|
||||
@@ -680,7 +680,7 @@ T[] put(Conn = AutoProtocol, T = char, PutUnit)(const(char)[] url, const(PutUnit
|
||||
|
||||
unittest
|
||||
{
|
||||
- foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
+ /*foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
{
|
||||
testServer.handle((s) {
|
||||
auto req = s.recvReq;
|
||||
@@ -690,7 +690,7 @@ unittest
|
||||
});
|
||||
auto res = put(host ~ "/path", "PUTBODY");
|
||||
assert(res == "PUTRESPONSE");
|
||||
- }
|
||||
+ }*/
|
||||
}
|
||||
|
||||
|
||||
@@ -742,7 +742,7 @@ void del(Conn = AutoProtocol)(const(char)[] url, Conn conn = Conn())
|
||||
|
||||
unittest
|
||||
{
|
||||
- foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
+ /*foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
{
|
||||
testServer.handle((s) {
|
||||
auto req = s.recvReq;
|
||||
@@ -750,7 +750,7 @@ unittest
|
||||
s.send(httpOK());
|
||||
});
|
||||
del(host ~ "/path");
|
||||
- }
|
||||
+ }*/
|
||||
}
|
||||
|
||||
|
||||
@@ -796,13 +796,13 @@ T[] options(T = char, OptionsUnit)(const(char)[] url,
|
||||
|
||||
unittest
|
||||
{
|
||||
- testServer.handle((s) {
|
||||
+ /*testServer.handle((s) {
|
||||
auto req = s.recvReq;
|
||||
assert(req.hdrs.canFind("OPTIONS /path"));
|
||||
s.send(httpOK("OPTIONSRESPONSE"));
|
||||
});
|
||||
auto res = options(testServer.addr ~ "/path");
|
||||
- assert(res == "OPTIONSRESPONSE");
|
||||
+ assert(res == "OPTIONSRESPONSE");*/
|
||||
}
|
||||
|
||||
|
||||
@@ -836,13 +836,13 @@ T[] trace(T = char)(const(char)[] url, HTTP conn = HTTP())
|
||||
|
||||
unittest
|
||||
{
|
||||
- testServer.handle((s) {
|
||||
+ /*testServer.handle((s) {
|
||||
auto req = s.recvReq;
|
||||
assert(req.hdrs.canFind("TRACE /path"));
|
||||
s.send(httpOK("TRACERESPONSE"));
|
||||
});
|
||||
auto res = trace(testServer.addr ~ "/path");
|
||||
- assert(res == "TRACERESPONSE");
|
||||
+ assert(res == "TRACERESPONSE");*/
|
||||
}
|
||||
|
||||
|
||||
@@ -875,13 +875,13 @@ T[] connect(T = char)(const(char)[] url, HTTP conn = HTTP())
|
||||
|
||||
unittest
|
||||
{
|
||||
- testServer.handle((s) {
|
||||
+ /*testServer.handle((s) {
|
||||
auto req = s.recvReq;
|
||||
assert(req.hdrs.canFind("CONNECT /path"));
|
||||
s.send(httpOK("CONNECTRESPONSE"));
|
||||
});
|
||||
auto res = connect(testServer.addr ~ "/path");
|
||||
- assert(res == "CONNECTRESPONSE");
|
||||
+ assert(res == "CONNECTRESPONSE");*/
|
||||
}
|
||||
|
||||
|
||||
@@ -919,14 +919,14 @@ T[] patch(T = char, PatchUnit)(const(char)[] url, const(PatchUnit)[] patchData,
|
||||
|
||||
unittest
|
||||
{
|
||||
- testServer.handle((s) {
|
||||
+ /*testServer.handle((s) {
|
||||
auto req = s.recvReq;
|
||||
assert(req.hdrs.canFind("PATCH /path"));
|
||||
assert(req.bdy.canFind("PATCHBODY"));
|
||||
s.send(httpOK("PATCHRESPONSE"));
|
||||
});
|
||||
auto res = patch(testServer.addr ~ "/path", "PATCHBODY");
|
||||
- assert(res == "PATCHRESPONSE");
|
||||
+ assert(res == "PATCHRESPONSE");*/
|
||||
}
|
||||
|
||||
|
||||
@@ -1031,19 +1031,19 @@ private auto _basicHTTP(T)(const(char)[] url, const(void)[] sendData, HTTP clien
|
||||
|
||||
unittest
|
||||
{
|
||||
- testServer.handle((s) {
|
||||
+ /*testServer.handle((s) {
|
||||
auto req = s.recvReq;
|
||||
assert(req.hdrs.canFind("GET /path"));
|
||||
s.send(httpNotFound());
|
||||
});
|
||||
auto e = collectException!CurlException(get(testServer.addr ~ "/path"));
|
||||
- assert(e.msg == "HTTP request returned status code 404 (Not Found)");
|
||||
+ assert(e.msg == "HTTP request returned status code 404 (Not Found)");*/
|
||||
}
|
||||
|
||||
// Bugzilla 14760 - content length must be reset after post
|
||||
unittest
|
||||
{
|
||||
- testServer.handle((s) {
|
||||
+ /*testServer.handle((s) {
|
||||
auto req = s.recvReq;
|
||||
assert(req.hdrs.canFind("POST /"));
|
||||
assert(req.bdy.canFind("POSTBODY"));
|
||||
@@ -1061,7 +1061,7 @@ unittest
|
||||
auto res = post(testServer.addr, "POSTBODY", http);
|
||||
assert(res == "POSTRESPONSE");
|
||||
res = trace(testServer.addr, http);
|
||||
- assert(res == "TRACERESPONSE");
|
||||
+ assert(res == "TRACERESPONSE");*/
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1265,14 +1265,14 @@ if (isCurlConn!Conn && isSomeChar!Char && isSomeChar!Terminator)
|
||||
|
||||
unittest
|
||||
{
|
||||
- foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
+ /*foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
{
|
||||
testServer.handle((s) {
|
||||
auto req = s.recvReq;
|
||||
s.send(httpOK("Line1\nLine2\nLine3"));
|
||||
});
|
||||
assert(byLine(host).equal(["Line1", "Line2", "Line3"]));
|
||||
- }
|
||||
+ }*/
|
||||
}
|
||||
|
||||
/** HTTP/FTP fetch content as a range of chunks.
|
||||
@@ -1337,14 +1337,14 @@ auto byChunk(Conn = AutoProtocol)
|
||||
|
||||
unittest
|
||||
{
|
||||
- foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
+ /*foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
{
|
||||
testServer.handle((s) {
|
||||
auto req = s.recvReq;
|
||||
s.send(httpOK(cast(ubyte[])[0, 1, 2, 3, 4, 5]));
|
||||
});
|
||||
assert(byChunk(host, 2).equal([[0, 1], [2, 3], [4, 5]]));
|
||||
- }
|
||||
+ }*/
|
||||
}
|
||||
|
||||
private T[] _getForRange(T,Conn)(const(char)[] url, Conn conn)
|
||||
@@ -1629,14 +1629,14 @@ auto byLineAsync(Conn = AutoProtocol, Terminator = char, Char = char)
|
||||
|
||||
unittest
|
||||
{
|
||||
- foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
+ /*foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
{
|
||||
testServer.handle((s) {
|
||||
auto req = s.recvReq;
|
||||
s.send(httpOK("Line1\nLine2\nLine3"));
|
||||
});
|
||||
assert(byLineAsync(host).equal(["Line1", "Line2", "Line3"]));
|
||||
- }
|
||||
+ }*/
|
||||
}
|
||||
|
||||
|
||||
@@ -1778,14 +1778,14 @@ auto byChunkAsync(Conn = AutoProtocol)
|
||||
|
||||
unittest
|
||||
{
|
||||
- foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
+ /*foreach (host; [testServer.addr, "http://"~testServer.addr])
|
||||
{
|
||||
testServer.handle((s) {
|
||||
auto req = s.recvReq;
|
||||
s.send(httpOK(cast(ubyte[])[0, 1, 2, 3, 4, 5]));
|
||||
});
|
||||
assert(byChunkAsync(host, 2).equal([[0, 1], [2, 3], [4, 5]]));
|
||||
- }
|
||||
+ }*/
|
||||
}
|
||||
|
||||
|
||||
@@ -2041,7 +2041,7 @@ private mixin template Protocol()
|
||||
|
||||
unittest
|
||||
{
|
||||
- testServer.handle((s) {
|
||||
+ /*testServer.handle((s) {
|
||||
auto req = s.recvReq;
|
||||
assert(req.hdrs.canFind("GET /"));
|
||||
assert(req.hdrs.canFind("Basic dXNlcjpwYXNz"));
|
||||
@@ -2051,7 +2051,7 @@ private mixin template Protocol()
|
||||
auto http = HTTP(testServer.addr);
|
||||
http.onReceive = (ubyte[] data) { return data.length; };
|
||||
http.setAuthentication("user", "pass");
|
||||
- http.perform();
|
||||
+ http.perform();*/
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2959,7 +2959,7 @@ struct HTTP
|
||||
|
||||
unittest
|
||||
{
|
||||
- testServer.handle((s) {
|
||||
+ /*testServer.handle((s) {
|
||||
auto req = s.recvReq!ubyte;
|
||||
assert(req.hdrs.canFind("POST /path"));
|
||||
assert(req.bdy.canFind(cast(ubyte[])[0, 1, 2, 3, 4]));
|
||||
@@ -2975,7 +2975,7 @@ struct HTTP
|
||||
ubyte[] res;
|
||||
http.onReceive = (data) { res ~= data; return data.length; };
|
||||
http.perform();
|
||||
- assert(res == cast(ubyte[])[17, 27, 35, 41]);
|
||||
+ assert(res == cast(ubyte[])[17, 27, 35, 41]);*/
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/std/path.d b/std/path.d
|
||||
index 60c844f..0598104 100644
|
||||
--- a/std/path.d
|
||||
+++ b/std/path.d
|
||||
@@ -3953,8 +3953,10 @@ unittest
|
||||
}
|
||||
else
|
||||
{
|
||||
+/*
|
||||
assert(expandTilde("~root") == "/root", expandTilde("~root"));
|
||||
assert(expandTilde("~root/") == "/root/", expandTilde("~root/"));
|
||||
+*/
|
||||
}
|
||||
assert(expandTilde("~Idontexist/hey") == "~Idontexist/hey");
|
||||
}
|
||||
diff --git a/std/socket.d b/std/socket.d
|
||||
index 7f5a3c3..e68b881 100644
|
||||
--- a/std/socket.d
|
||||
+++ b/std/socket.d
|
||||
@@ -481,15 +481,15 @@ unittest
|
||||
{
|
||||
softUnittest({
|
||||
Protocol proto = new Protocol;
|
||||
- assert(proto.getProtocolByType(ProtocolType.TCP));
|
||||
+ //assert(proto.getProtocolByType(ProtocolType.TCP));
|
||||
//writeln("About protocol TCP:");
|
||||
//writefln("\tName: %s", proto.name);
|
||||
// foreach(string s; proto.aliases)
|
||||
// {
|
||||
// writefln("\tAlias: %s", s);
|
||||
// }
|
||||
- assert(proto.name == "tcp");
|
||||
- assert(proto.aliases.length == 1 && proto.aliases[0] == "TCP");
|
||||
+ //assert(proto.name == "tcp");
|
||||
+ //assert(proto.aliases.length == 1 && proto.aliases[0] == "TCP");
|
||||
});
|
||||
}
|
||||
|
||||
@@ -832,9 +832,9 @@ unittest
|
||||
InternetHost ih = new InternetHost;
|
||||
|
||||
ih.getHostByAddr(0x7F_00_00_01);
|
||||
- assert(ih.addrList[0] == 0x7F_00_00_01);
|
||||
+ //assert(ih.addrList[0] == 0x7F_00_00_01);
|
||||
ih.getHostByAddr("127.0.0.1");
|
||||
- assert(ih.addrList[0] == 0x7F_00_00_01);
|
||||
+ //assert(ih.addrList[0] == 0x7F_00_00_01);
|
||||
|
||||
softUnittest({
|
||||
if (!ih.getHostByName("www.digitalmars.com"))
|
|
@ -0,0 +1,88 @@
|
|||
diff --git a/std/path.d b/std/path.d
|
||||
index a9f0bd8..f47d103 100644
|
||||
--- a/std/path.d
|
||||
+++ b/std/path.d
|
||||
@@ -4041,7 +4041,7 @@ version(unittest) import std.process : environment;
|
||||
else version (Android)
|
||||
{
|
||||
}
|
||||
- else
|
||||
+ else version (HasRoot)
|
||||
{
|
||||
assert(expandTilde("~root") == "/root", expandTilde("~root"));
|
||||
assert(expandTilde("~root/") == "/root/", expandTilde("~root/"));
|
||||
|
||||
diff --git a/std/process.d b/std/process.d
|
||||
index df83296..d921cdb 100644
|
||||
--- a/std/process.d
|
||||
+++ b/std/process.d
|
||||
@@ -1171,7 +1171,7 @@ version (Posix) @system unittest
|
||||
assert(exists(buildPath(directory, "bar")));
|
||||
}
|
||||
|
||||
-@system unittest // Specifying a bad working directory.
|
||||
+@system version(skipunittest) unittest // Specifying a bad working directory.
|
||||
{
|
||||
import std.exception : assertThrown;
|
||||
TestScript prog = "/bin/echo";
|
||||
diff --git a/std/socket.d b/std/socket.d
|
||||
index 8a261d5..c1b87b6 100644
|
||||
--- a/std/socket.d
|
||||
+++ b/std/socket.d
|
||||
@@ -484,7 +484,7 @@ class Protocol
|
||||
// Skip this test on Android because getprotobyname/number are
|
||||
// unimplemented in bionic.
|
||||
version(CRuntime_Bionic) {} else
|
||||
-@safe unittest
|
||||
+@safe version(hasNetwork) unittest
|
||||
{
|
||||
softUnittest({
|
||||
Protocol proto = new Protocol;
|
||||
@@ -804,7 +804,7 @@ class InternetHost
|
||||
}
|
||||
|
||||
///
|
||||
-@safe unittest
|
||||
+@safe version(hasNetwork) unittest
|
||||
{
|
||||
InternetHost ih = new InternetHost;
|
||||
|
||||
@@ -959,7 +959,7 @@ AddressInfo[] getAddressInfo(T...)(in char[] node, T options)
|
||||
return () @trusted { return getAddressInfoImpl(node, service, &hints); }();
|
||||
}
|
||||
|
||||
-@system unittest
|
||||
+@system version(hasNetwork) unittest
|
||||
{
|
||||
struct Oops
|
||||
{
|
||||
@@ -1010,7 +1010,7 @@ private AddressInfo[] getAddressInfoImpl(in char[] node, in char[] service, addr
|
||||
}
|
||||
|
||||
|
||||
-@safe unittest
|
||||
+@safe version(hasNetwork) unittest
|
||||
{
|
||||
softUnittest({
|
||||
if (getaddrinfoPointer)
|
||||
diff --git a/std/stdio.d b/std/stdio.d
|
||||
index 10106a5..4b0590e 100644
|
||||
--- a/std/stdio.d
|
||||
+++ b/std/stdio.d
|
||||
@@ -1426,8 +1426,7 @@ Removes the lock over the specified file segment.
|
||||
g.unlock();
|
||||
}
|
||||
|
||||
- version(Posix)
|
||||
- @system unittest
|
||||
+ @system version(skip) unittest
|
||||
{
|
||||
static import std.file;
|
||||
auto deleteme = testFilename();
|
||||
@@ -1483,7 +1482,6 @@ Removes the lock over the specified file segment.
|
||||
f.unlock();
|
||||
}
|
||||
|
||||
-
|
||||
/**
|
||||
Writes its arguments in text format to the file.
|
|
@ -70,5 +70,3 @@ index b85d1c9..7fbf346 100644
|
|||
});
|
||||
+ */
|
||||
}
|
||||
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
Fix CVE-2017-1000229:
|
||||
|
||||
https://security-tracker.debian.org/tracker/CVE-2017-1000229
|
||||
https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-1000229.html
|
||||
https://nvd.nist.gov/vuln/detail/CVE-2017-1000229
|
||||
|
||||
Patch copied from upstream bug tracker:
|
||||
https://sourceforge.net/p/optipng/bugs/65/
|
||||
|
||||
diff --git a/src/minitiff/tiffread.c b/src/minitiff/tiffread.c
|
||||
index b4910ec..5f9b376 100644
|
||||
--- a/src/minitiff/tiffread.c
|
||||
+++ b/src/minitiff/tiffread.c
|
||||
@@ -350,6 +350,8 @@ minitiff_read_info(struct minitiff_info *tiff_ptr, FILE *fp)
|
||||
count = tiff_ptr->strip_offsets_count;
|
||||
if (count == 0 || count > tiff_ptr->height)
|
||||
goto err_invalid;
|
||||
+ if (count > (size_t)-1 / sizeof(long))
|
||||
+ goto err_memory;
|
||||
tiff_ptr->strip_offsets = (long *)malloc(count * sizeof(long));
|
||||
if (tiff_ptr->strip_offsets == NULL)
|
||||
goto err_memory;
|
|
@ -0,0 +1,28 @@
|
|||
Copied from upstream mailing list:
|
||||
https://lists.zx2c4.com/pipermail/password-store/2018-February/003216.html.
|
||||
|
||||
From 9b0c86159d754cc88dd3642564eed527153dfb7f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= <clement@lassieur.org>
|
||||
Date: Sat, 24 Feb 2018 12:05:46 +0100
|
||||
Subject: [PATCH] tests: fix compatibility with GnuPG 2.2.5
|
||||
|
||||
---
|
||||
tests/t0300-reencryption.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/t0300-reencryption.sh b/tests/t0300-reencryption.sh
|
||||
index 6d5811d..6d15364 100755
|
||||
--- a/tests/t0300-reencryption.sh
|
||||
+++ b/tests/t0300-reencryption.sh
|
||||
@@ -10,7 +10,7 @@ canonicalize_gpg_keys() {
|
||||
$GPG --list-keys --with-colons "$@" | sed -n 's/sub:[^:]*:[^:]*:[^:]*:\([^:]*\):[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[a-zA-Z]*e[a-zA-Z]*:.*/\1/p' | LC_ALL=C sort -u
|
||||
}
|
||||
gpg_keys_from_encrypted_file() {
|
||||
- $GPG -v --no-secmem-warning --no-permission-warning --decrypt --list-only --keyid-format long "$1" 2>&1 | cut -d ' ' -f 5 | LC_ALL=C sort -u
|
||||
+ $GPG -v --no-secmem-warning --no-permission-warning --decrypt --list-only --keyid-format long "$1" 2>&1 | grep "public key is" | cut -d ' ' -f 5 | LC_ALL=C sort -u
|
||||
}
|
||||
gpg_keys_from_group() {
|
||||
local output="$($GPG --list-config --with-colons | sed -n "s/^cfg:group:$1:\\(.*\\)/\\1/p" | head -n 1)"
|
||||
--
|
||||
2.16.2
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
Fix CVE-2017-15038:
|
||||
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15038
|
||||
|
||||
Patch copied from upstream source repository:
|
||||
|
||||
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=7bd92756303f2158a68d5166264dc30139b813b6
|
||||
|
||||
From 7bd92756303f2158a68d5166264dc30139b813b6 Mon Sep 17 00:00:00 2001
|
||||
From: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Date: Mon, 16 Oct 2017 14:21:59 +0200
|
||||
Subject: [PATCH] 9pfs: use g_malloc0 to allocate space for xattr
|
||||
|
||||
9p back-end first queries the size of an extended attribute,
|
||||
allocates space for it via g_malloc() and then retrieves its
|
||||
value into allocated buffer. Race between querying attribute
|
||||
size and retrieving its could lead to memory bytes disclosure.
|
||||
Use g_malloc0() to avoid it.
|
||||
|
||||
Reported-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
|
||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Signed-off-by: Greg Kurz <groug@kaod.org>
|
||||
---
|
||||
hw/9pfs/9p.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
|
||||
index 23ac7bb532..f8bbac251d 100644
|
||||
--- a/hw/9pfs/9p.c
|
||||
+++ b/hw/9pfs/9p.c
|
||||
@@ -3234,7 +3234,7 @@ static void coroutine_fn v9fs_xattrwalk(void *opaque)
|
||||
xattr_fidp->fid_type = P9_FID_XATTR;
|
||||
xattr_fidp->fs.xattr.xattrwalk_fid = true;
|
||||
if (size) {
|
||||
- xattr_fidp->fs.xattr.value = g_malloc(size);
|
||||
+ xattr_fidp->fs.xattr.value = g_malloc0(size);
|
||||
err = v9fs_co_llistxattr(pdu, &xattr_fidp->path,
|
||||
xattr_fidp->fs.xattr.value,
|
||||
xattr_fidp->fs.xattr.len);
|
||||
@@ -3267,7 +3267,7 @@ static void coroutine_fn v9fs_xattrwalk(void *opaque)
|
||||
xattr_fidp->fid_type = P9_FID_XATTR;
|
||||
xattr_fidp->fs.xattr.xattrwalk_fid = true;
|
||||
if (size) {
|
||||
- xattr_fidp->fs.xattr.value = g_malloc(size);
|
||||
+ xattr_fidp->fs.xattr.value = g_malloc0(size);
|
||||
err = v9fs_co_lgetxattr(pdu, &xattr_fidp->path,
|
||||
&name, xattr_fidp->fs.xattr.value,
|
||||
xattr_fidp->fs.xattr.len);
|
||||
--
|
||||
2.15.0
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
Fix CVE-2017-15289:
|
||||
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15289
|
||||
|
||||
Patch copied from upstream source repository:
|
||||
|
||||
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=eb38e1bc3740725ca29a535351de94107ec58d51
|
||||
|
||||
From eb38e1bc3740725ca29a535351de94107ec58d51 Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Wed, 11 Oct 2017 10:43:14 +0200
|
||||
Subject: [PATCH] cirrus: fix oob access in mode4and5 write functions
|
||||
|
||||
Move dst calculation into the loop, so we apply the mask on each
|
||||
interation and will not overflow vga memory.
|
||||
|
||||
Cc: Prasad J Pandit <pjp@fedoraproject.org>
|
||||
Reported-by: Niu Guoxiang <niuguoxiang@huawei.com>
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Message-id: 20171011084314.21752-1-kraxel@redhat.com
|
||||
---
|
||||
hw/display/cirrus_vga.c | 6 ++----
|
||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/hw/display/cirrus_vga.c b/hw/display/cirrus_vga.c
|
||||
index b4d579857a..bc32bf1e39 100644
|
||||
--- a/hw/display/cirrus_vga.c
|
||||
+++ b/hw/display/cirrus_vga.c
|
||||
@@ -2038,15 +2038,14 @@ static void cirrus_mem_writeb_mode4and5_8bpp(CirrusVGAState * s,
|
||||
unsigned val = mem_value;
|
||||
uint8_t *dst;
|
||||
|
||||
- dst = s->vga.vram_ptr + (offset &= s->cirrus_addr_mask);
|
||||
for (x = 0; x < 8; x++) {
|
||||
+ dst = s->vga.vram_ptr + ((offset + x) & s->cirrus_addr_mask);
|
||||
if (val & 0x80) {
|
||||
*dst = s->cirrus_shadow_gr1;
|
||||
} else if (mode == 5) {
|
||||
*dst = s->cirrus_shadow_gr0;
|
||||
}
|
||||
val <<= 1;
|
||||
- dst++;
|
||||
}
|
||||
memory_region_set_dirty(&s->vga.vram, offset, 8);
|
||||
}
|
||||
@@ -2060,8 +2059,8 @@ static void cirrus_mem_writeb_mode4and5_16bpp(CirrusVGAState * s,
|
||||
unsigned val = mem_value;
|
||||
uint8_t *dst;
|
||||
|
||||
- dst = s->vga.vram_ptr + (offset &= s->cirrus_addr_mask);
|
||||
for (x = 0; x < 8; x++) {
|
||||
+ dst = s->vga.vram_ptr + ((offset + 2 * x) & s->cirrus_addr_mask & ~1);
|
||||
if (val & 0x80) {
|
||||
*dst = s->cirrus_shadow_gr1;
|
||||
*(dst + 1) = s->vga.gr[0x11];
|
||||
@@ -2070,7 +2069,6 @@ static void cirrus_mem_writeb_mode4and5_16bpp(CirrusVGAState * s,
|
||||
*(dst + 1) = s->vga.gr[0x10];
|
||||
}
|
||||
val <<= 1;
|
||||
- dst += 2;
|
||||
}
|
||||
memory_region_set_dirty(&s->vga.vram, offset, 16);
|
||||
}
|
||||
--
|
||||
2.15.0
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
Fix CVE-2018-7253:
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7253
|
||||
|
||||
Copied from upstream:
|
||||
https://github.com/dbry/WavPack/commit/36a24c7881427d2e1e4dc1cef58f19eee0d13aec
|
||||
|
||||
diff --git a/cli/dsdiff.c b/cli/dsdiff.c
|
||||
index 410dc1c..c016df9 100644
|
||||
--- a/cli/dsdiff.c
|
||||
+++ b/cli/dsdiff.c
|
||||
@@ -153,7 +153,17 @@ int ParseDsdiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa
|
||||
error_line ("dsdiff file version = 0x%08x", version);
|
||||
}
|
||||
else if (!strncmp (dff_chunk_header.ckID, "PROP", 4)) {
|
||||
- char *prop_chunk = malloc ((size_t) dff_chunk_header.ckDataSize);
|
||||
+ char *prop_chunk;
|
||||
+
|
||||
+ if (dff_chunk_header.ckDataSize < 4 || dff_chunk_header.ckDataSize > 1024) {
|
||||
+ error_line ("%s is not a valid .DFF file!", infilename);
|
||||
+ return WAVPACK_SOFT_ERROR;
|
||||
+ }
|
||||
+
|
||||
+ if (debug_logging_mode)
|
||||
+ error_line ("got PROP chunk of %d bytes total", (int) dff_chunk_header.ckDataSize);
|
||||
+
|
||||
+ prop_chunk = malloc ((size_t) dff_chunk_header.ckDataSize);
|
||||
|
||||
if (!DoReadFile (infile, prop_chunk, (uint32_t) dff_chunk_header.ckDataSize, &bcount) ||
|
||||
bcount != dff_chunk_header.ckDataSize) {
|
|
@ -0,0 +1,62 @@
|
|||
Fix CVE-2018-7254:
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7254
|
||||
|
||||
Copied from upstream:
|
||||
https://github.com/dbry/WavPack/commit/8e3fe45a7bac31d9a3b558ae0079e2d92a04799e
|
||||
|
||||
diff --git a/cli/caff.c b/cli/caff.c
|
||||
index ae57c4b..6248a71 100644
|
||||
--- a/cli/caff.c
|
||||
+++ b/cli/caff.c
|
||||
@@ -89,8 +89,8 @@ typedef struct
|
||||
|
||||
#define CAFChannelDescriptionFormat "LLLLL"
|
||||
|
||||
-static const char TMH_full [] = { 1,2,3,13,9,10,5,6,12,14,15,16,17,9,4,18,7,8,19,20,21 };
|
||||
-static const char TMH_std [] = { 1,2,3,11,8,9,5,6,10,12,13,14,15,7,4,16 };
|
||||
+static const char TMH_full [] = { 1,2,3,13,9,10,5,6,12,14,15,16,17,9,4,18,7,8,19,20,21,0 };
|
||||
+static const char TMH_std [] = { 1,2,3,11,8,9,5,6,10,12,13,14,15,7,4,16,0 };
|
||||
|
||||
static struct {
|
||||
uint32_t mChannelLayoutTag; // Core Audio layout, 100 - 146 in high word, num channels in low word
|
||||
@@ -274,10 +274,19 @@ int ParseCaffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack
|
||||
}
|
||||
}
|
||||
else if (!strncmp (caf_chunk_header.mChunkType, "chan", 4)) {
|
||||
- CAFChannelLayout *caf_channel_layout = malloc ((size_t) caf_chunk_header.mChunkSize);
|
||||
+ CAFChannelLayout *caf_channel_layout;
|
||||
|
||||
- if (caf_chunk_header.mChunkSize < sizeof (CAFChannelLayout) ||
|
||||
- !DoReadFile (infile, caf_channel_layout, (uint32_t) caf_chunk_header.mChunkSize, &bcount) ||
|
||||
+ if (caf_chunk_header.mChunkSize < sizeof (CAFChannelLayout) || caf_chunk_header.mChunkSize > 1024) {
|
||||
+ error_line ("this .CAF file has an invalid 'chan' chunk!");
|
||||
+ return WAVPACK_SOFT_ERROR;
|
||||
+ }
|
||||
+
|
||||
+ if (debug_logging_mode)
|
||||
+ error_line ("'chan' chunk is %d bytes", (int) caf_chunk_header.mChunkSize);
|
||||
+
|
||||
+ caf_channel_layout = malloc ((size_t) caf_chunk_header.mChunkSize);
|
||||
+
|
||||
+ if (!DoReadFile (infile, caf_channel_layout, (uint32_t) caf_chunk_header.mChunkSize, &bcount) ||
|
||||
bcount != caf_chunk_header.mChunkSize) {
|
||||
error_line ("%s is not a valid .CAF file!", infilename);
|
||||
free (caf_channel_layout);
|
||||
@@ -495,8 +504,15 @@ int ParseCaffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack
|
||||
}
|
||||
else { // just copy unknown chunks to output file
|
||||
|
||||
- int bytes_to_copy = (uint32_t) caf_chunk_header.mChunkSize;
|
||||
- char *buff = malloc (bytes_to_copy);
|
||||
+ uint32_t bytes_to_copy = (uint32_t) caf_chunk_header.mChunkSize;
|
||||
+ char *buff;
|
||||
+
|
||||
+ if (caf_chunk_header.mChunkSize < 0 || caf_chunk_header.mChunkSize > 1048576) {
|
||||
+ error_line ("%s is not a valid .CAF file!", infilename);
|
||||
+ return WAVPACK_SOFT_ERROR;
|
||||
+ }
|
||||
+
|
||||
+ buff = malloc (bytes_to_copy);
|
||||
|
||||
if (debug_logging_mode)
|
||||
error_line ("extra unknown chunk \"%c%c%c%c\" of %d bytes",
|
|
@ -11,6 +11,7 @@
|
|||
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
|
||||
;;; Copyright © 2017 Petter <petter@mykolab.ch>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -409,6 +410,28 @@ exception based code. It is built with Test::Builder and plays happily with
|
|||
Test::More and friends.")
|
||||
(license perl-license)))
|
||||
|
||||
(define-public perl-test-failwarnings
|
||||
(package
|
||||
(name "perl-test-failwarnings")
|
||||
(version "0.008")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vx9chcp5x8m0chq574p9fnfckh5gl94j7904rh9v17n568fyd6s"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-capture-tiny" ,perl-capture-tiny)))
|
||||
(home-page "http://search.cpan.org/dist/Test-FailWarnings/")
|
||||
(synopsis "Add test failures if warnings are caught")
|
||||
(description
|
||||
"Test::FailWarnings adds test failures if warnings are caught.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public perl-test-fatal
|
||||
(package
|
||||
(name "perl-test-fatal")
|
||||
|
@ -456,6 +479,28 @@ testing exception-throwing code with about the same amount of typing.")
|
|||
for testing.")
|
||||
(license perl-license)))
|
||||
|
||||
(define-public perl-test-filename
|
||||
(package
|
||||
(name "perl-test-filename")
|
||||
(version "0.03")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Filename-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gpw4mjw68gnby8s4cifvbz6g2923xsc189jkw9d27i8qv20qiba"))))
|
||||
(build-system perl-build-system)
|
||||
(propagated-inputs
|
||||
`(("perl-path-tiny" ,perl-path-tiny)))
|
||||
(home-page "http://search.cpan.org/dist/Test-Filename/")
|
||||
(synopsis "Portable filename comparison")
|
||||
(description "Test::Filename provides functions to convert all path
|
||||
separators automatically.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public perl-test-files
|
||||
(package
|
||||
(name "perl-test-files")
|
||||
|
@ -928,6 +973,34 @@ cannot connect to the specified hosts and ports, the exception is caught and
|
|||
reported, and the tests skipped.")
|
||||
(license perl-license)))
|
||||
|
||||
(define-public perl-test-roo
|
||||
(package
|
||||
(name "perl-test-roo")
|
||||
(version "1.004")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Roo-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mnym49j1lj7gzylma5b6nr4vp75rmgz2v71904v01xmxhy9l4i1"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-capture-tiny" ,perl-capture-tiny)))
|
||||
(propagated-inputs
|
||||
`(("perl-indirect" ,perl-indirect)
|
||||
("perl-moo" ,perl-moo)
|
||||
("perl-moox-types-mooselike" ,perl-moox-types-mooselike)
|
||||
("perl-multidimensional" ,perl-multidimensional)
|
||||
("perl-strictures" ,perl-strictures)
|
||||
("perl-sub-install" ,perl-sub-install)))
|
||||
(home-page "http://search.cpan.org/dist/Test-Roo/")
|
||||
(synopsis "Composable, reusable tests with roles and Moo")
|
||||
(description "Test::Roo provides composable, reusable tests with roles.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public perl-test-script
|
||||
(package
|
||||
(name "perl-test-script")
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -35,6 +36,7 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages perl)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix packages)
|
||||
|
@ -343,6 +345,31 @@ autovivification for some constructs and optionally throws a warning or an
|
|||
error when it would have happened.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-bareword-filehandles
|
||||
(package
|
||||
(name "perl-bareword-filehandles")
|
||||
(version "0.005")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/I/IL/ILMARI/bareword-filehandles-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fdirls2pg7d6ymvlzzz59q3dy6hgh08k0qpr2mw51w127s8rav6"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-b-hooks-op-check" ,perl-b-hooks-op-check)
|
||||
("perl-extutils-depends" ,perl-extutils-depends)))
|
||||
(propagated-inputs
|
||||
`(("perl-b-hooks-op-check" ,perl-b-hooks-op-check)
|
||||
("perl-lexical-sealrequirehints" ,perl-lexical-sealrequirehints)))
|
||||
(home-page "http://search.cpan.org/dist/bareword-filehandles/")
|
||||
(synopsis "Disables bareword filehandles")
|
||||
(description "This module disables bareword filehandles.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-base
|
||||
(package
|
||||
(name "perl-base")
|
||||
|
@ -409,6 +436,27 @@ all known commands are checked.")
|
|||
compiling the surrounding scope.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-b-hooks-op-check
|
||||
(package
|
||||
(name "perl-b-hooks-op-check")
|
||||
(version "0.22")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-OP-Check-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kfdv25gn6yik8jrwik4ajp99gi44s6idcvyyrzhiycyynzd3df7"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-extutils-depends" ,perl-extutils-depends)))
|
||||
(home-page "http://search.cpan.org/dist/B-Hooks-OP-Check/")
|
||||
(synopsis "Wrap OP check callbacks")
|
||||
(description "This module allows you to wrap OP check callbacks.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-b-keywords
|
||||
(package
|
||||
(name "perl-b-keywords")
|
||||
|
@ -1812,6 +1860,32 @@ an \"unless\" regular expression. If the text in question matches the
|
|||
like split on newlines unless newlines are embedded in quotes.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-data-section
|
||||
(package
|
||||
(name "perl-data-section")
|
||||
(version "0.200007")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/R/RJ/RJBS/Data-Section-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pmlxca0a8sv2jjwvhwgqavq6iwys6kf457lby4anjp3f1dpx4yd"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-test-failwarnings" ,perl-test-failwarnings)))
|
||||
(propagated-inputs
|
||||
`(("perl-mro-compat" ,perl-mro-compat)
|
||||
("perl-sub-exporter" ,perl-sub-exporter)))
|
||||
(home-page "http://search.cpan.org/dist/Data-Section/")
|
||||
(synopsis "Read multiple hunks of data out of your DATA section")
|
||||
(description "This package provides a Perl library to read multiple hunks
|
||||
of data out of your DATA section.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-data-stag
|
||||
(package
|
||||
(name "perl-data-stag")
|
||||
|
@ -3003,6 +3077,30 @@ and alternative installers with the `installler` option. But it's written in
|
|||
only about 40% as many lines of code and with zero non-core dependencies.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-extutils-depends
|
||||
(package
|
||||
(name "perl-extutils-depends")
|
||||
(version "0.405")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-Depends-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0b4ab9qmcihsfs2ajhn5qzg7nhazr68v3r0zvb7076smswd41mla"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-test-number-delta"
|
||||
,perl-test-number-delta)))
|
||||
(home-page "http://search.cpan.org/dist/ExtUtils-Depends/")
|
||||
(synopsis "Easily build XS extensions that depend on XS extensions")
|
||||
(description "ExtUtils::Depends builds XS extensions that depend on XS
|
||||
extensions")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-extutils-installpaths
|
||||
(package
|
||||
(name "perl-extutils-installpaths")
|
||||
|
@ -3857,6 +3955,26 @@ dependencies for CPAN distributions. These dependencies get bundled into the
|
|||
inc directory within a distribution and are used by Makefile.PL or Build.PL.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public perl-indirect
|
||||
(package
|
||||
(name "perl-indirect")
|
||||
(version "0.38")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/V/VP/VPIT/indirect-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13k5a8p903m8x3pcv9qqkzvnb8gpgq36cr3dvn3lk1ngsi9w5ydy"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/indirect/")
|
||||
(synopsis "Lexically warn about using the indirect method call syntax")
|
||||
(description
|
||||
"Indirect warns about using the indirect method call syntax.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-io-captureoutput
|
||||
(package
|
||||
(name "perl-io-captureoutput")
|
||||
|
@ -4175,6 +4293,29 @@ either uses the first module it finds or throws an error.")
|
|||
versa.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-lexical-sealrequirehints
|
||||
(package
|
||||
(name "perl-lexical-sealrequirehints")
|
||||
(version "0.011")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/Z/ZE/ZEFRAM/Lexical-SealRequireHints-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fh1arpr0hsj7skbn97yfvbk22pfcrpcvcfs15p5ss7g338qx4cy"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-module-build" ,perl-module-build)))
|
||||
(home-page "http://search.cpan.org/dist/Lexical-SealRequireHints/")
|
||||
(synopsis "Prevent leakage of lexical hints")
|
||||
(description
|
||||
"Lexical::SealRequireHints prevents leakage of lexical hints")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-log-any
|
||||
(package
|
||||
(name "perl-log-any")
|
||||
|
@ -4980,6 +5121,37 @@ that avoids the details of Perl's object system. Moo contains a subset of
|
|||
Moose and is optimised for rapid startup.")
|
||||
(license (package-license perl))))
|
||||
|
||||
;; Some packages don't yet work with this newer version of ‘Moo’.
|
||||
(define-public perl-moo-2
|
||||
(package
|
||||
(inherit perl-moo)
|
||||
(name "perl-moo-2")
|
||||
(version "2.003004")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
|
||||
"Moo-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qciprcgb4661g2g4ks0fxkx5gbjvn7h9yfg0nzflqz9z0jvdfzq"))))
|
||||
(propagated-inputs
|
||||
`(("perl-role-tiny" ,perl-role-tiny-2)
|
||||
("perl-sub-name" ,perl-sub-name)
|
||||
("perl-sub-quote" ,perl-sub-quote)
|
||||
("perl-strictures" ,perl-strictures-2)
|
||||
,@(alist-delete "perl-strictures"
|
||||
(alist-delete "perl-role-tiny"
|
||||
(package-propagated-inputs perl-moo)))))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'set-perl-search-path
|
||||
(lambda _
|
||||
;; Use perl-strictures for testing.
|
||||
(setenv "MOO_FATAL_WARNINGS" "=1")
|
||||
#t)))))))
|
||||
|
||||
(define-public perl-moose
|
||||
(package
|
||||
(name "perl-moose")
|
||||
|
@ -5853,6 +6025,32 @@ Certificate Authority certificates in a form that can be consumed by modules
|
|||
and libraries based on OpenSSL.")
|
||||
(license mpl2.0)))
|
||||
|
||||
(define-public perl-multidimensional
|
||||
(package
|
||||
(name "perl-multidimensional")
|
||||
(version "0.013")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/I/IL/ILMARI/multidimensional-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02p5zv68i39hnkmzzxsk1fi7xy56pfcsslrd7yqwzhq74czcw81x"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-b-hooks-op-check" ,perl-b-hooks-op-check)
|
||||
("perl-extutils-depends" ,perl-extutils-depends)))
|
||||
(propagated-inputs
|
||||
`(("perl-b-hooks-op-check" ,perl-b-hooks-op-check)
|
||||
("perl-lexical-sealrequirehints" ,perl-lexical-sealrequirehints)))
|
||||
(home-page "http://search.cpan.org/dist/multidimensional/")
|
||||
(synopsis "Disable multidimensional array emulation")
|
||||
(description
|
||||
"Multidimensional disables multidimensional array emulation.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-mro-compat
|
||||
(package
|
||||
(name "perl-mro-compat")
|
||||
|
@ -6025,6 +6223,26 @@ collector daemon in use at Etsy.com.")
|
|||
subroutine, which you can call with a value to be tested against.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-number-range
|
||||
(package
|
||||
(name "perl-number-range")
|
||||
(version "0.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/L/LA/LARRYSH/Number-Range-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0999xvs3w2xprs14q4shqndjf2m6mzvhzdljgr61ddjaqhd84gj3"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/Number-Range/")
|
||||
(synopsis "Perl extension defining ranges of numbers")
|
||||
(description "Number::Range is an object-oriented interface to test if a
|
||||
number exists in a given range, and to be able to manipulate the range.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-object-signature
|
||||
(package
|
||||
(name "perl-object-signature")
|
||||
|
@ -6626,6 +6844,20 @@ and @code{deserialize_regexp}.")
|
|||
(description "Role::Tiny is a minimalist role composition tool.")
|
||||
(license (package-license perl))))
|
||||
|
||||
;; Some packages don't yet work with this newer version of ‘Role::Tiny’.
|
||||
(define-public perl-role-tiny-2
|
||||
(package
|
||||
(inherit perl-role-tiny)
|
||||
(version "2.000006")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
|
||||
"Role-Tiny-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10p3sc639c0nj56bb77a2wg8samyyl8sqpliv3n8c0jaj2642wyc"))))))
|
||||
|
||||
(define-public perl-safe-isa
|
||||
(package
|
||||
(name "perl-safe-isa")
|
||||
|
@ -6865,6 +7097,20 @@ on the length of the size.")
|
|||
run from within a source-controlled directory.")
|
||||
(license (package-license perl))))
|
||||
|
||||
;; Some packages don't yet work with this newer version of ‘strictures’.
|
||||
(define-public perl-strictures-2
|
||||
(package
|
||||
(inherit perl-strictures)
|
||||
(version "2.000003")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
|
||||
"strictures-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08mgvf1d2651gsg3jgjfs13878ndqa4ji8vfsda9f7jjd84ymy17"))))))
|
||||
|
||||
(define-public perl-string-camelcase
|
||||
(package
|
||||
(name "perl-string-camelcase")
|
||||
|
@ -6894,6 +7140,28 @@ run from within a source-controlled directory.")
|
|||
CamelCase and back again.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-string-escape
|
||||
(package
|
||||
(name "perl-string-escape")
|
||||
(version "2010.002")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/E/EV/EVO/String-Escape-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12ls7f7847i4qcikkp3skwraqvjphjiv2zxfhl5d49326f5myr7x"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/String-Escape/")
|
||||
(synopsis "Backslash escapes, quoted phrase, word elision, etc.")
|
||||
(description "This module provides a flexible calling interface to some
|
||||
frequently-performed string conversion functions, including applying and
|
||||
expanding standard C/Unix-style backslash escapes like \n and \t, wrapping and
|
||||
removing double-quotes, and truncating to fit within a desired length.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-string-rewriteprefix
|
||||
(package
|
||||
(name "perl-string-rewriteprefix")
|
||||
|
@ -7069,6 +7337,30 @@ specification is omitted in the name, then the current package is used. The
|
|||
return value is the sub.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-sub-quote
|
||||
(package
|
||||
(name "perl-sub-quote")
|
||||
(version "2.004000")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/H/HA/HAARG/Sub-Quote-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zrh3apxsw1ks25zkh9dcn00656rsvq4mimqz3w8p37s2c1m4qaq"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-test-fatal" ,perl-test-fatal)))
|
||||
(propagated-inputs
|
||||
`(("perl-sub-name" ,perl-sub-name)))
|
||||
(home-page "http://search.cpan.org/dist/Sub-Quote/")
|
||||
(synopsis "Efficient generation of subroutines via string eval")
|
||||
(description "Sub::Quote provides an efficient generation of subroutines
|
||||
via string eval.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-sub-uplevel
|
||||
(package
|
||||
(name "perl-sub-uplevel")
|
||||
|
@ -8331,6 +8623,27 @@ UNIVERSAL::can() as a function, which it is not.")
|
|||
UNIVERSAL::isa as a function.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-universal-require
|
||||
(package
|
||||
(name "perl-universal-require")
|
||||
(version "0.18")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/N/NE/NEILB/UNIVERSAL-require-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1v9qdg80ng6dzyzs7cn8sb6mn8ym042i32lcnpd478b7g6l3d9xj"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/UNIVERSAL-require/")
|
||||
(synopsis "Require modules from a variable")
|
||||
(description "This module lets you require other modules where the module
|
||||
name is in a variable, something you can't do with the @code{require}
|
||||
built-in.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-variable-magic
|
||||
(package
|
||||
(name "perl-variable-magic")
|
||||
|
@ -8817,3 +9130,101 @@ till 5pm\" and \"on the second Tuesday of the month\" and \"between 4pm and
|
|||
4:15pm\" and \"in the first half of each minute\" and \"in January of
|
||||
1998\".")
|
||||
(license perl-license)))
|
||||
|
||||
(define-public perl-path-iterator-rule
|
||||
(package
|
||||
(name "perl-path-iterator-rule")
|
||||
(version "1.012")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Iterator-Rule-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1z76avwvwgv4bw28kzx79mmb4449s5l345sn0wljq3dbf4wqigd1"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-file-pushd" ,perl-file-pushd)
|
||||
("perl-path-tiny" ,perl-path-tiny)
|
||||
("perl-test-deep" ,perl-test-deep)
|
||||
("perl-test-filename" ,perl-test-filename)))
|
||||
(propagated-inputs
|
||||
`(("perl-number-compare" ,perl-number-compare)
|
||||
("perl-text-glob" ,perl-text-glob)
|
||||
("perl-try-tiny" ,perl-try-tiny)))
|
||||
(home-page "http://search.cpan.org/dist/Path-Iterator-Rule/")
|
||||
(synopsis "Iterative, recursive file finder")
|
||||
(description "Path::Iterator::Rule iterates over files and directories to
|
||||
identify ones matching a user-defined set of rules. The API is based heavily
|
||||
on File::Find::Rule, but with more explicit distinction between matching rules
|
||||
and options that influence how directories are searched. A
|
||||
Path::Iterator::Rule object is a collection of rules (match criteria) with
|
||||
methods to add additional criteria. Options that control directory traversal
|
||||
are given as arguments to the method that generates an iterator.
|
||||
|
||||
A summary of features for comparison to other file finding modules:
|
||||
|
||||
@itemize
|
||||
@item provides many helper methods for specifying rules
|
||||
@item offers (lazy) iterator and flattened list interfaces
|
||||
@item custom rules implemented with callbacks
|
||||
@item breadth-first (default) or pre- or post-order depth-first searching
|
||||
@item follows symlinks (by default, but can be disabled)
|
||||
@item directories visited only once (no infinite loop; can be disabled)
|
||||
@item doesn't chdir during operation
|
||||
@item provides an API for extensions
|
||||
@end itemize
|
||||
|
||||
As a convenience, the PIR module is an empty subclass of this one that is less
|
||||
arduous to type for one-liners.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public perl-pod-constants
|
||||
(package
|
||||
(name "perl-pod-constants")
|
||||
(version "0.19")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/M/MG/MGV/Pod-Constants-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1njgr2zly9nrwvfrjhgk9dqq48as1pmbb2rs4bh3irvla75v7azg"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/Pod-Constants/")
|
||||
(synopsis "Include constants from POD")
|
||||
(description "This module allows you to specify those constants that
|
||||
should be documented in your POD, and pull them out a run time in a fairly
|
||||
arbitrary fashion.
|
||||
|
||||
Pod::Constants uses Pod::Parser to do the parsing of the source file. It has
|
||||
to open the source file it is called from, and does so directly either by
|
||||
lookup in %INC or by assuming it is $0 if the caller is @code{main}
|
||||
(or it can't find %INC{caller()}).")
|
||||
(license artistic2.0)))
|
||||
|
||||
(define-public perl-regexp-pattern
|
||||
(package
|
||||
(name "perl-regexp-pattern")
|
||||
(version "0.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/P/PE/PERLANCAR/Regexp-Pattern-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rwpl6dxd1yl2ng3d4jdy68jz3mggmdl35rphrw1x619sm1aa876"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-test-exception" ,perl-test-exception)))
|
||||
(home-page "http://search.cpan.org/dist/Regexp-Pattern/")
|
||||
(synopsis "Collection of regexp patterns")
|
||||
(description "Regexp::Pattern is a convention for organizing reusable
|
||||
regexp patterns in modules.")
|
||||
(license (package-license perl))))
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -30,7 +31,7 @@
|
|||
(define-public pumpa
|
||||
(package
|
||||
(name "pumpa")
|
||||
(version "0.9.2")
|
||||
(version "0.9.3")
|
||||
(source (origin
|
||||
(method git-fetch) ; no source tarballs
|
||||
(uri (git-reference
|
||||
|
@ -38,7 +39,7 @@
|
|||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"09www29s4ldvd6apr73w7r4nmq93rcl2d182fylwgfcnncbvpy8s"))
|
||||
"14072vis539zjgryjr5a77j2cprxii5znyg3p01qbb11lijk9nj7"))
|
||||
(file-name (string-append name "-" version "-checkout"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -57,7 +58,7 @@
|
|||
;; Run qmake with proper installation prefix.
|
||||
(let ((prefix (string-append "PREFIX="
|
||||
(assoc-ref outputs "out"))))
|
||||
(zero? (system* "qmake" prefix)))
|
||||
(invoke "qmake" prefix))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("aspell" ,aspell)
|
||||
|
|
|
@ -12756,14 +12756,14 @@ and other tools.")
|
|||
(define-public bpython
|
||||
(package
|
||||
(name "bpython")
|
||||
(version "0.17")
|
||||
(version "0.17.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "bpython" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mbah208jhd7bsfaa17fwpi55f7fvif0ghjwgrjmpmx8w1vqab9l"))))
|
||||
"0bxhxi5zxdkrf8b4gwn0d363kdz3qnypjwhm1aydki53ph8ca1w9"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -303,14 +303,14 @@ destructors. It is the core memory allocator used in Samba.")
|
|||
(define-public tevent
|
||||
(package
|
||||
(name "tevent")
|
||||
(version "0.9.35")
|
||||
(version "0.9.36")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.samba.org/ftp/tevent/tevent-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s8nbkmqz8dzdlsd6qynhvyl05pw93r151f3i2kgjfpbck9ak8r5"))))
|
||||
"0k1v4vnlzpf7h3p4khaw8a7damrc68g136bf2xzys08nzpinnaxx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
|
||||
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -90,11 +90,10 @@
|
|||
(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(and (zero? (system* "tar" "xzvf"
|
||||
(assoc-ref inputs "source")))
|
||||
(invoke "tar" "xzvf"
|
||||
(assoc-ref inputs "source"))
|
||||
(chdir ,(mit-scheme-source-directory (%current-system)
|
||||
version))
|
||||
(begin
|
||||
;; Delete these dangling symlinks since they break
|
||||
;; `patch-shebangs'.
|
||||
(for-each delete-file
|
||||
|
@ -103,22 +102,23 @@
|
|||
(find-files "src/lib" "^liarc-")
|
||||
(find-files "src/compiler" "^make\\.")))
|
||||
(chdir "src")
|
||||
#t))))
|
||||
#t))
|
||||
(replace 'build
|
||||
(lambda* (#:key system outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(if (or (string-prefix? "x86_64" system)
|
||||
(string-prefix? "i686" system))
|
||||
(zero? (system* "make" "compile-microcode"))
|
||||
(zero? (system* "./etc/make-liarc.sh"
|
||||
(string-append "--prefix=" out)))))))
|
||||
(invoke "make" "compile-microcode")
|
||||
(invoke "./etc/make-liarc.sh"
|
||||
(string-append "--prefix=" out)))
|
||||
#t)))
|
||||
(add-after 'configure 'configure-doc
|
||||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
(with-directory-excursion "../doc"
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bash (assoc-ref inputs "bash"))
|
||||
(bin/sh (string-append bash "/bin/sh")))
|
||||
(system* bin/sh "./configure"
|
||||
(invoke bin/sh "./configure"
|
||||
(string-append "--prefix=" out)
|
||||
(string-append "SHELL=" bin/sh))
|
||||
(substitute* '("Makefile" "make-common")
|
||||
|
@ -128,7 +128,8 @@
|
|||
(add-after 'build 'build-doc
|
||||
(lambda* _
|
||||
(with-directory-excursion "../doc"
|
||||
(zero? (system* "make")))))
|
||||
(invoke "make"))
|
||||
#t))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -138,7 +139,7 @@
|
|||
(string-append doc "/share/doc/" ,name "-" ,version)))
|
||||
(with-directory-excursion "../doc"
|
||||
(for-each (lambda (target)
|
||||
(system* "make" target))
|
||||
(invoke "make" target))
|
||||
'("install-config" "install-info-gz" "install-man"
|
||||
"install-html" "install-pdf")))
|
||||
(mkdir-p new-doc/mit-scheme-dir)
|
||||
|
|
|
@ -46,15 +46,15 @@
|
|||
(define-public ccid
|
||||
(package
|
||||
(name "ccid")
|
||||
(version "1.4.28")
|
||||
(version "1.4.29")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://alioth.debian.org/frs/download.php/file/4230/"
|
||||
"https://alioth.debian.org/frs/download.php/file/4238/"
|
||||
"ccid-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1q5dz1l049m3hmr370adhrqicdkldrr3l98svi02p5cxbnn3cn47"))))
|
||||
"0kdqmbma6sclsrbxy9w85h7cs0v11if4nc2r9v09613k8pl2lhx5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list (string-append "--enable-usbdropdir=" %output
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2015 Claes Wallin <claes.wallin@greatsinodevelopment.com>
|
||||
;;; Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr>
|
||||
;;; Copyright © 2017 Z. Ren <zren@dlut.edu.cn>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -28,7 +29,7 @@
|
|||
(define-public skalibs
|
||||
(package
|
||||
(name "skalibs")
|
||||
(version "2.3.10.0")
|
||||
(version "2.6.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -36,11 +37,10 @@
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0i7af224kl1crxgml09wx0x6q8ab79vnyrllfwv2lnq585wi9mg4"))))
|
||||
"108c4vslsfy57892ybbksscrjd4bx444hzzcq2g5wdg2sh0cl245"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--enable-force-devr") ; do not analyze /dev/random
|
||||
#:tests? #f ; no tests exist
|
||||
'(#:tests? #f ; no tests exist
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'reproducible
|
||||
(lambda _
|
||||
|
@ -50,7 +50,7 @@
|
|||
(("\\$\\(wildcard src/lib\\*/\\*.c\\)")
|
||||
"$(sort $(wildcard src/lib*/*.c))"))
|
||||
#t)))))
|
||||
(home-page "http://skarnet.org/software/skalibs/")
|
||||
(home-page "https://skarnet.org/software/skalibs/")
|
||||
(synopsis "Platform abstraction libraries for skarnet.org software")
|
||||
(description
|
||||
"This package provides lightweight C libraries isolating the developer
|
||||
|
@ -62,7 +62,7 @@ and file system operations. It is used by all skarnet.org software.")
|
|||
(define-public execline
|
||||
(package
|
||||
(name "execline")
|
||||
(version "2.1.5.0")
|
||||
(version "2.3.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -70,7 +70,7 @@ and file system operations. It is used by all skarnet.org software.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hhirdmyh3sj9qagkis7addmmdvyic717wkb6ym3n63kvfk0adla"))))
|
||||
"0jx60wjz3yj3r1wircbvd15in275pi7ggw69pbs9djhcyb48zfz4"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("skalibs" ,skalibs)))
|
||||
(arguments
|
||||
|
@ -90,7 +90,7 @@ and file system operations. It is used by all skarnet.org software.")
|
|||
(wrap-program (string-append bin "/execlineb")
|
||||
`("PATH" ":" prefix (,bin)))))))
|
||||
#:tests? #f)) ; No tests exist.
|
||||
(home-page "http://skarnet.org/software/execline/")
|
||||
(home-page "https://skarnet.org/software/execline/")
|
||||
(license isc)
|
||||
(synopsis "Non-interactive shell-like language with minimal overhead")
|
||||
(description
|
||||
|
@ -105,7 +105,7 @@ complexity.")))
|
|||
(define-public s6
|
||||
(package
|
||||
(name "s6")
|
||||
(version "2.3.0.0")
|
||||
(version "2.7.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -113,7 +113,7 @@ complexity.")))
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rp8i228zxzbia1799pdav1kkzdk96fax9bcfyf2gilkdm3s1ja9"))))
|
||||
"04vfviw00zvvb1mdpl78zdgzd7j491f1lahhqrkkq9vk5kwcn5v6"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("skalibs" ,skalibs)
|
||||
("execline" ,execline)))
|
||||
|
@ -129,7 +129,7 @@ complexity.")))
|
|||
(assoc-ref %build-inputs "skalibs")
|
||||
"/lib/skalibs/sysdeps"))
|
||||
#:tests? #f))
|
||||
(home-page "http://skarnet.org/software/s6")
|
||||
(home-page "https://skarnet.org/software/s6")
|
||||
(license isc)
|
||||
(synopsis "Small suite of programs for process supervision")
|
||||
(description
|
||||
|
@ -144,7 +144,7 @@ functionality with a very small amount of code.")))
|
|||
(define-public s6-dns
|
||||
(package
|
||||
(name "s6-dns")
|
||||
(version "2.0.1.0")
|
||||
(version "2.3.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -152,7 +152,7 @@ functionality with a very small amount of code.")))
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ji47iy8czx4jmi763dxd6lgjbnp4vqqgcijh46ym65l0a97z04w"))))
|
||||
"0h47ldxvh9cny91r0pjxq7zr5iqpqf1j50p3ip42f6bl90z5ha58"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("skalibs" ,skalibs)))
|
||||
(arguments
|
||||
|
@ -164,7 +164,7 @@ functionality with a very small amount of code.")))
|
|||
(assoc-ref %build-inputs "skalibs")
|
||||
"/lib/skalibs/sysdeps"))
|
||||
#:tests? #f))
|
||||
(home-page "http://skarnet.org/software/s6-dns")
|
||||
(home-page "https://skarnet.org/software/s6-dns")
|
||||
(license isc)
|
||||
(synopsis "Suite of DNS client programs")
|
||||
(description
|
||||
|
@ -174,7 +174,7 @@ as an alternative to the BIND, djbdns or other DNS clients.")))
|
|||
(define-public s6-networking
|
||||
(package
|
||||
(name "s6-networking")
|
||||
(version "2.1.1.0")
|
||||
(version "2.3.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -182,7 +182,7 @@ as an alternative to the BIND, djbdns or other DNS clients.")))
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0r8gfv0l2k449nacjy919gqlgn25q7fjxaqra5r37k7kiikkgqfw"))))
|
||||
"06j8fpldn187cmbjqp191hd65ka3ys19vj3jm3kcvkmvd9snh6fq"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("skalibs" ,skalibs)
|
||||
("execline" ,execline)
|
||||
|
@ -206,7 +206,7 @@ as an alternative to the BIND, djbdns or other DNS clients.")))
|
|||
(assoc-ref %build-inputs "skalibs")
|
||||
"/lib/skalibs/sysdeps"))
|
||||
#:tests? #f))
|
||||
(home-page "http://skarnet.org/software/s6-networking")
|
||||
(home-page "https://skarnet.org/software/s6-networking")
|
||||
(license isc)
|
||||
(synopsis "Suite of network utilities for Unix systems")
|
||||
(description
|
||||
|
@ -218,7 +218,7 @@ clock synchronization.")))
|
|||
(define-public s6-rc
|
||||
(package
|
||||
(name "s6-rc")
|
||||
(version "0.0.3.0")
|
||||
(version "0.4.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -226,7 +226,7 @@ clock synchronization.")))
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bl94lbaphbpaaj4wbb86xqgp5bcgrf3m7p80mimw1qsjrvlxfay"))))
|
||||
"1fkg9635cvrf6gw055y346a3n634dy2xiwbypawi68flfprfgf4n"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("skalibs" ,skalibs)
|
||||
("execline" ,execline)
|
||||
|
@ -246,7 +246,7 @@ clock synchronization.")))
|
|||
(assoc-ref %build-inputs "skalibs")
|
||||
"/lib/skalibs/sysdeps"))
|
||||
#:tests? #f))
|
||||
(home-page "http://skarnet.org/software/s6-rc")
|
||||
(home-page "https://skarnet.org/software/s6-rc")
|
||||
(license isc)
|
||||
(synopsis "Service manager for s6-based systems")
|
||||
(description
|
||||
|
@ -260,7 +260,7 @@ environment.")))
|
|||
(define-public s6-portable-utils
|
||||
(package
|
||||
(name "s6-portable-utils")
|
||||
(version "2.0.6.0")
|
||||
(version "2.2.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -269,7 +269,7 @@ environment.")))
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jwxj0ma4zd1h6i3i98nsp0miidr54phap7dqwf6c8vafq9psfr3"))))
|
||||
"0ca5iiq3n6isj64jb81xpwjzjx1q8jg145nnnn91ra2qqk93kqka"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("skalibs" ,skalibs)))
|
||||
(arguments
|
||||
|
@ -281,7 +281,7 @@ environment.")))
|
|||
(assoc-ref %build-inputs "skalibs")
|
||||
"/lib/skalibs/sysdeps"))
|
||||
#:tests? #f))
|
||||
(home-page "http://skarnet.org/software/s6-portable-utils")
|
||||
(home-page "https://skarnet.org/software/s6-portable-utils")
|
||||
(license isc)
|
||||
(synopsis "Tiny command-line Unix utilities")
|
||||
(description
|
||||
|
@ -290,10 +290,48 @@ performing well-known tasks such as @command{cut} and @command{grep}, but
|
|||
optimized for simplicity and small size. They were designed for embedded
|
||||
systems and other constrained environments, but they work everywhere.")))
|
||||
|
||||
(define-public s6-linux-init
|
||||
(package
|
||||
(name "s6-linux-init")
|
||||
(version "0.3.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://skarnet.org/software/s6-linux-init/s6-linux-init-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yfxrjqlbb6kac4gcn78phxbwp5sj9jmc1vxpsrbql62mfjyiqly"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("skalibs" ,skalibs)))
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
(list
|
||||
(string-append "--with-lib="
|
||||
(assoc-ref %build-inputs "skalibs")
|
||||
"/lib/skalibs")
|
||||
(string-append "--with-sysdeps="
|
||||
(assoc-ref %build-inputs "skalibs")
|
||||
"/lib/skalibs/sysdeps"))
|
||||
#:tests? #f))
|
||||
(home-page "https://skarnet.org/software/s6-linux-init")
|
||||
(license isc)
|
||||
(synopsis "Minimalistic tools to create an s6-based init system on Linux")
|
||||
(description
|
||||
" s6-linux-init is a set of minimalistic tools to create a s6-based init
|
||||
system, including an @command{/sbin/init} binary, on a Linux kernel.
|
||||
|
||||
It is meant to automate creation of scripts revolving around the use of other
|
||||
skarnet.org tools, especially s6, in order to provide a complete booting
|
||||
environment with integrated supervision and logging without having to hand-craft
|
||||
all the details. ")))
|
||||
|
||||
(define-public s6-linux-utils
|
||||
(package
|
||||
(name "s6-linux-utils")
|
||||
(version "2.1.0.0")
|
||||
(version "2.4.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -302,7 +340,7 @@ systems and other constrained environments, but they work everywhere.")))
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bby751blynb7p8wd3npjm71lf10ysmfvqrd3dqrhhajpa2bl8rm"))))
|
||||
"0245rmk7wfyyfsi4g7f0niprwlvqlwkbyjxflb8kkbvhwfdavqip"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("skalibs" ,skalibs)))
|
||||
(arguments
|
||||
|
@ -314,7 +352,7 @@ systems and other constrained environments, but they work everywhere.")))
|
|||
(assoc-ref %build-inputs "skalibs")
|
||||
"/lib/skalibs/sysdeps"))
|
||||
#:tests? #f))
|
||||
(home-page "http://skarnet.org/software/s6-linux-utils")
|
||||
(home-page "https://skarnet.org/software/s6-linux-utils")
|
||||
(license isc)
|
||||
(synopsis "Set of minimalistic Linux-specific system utilities")
|
||||
(description
|
||||
|
|
|
@ -37,16 +37,14 @@
|
|||
(define-public slang
|
||||
(package
|
||||
(name "slang")
|
||||
(version "2.3.0")
|
||||
(version "2.3.1a")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.jedsoft.org/releases/slang/slang-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(uri (string-append "http://www.jedsoft.org/releases/slang/slang-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0aqd2cjabj6nhd4r3dc4vhqif2bf3dmqnrn2gj0xm4gqyfd177jy"))
|
||||
"0dlcy0hn0j6cj9qj5x6hpb0axifnvzzmv5jqq0wq14fygw0c7w2l"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -965,16 +965,17 @@ transliteration, concatenation, date-time formatting and parsing, etc.")
|
|||
(define-public r-stringr
|
||||
(package
|
||||
(name "r-stringr")
|
||||
(version "1.2.0")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "stringr" version))
|
||||
(sha256
|
||||
(base32 "16hj2rmv8x03lp6cp2jk0k2plibvbggf444kp05przdvd03v7l31"))))
|
||||
(base32 "07dvfbkhv8gk6l32j43jvxpmqlhqp0mdby406h5a3bsc6k94ic13"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-magrittr" ,r-magrittr)
|
||||
`(("r-glue" ,r-glue)
|
||||
("r-magrittr" ,r-magrittr)
|
||||
("r-stringi" ,r-stringi)))
|
||||
(home-page "https://github.com/hadley/stringr")
|
||||
(synopsis "Simple, consistent wrappers for common string operations")
|
||||
|
@ -1347,13 +1348,13 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.")
|
|||
(define-public r-knitr
|
||||
(package
|
||||
(name "r-knitr")
|
||||
(version "1.19")
|
||||
(version "1.20")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "knitr" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gyj9bw90h4h9rc9k1iqrnzirm2f8mj45zi8bkjc6rp610vlh63j"))))
|
||||
"1408dm25cxahk2clff8hlajaqdj5v1gs40nm3q6rf0ghd82hj93v"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-evaluate" ,r-evaluate)
|
||||
|
@ -1549,13 +1550,13 @@ defined in different packages.")
|
|||
(define-public r-rlang
|
||||
(package
|
||||
(name "r-rlang")
|
||||
(version "0.1.6")
|
||||
(version "0.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rlang" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1x62assn8m7cd0q75r809gxsdqmxmd2br1xz53ykzhrfz3j768kp"))))
|
||||
"0f87fhw5pj6s2zjdxnpnd7pwn78czdz71b0xhm5adqg1p38sfwj8"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "http://rlang.tidyverse.org")
|
||||
(synopsis "Functions for base types, core R and Tidyverse features")
|
||||
|
@ -1627,14 +1628,14 @@ database.")
|
|||
(define-public r-dbplyr
|
||||
(package
|
||||
(name "r-dbplyr")
|
||||
(version "1.2.0")
|
||||
(version "1.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "dbplyr" version))
|
||||
(sha256
|
||||
(base32
|
||||
"17br61mhssi2pm6v8604f89ykglng3qp9ymfzmhw10cary6zm982"))))
|
||||
"1nwrls9c3kc9q7405jp6b9sh23642sz13yw55iikgw134shffj5k"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-assertthat" ,r-assertthat)
|
||||
|
@ -2330,13 +2331,13 @@ informative error messages when it's not available.")
|
|||
(define-public r-devtools
|
||||
(package
|
||||
(name "r-devtools")
|
||||
(version "1.13.4")
|
||||
(version "1.13.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "devtools" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1az1qf50vyhm4w6k2a6wqw3pqc8jv2iqzdhs36cg079hx9swm0mb"))))
|
||||
"1x3wsk7dh3yakii61kbfvafx9yz66h40ixiwfkf03dnp2n24hngs"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-digest" ,r-digest)
|
||||
|
@ -2747,18 +2748,21 @@ ldap, and also supports cookies, redirects, authentication, etc.")
|
|||
(define-public r-xml
|
||||
(package
|
||||
(name "r-xml")
|
||||
(version "3.98-1.9")
|
||||
(version "3.98-1.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "XML" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hzkdkgs0nzmfg9wm7kyh1j9i0i2g7925whzlihqvg9grdlh3dx3"))))
|
||||
"1faza9bbllp67lf1yv1sllxc3iv8llz52m9diazhq322iqbh97m1"))))
|
||||
(properties
|
||||
`((upstream-name . "XML")))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
`(("libxml2" ,libxml2)))
|
||||
`(("libxml2" ,libxml2)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://www.omegahat.org/RSXML")
|
||||
(synopsis "Tools for parsing and generating XML within R")
|
||||
(description
|
||||
|
@ -5407,18 +5411,19 @@ and the corresponding decision threshold.")
|
|||
(define-public r-forcats
|
||||
(package
|
||||
(name "r-forcats")
|
||||
(version "0.2.0")
|
||||
(version "0.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "forcats" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mvwkynvvgz2vi8dyz11x7xrp53kadjawjcja34hwk1d89qf7g5m"))))
|
||||
"0mxn1hng43zdjh1v8shd80hrszrqahcpaqxs1s1sif0qxh84d0cm"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-magrittr" ,r-magrittr)
|
||||
("r-tibble" ,r-tibble)))
|
||||
("r-tibble" ,r-tibble)
|
||||
("r-rlang" ,r-rlang)))
|
||||
(home-page "http://forcats.tidyverse.org")
|
||||
(synopsis "Tools for working with factors")
|
||||
(description "This package provides helpers for reordering factor
|
||||
|
|
|
@ -787,7 +787,7 @@ then ported to the GNU / Linux environment.")
|
|||
(define-public mbedtls-apache
|
||||
(package
|
||||
(name "mbedtls-apache")
|
||||
(version "2.6.0")
|
||||
(version "2.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -797,7 +797,7 @@ then ported to the GNU / Linux environment.")
|
|||
version "-apache.tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11wnj34rfqxjggmdgf042i49lr6civgbqwv2p7p8bn6k2919vg4r"))))
|
||||
"1vsmgxnw7dpvma51896n63yaf9sncmf885ax2jfcg89ssin6vdmf"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
@ -29,14 +29,14 @@
|
|||
(define-public miniupnpc
|
||||
(package
|
||||
(name "miniupnpc")
|
||||
(version "2.0.20180203")
|
||||
(version "2.0.20180222")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://miniupnp.tuxfamily.org/files/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1dr0qaf2qz49aawgsnv7l41rda5yvdk3qfz2hd5cv9iwav3sipch"))))
|
||||
(base32 "0xavcrifk8v8gwig3mj0kjkm7rvw1kbsxcs4jxrrzl39cil48yaq"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("python" ,python-2)))
|
||||
|
|
|
@ -636,35 +636,30 @@ default) of the repository.")
|
|||
(define-public shflags
|
||||
(package
|
||||
(name "shflags")
|
||||
(version "1.2.0")
|
||||
(version "1.2.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/kward/shflags/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zxw12haylaq60a335xlqcs4afw2zrgwqymmpw0m21r51w6irdmr"))))
|
||||
(build-system trivial-build-system)
|
||||
"1h9xfrwwdhzflipfwdcgcc3y7zapdslnyk1rg5y8jm7k144rfrs4"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("tar" ,tar)
|
||||
("gzip" ,gzip)))
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder (begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((source (assoc-ref %build-inputs "source"))
|
||||
(tar (assoc-ref %build-inputs "tar"))
|
||||
(gzip (assoc-ref %build-inputs "gzip"))
|
||||
(output (assoc-ref %outputs "out"))
|
||||
(srcdir (string-append output "/src")))
|
||||
(begin
|
||||
(setenv "PATH" (string-append gzip "/bin"))
|
||||
(system* (string-append tar "/bin/tar") "xzf"
|
||||
source)
|
||||
(chdir ,(string-append name "-" version))
|
||||
(mkdir-p srcdir)
|
||||
(copy-file "src/shflags"
|
||||
(string-append srcdir "/shflags"))
|
||||
#t)))))
|
||||
`(#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; nothing to configure
|
||||
(delete 'build) ; nothing to build
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(src (string-append out "/src")))
|
||||
(install-file "shflags" src)
|
||||
#t))))))
|
||||
(home-page "https://github.com/kward/shflags")
|
||||
(synopsis "Command-line flags library for shell scripts")
|
||||
(description
|
||||
|
|
|
@ -245,18 +245,18 @@ television and DVD. It is also known as AC-3.")
|
|||
(define-public libx264
|
||||
(package
|
||||
(name "libx264")
|
||||
(version "20170316-2245")
|
||||
(version "20180219-2245")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.videolan.org/pub/x264/snapshots/"
|
||||
"x264-snapshot-" version ".tar.bz2"))
|
||||
"x264-snapshot-" version "-stable.tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s1nnvl3axz38sv4g09skijl6k9mbbngbb1nsh26w4dr2w2gyzad"))))
|
||||
"1x0cg8l30wp84mr7q0ddp06jclm0kjrszazrx87d4k7js3qxjy8m"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("yasm" ,yasm)))
|
||||
("nasm" ,nasm)))
|
||||
;; TODO: Add gpac input
|
||||
(arguments
|
||||
`(#:tests? #f ;no check target
|
||||
|
@ -1275,7 +1275,7 @@ other site that youtube-dl supports.")
|
|||
(define-public you-get
|
||||
(package
|
||||
(name "you-get")
|
||||
(version "0.4.1011")
|
||||
(version "0.4.1025")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1284,7 +1284,7 @@ other site that youtube-dl supports.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cdbh5w0chw3dlrwizm91l6sgkkzy7p6h0072dai4xbw5zgld31k"))))
|
||||
"10103jw1gzar85jlajzl9wslk08vw21n26hkhfcz5bvkm9lxxs2c"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos
|
||||
|
@ -1737,7 +1737,12 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10m3ry0b2pvqx3bk34qh5dq337nn8pkc2gzfyhsj4nv9abskln47"))))
|
||||
"10m3ry0b2pvqx3bk34qh5dq337nn8pkc2gzfyhsj4nv9abskln47"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; As of glibc 2.26, <xlocale.h> no longer is.
|
||||
'(substitute* "src/framework/mlt_property.h"
|
||||
(("xlocale\\.h") "locale.h")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
|
|
|
@ -82,16 +82,14 @@
|
|||
(define-public qemu
|
||||
(package
|
||||
(name "qemu")
|
||||
(version "2.10.2")
|
||||
(version "2.11.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.qemu.org/qemu-"
|
||||
version ".tar.xz"))
|
||||
(patches (search-patches "qemu-CVE-2017-15038.patch"
|
||||
"qemu-CVE-2017-15289.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"17w21spvaxaidi2am5lpsln8yjpyp2zi3s3gc6nsxj5arlgamzgw"))))
|
||||
"11l6cs6mib16rgdrnqrhkqs033fjik316gkgfz3asbmxz38lalca"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(;; Running tests in parallel can occasionally lead to failures, like:
|
||||
|
|
|
@ -158,7 +158,7 @@ interpretation of the specifications for these languages.")
|
|||
(define-public vulkan-icd-loader
|
||||
(package
|
||||
(name "vulkan-icd-loader")
|
||||
(version "1.0.65.2")
|
||||
(version "1.0.68.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -167,11 +167,20 @@ interpretation of the specifications for these languages.")
|
|||
"archive/sdk-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ivvmb977n2xp95v3sryhflvryy3mxrcwrd1hnr2dmri40vg1sl8"))))
|
||||
"1n5gry5zxpwi7330fmi06snalra8hkbbw68gnwbp531kd5ycyinh"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;FIXME: 23/39 tests fail. Try "tests/run_all_tests.sh".
|
||||
#:configure-flags (list (string-append "-DCMAKE_INSTALL_LIBDIR="
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-spirv-tools-commit-id
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Remove lines trying to build in a git commit id.
|
||||
(substitute* "CMakeLists.txt" ((".*spirv_tools_commit_id.h.*") ""))
|
||||
#t)))
|
||||
#:configure-flags (list
|
||||
"-DBUILD_LAYERS=OFF" ; FIXME: Fails to build.
|
||||
(string-append "-DCMAKE_INSTALL_LIBDIR="
|
||||
(assoc-ref %outputs "out") "/lib"))))
|
||||
(inputs `(("glslang" ,glslang)
|
||||
("libxcb" ,libxcb)
|
||||
|
|
|
@ -182,14 +182,14 @@ Interface} specification.")
|
|||
(name "nginx")
|
||||
;; Consider updating the nginx-documentation package if the nginx package is
|
||||
;; updated.
|
||||
(version "1.13.8")
|
||||
(version "1.13.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://nginx.org/download/nginx-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ib4hkngj9z7pl73lnn96d85m7v2wwb56nkypwx7d6pm3z1vc444"))))
|
||||
"0hpsyxpxj89p5vrzv9p1hp7xjbnj5c1w6fdy626ycvsiay4a3bjz"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("openssl" ,openssl)
|
||||
("pcre" ,pcre)
|
||||
|
@ -5654,14 +5654,14 @@ encoder/decoder based on the draft-12 specification for UBJSON.")
|
|||
(define-public java-tomcat
|
||||
(package
|
||||
(name "java-tomcat")
|
||||
(version "8.5.23")
|
||||
(version "8.5.28")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://apache/tomcat/tomcat-8/v"
|
||||
version "/src/apache-tomcat-" version "-src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1m6b1dikib46kbgz9gf0p6svi00nsw62b9kgjzn6sda151skbbza"))))
|
||||
"0q2bc3sajrmcx3z3vhhwp78y47ryc2ky8ssbdmfk24zvqdb76hvl"))))
|
||||
(build-system ant-build-system)
|
||||
(inputs
|
||||
`(("java-eclipse-jdt-core" ,java-eclipse-jdt-core)))
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
|
||||
;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
|
||||
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
|
||||
;;; Copyright © 2016, 2017, 2018 ng0 <ng0@crash.cx>
|
||||
;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
|
||||
;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net>
|
||||
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
|
||||
|
@ -46,6 +46,7 @@
|
|||
#:use-module (gnu packages haskell-check)
|
||||
#:use-module (gnu packages haskell-web)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
|
@ -915,3 +916,55 @@ It is inspired by Xmonad and dwm. Its major features include:
|
|||
@end itemize\n")
|
||||
(home-page "https://github.com/conformal/spectrwm")
|
||||
(license license:isc)))
|
||||
|
||||
(define-public cwm
|
||||
(package
|
||||
(name "cwm")
|
||||
(version "6.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://chneukirchen.org/releases/cwm-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1b8k2hjxpb0bzqjh2wj6mn2nf2360zacf8z19sw2rw5lxvmfy89x"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list "CC=gcc"
|
||||
(string-append "PREFIX=" %output))
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'build 'install-xsession
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Add a .desktop file to xsessions.
|
||||
(let* ((output (assoc-ref outputs "out"))
|
||||
(xsessions (string-append output "/share/xsessions")))
|
||||
(mkdir-p xsessions)
|
||||
(with-output-to-file
|
||||
(string-append xsessions "/cwm.desktop")
|
||||
(lambda _
|
||||
(format #t
|
||||
"[Desktop Entry]~@
|
||||
Name=cwm~@
|
||||
Comment=OpenBSD Calm Window Manager fork~@
|
||||
Exec=~a/bin/cwm~@
|
||||
TryExec=~@*~a/bin/cwm~@
|
||||
Icon=~@
|
||||
Type=Application~%"
|
||||
output)))
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("libxft" ,libxft)
|
||||
("libxrandr" ,libxrandr)
|
||||
("libxinerama" ,libxinerama)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("bison" ,bison)))
|
||||
(home-page "https://github.com/chneukirchen/cwm")
|
||||
(synopsis "OpenBSD fork of the calmwm window manager")
|
||||
(description "Cwm is a stacking window manager for X11. It is an OpenBSD
|
||||
project derived from the original Calm Window Manager.")
|
||||
(license license:isc)))
|
||||
|
|
|
@ -97,6 +97,34 @@ a graphical user interface. It has language bindings for Python, Perl, Ruby
|
|||
and many other languages.")
|
||||
(license (list l:lgpl2.0+ (l:fsf-free "file://doc/license.txt")))))
|
||||
|
||||
(define-public wxwidgets-2
|
||||
(package
|
||||
(inherit wxwidgets)
|
||||
(version "2.8.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/wxWidgets/wxWidgets/"
|
||||
"releases/download/v" version
|
||||
"/wxGTK-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1gjs9vfga60mk4j4ngiwsk9h6c7j22pw26m3asxr1jwvqbr8kkqk"))))
|
||||
(inputs
|
||||
`(("gtk" ,gtk+-2)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libtiff" ,libtiff)
|
||||
("libmspack" ,libmspack)
|
||||
("sdl" ,sdl)
|
||||
("unixodbc" ,unixodbc)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
'("--enable-unicode" "--with-regex=sys" "--with-sdl")
|
||||
#:make-flags
|
||||
(list (string-append "LDFLAGS=-Wl,-rpath="
|
||||
(assoc-ref %outputs "out") "/lib"))
|
||||
;; No 'check' target.
|
||||
#:tests? #f))))
|
||||
|
||||
(define-public wxwidgets-gtk2
|
||||
(package (inherit wxwidgets)
|
||||
(inputs `(("gtk+" ,gtk+-2)
|
||||
|
@ -126,6 +154,14 @@ and many other languages.")
|
|||
((#:configure-flags flags)
|
||||
`(cons "--enable-mediactrl" ,flags))))))
|
||||
|
||||
(define-public wxwidgets-gtk2-3.1
|
||||
(package (inherit wxwidgets-3.1)
|
||||
(inputs `(("gtk+" ,gtk+-2)
|
||||
,@(alist-delete
|
||||
"gtk+"
|
||||
(package-inputs wxwidgets-3.1))))
|
||||
(name "wxwidgets-gtk2")))
|
||||
|
||||
(define-public python2-wxpython
|
||||
(package
|
||||
(name "python2-wxpython")
|
||||
|
|
|
@ -4771,14 +4771,14 @@ common definitions and porting layer.")
|
|||
(define-public xorgproto
|
||||
(package
|
||||
(name "xorgproto")
|
||||
(version "2018.2")
|
||||
(version "2018.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://xorg/individual/proto/"
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0r3fk48vp24hk4viw4fjpyh0y7rdg13p5faxc0vicdyqcn5w02cp"))))
|
||||
"1rdhw28n1gp7yylwia41jhih66gfx75nxgrmi2ggglzvzqhwr0x8"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
;; To get util-macros in (almost?) all package inputs.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
|
||||
;;; Copyright © 2016 Sou Bunnbu <iyzsong@member.fsf.org>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -32,7 +32,8 @@
|
|||
#:use-module (ice-9 match)
|
||||
#:export (certbot-service-type
|
||||
certbot-configuration
|
||||
certbot-configuration?))
|
||||
certbot-configuration?
|
||||
certificate-configuration))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
|
@ -41,6 +42,16 @@
|
|||
;;; Code:
|
||||
|
||||
|
||||
(define-record-type* <certificate-configuration>
|
||||
certificate-configuration make-certificate-configuration
|
||||
certificate-configuration?
|
||||
(name certificate-configuration-name
|
||||
(default #f))
|
||||
(domains certificate-configuration-domains
|
||||
(default '()))
|
||||
(deploy-hook certificate-configuration-deploy-hook
|
||||
(default #f)))
|
||||
|
||||
(define-record-type* <certbot-configuration>
|
||||
certbot-configuration make-certbot-configuration
|
||||
certbot-configuration?
|
||||
|
@ -48,8 +59,11 @@
|
|||
(default certbot))
|
||||
(webroot certbot-configuration-webroot
|
||||
(default "/var/www"))
|
||||
(hosts certbot-configuration-hosts
|
||||
(certificates certbot-configuration-certificates
|
||||
(default '()))
|
||||
(email certbot-configuration-email)
|
||||
(rsa-key-size certbot-configuration-rsa-key-size
|
||||
(default #f))
|
||||
(default-location certbot-configuration-default-location
|
||||
(default
|
||||
(nginx-location-configuration
|
||||
|
@ -57,59 +71,75 @@
|
|||
(body
|
||||
(list "return 301 https://$host$request_uri;"))))))
|
||||
|
||||
(define certbot-renewal-jobs
|
||||
(define certbot-command
|
||||
(match-lambda
|
||||
(($ <certbot-configuration> package webroot hosts default-location)
|
||||
(match hosts
|
||||
;; Avoid pinging certbot if we have no hosts.
|
||||
(() '())
|
||||
(_
|
||||
(list
|
||||
;; Attempt to renew the certificates twice a week.
|
||||
#~(job (lambda (now)
|
||||
(next-day-from (next-hour-from now '(3))
|
||||
'(2 5)))
|
||||
(string-append #$package "/bin/certbot renew"
|
||||
(string-concatenate
|
||||
(map (lambda (host)
|
||||
(string-append " -d " host))
|
||||
'#$hosts))))))))))
|
||||
(($ <certbot-configuration> package webroot certificates email
|
||||
rsa-key-size default-location)
|
||||
(let* ((certbot (file-append package "/bin/certbot"))
|
||||
(rsa-key-size (and rsa-key-size (number->string rsa-key-size)))
|
||||
(commands
|
||||
(map
|
||||
(match-lambda
|
||||
(($ <certificate-configuration> custom-name domains
|
||||
deploy-hook)
|
||||
(let ((name (or custom-name (car domains))))
|
||||
(append
|
||||
(list name certbot "certonly" "-n" "--agree-tos"
|
||||
"-m" email
|
||||
"--webroot" "-w" webroot
|
||||
"--cert-name" name
|
||||
"-d" (string-join domains ","))
|
||||
(if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '())
|
||||
(if deploy-hook `("--deploy-hook" ,deploy-hook) '())))))
|
||||
certificates)))
|
||||
(program-file
|
||||
"certbot-command"
|
||||
#~(begin
|
||||
(use-modules (ice-9 match))
|
||||
(let ((code 0))
|
||||
(for-each
|
||||
(match-lambda
|
||||
((name . command)
|
||||
(begin
|
||||
(format #t "Acquiring or renewing certificate: ~a~%" name)
|
||||
(set! code (or (apply system* command) code)))))
|
||||
'#$commands) code)))))))
|
||||
|
||||
(define certbot-activation
|
||||
(match-lambda
|
||||
(($ <certbot-configuration> package webroot hosts default-location)
|
||||
(define (certbot-renewal-jobs config)
|
||||
(list
|
||||
;; Attempt to renew the certificates twice per day, at a random minute
|
||||
;; within the hour. See https://certbot.eff.org/all-instructions/.
|
||||
#~(job '(next-minute-from (next-hour '(0 12)) (list (random 60)))
|
||||
#$(certbot-command config))))
|
||||
|
||||
(define (certbot-activation config)
|
||||
(match config
|
||||
(($ <certbot-configuration> package webroot certificates email
|
||||
rsa-key-size default-location)
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(mkdir-p #$webroot)
|
||||
(for-each
|
||||
(lambda (host)
|
||||
(unless (file-exists? (in-vicinity "/etc/letsencrypt/live" host))
|
||||
(unless (zero? (system*
|
||||
(string-append #$certbot "/bin/certbot")
|
||||
"certonly" "--webroot" "-w" #$webroot
|
||||
"-d" host))
|
||||
(error "failed to acquire cert for host" host))))
|
||||
'#$hosts))))))
|
||||
(zero? (system* #$(certbot-command config))))))))
|
||||
|
||||
(define certbot-nginx-server-configurations
|
||||
(match-lambda
|
||||
(($ <certbot-configuration> package webroot hosts default-location)
|
||||
(map
|
||||
(lambda (host)
|
||||
(($ <certbot-configuration> package webroot certificates email
|
||||
rsa-key-size default-location)
|
||||
(list
|
||||
(nginx-server-configuration
|
||||
(listen '("80"))
|
||||
(listen '("80" "[::]:80"))
|
||||
(ssl-certificate #f)
|
||||
(ssl-certificate-key #f)
|
||||
(server-name (list host))
|
||||
(server-name
|
||||
(apply append (map certificate-configuration-domains certificates)))
|
||||
(locations
|
||||
(filter identity
|
||||
(list
|
||||
(nginx-location-configuration
|
||||
(uri "/.well-known")
|
||||
(body (list (list "root " webroot ";"))))
|
||||
default-location)))))
|
||||
hosts))))
|
||||
default-location))))))))
|
||||
|
||||
(define certbot-service-type
|
||||
(service-type (name 'certbot)
|
||||
|
@ -121,12 +151,13 @@
|
|||
(service-extension mcron-service-type
|
||||
certbot-renewal-jobs)))
|
||||
(compose concatenate)
|
||||
(extend (lambda (config additional-hosts)
|
||||
(extend (lambda (config additional-certificates)
|
||||
(certbot-configuration
|
||||
(inherit config)
|
||||
(hosts (append (certbot-configuration-hosts config)
|
||||
additional-hosts)))))
|
||||
(default-value (certbot-configuration))
|
||||
(certificates
|
||||
(append
|
||||
(certbot-configuration-certificates config)
|
||||
additional-certificates)))))
|
||||
(description
|
||||
"Automatically renew @url{https://letsencrypt.org, Let's
|
||||
Encrypt} HTTPS certificates by adjusting the nginx web server configuration
|
||||
|
|
|
@ -437,7 +437,9 @@ desktop session from the system or user profile will be used."
|
|||
(auto-login-session slim-configuration-auto-login-session
|
||||
(default #f))
|
||||
(startx slim-configuration-startx
|
||||
(default (xorg-start-command))))
|
||||
(default (xorg-start-command)))
|
||||
(sessreg slim-configuration-sessreg
|
||||
(default sessreg)))
|
||||
|
||||
(define (slim-pam-service config)
|
||||
"Return a PAM service for @command{slim}."
|
||||
|
@ -454,7 +456,8 @@ desktop session from the system or user profile will be used."
|
|||
(xauth (slim-configuration-xauth config))
|
||||
(startx (slim-configuration-startx config))
|
||||
(shepherd (slim-configuration-shepherd config))
|
||||
(theme-name (slim-configuration-theme-name config)))
|
||||
(theme-name (slim-configuration-theme-name config))
|
||||
(sessreg (slim-configuration-sessreg config)))
|
||||
(mixed-text-file "slim.cfg" "
|
||||
default_path /run/current-system/profile/bin
|
||||
default_xserver " startx "
|
||||
|
@ -467,6 +470,8 @@ authfile /var/run/slim.auth
|
|||
login_cmd exec " xinitrc " %session
|
||||
sessiondir /run/current-system/profile/share/xsessions
|
||||
session_msg session (F1 to change):
|
||||
sessionstart_cmd " sessreg "/bin/sessreg -a -l $DISPLAY %user
|
||||
sessionstop_cmd " sessreg "/bin/sessreg -d -l $DISPLAY %user
|
||||
|
||||
halt_cmd " shepherd "/sbin/halt
|
||||
reboot_cmd " shepherd "/sbin/reboot\n"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2018 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -141,6 +141,8 @@ COMMAND or an interactive shell in that environment.\n"))
|
|||
(display (G_ "
|
||||
-l, --load=FILE create environment for the package that the code within
|
||||
FILE evaluates to"))
|
||||
(display (G_ "
|
||||
-m, --manifest=FILE create environment with the manifest from FILE"))
|
||||
(display (G_ "
|
||||
--ad-hoc include all specified packages in the environment instead
|
||||
of only their inputs"))
|
||||
|
@ -220,6 +222,11 @@ COMMAND or an interactive shell in that environment.\n"))
|
|||
(alist-cons 'expression
|
||||
(tag-package-arg result arg)
|
||||
result)))
|
||||
(option '(#\m "manifest") #t #f
|
||||
(lambda (opt name arg result)
|
||||
(alist-cons 'manifest
|
||||
arg
|
||||
result)))
|
||||
(option '("ad-hoc") #f #f
|
||||
(lambda (opt name arg result)
|
||||
(alist-cons 'ad-hoc? #t result)))
|
||||
|
@ -286,6 +293,16 @@ packages."
|
|||
(((? package-or-package+output?) ...) ; many packages
|
||||
(map (cut package->output <> mode) packages))))
|
||||
|
||||
(define (manifest->outputs manifest)
|
||||
(map (lambda (entry)
|
||||
(cons 'ad-hoc-package ; manifests are implicitly ad-hoc
|
||||
(if (package? (manifest-entry-item entry))
|
||||
(list (manifest-entry-item entry)
|
||||
(manifest-entry-output entry))
|
||||
;; Direct store paths have no output.
|
||||
(list (manifest-entry-item entry)))))
|
||||
(manifest-entries manifest)))
|
||||
|
||||
(compact
|
||||
(append-map (match-lambda
|
||||
(('package mode (? string? spec))
|
||||
|
@ -299,6 +316,9 @@ packages."
|
|||
;; Add all the outputs of the package defined in FILE.
|
||||
(let ((module (make-user-module '())))
|
||||
(packages->outputs (load* file module) mode)))
|
||||
(('manifest . file)
|
||||
(let ((module (make-user-module '())))
|
||||
(manifest->outputs (load* file module))))
|
||||
(_ '(#f)))
|
||||
opts)))
|
||||
|
||||
|
|
|
@ -62,6 +62,15 @@ fi
|
|||
guix environment --bootstrap --ad-hoc guile-bootstrap --pure \
|
||||
-- "$SHELL" -c 'test -f "$GUIX_ENVIRONMENT/bin/guile"'
|
||||
|
||||
# Make sure 'GUIX_ENVIRONMENT' points to the profile when building from a
|
||||
# manifest.
|
||||
echo "(use-modules (guix profiles) (gnu packages bootstrap))
|
||||
|
||||
(packages->manifest (list %bootstrap-guile))
|
||||
" > $tmpdir/manifest.scm
|
||||
guix environment --bootstrap --manifest=$tmpdir/manifest.scm --pure \
|
||||
-- "$SHELL" -c 'test -f "$GUIX_ENVIRONMENT/bin/guile"'
|
||||
|
||||
# Make sure '-r' works as expected.
|
||||
rm -f "$gcroot"
|
||||
expected="`guix environment --bootstrap --ad-hoc guile-bootstrap \
|
||||
|
|
Loading…
Reference in New Issue