Merge branch 'master' into core-updates

Conflicts:
	gnu/packages/cups.scm
	gnu/packages/python-web.scm
	gnu/packages/web.scm
	guix/build/maven/pom.scm
This commit is contained in:
Tobias Geerinckx-Rice 2021-06-23 18:45:21 +02:00
commit 9dea3f101f
No known key found for this signature in database
GPG Key ID: 0DB0FF884F556D79
72 changed files with 2096 additions and 751 deletions

View File

@ -23,7 +23,7 @@
"39B3 3C8D 9448 0D2D DCC2 A498 8B44 A0CD C7B9 56F2" "39B3 3C8D 9448 0D2D DCC2 A498 8B44 A0CD C7B9 56F2"
(name "bandali")) (name "bandali"))
(;; primary: "34FF 38BC D151 25A6 E340 A0B5 3453 2F9F AFCA 8B8E" (;; primary: "34FF 38BC D151 25A6 E340 A0B5 3453 2F9F AFCA 8B8E"
"A0C5 E352 2EF8 EF5C 64CD B7F0 FD73 CAC7 19D3 2566" "A3A4 B419 0074 087C A7DE 5698 BC45 CA67 E2F8 D007"
(name "bavier")) (name "bavier"))
("45CC 63B8 5258 C9D5 5F34 B239 D37D 0EA7 CECC 3912" ("45CC 63B8 5258 C9D5 5F34 B239 D37D 0EA7 CECC 3912"
(name "biscuolo")) (name "biscuolo"))

View File

@ -3738,7 +3738,7 @@ other substitute server.
@cindex access control list (ACL), for substitutes @cindex access control list (ACL), for substitutes
@cindex ACL (access control list), for substitutes @cindex ACL (access control list), for substitutes
To allow Guix to download substitutes from @code{@value{SUBSTITUTE-SERVER-1}}, @code{@value{SUBSTITUTE-SERVER-2}} or a mirror, you To allow Guix to download substitutes from @code{@value{SUBSTITUTE-SERVER-1}}, @code{@value{SUBSTITUTE-SERVER-2}} or a mirror, you
must add the releavnt public key to the access control list (ACL) of archive must add the relevant public key to the access control list (ACL) of archive
imports, using the @command{guix archive} command (@pxref{Invoking guix imports, using the @command{guix archive} command (@pxref{Invoking guix
archive}). Doing so implies that you trust the substitute server to not archive}). Doing so implies that you trust the substitute server to not
be compromised and to serve genuine substitutes. be compromised and to serve genuine substitutes.
@ -17100,7 +17100,7 @@ shell daemon, @command{sshd}. Its value must be an
(service openssh-service-type (service openssh-service-type
(openssh-configuration (openssh-configuration
(x11-forwarding? #t) (x11-forwarding? #t)
(permit-root-login 'without-password) (permit-root-login 'prohibit-password)
(authorized-keys (authorized-keys
`(("alice" ,(local-file "alice.pub")) `(("alice" ,(local-file "alice.pub"))
("bob" ,(local-file "bob.pub")))))) ("bob" ,(local-file "bob.pub"))))))
@ -17134,7 +17134,7 @@ TCP port on which @command{sshd} listens for incoming connections.
@item @code{permit-root-login} (default: @code{#f}) @item @code{permit-root-login} (default: @code{#f})
This field determines whether and when to allow logins as root. If This field determines whether and when to allow logins as root. If
@code{#f}, root logins are disallowed; if @code{#t}, they are allowed. @code{#f}, root logins are disallowed; if @code{#t}, they are allowed.
If it's the symbol @code{'without-password}, then root logins are If it's the symbol @code{'prohibit-password}, then root logins are
permitted but not with password-based authentication. permitted but not with password-based authentication.
@item @code{allow-empty-passwords?} (default: @code{#f}) @item @code{allow-empty-passwords?} (default: @code{#f})
@ -18735,12 +18735,6 @@ Specifies whether to support HTTP keep-alive connections.
Defaults to @samp{#t}. Defaults to @samp{#t}.
@end deftypevr @end deftypevr
@deftypevr {@code{cups-configuration} parameter} non-negative-integer keep-alive-timeout
Specifies how long an idle client connection remains open, in seconds.
Defaults to @samp{30}.
@end deftypevr
@deftypevr {@code{cups-configuration} parameter} non-negative-integer limit-request-body @deftypevr {@code{cups-configuration} parameter} non-negative-integer limit-request-body
Specifies the maximum size of print files, IPP requests, and HTML form Specifies the maximum size of print files, IPP requests, and HTML form
data. A limit of 0 disables the limit check. data. A limit of 0 disables the limit check.
@ -18967,7 +18961,7 @@ Specifies an access list for a job's private values. @code{@@ACL} maps
to the printer's requesting-user-name-allowed or to the printer's requesting-user-name-allowed or
requesting-user-name-denied values. @code{@@OWNER} maps to the job's requesting-user-name-denied values. @code{@@OWNER} maps to the job's
owner. @code{@@SYSTEM} maps to the groups listed for the owner. @code{@@SYSTEM} maps to the groups listed for the
@code{system-group} field of the @code{files-config} configuration, @code{system-group} field of the @code{files-configuration},
which is reified into the @code{cups-files.conf(5)} file. Other which is reified into the @code{cups-files.conf(5)} file. Other
possible elements of the access list include specific user names, and possible elements of the access list include specific user names, and
@code{@@@var{group}} to indicate members of a specific group. The @code{@@@var{group}} to indicate members of a specific group. The
@ -18989,7 +18983,7 @@ Specifies an access list for a subscription's private values.
@code{@@ACL} maps to the printer's requesting-user-name-allowed or @code{@@ACL} maps to the printer's requesting-user-name-allowed or
requesting-user-name-denied values. @code{@@OWNER} maps to the job's requesting-user-name-denied values. @code{@@OWNER} maps to the job's
owner. @code{@@SYSTEM} maps to the groups listed for the owner. @code{@@SYSTEM} maps to the groups listed for the
@code{system-group} field of the @code{files-config} configuration, @code{system-group} field of the @code{files-configuration},
which is reified into the @code{cups-files.conf(5)} file. Other which is reified into the @code{cups-files.conf(5)} file. Other
possible elements of the access list include specific user names, and possible elements of the access list include specific user names, and
@code{@@@var{group}} to indicate members of a specific group. The @code{@@@var{group}} to indicate members of a specific group. The
@ -29369,7 +29363,7 @@ cluster node that supports multiple storage backends, and installs the
;; Ganeti uses SSH to communicate between nodes. ;; Ganeti uses SSH to communicate between nodes.
(service openssh-service-type (service openssh-service-type
(openssh-configuration (openssh-configuration
(permit-root-login 'without-password))) (permit-root-login 'prohibit-password)))
(service ganeti-service-type (service ganeti-service-type
(ganeti-configuration (ganeti-configuration

View File

@ -29,7 +29,6 @@
system-service-packages system-service-packages
desktop-system-service? desktop-system-service?
networking-system-service?
%system-services %system-services
system-services->configuration)) system-services->configuration))
@ -38,7 +37,7 @@
system-service make-system-service system-service make-system-service
system-service? system-service?
(name system-service-name) ;string (name system-service-name) ;string
(type system-service-type) ;'desktop | 'networking (type system-service-type) ;'desktop|'networking|…
(recommended? system-service-recommended? ;Boolean (recommended? system-service-recommended? ;Boolean
(default #f)) (default #f))
(snippet system-service-snippet ;list of sexps (snippet system-service-snippet ;list of sexps
@ -46,7 +45,6 @@
(packages system-service-packages ;list of sexps (packages system-service-packages ;list of sexps
(default '()))) (default '())))
;; This is the list of desktop environments supported as services.
(define %system-services (define %system-services
(let-syntax ((desktop-environment (syntax-rules () (let-syntax ((desktop-environment (syntax-rules ()
((_ fields ...) ((_ fields ...)
@ -56,6 +54,7 @@
(G_ (syntax-rules () ;for xgettext (G_ (syntax-rules () ;for xgettext
((_ str) str)))) ((_ str) str))))
(list (list
;; This is the list of desktop environments supported as services.
(desktop-environment (desktop-environment
(name "GNOME") (name "GNOME")
(snippet '((service gnome-desktop-service-type)))) (snippet '((service gnome-desktop-service-type))))
@ -124,10 +123,6 @@
"Return true if SERVICE is a desktop environment service." "Return true if SERVICE is a desktop environment service."
(eq? 'desktop (system-service-type service))) (eq? 'desktop (system-service-type service)))
(define (networking-system-service? service)
"Return true if SERVICE is a desktop environment service."
(eq? 'networking (system-service-type service)))
(define (system-services->configuration services) (define (system-services->configuration services)
"Return the configuration field for SERVICES." "Return the configuration field for SERVICES."
(let* ((snippets (append-map system-service-snippet services)) (let* ((snippets (append-map system-service-snippet services))

View File

@ -934,6 +934,7 @@ dist_patch_DATA = \
%D%/packages/patches/crda-optional-gcrypt.patch \ %D%/packages/patches/crda-optional-gcrypt.patch \
%D%/packages/patches/clucene-contribs-lib.patch \ %D%/packages/patches/clucene-contribs-lib.patch \
%D%/packages/patches/cube-nocheck.patch \ %D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/cups-CVE-2020-10001.patch \
%D%/packages/patches/curl-use-ssl-cert-env.patch \ %D%/packages/patches/curl-use-ssl-cert-env.patch \
%D%/packages/patches/curl-7.77-tls-priority-string.patch \ %D%/packages/patches/curl-7.77-tls-priority-string.patch \
%D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cursynth-wave-rand.patch \
@ -1358,7 +1359,6 @@ dist_patch_DATA = \
%D%/packages/patches/lierolibre-remove-arch-warning.patch \ %D%/packages/patches/lierolibre-remove-arch-warning.patch \
%D%/packages/patches/lierolibre-try-building-other-arch.patch \ %D%/packages/patches/lierolibre-try-building-other-arch.patch \
%D%/packages/patches/linbox-fix-pkgconfig.patch \ %D%/packages/patches/linbox-fix-pkgconfig.patch \
%D%/packages/patches/linkchecker-tests-require-network.patch \
%D%/packages/patches/linphone-desktop-without-sdk.patch \ %D%/packages/patches/linphone-desktop-without-sdk.patch \
%D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \ %D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \
%D%/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch \ %D%/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch \
@ -1717,6 +1717,7 @@ dist_patch_DATA = \
%D%/packages/patches/tipp10-qt5.patch \ %D%/packages/patches/tipp10-qt5.patch \
%D%/packages/patches/tk-find-library.patch \ %D%/packages/patches/tk-find-library.patch \
%D%/packages/patches/tla2tools-build-xml.patch \ %D%/packages/patches/tla2tools-build-xml.patch \
%D%/packages/patches/tlf-support-hamlib-4.2+.patch \
%D%/packages/patches/tor-fix-build-with-gcc-7.patch \ %D%/packages/patches/tor-fix-build-with-gcc-7.patch \
%D%/packages/patches/transcode-ffmpeg.patch \ %D%/packages/patches/transcode-ffmpeg.patch \
%D%/packages/patches/transmission-honor-localedir.patch \ %D%/packages/patches/transmission-honor-localedir.patch \

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org> ;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -256,7 +257,7 @@ cat > /etc/bootstrap-config.scm << EOF
(service openssh-service-type (service openssh-service-type
(openssh-configuration (openssh-configuration
(log-level 'debug) (log-level 'debug)
(permit-root-login 'without-password)))) (permit-root-login 'prohibit-password))))
%base-services))) %base-services)))
EOF EOF
# guix pull # guix pull

View File

@ -42,6 +42,7 @@
;;; Copyright © 2021 Hyunseok Kim <lasnesne@lagunposprasihopre.org> ;;; Copyright © 2021 Hyunseok Kim <lasnesne@lagunposprasihopre.org>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz> ;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;; Copyright © 2021 WinterHound <winterhound@yandex.com> ;;; Copyright © 2021 WinterHound <winterhound@yandex.com>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1333,14 +1334,14 @@ network statistics collection, security monitoring, network debugging, etc.")
(define-public tcpdump (define-public tcpdump
(package (package
(name "tcpdump") (name "tcpdump")
(version "4.99.0") (version "4.99.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.tcpdump.org/release/tcpdump-" (uri (string-append "https://www.tcpdump.org/release/tcpdump-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0hmqh2fx8rgs9v1mk3vpywj61xvkifz260q685xllxr8jmxg3wlc")))) "1ghfs5gifzrk3813zf9zalfbjs70wg6llz6q31k180r7zf2nkcvr"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("libpcap" ,libpcap) (inputs `(("libpcap" ,libpcap)
("openssl" ,openssl))) ("openssl" ,openssl)))
@ -1712,18 +1713,27 @@ commands and their arguments.")
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "GNUmakefile"
(("^\tchown.*$") ""))
;; OpenDoas look for binaries in safepath when a rule specify a
;; relative command, such as “permit keepenv :wheel cmd guix”.
(substitute* "doas.c"
(("safepath =" match)
(string-append match " \""
"/run/setuid-programs:"
"/run/current-system/profile/bin:"
"/run/current-system/profile/sbin:"
"\" ")))
#t))
(replace 'configure (replace 'configure
;; The configure script doesn't accept most of the default flags. ;; The configure script doesn't accept most of the default flags.
(lambda* (#:key configure-flags #:allow-other-keys) (lambda* (#:key configure-flags #:allow-other-keys)
;; The configure script can be told which compiler to use only ;; The configure script can be told which compiler to use only
;; through environment variables. ;; through environment variables.
(setenv "CC" ,(cc-for-target)) (setenv "CC" ,(cc-for-target))
(apply invoke "./configure" configure-flags))) (apply invoke "./configure" configure-flags))))
(add-before 'install 'fix-makefile
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "GNUmakefile"
(("^\tchown.*$") ""))
#t)))
#:configure-flags #:configure-flags
(list (string-append "--prefix=" (assoc-ref %outputs "out")) (list (string-append "--prefix=" (assoc-ref %outputs "out"))
"--with-timestamp") "--with-timestamp")

View File

@ -76,7 +76,7 @@
(define-public mpfrcx (define-public mpfrcx
(package (package
(name "mpfrcx") (name "mpfrcx")
(version "0.6.1") (version "0.6.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -84,7 +84,7 @@
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0gk2l40awp3q1lh828dhcjshcldy3b1l2v51glaq0lj1h7w34sin")))) "165syd6kihwp6bry9hvr3v0908cgadsz5w5h5ry4mjnchrklnb7w"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
`(("gmp" ,gmp) `(("gmp" ,gmp)

View File

@ -85,6 +85,7 @@
#:use-module (gnu packages icu4c) #:use-module (gnu packages icu4c)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages libbsd) #:use-module (gnu packages libbsd)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libusb) #:use-module (gnu packages libusb)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
@ -2427,6 +2428,98 @@ included are the command line utilities @code{send_osc} and @code{dump_osc}.")
(define-public python2-pyliblo (define-public python2-pyliblo
(package-with-python2 python-pyliblo)) (package-with-python2 python-pyliblo))
(define-public python-soundfile
(package
(name "python-soundfile")
(version "0.10.3.post1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "SoundFile" version))
(sha256
(base32
"0yqhrfz7xkvqrwdxdx2ydy4h467sk7z3gf984y1x2cq7cm1gy329"))))
(build-system python-build-system)
(propagated-inputs
`(("python-cffi" ,python-cffi)
("python-numpy" ,python-numpy)
("libsndfile" ,libsndfile)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(arguments
`(#:tests? #f ; missing OGG support
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "soundfile.py"
(("_find_library\\('sndfile'\\)")
(string-append "\"" (assoc-ref inputs "libsndfile")
"/lib/libsndfile.so\""))))))))
(home-page "https://github.com/bastibe/SoundFile")
(synopsis "Python bindings for libsndfile")
(description "This package provides python bindings for libsndfile based on
CFFI and NumPy.")
(license license:expat)))
(define-public python-python3-midi
(package
(name "python-python3-midi")
(version "0.2.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python3_midi" version))
(sha256
(base32
"1z9j1w7mpn3xhkcpxmqm5rvmj6nffb5rf14bv7n3sdh07nf6n7sf"))))
(build-system python-build-system)
(home-page "https://github.com/NFJones/python3-midi")
(synopsis "Python MIDI API")
(description "This package provides a python API to read and write MIDI
files.")
(license license:expat)))
(define-public audio-to-midi
(package
(name "audio-to-midi")
(version "2020.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/NFJones/audio-to-midi")
(commit (string-append "v" version))))
(sha256
(base32
"12wf17abn3psbsg2r2lk0xdnk8n5cd5rrvjlpxjnjfhd09n7qqgm"))))
(build-system python-build-system)
(propagated-inputs
`(("python-cffi" ,python-cffi)
("python-cython" ,python-cython)
("python-numpy" ,python-numpy)
("python-progressbar2" ,python-progressbar2)
("python-pycparser" ,python-pycparser)
("python-python3-midi" ,python-python3-midi)
("python-soundfile" ,python-soundfile)))
(native-inputs
`(("libsndfile" ,libsndfile)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-versions
(lambda _
(substitute* "requirements.txt" (("==") ">=")))))))
(home-page "https://github.com/NFJones/audio-to-midi")
(synopsis "Convert audio to multichannel MIDI.")
(description "@command{audio-to-midi} converts audio files to multichannel
MIDI files. It accomplishes this by performing FFTs on all channels of the
audio data at user-specified time steps. It then separates the resulting
frequency analysis into equivalence classes which correspond to the twelve tone
scale; the volume of each class being the average volume of its constituent
frequencies. This data is then formatted to MIDI and written to disk.")
(license license:expat)))
(define-public lilv (define-public lilv
(package (package
(name "lilv") (name "lilv")

View File

@ -451,7 +451,7 @@ rdiff-backup is easy to use and settings have sensible defaults.")
(define-public rsnapshot (define-public rsnapshot
(package (package
(name "rsnapshot") (name "rsnapshot")
(version "1.4.3") (version "1.4.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -459,7 +459,7 @@ rdiff-backup is easy to use and settings have sensible defaults.")
"https://github.com/rsnapshot/rsnapshot/releases/download/" "https://github.com/rsnapshot/rsnapshot/releases/download/"
version "/rsnapshot-" version ".tar.gz")) version "/rsnapshot-" version ".tar.gz"))
(sha256 (sha256
(base32 "1lavqmmsf53pim0nvming7fkng6p0nk2a51k2c2jdq0l7snpl31b")))) (base32 "0yc5k2fhm54ypxgm1fsaf8vrg5b7qbvbsqk371n6baf592vprjy1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View File

@ -6205,6 +6205,80 @@ classification (assignment) methods. It also contains a Shiny application for
interactive exploration of results.") interactive exploration of results.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public r-residualmatrix
(package
(name "r-residualmatrix")
(version "1.2.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ResidualMatrix" version))
(sha256
(base32
"0p7va19aw0j6anx7ck879kbi5cn7dy712h5ia94adr38ssismv1v"))))
(properties
`((upstream-name . "ResidualMatrix")))
(build-system r-build-system)
(propagated-inputs
`(("r-delayedarray" ,r-delayedarray)
("r-matrix" ,r-matrix)
("r-s4vectors" ,r-s4vectors)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/LTLA/ResidualMatrix")
(synopsis "Create a DelayedMatrix of regression residuals")
(description
"This package implements tools for delayed computation of a matrix of
residuals after fitting a linear model to each column of an input matrix. It
also supports partial computation of residuals where selected factors are to
be preserved in the output matrix. It implements a number of efficient
methods for operating on the delayed matrix of residuals, most notably matrix
multiplication and calculation of row/column sums or means.")
(license license:gpl3)))
(define-public r-batchelor
(package
(name "r-batchelor")
(version "1.8.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "batchelor" version))
(sha256
(base32
"1xm204wp3m3mmlc1s59lscbbjvwm5nj32vvf16njcg7pb32lsiqa"))))
(properties `((upstream-name . "batchelor")))
(build-system r-build-system)
(propagated-inputs
`(("r-beachmat" ,r-beachmat)
("r-biocgenerics" ,r-biocgenerics)
("r-biocneighbors" ,r-biocneighbors)
("r-biocparallel" ,r-biocparallel)
("r-biocsingular" ,r-biocsingular)
("r-delayedarray" ,r-delayedarray)
("r-delayedmatrixstats" ,r-delayedmatrixstats)
("r-igraph" ,r-igraph)
("r-matrix" ,r-matrix)
("r-rcpp" ,r-rcpp)
("r-residualmatrix" ,r-residualmatrix)
("r-s4vectors" ,r-s4vectors)
("r-scaledmatrix" ,r-scaledmatrix)
("r-scuttle" ,r-scuttle)
("r-singlecellexperiment" ,r-singlecellexperiment)
("r-summarizedexperiment" ,r-summarizedexperiment)))
(native-inputs `(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/batchelor")
(synopsis "Single-Cell Batch Correction Methods")
(description
"This package implements a variety of methods for batch correction of
single-cell (RNA sequencing) data. This includes methods based on detecting
mutually nearest neighbors, as well as several efficient variants of linear
regression of the log-expression values. Functions are also provided to
perform global rescaling to remove differences in depth between batches, and
to perform a principal components analysis that is robust to differences in
the numbers of cells across batches.")
(license license:gpl3)))
(define-public r-mast (define-public r-mast
(package (package
(name "r-mast") (name "r-mast")
@ -6297,10 +6371,44 @@ tasks on single cell expression data. It is designed to work with RNA-Seq and
qPCR data, but could be used with other types as well.") qPCR data, but could be used with other types as well.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-leidenbase
(let ((commit "430f22af6982cc7d2e6e77f6b0df47bc970dcbce")
(revision "1"))
(package
(name "r-leidenbase")
(version (git-version "0.1.3" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cole-trapnell-lab/leidenbase")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0ylqsmdpv4xq6f6ldxvwkhk33a9i1jcgk60zvksk3iplykfzd6c0"))))
(properties `((upstream-name . "leidenbase")))
(build-system r-build-system)
(inputs
`(("zlib" ,zlib)))
(native-inputs
`(("gfortran" ,gfortran)))
(propagated-inputs
`(("r-igraph" ,r-igraph)))
(home-page "https://github.com/cole-trapnell-lab/leidenbase")
(synopsis "R and C wrappers to run the Leiden find_partition function")
(description
"This package provides an R to C interface that runs the Leiden
community detection algorithm to find a basic partition. It runs the
equivalent of the @code{find_partition} function. This package includes the
required source code files from the official Leidenalg distribution and
several functions from the R igraph package.")
(license license:gpl3+))))
(define-public r-monocle3 (define-public r-monocle3
(package (package
(name "r-monocle3") (name "r-monocle3")
(version "0.1.2") (version "1.0.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -6310,10 +6418,12 @@ qPCR data, but could be used with other types as well.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1cjxqfw3qvy269hsf5v80d4kshl932wrl949iayas02saj6f70ls")))) "16vpvlbms8fdvpfwzcig0rkg2mxnsq1h80d2l7q3953wm91qc9x4"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-biobase" ,r-biobase) `(("r-assertthat" ,r-assertthat)
("r-batchelor" ,r-batchelor)
("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics) ("r-biocgenerics" ,r-biocgenerics)
("r-delayedmatrixstats" ,r-delayedmatrixstats) ("r-delayedmatrixstats" ,r-delayedmatrixstats)
("r-dplyr" ,r-dplyr) ("r-dplyr" ,r-dplyr)
@ -6323,6 +6433,7 @@ qPCR data, but could be used with other types as well.")
("r-htmlwidgets" ,r-htmlwidgets) ("r-htmlwidgets" ,r-htmlwidgets)
("r-igraph" ,r-igraph) ("r-igraph" ,r-igraph)
("r-irlba" ,r-irlba) ("r-irlba" ,r-irlba)
("r-leidenbase" ,r-leidenbase)
("r-limma" ,r-limma) ("r-limma" ,r-limma)
("r-lmtest" ,r-lmtest) ("r-lmtest" ,r-lmtest)
("r-mass" ,r-mass) ("r-mass" ,r-mass)
@ -6342,6 +6453,7 @@ qPCR data, but could be used with other types as well.")
("r-reshape2" ,r-reshape2) ("r-reshape2" ,r-reshape2)
("r-reticulate" ,r-reticulate) ("r-reticulate" ,r-reticulate)
("r-rhpcblasctl" ,r-rhpcblasctl) ("r-rhpcblasctl" ,r-rhpcblasctl)
("r-rsample" ,r-rsample)
("r-rtsne" ,r-rtsne) ("r-rtsne" ,r-rtsne)
("r-shiny" ,r-shiny) ("r-shiny" ,r-shiny)
("r-slam" ,r-slam) ("r-slam" ,r-slam)

View File

@ -11894,6 +11894,30 @@ options), bedgraph, links (represented as arcs), and Hi-C matrices.
pyGenomeTracks can make plots with or without Hi-C data.") pyGenomeTracks can make plots with or without Hi-C data.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-iced
(package
(name "python-iced")
(version "0.5.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "iced" version))
(sha256
(base32
"1avcjmpyyvhgbj5qca4l70ipiz7j3xmcw9p6rd9c06j99faa0r71"))))
(build-system python-build-system)
(arguments `(#:tests? #false)) ; there are none
(propagated-inputs
`(("python-numpy" ,python-numpy)
("python-pandas" ,python-pandas)
("python-scipy" ,python-scipy)
("python-scikit-learn" ,python-scikit-learn)))
(home-page "https://github.com/hiclib/iced")
(synopsis "ICE normalization")
(description "This is a package for normalizing Hi-C contact counts
efficiently.")
(license license:bsd-3)))
(define-public python-hic2cool (define-public python-hic2cool
(package (package
(name "python-hic2cool") (name "python-hic2cool")
@ -14175,6 +14199,100 @@ researchers to design and build computational workflows for the analysis of
large-scale data-analysis.") large-scale data-analysis.")
(license license:expat))) (license license:expat)))
(define-public perl-cworld-dekker
(package
(name "perl-cworld-dekker")
(version "1.01")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dekkerlab/cworld-dekker.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1dvh23fx52m59y6304xi2j2pl2hiqadlqg8jyv2pm14j1hy71ych"))))
(build-system perl-build-system)
(arguments
`(#:modules ((guix build perl-build-system)
(guix build utils)
(srfi srfi-26))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'hardcode-references
(lambda* (#:key inputs #:allow-other-keys)
(let ((bedtools (assoc-ref inputs "bedtools"))
(r (assoc-ref inputs "r-minimal")))
(substitute* '("scripts/python/getEigenVectors.py"
"scripts/python/matrix2EigenVectors.py")
(("bedtools intersect")
(string-append bedtools "/bin/bedtools intersect")))
(substitute* "lib/cworld/dekker.pm"
(("bedtools --version")
(string-append bedtools "/bin/bedtools --version")))
(substitute* '("scripts/perl/correlateMatrices.pl"
"scripts/perl/matrix2scaling.pl"
"scripts/perl/matrix2distance.pl"
"scripts/perl/coverageCorrect.pl"
"scripts/perl/matrix2anchorPlot.pl"
"scripts/python/matrix2EigenVectors.py"
"scripts/python/matrix2insulation-lite.py"
"scripts/perl/matrix2compartment.pl"
"scripts/perl/anchorPurge.pl"
"scripts/perl/applyCorrection.pl"
"scripts/perl/compareInsulation.pl"
"scripts/perl/fillMissingData.pl"
"scripts/perl/matrix2loess.pl"
"scripts/python/getEigenVectors.py"
"scripts/perl/aggregateBED.pl"
"scripts/perl/collapseMatrix.pl"
"scripts/perl/matrix2direction.pl"
"scripts/perl/singletonRemoval.pl"
"lib/cworld/dekker.pm"
"scripts/perl/matrix2insulation.pl")
(("(`|\")Rscript" _ pre)
(string-append pre r "/bin/Rscript"))))))
(add-after 'install 'install-scripts
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/cworld-dekker")))
(mkdir-p share)
(copy-recursively "scripts" share)
;; Make all scripts executable and wrap them.
(let ((r (find-files share "\\.R$"))
(py (find-files share "\\.py$"))
(pl (find-files share "\\.pl$"))
(wrap (lambda* (script var #:optional (extra ""))
(let ((path (string-append (getenv var)
extra)))
(wrap-program script
`(,var ":" prefix (,path)))))))
(for-each (cut chmod <> #o555) (append r py pl))
(for-each (cut wrap <> "PERL5LIB"
(string-append ":" out
"/lib/perl5/site_perl"))
pl)
(for-each (cut wrap <> "PYTHONPATH") py))))))))
(inputs
`(("libgd" ,gd)
("perl-gd" ,perl-gd)
("bedtools" ,bedtools)
("python" ,python-wrapper)
("python-scipy" ,python-scipy)
("python-numpy" ,python-numpy)
("python-matplotlib" ,python-matplotlib)
("python-h5py" ,python-h5py)
("python-scikit-learn" ,python-scikit-learn)
("r-minimal" ,r-minimal)))
(native-inputs
`(("perl-module-build" ,perl-module-build)))
(home-page "https://github.com/dekkerlab/cworld-dekker")
(synopsis "Utility and analysis scripts for 3C, 4C, 5C, and Hi-C data")
(description "This package is a collection of Perl, Python, and R
scripts for manipulating 3C/4C/5C/Hi-C data.")
(license license:asl2.0)))
(define-public ensembl-vep (define-public ensembl-vep
(let* ((api-version "103") (let* ((api-version "103")
(api-module (api-module
@ -14195,6 +14313,7 @@ large-scale data-analysis.")
(uri (git-reference (uri (git-reference
(url "https://github.com/Ensembl/ensembl-vep.git") (url "https://github.com/Ensembl/ensembl-vep.git")
(commit (string-append "release/" version)))) (commit (string-append "release/" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1iq7p72cv9b38jz2v8a4slzy2n8y0md487943180ym9xc8qvw09c")))) "1iq7p72cv9b38jz2v8a4slzy2n8y0md487943180ym9xc8qvw09c"))))

View File

@ -49,7 +49,7 @@ supported content to the Kodi media center.")
(make-chromium-extension play-to-kodi)) (make-chromium-extension play-to-kodi))
(define uassets (define uassets
(let ((commit "f521473026f5f60cc753fa4a533af41badfc700e")) (let ((commit "20d21ad7e92539660c7cde4c5884b3e234854264"))
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -58,12 +58,12 @@ supported content to the Kodi media center.")
(file-name (git-file-name "uAssets" (string-take commit 9))) (file-name (git-file-name "uAssets" (string-take commit 9)))
(sha256 (sha256
(base32 (base32
"0ms0xxj6rcfkib33wjbki631wix17vvzr4m6z0phqmaj49bla4kz"))))) "1xcl4qnvjb4pv3fajpmycg1i0xqsah2qakhq2figvyrq991pldy1")))))
(define ublock-origin (define ublock-origin
(package (package
(name "ublock-origin") (name "ublock-origin")
(version "1.35.2") (version "1.36.0")
(home-page "https://github.com/gorhill/uBlock") (home-page "https://github.com/gorhill/uBlock")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -71,7 +71,7 @@ supported content to the Kodi media center.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0w4rfwgvkjvdfccxi9b4qhp0hylnd946diri19cp3fd72zkjlcky")))) "1r3aic18zkz8s3v1a2kffidp4swzbxnq0h8444bif9myjffnpxpj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("xpi" "firefox" "chromium")) (outputs '("xpi" "firefox" "chromium"))
(arguments (arguments

View File

@ -322,11 +322,11 @@
(string-append "ungoogled-chromium-" category "-" name)))) (string-append "ungoogled-chromium-" category "-" name))))
(sha256 (base32 hash)))) (sha256 (base32 hash))))
(define %chromium-version "91.0.4472.106") (define %chromium-version "91.0.4472.114")
(define %debian-revision "debian/90.0.4430.85-1") (define %debian-revision "debian/90.0.4430.85-1")
;; Note: use 'git describe --long' even for exact tags to placate the ;; Note: use 'git describe --long' even for exact tags to placate the
;; custom version format for ungoogled-chromium. ;; custom version format for ungoogled-chromium.
(define %ungoogled-revision "91.0.4472.101-1-2-gbd0ffd1") (define %ungoogled-revision "91.0.4472.114-1-0-ga9eb6fd")
(define %debian-patches (define %debian-patches
(list (debian-patch "fixes/nomerge.patch" (list (debian-patch "fixes/nomerge.patch"
@ -346,7 +346,7 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision)) (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256 (sha256
(base32 (base32
"0676wkk1zlccwwwk4hi8ifhrk2x5s66fi0amsj30b7lnydzwpfv9")))) "1xb5g3hybaiwn3y1zw1fxd3g0zwmvplrs06sdqnxzsr1qm8b874h"))))
(define %guix-patches (define %guix-patches
(list (local-file (list (local-file
@ -488,7 +488,7 @@
%chromium-version ".tar.xz")) %chromium-version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1fxy1l2dl0f6v8566lykcng18ma6fv4nlwxmdb0hh06fgp6khpjl")) "0wbyiwbdazgjjgj9vs56x26q3g9r80a57gfl0f2rfl1j7xwgxiy1"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet)))) (snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system) (build-system gnu-build-system)

View File

@ -17760,7 +17760,8 @@ colored by the number of neighboring points. This is useful to visualize the
(properties `((upstream-name . "arrow"))) (properties `((upstream-name . "arrow")))
(build-system r-build-system) (build-system r-build-system)
(inputs (inputs
`(("zlib" ,zlib))) `(("apache-arrow" ,apache-arrow "lib")
("zlib" ,zlib)))
(propagated-inputs (propagated-inputs
`(("r-assertthat" ,r-assertthat) `(("r-assertthat" ,r-assertthat)
("r-bit64" ,r-bit64) ("r-bit64" ,r-bit64)

View File

@ -18,6 +18,7 @@
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro> ;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;; Copyright © 2021 Antero Mejr <antero@kodmin.com> ;;; Copyright © 2021 Antero Mejr <antero@kodmin.com>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -4206,6 +4207,42 @@ c6e7d37. However, this package works only up to 128 bytes.")
(description "This library provides for encoding and decoding any base.") (description "This library provides for encoding and decoding any base.")
(license license:expat))) (license license:expat)))
(define-public rust-battery-0.7
(package
(name "rust-battery")
(version "0.7.8")
(source
(origin
(method url-fetch)
(uri (crate-uri "battery" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32 "1r1641dyks76p39i1iihswhc6iz5z51pihmpxniy1h1pi4k29dml"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ;; Tests fail with "No such file or directory".
#:cargo-inputs
(("rust-cfg-if" ,rust-cfg-if-1)
("rust-core-foundation"
,rust-core-foundation-0.7)
("rust-lazycell" ,rust-lazycell-1)
("rust-libc" ,rust-libc-0.2)
("rust-mach" ,rust-mach-0.3)
("rust-nix" ,rust-nix-0.19)
("rust-num-traits" ,rust-num-traits-0.2)
("rust-uom" ,rust-uom-0.30)
("rust-winapi" ,rust-winapi-0.3))
#:cargo-development-inputs
(("rust-approx" ,rust-approx-0.3)
("rust-tempfile" ,rust-tempfile-3))))
(home-page "https://github.com/svartalf/rust-battery")
(synopsis "Information about the notebook batteries")
(description
"@code{battery} provides a unified API to a notebook batteries state.")
;; Dual licensed, either license applies.
(license (list license:asl2.0 license:expat))))
(define-public rust-beef-0.5 (define-public rust-beef-0.5
(package (package
(name "rust-beef") (name "rust-beef")
@ -23160,7 +23197,7 @@ requires non-const function calls to be computed.")
(define-public rust-lazycell-1 (define-public rust-lazycell-1
(package (package
(name "rust-lazycell") (name "rust-lazycell")
(version "1.2.1") (version "1.3.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -23169,11 +23206,10 @@ requires non-const function calls to be computed.")
(string-append name "-" version ".tar.gz")) (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0gvqycmpv7parc98i6y64ai7rvxrn1947z2a6maa02g4kvxdd55j")))) "0m8gw7dn30i0zjjpjdyf6pc16c34nl71lpv461mix50x3p70h3c3"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:skip-build? #t `(#:cargo-inputs (("rust-clippy" ,rust-clippy-0.0))))
#:cargo-inputs (("rust-clippy" ,rust-clippy-0.0))))
(home-page "https://github.com/indiv0/lazycell") (home-page "https://github.com/indiv0/lazycell")
(synopsis "Lazily filled Cell struct") (synopsis "Lazily filled Cell struct")
(description (description
@ -24874,17 +24910,17 @@ lexer.")
"This package provides a collection of great and ubiqutitous macros.") "This package provides a collection of great and ubiqutitous macros.")
(license (list license:asl2.0 license:expat)))) (license (list license:asl2.0 license:expat))))
(define-public rust-mach-0.2 (define-public rust-mach-0.3
(package (package
(name "rust-mach") (name "rust-mach")
(version "0.2.3") (version "0.3.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "mach" version)) (uri (crate-uri "mach" version))
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 "1qdhs16cl1j3w7kvy6ak7h8lbyqmr6i3i15qfzpnv9gyrn3j9pc6")))) (base32 "0a895rhg3a1l3ws4qf83s5mx0g29v1fzgjmbag1h36v62hmg1vi8"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:skip-build? #t `(#:skip-build? #t
@ -24897,6 +24933,19 @@ lexer.")
Mach 3.0 kernel that underlies OSX.") Mach 3.0 kernel that underlies OSX.")
(license (list license:asl2.0 license:expat license:bsd-2)))) (license (list license:asl2.0 license:expat license:bsd-2))))
(define-public rust-mach-0.2
(package
(inherit rust-mach-0.3)
(name "rust-mach")
(version "0.2.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "mach" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1qdhs16cl1j3w7kvy6ak7h8lbyqmr6i3i15qfzpnv9gyrn3j9pc6"))))))
(define-public rust-mach-o-sys-0.1 (define-public rust-mach-o-sys-0.1
(package (package
(name "rust-mach-o-sys") (name "rust-mach-o-sys")
@ -29688,14 +29737,14 @@ system for OpenSSL.")
(define-public rust-openssl-sys-0.9 (define-public rust-openssl-sys-0.9
(package (package
(name "rust-openssl-sys") (name "rust-openssl-sys")
(version "0.9.60") (version "0.9.64")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "openssl-sys" version)) (uri (crate-uri "openssl-sys" version))
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 "1rpkfl0rmdcvxzyzp3n24g9clplh4avgzpi5c2a3hx96hcccf7wj")) (base32 "1bsim2zk69q1dw6rixn48l1ci8bmz5kvbkgsks2ci079w0pzr7i0"))
(patches (search-patches "rust-openssl-sys-no-vendor.patch")))) (patches (search-patches "rust-openssl-sys-no-vendor.patch"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
@ -51619,6 +51668,52 @@ untrusted inputs in Rust.")
(sha256 (sha256
(base32 "0byf88b7ca1kb5aap8f6npp6xncvg95dnma8ipmnmd4n9r5izkam")))))) (base32 "0byf88b7ca1kb5aap8f6npp6xncvg95dnma8ipmnmd4n9r5izkam"))))))
(define-public rust-uom-0.31
(package
(name "rust-uom")
(version "0.31.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "uom" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32 "0dwih0bclq18gfdf7if6kqip82w8yrf076l0ad1n3gr71bynpvmi"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-num-bigint" ,rust-num-bigint-0.3)
("rust-num-rational" ,rust-num-rational-0.3)
("rust-num-traits" ,rust-num-traits-0.2)
("rust-serde" ,rust-serde-1)
("rust-typenum" ,rust-typenum-1))
#:cargo-development-inputs
(("rust-approx" ,rust-approx-0.3)
("rust-quickcheck" ,rust-quickcheck-0.9)
("rust-serde-json" ,rust-serde-json-1)
("rust-static-assertions"
,rust-static-assertions-1))))
(home-page "https://github.com/iliekturtles/uom")
(synopsis "Units of measurement")
(description "Units of measurement is a crate that does automatic
type-safe zero-cost dimensional analysis.")
;; Dual-licensed, either license applies.
(license (list license:asl2.0 license:expat))))
(define-public rust-uom-0.30
(package
(inherit rust-uom-0.31)
(name "rust-uom")
(version "0.30.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "uom" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1vg59hnb7hh0p8kjjhgmrsnn3597722lkfdkp481wksq6vk06rg7"))))))
(define-public rust-url-2 (define-public rust-url-2
(package (package
(name "rust-url") (name "rust-url")

View File

@ -81,6 +81,7 @@
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages cmake) #:use-module (gnu packages cmake)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crypto) #:use-module (gnu packages crypto)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages cyrus-sasl)
@ -3640,7 +3641,7 @@ the SQL language using a syntax that reflects the resulting query.")
(define-public apache-arrow (define-public apache-arrow
(package (package
(name "apache-arrow") (name "apache-arrow")
(version "3.0.0") (version "4.0.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3650,21 +3651,22 @@ the SQL language using a syntax that reflects the resulting query.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"03ngddh3r1g6f9aja2jlfksgvgyzmxmfy4bxvzjrcv5fvl5x8ii0")))) "1lcd9gdpwlrr92rm812a5p4l6zx0arwd0zj72a4ga699s1psz8yv"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f `(#:tests? #f
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'enter-source-directory (add-before 'configure 'enter-source-directory
(lambda _ (chdir "cpp") #t)) (lambda _ (chdir "cpp")))
(add-after 'unpack 'set-env (add-after 'unpack 'set-env
(lambda _ (lambda _
(substitute* "cpp/cmake_modules/ThirdpartyToolchain.cmake"
(("set\\(xsimd_SOURCE.*") ""))
(setenv "BOOST_ROOT" (assoc-ref %build-inputs "boost")) (setenv "BOOST_ROOT" (assoc-ref %build-inputs "boost"))
(setenv "BROTLI_HOME" (assoc-ref %build-inputs "brotli")) (setenv "BROTLI_HOME" (assoc-ref %build-inputs "brotli"))
(setenv "FLATBUFFERS_HOME" (assoc-ref %build-inputs "flatbuffers")) (setenv "FLATBUFFERS_HOME" (assoc-ref %build-inputs "flatbuffers"))
(setenv "RAPIDJSON_HOME" (assoc-ref %build-inputs "rapidjson")) (setenv "RAPIDJSON_HOME" (assoc-ref %build-inputs "rapidjson")))))
#t)))
#:build-type "Release" #:build-type "Release"
#:configure-flags #:configure-flags
(list "-DARROW_PYTHON=ON" (list "-DARROW_PYTHON=ON"
@ -3686,6 +3688,7 @@ the SQL language using a syntax that reflects the resulting query.")
;; function, or using pkg-config for packages that do not ;; function, or using pkg-config for packages that do not
;; have this feature ;; have this feature
"-DARROW_DEPENDENCY_SOURCE=SYSTEM" "-DARROW_DEPENDENCY_SOURCE=SYSTEM"
"-Dxsimd_SOURCE=SYSTEM"
;; Split output into its component packages. ;; Split output into its component packages.
(string-append "-DCMAKE_INSTALL_PREFIX=" (string-append "-DCMAKE_INSTALL_PREFIX="
@ -3744,6 +3747,7 @@ the SQL language using a syntax that reflects the resulting query.")
("re2" ,re2) ("re2" ,re2)
("snappy" ,snappy) ("snappy" ,snappy)
("utf8proc" ,utf8proc) ("utf8proc" ,utf8proc)
("xsimd" ,xsimd)
("zlib" ,zlib) ("zlib" ,zlib)
("zstd" ,zstd "lib"))) ("zstd" ,zstd "lib")))
(native-inputs (native-inputs

View File

@ -20,6 +20,7 @@
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;; Copyright © 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2021 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org> ;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -46,6 +47,7 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages crypto) #:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup) #:use-module (gnu packages cryptsetup)
#:use-module (gnu packages databases)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages elf) #:use-module (gnu packages elf)
@ -1303,3 +1305,53 @@ like raw system image files, can be copied or flashed a lot faster and more
reliably with @code{bmaptool} than with traditional tools, like @code{dd} or reliably with @code{bmaptool} than with traditional tools, like @code{dd} or
@code{cp}.") @code{cp}.")
(license license:gpl2))) (license license:gpl2)))
(define-public duc
(package
(name "duc")
(version "1.4.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zevv/duc")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1i7ry25xzy027g6ysv6qlf09ax04q4vy0kikl8h0aq5jbxsl9q52"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(substitute* "src/duc/cmd-ui.c"
(("ncursesw/ncurses.h") "ncurses.h"))
(substitute* "examples/index.cgi"
(("/usr/local/bin/duc")
(string-append out "/bin/duc"))))))
(add-after 'install 'install-examples
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/" ,name "-" ,version)))
(copy-recursively "examples" (string-append doc "/examples"))))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(inputs
`(("cairo" ,cairo)
("pango" ,pango)
("tokyocabinet" ,tokyocabinet)
("ncurses" ,ncurses)))
(home-page "http://duc.zevv.nl")
(synopsis "Library and suite of tools for inspecting disk usage")
(description "Duc maintains a database of accumulated sizes of
directories of the file system, and allows you to query this database with
some tools, or create fancy graphs showing you where your bytes are.
Duc comes with console utilities, ncurses and X11 user interfaces and a CGI
wrapper for disk usage querying and visualisation.")
(license license:lgpl3+)))

View File

@ -817,7 +817,7 @@ Extensions} (DNSSEC).")
(define-public knot (define-public knot
(package (package
(name "knot") (name "knot")
(version "3.0.6") (version "3.0.7")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -826,7 +826,7 @@ Extensions} (DNSSEC).")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0mjgjx43yb3w688jw16g5m1724wb0wnv4y7di2rslrp0s11wl2a9")) (base32 "0ihd0lfh0r1nzz2di2rqkrx5j1017xv7m54irlhccx21inwv6g3y"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View File

@ -55,7 +55,7 @@
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com> ;;; Copyright © 2019 Stephen Webber <montokapro@gmail.com>
;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at> ;;; Copyright © 2019, 2021 Leo Prikler <leo.prikler@student.tugraz.at>
;;; Copyright © 2019 David Wilson <david@daviwil.com> ;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net> ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
@ -2050,14 +2050,14 @@ incrementally confined in Isearch manner.")
(define emacs-emms-print-metadata (define emacs-emms-print-metadata
(package (package
(name "emacs-emms-print-metadata") (name "emacs-emms-print-metadata")
(version "7.4") (version "7.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/" (uri (string-append "https://elpa.gnu.org/packages/"
"emms-" version ".tar")) "emms-" version ".tar"))
(sha256 (sha256
(base32 "153j76jfnh01b4pkkpyxfh83rl975rx0mh7mx4nnf83qd4dzkkd4")))) (base32 "0d7nsx2idzbp6d5im5rrsnwppbr2cimvxgx31bhwsm2aq3ya5v2j"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags '("emms-print-metadata") `(#:make-flags '("emms-print-metadata")
@ -2815,7 +2815,7 @@ of bibliographic references.")
(define-public emacs-corfu (define-public emacs-corfu
(package (package
(name "emacs-corfu") (name "emacs-corfu")
(version "0.8") (version "0.9")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -2824,7 +2824,7 @@ of bibliographic references.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"007r1l3ian2bfj4h2xkd2qwh1d1m7kda1p6pj51dikbzaphglh1r")))) "0265kld5vg870n1zaks42qdawl03zi6rjhffrkkngwgs9i9ap30i"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/minad/corfu") (home-page "https://github.com/minad/corfu")
(synopsis "Completion overlay region function") (synopsis "Completion overlay region function")
@ -3308,7 +3308,7 @@ during idle time, while Emacs is doing nothing else.")
("pdf-tools-handle-upgrades" '())))) ("pdf-tools-handle-upgrades" '()))))
(add-after 'emacs-patch-variables 'emacs-expand-load-path (add-after 'emacs-patch-variables 'emacs-expand-load-path
(assoc-ref emacs:%standard-phases 'expand-load-path)) (assoc-ref emacs:%standard-phases 'expand-load-path))
(add-after 'emacs-add-source-to-load-path 'emacs-install (add-after 'emacs-expand-load-path 'emacs-install
(assoc-ref emacs:%standard-phases 'install)) (assoc-ref emacs:%standard-phases 'install))
(add-after 'emacs-install 'emacs-build (add-after 'emacs-install 'emacs-build
(assoc-ref emacs:%standard-phases 'build)) (assoc-ref emacs:%standard-phases 'build))
@ -8029,7 +8029,7 @@ list of candidates.")
(define-public emacs-marginalia (define-public emacs-marginalia
(package (package
(name "emacs-marginalia") (name "emacs-marginalia")
(version "0.6") (version "0.7")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -8038,7 +8038,7 @@ list of candidates.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1lisns2vghmqlg8wiv6jy15cfgnc8j83khz0vfnmrjwgcmjw3bbz")))) (base32 "0yn6dybvsdhr37hnadmbfqi7pf7scxr9z6a6ghsqbrghycddd0mc"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/minad/marginalia") (home-page "https://github.com/minad/marginalia")
(synopsis "Marginalia in the minibuffer completions") (synopsis "Marginalia in the minibuffer completions")
@ -14361,7 +14361,7 @@ or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
(define-public emacs-which-key (define-public emacs-which-key
(package (package
(name "emacs-which-key") (name "emacs-which-key")
(version "3.5.2") (version "3.5.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -14370,7 +14370,7 @@ or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1wgygby4zwlbx6ry6asraaixl169qdz092zgk1brvg63w7f8vkkb")))) (base32 "144i3hkgm36wnfmqk5vq390snziy3zhwifbh6q6dzs99ic77d5g6"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:tests? #t `(#:tests? #t
@ -20483,6 +20483,36 @@ e.g. the package dependencies it requires. See function
file.") file.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-packed
(package
(name "emacs-packed")
(version "3.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacscollective/packed")
(commit version)))
(sha256
(base32
"06blk8parnpq3qi6y5628q3v59c8dyi41glb289a0l16248qwphk"))))
(build-system emacs-build-system)
(home-page "https://github.com/emacscollective/packed")
(synopsis "Package manager agnostic Emacs Lisp package utilities")
(description
"Packed provides some package manager agnostic utilities to work
with Emacs Lisp packages. As far as Packed is concerned packages
are collections of Emacs Lisp libraries that are stored in a
dedicated directory such as a Git repository. And libraries are
Emacs Lisp files that provide the correct feature (matching the
filename).
Where a package manager might depend on metadata, Packed instead
uses some heuristics to get the same information---that is slower
and might also fail at times but makes it unnecessary to maintain
package recipes.")
(license license:gpl3+)))
(define-public emacs-picpocket (define-public emacs-picpocket
(let ((version "41") (let ((version "41")
(commit "fa3a49f011b5ae139728548fec7375743f61c7c7")) (commit "fa3a49f011b5ae139728548fec7375743f61c7c7"))
@ -27815,6 +27845,7 @@ Features:
(uri (git-reference (uri (git-reference
(url "https://git.sr.ht/~zge/bang") (url "https://git.sr.ht/~zge/bang")
(commit version))) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 "1micvz6smhjma7qbka8h3w0crb3sgrxf9lz2548iqfgww50gb0lj")))) (base32 "1micvz6smhjma7qbka8h3w0crb3sgrxf9lz2548iqfgww50gb0lj"))))
(build-system emacs-build-system) (build-system emacs-build-system)
@ -28499,7 +28530,7 @@ and preferred services can easily be configured.")
(define-public emacs-vertico (define-public emacs-vertico
(package (package
(name "emacs-vertico") (name "emacs-vertico")
(version "0.11") (version "0.12")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -28508,7 +28539,7 @@ and preferred services can easily be configured.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0vx23csk1nsrcazifwjxchqdmp3qbg2mwbvkqxn134g89qi8pqkw")))) (base32 "1qb5qmspc7042r366d73j26hrzmrsdwscv8ly9glsa4gbdxcjkln"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(native-inputs (native-inputs
`(("texinfo" ,texinfo))) `(("texinfo" ,texinfo)))

View File

@ -523,14 +523,14 @@ V2.")
(define-public mednafen (define-public mednafen
(package (package
(name "mednafen") (name "mednafen")
(version "1.26.1") (version "1.27.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://mednafen.github.io/releases/files/" (uri (string-append "https://mednafen.github.io/releases/files/"
"mednafen-" version ".tar.xz")) "mednafen-" version ".tar.xz"))
(sha256 (sha256
(base32 "1x7xhxjhwsdbak8l0iyb497f043xkhibk73w96xck4j2bk10fac4")))) (base32 "1ysmb56wzr17ki6f1b486r2dzjr11igd021qb4r3437l68prpa7k"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -541,6 +541,7 @@ V2.")
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs
`(("alsa" ,alsa-lib) `(("alsa" ,alsa-lib)
("flac" ,flac)
;; ("libmpcdec" ,libmpcdec) FIXME: not recognized. ;; ("libmpcdec" ,libmpcdec) FIXME: not recognized.
("libsndfile" ,libsndfile) ("libsndfile" ,libsndfile)
("lzo" ,lzo) ("lzo" ,lzo)

View File

@ -1711,24 +1711,30 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
(substitute* "man/man1/Makefile.in" (substitute* "man/man1/Makefile.in"
(("^man_MANS = ngspice\\.1 ngnutmeg\\.1 ngsconvert\\.1 ngmultidec\\.1") (("^man_MANS = ngspice\\.1 ngnutmeg\\.1 ngsconvert\\.1 ngmultidec\\.1")
"man_MANS = ")))) "man_MANS = "))))
(add-after 'install 'delete-script-files (add-after 'install 'delete-scripts-and-config
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(delete-file-recursively (delete-file-recursively
(string-append (assoc-ref outputs "out") (string-append (assoc-ref outputs "out")
"/share/ngspice/scripts"))))) "/share/ngspice/scripts"))
;; This file is autogenerated by the configure script and should
;; not be distributed. It could be removed in ngspice 35. See
;; https://bugs.archlinux.org/task/70569 for reference.
(delete-file (string-append (assoc-ref outputs "out")
"/include/config.h")))))
#:configure-flags #:configure-flags
(list "--enable-openmp" (list "--enable-openmp"
"--enable-ciderlib" "--enable-ciderlib"
"--enable-xspice" "--enable-xspice"
"--with-ngshared" "--with-ngshared"
"--with-readline=yes"))) ;; Readline must be disabled to build KiCad with ngspice 34. See
;; https://bugs.archlinux.org/task/70563 for reference.
"--with-readline=no")))
(native-inputs (native-inputs
`(("bison" ,bison) `(("bison" ,bison)
("flex" ,flex))) ("flex" ,flex)))
(inputs (inputs
`(("libxaw" ,libxaw) `(("libxaw" ,libxaw)
("mpi" ,openmpi) ("mpi" ,openmpi)))
("readline" ,readline)))
(home-page "http://ngspice.sourceforge.net/") (home-page "http://ngspice.sourceforge.net/")
(synopsis "Mixed-level/mixed-signal circuit simulator") (synopsis "Mixed-level/mixed-signal circuit simulator")
(description (description

View File

@ -232,7 +232,7 @@ built-in support for concurrency, distribution and fault tolerance.")
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'add-source-to-load-path 'change-working-directory (add-before 'expand-load-path 'change-working-directory
(lambda _ (chdir "lib/tools/emacs") #t))))) (lambda _ (chdir "lib/tools/emacs") #t)))))
(home-page "https://www.erlang.org/") (home-page "https://www.erlang.org/")
(synopsis "Erlang major mode for Emacs") (synopsis "Erlang major mode for Emacs")

View File

@ -1457,7 +1457,14 @@ following three utilities are included with the library:
(substitute* "src/Makefile.test.include" (substitute* "src/Makefile.test.include"
(("test/utilprocess_tests.cpp") (("test/utilprocess_tests.cpp")
"")) ""))
#t))
;; Some transaction validation rules have changed (see upstream
;; commit f208400825d4641b9310a1fba023d56e0862e3b0), which makes
;; a test fail. Disable it for now.
;; TODO: Remove this when the next version is released.
(substitute* "src/Makefile.test.include"
(("test/txvalidationcache_tests.cpp")
""))))
(add-before 'check 'set-home (add-before 'check 'set-home
(lambda _ (lambda _
(setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME (setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME

View File

@ -426,7 +426,7 @@ The unified Libertinus family consists of:
(sha256 (sha256
(base32 "0yggffiplk22lgqklfmd2c0rw8gwchynjh5kz4bz8yv2h6vw2qfr")))) (base32 "0yggffiplk22lgqklfmd2c0rw8gwchynjh5kz4bz8yv2h6vw2qfr"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs (list "out" "pcf-8bit")) (outputs (list "out" "pcf-8bit" "otb"))
(arguments (arguments
`(#:tests? #f ; no test target in tarball `(#:tests? #f ; no test target in tarball
#:phases #:phases
@ -441,6 +441,15 @@ The unified Libertinus family consists of:
(let ((pcf-8bit (assoc-ref outputs "pcf-8bit"))) (let ((pcf-8bit (assoc-ref outputs "pcf-8bit")))
(apply invoke "make" "install-pcf-8bit" (string-append "prefix=" (apply invoke "make" "install-pcf-8bit" (string-append "prefix="
pcf-8bit) pcf-8bit)
make-flags))))
(add-after 'build-more-bits 'build-otb
;; Build Open Type Bitmap
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "otb" make-flags)))
(add-after 'install 'install-otb
(lambda* (#:key make-flags outputs #:allow-other-keys)
(let ((otb (assoc-ref outputs "otb")))
(apply invoke "make" "install-otb" (string-append "prefix=" otb)
make-flags))))))) make-flags)))))))
(native-inputs (native-inputs
`(("bdftopcf" ,bdftopcf) `(("bdftopcf" ,bdftopcf)
@ -809,6 +818,27 @@ and Chrome OS, and the recommended font for the
visual language \"Material Design\".") visual language \"Material Design\".")
(license license:asl2.0))) (license license:asl2.0)))
(define-public font-borg-sans-mono
(package
(name "font-borg-sans-mono")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/charje/borg-sans-mono"
"/releases/download/v" version "/borg-sans-mono.zip"))
(sha256
(base32
"1xxakd9nfb8wz76rh0gbd69gh0mlqs2453g0j516xgxn8bxip2yj"))))
(build-system font-build-system)
(home-page "https://github.com/charje/borg-sans-mono")
(synopsis "The Borg Sans Mono font")
(description "Borg Sans Mono is a monospaced font derived from Droid Sans
Mono. It includes additions commonly found in programming fonts such as a
slashed zero and ligatures for operators.")
(license license:asl2.0)))
(define-public font-un (define-public font-un
(package (package
(name "font-un") (name "font-un")
@ -2234,6 +2264,6 @@ half of the twentieth century.")
(description (description
"Overpass is a sans-serif typeface based on the U.S. interstate highway "Overpass is a sans-serif typeface based on the U.S. interstate highway
road signage typefaces, adapted for on-screen display and user interfaces. road signage typefaces, adapted for on-screen display and user interfaces.
Overpass includes proprotional and monospace variants.") Overpass includes proportional and monospace variants.")
(license (list license:silofl1.1 (license (list license:silofl1.1
license:lgpl2.1)))) license:lgpl2.1))))

View File

@ -4,7 +4,7 @@
;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2018 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015, 2018 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org> ;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2020 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016, 2017, 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Julian Graham <joolean@gmail.com> ;;; Copyright © 2016, 2017, 2018 Julian Graham <joolean@gmail.com>
@ -2288,6 +2288,39 @@ computer games, 3D authoring tools and simulation tools.")
rigid body physics library written in C.") rigid body physics library written in C.")
(license license:expat))) (license license:expat)))
(define-public box2d
(package
(name "box2d")
(version "2.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/erincatto/box2d")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ja9cahf3z9zzrdaqcw44lpjmqf2ir2g4chwz0iwqwlkckwhpgvh"))
(modules '((guix build utils)))
(snippet
'(begin
;; Bundled code only used for the testbed.
(delete-file-recursively "extern")))))
(build-system cmake-build-system)
(arguments
`(#:test-target "unit_test"
#:configure-flags '("-DBUILD_SHARED_LIBS=ON"
"-DBOX2D_BUILD_TESTBED=OFF")))
(inputs
`(("libx11" ,libx11)))
(home-page "https://box2d.org/")
(synopsis "2D physics engine for games")
(description "Box2D is a 2D rigid body simulation library for games.
Programmers can use it in their games to make objects move in realistic ways and
make the game world more interactive. From the game engine's point of view, a
physics engine is just a system for procedural animation.")
(license license:expat)))
(define-public libtcod (define-public libtcod
(package (package
(name "libtcod") (name "libtcod")

View File

@ -396,14 +396,14 @@ The game includes a built-in editor so you can design and share your own maps.")
(define-public armagetronad (define-public armagetronad
(package (package
(name "armagetronad") (name "armagetronad")
(version "0.2.9.0.1") (version "0.2.9.1.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/armagetronad/stable/" (uri (string-append "mirror://sourceforge/armagetronad/stable/"
version "/armagetronad-" version ".tbz")) version "/armagetronad-" version ".tbz"))
(sha256 (sha256
(base32 (base32
"19rfhlg4gp0r7k1j8v4iw20325ciy156nmzax4xikmw22c6nmxcz")))) "18gn4sg4j5sw38ngb90sl50raliplrsgjcvy8fjwry733k0cgdjr"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -946,7 +946,7 @@ allows users to brew while offline.")
(define-public corsix-th (define-public corsix-th
(package (package
(name "corsix-th") (name "corsix-th")
(version "0.64") (version "0.65")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -955,7 +955,7 @@ allows users to brew while offline.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0chh9cv2kdc39sr0x8hclcyzd8dz2y6grgagqzkvr7j570wa5cqh")))) (base32 "0hp7da7b73dpn1h22rw3h8w6aaj9azn18qnp3ap3lrlqhj4fzcb3"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -4164,7 +4164,7 @@ falling, themeable graphics and sounds, and replays.")
(define-public wesnoth (define-public wesnoth
(package (package
(name "wesnoth") (name "wesnoth")
(version "1.14.16") (version "1.14.17")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
@ -4173,7 +4173,7 @@ falling, themeable graphics and sounds, and replays.")
"wesnoth-" version ".tar.bz2")) "wesnoth-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1d9hq3dcx0sgs2v4400rg2nw98v46m7bwiqqjv8z8n7vw8kx8lhg")))) "1qc4ylhc4ab51milclzhflpmzw6bg35knwqaj3b157700jkcniin"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ;no check target `(#:tests? #f)) ;no check target
@ -5203,15 +5203,16 @@ tactics.")
(define-public widelands (define-public widelands
(package (package
(name "widelands") (name "widelands")
(version "21") (version "1.0")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://launchpad.net/widelands/" (uri (git-reference
"build" version "/build" version "/+download/" (url "https://github.com/widelands/widelands")
"widelands-build" version "-source.tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 "0mz3jily0w1zxxqbnkqrp6hl88xhrwzbil9crq7gpcwidx60w7k0")) (base32 "1hw51binnbia15mj1gzx1cbk3cw9r91sisqci2qzcy4ahxiadnw0"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -5251,7 +5252,8 @@ tactics.")
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)
("python" ,python-wrapper))) ("python" ,python-wrapper)))
(inputs (inputs
`(("boost" ,boost) `(("curl" ,curl)
("boost" ,boost)
("glew" ,glew) ("glew" ,glew)
("icu4c" ,icu4c) ("icu4c" ,icu4c)
("libpng" ,libpng) ("libpng" ,libpng)
@ -5270,8 +5272,8 @@ nothing but your headquarters, where all your resources are stored.
In the course of the game, you will build an ever growing settlement. Every In the course of the game, you will build an ever growing settlement. Every
member of your clan will do his or her part to produce more resources---wood, member of your clan will do his or her part to produce more resources---wood,
food, iron, gold and more---to further this growth. The economic network is food, iron, gold and more---to further this growth. The economic network is
complex and different in the four tribes (Barbarians, Empire, Atlanteans, and complex and different in the five tribes (Barbarians, Empire, Atlanteans,
Frisians). Frisians and Amazons).
As you are not alone in the world, you will meet other clans sooner or later. As you are not alone in the world, you will meet other clans sooner or later.
Some of them may be friendly and you may eventually trade with them. However, Some of them may be friendly and you may eventually trade with them. However,
@ -5289,6 +5291,12 @@ of war. Widelands also offers an Artificial Intelligence to challenge you.")
license:silofl1.1 ;Widelands.ttf license:silofl1.1 ;Widelands.ttf
license:cc-by-sa3.0)))) ;some music files license:cc-by-sa3.0)))) ;some music files
(define-public widelands-21
(package
(inherit widelands)
(version "21")
(properties `((superseded . ,widelands)))))
(define-public starfighter (define-public starfighter
(package (package
(name "starfighter") (name "starfighter")
@ -7499,7 +7507,7 @@ Strife, Chex Quest, and fan-created games like Harmony, Hacx and Freedoom.")
(define-public odamex (define-public odamex
(package (package
(name "odamex") (name "odamex")
(version "0.9.0") (version "0.9.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -7507,7 +7515,7 @@ Strife, Chex Quest, and fan-created games like Harmony, Hacx and Freedoom.")
"mirror://sourceforge/odamex/Odamex/" version "/" "mirror://sourceforge/odamex/Odamex/" version "/"
"odamex-src-" version ".tar.bz2")) "odamex-src-" version ".tar.bz2"))
(sha256 (sha256
(base32 "0yfrvx8zb3chy47fyz4nik6gbh0y5608yvld4gz4y8l158qk71y1")))) (base32 "0vmw9ijb6n4wrxjxixakn7l6a6carnvs9wbbzb4vcq1brbzyrb0p"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments `(#:tests? #f)) ; no tests (arguments `(#:tests? #f)) ; no tests
(native-inputs (native-inputs

View File

@ -15,6 +15,7 @@
;;; Copyright © 2020 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2020 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2020, 2021 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2020, 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -91,6 +92,7 @@
#:use-module (gnu packages pulseaudio) #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-check) #:use-module (gnu packages python-check)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
@ -881,6 +883,93 @@ utilities for data translation and processing.")
`(("gdal" ,gdal))) `(("gdal" ,gdal)))
(synopsis "GDAL (Geospatial Data Abstraction Library) python bindings"))) (synopsis "GDAL (Geospatial Data Abstraction Library) python bindings")))
(define-public python-pyshp
(package
(name "python-pyshp")
(version "2.1.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/GeospatialPython/pyshp")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0jsraqzq82pw19wvx84x7w5cs8agr44a9b5y0jjw540wim4xa73r"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; This is the only test file.
(invoke "python" "-m" "pytest" "test_shapefile.py")))))))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-pytest-runner" ,python-pytest-runner)))
(home-page "https://github.com/GeospatialPython/pyshp")
(synopsis "Read/write support for ESRI Shapefile format")
(description
"The Python Shapefile Library (PyShp) reads and writes ESRI Shapefiles.")
(license license:expat)))
(define-public python-cartopy
(package
(name "python-cartopy")
;; This is a post-release fix that adds build_ext to setup.py.
(version "0.19.0.post1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Cartopy" version))
(sha256
(base32 "0xnm8z3as3hriivdfd26s6vn5b63gb46x6vxw6gh1mwfm5rlg2sb"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "python" "-m" "pytest" "--pyargs" "cartopy"
;; These tests require online data.
"-m" "not natural_earth and not network"
;; This one too but it's not marked as such.
"-k" "not test_gridliner_labels_bbox_style")))))))
(propagated-inputs
`(("python-matplotlib" ,python-matplotlib)
("python-numpy" ,python-numpy)
("python-pykdtree" ,python-pykdtree)
("python-pyshp" ,python-pyshp)
("python-scipy" ,python-scipy)
("python-shapely" ,python-shapely)))
(inputs
`(("geos" ,geos)
("proj" ,proj)))
(native-inputs
`(("python-cython" ,python-cython)
("python-flufl-lock" ,python-flufl-lock)
("python-pytest" ,python-pytest)))
(home-page "https://scitools.org.uk/cartopy/docs/latest/")
(synopsis "Cartographic library for visualisation")
(description
"Cartopy is a Python package designed to make drawing maps for data
analysis and visualisation easy.
It features:
@itemize
@item object oriented projection definitions
@item point, line, polygon and image transformations between projections
@item integration to expose advanced mapping in Matplotlib with a simple and
intuitive interface
@item powerful vector data handling by integrating shapefile reading with
Shapely capabilities
@end itemize")
(license license:lgpl3+)))
(define-public postgis (define-public postgis
(package (package
(name "postgis") (name "postgis")

View File

@ -127,6 +127,7 @@
#:use-module (gnu packages gstreamer) #:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages ibus) #:use-module (gnu packages ibus)
#:use-module (gnu packages icu4c) #:use-module (gnu packages icu4c)
#:use-module (gnu packages image) #:use-module (gnu packages image)
@ -11578,6 +11579,69 @@ and toolbars.")
GTK+. It integrates well with the GNOME desktop environment.") GTK+. It integrates well with the GNOME desktop environment.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public apostrophe
(package
(name "apostrophe")
(version "2.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.gnome.org/somas/apostrophe")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1qzy3zhi18wf42m034s8kcmx9gl05j620x3hf6rnycq2fvy7g4gz"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-meson
(lambda _
(substitute* "build-aux/meson_post_install.py"
(("gtk-update-icon-cache") "true"))
#t))
(add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((prog (string-append (assoc-ref outputs "out")
"/bin/apostrophe"))
(pylib (string-append (assoc-ref outputs "out")
"/lib/python"
,(version-major+minor
(package-version python))
"/site-packages")))
(wrap-program prog
`("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
`("PATH" prefix (,(string-append (assoc-ref inputs "pandoc")
"/bin"))))
#t))))))
(inputs
`(("glib" ,glib)
("gobject-introspection" ,gobject-introspection)
("gspell" ,gspell)
("gtk+" ,gtk+)
("libhandy" ,libhandy)
("pandoc" ,pandoc)
("python-chardet" ,python-chardet)
("python-levenshtein" ,python-levenshtein)
("python-regex" ,python-regex)
("python-pycairo" ,python-pycairo)
("python-pygobject" ,python-pygobject)
("python-pyenchant" ,python-pyenchant)
("python-pypandoc" ,python-pypandoc)
("webkitgtk" ,webkitgtk)))
(native-inputs
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)))
(home-page "https://gitlab.gnome.org/somas/apostrophe")
(synopsis "Markdown editor written in Python with GTK+")
(description "Apostrophe is a GTK+ based distraction free Markdown editor.
It uses pandoc as back-end for parsing Markdown.")
(license license:gpl3)))
(define-public libratbag (define-public libratbag
(package (package
(name "libratbag") (name "libratbag")

View File

@ -25,6 +25,7 @@
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net> ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@mgail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -2413,6 +2414,32 @@ which satisfies the cron expression.")
values.") values.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public go-gopkg-in-yaml-v3
(package
(name "go-gopkg-in-yaml-v3")
(version "3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gopkg.in/yaml.v3")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "06f4lnrp494wqaygv09dggr2dwf3z2bawqhnlnnwiamg5y787k4g"))))
(build-system go-build-system)
(arguments
'(#:import-path "gopkg.in/yaml.v3"))
(native-inputs
`(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1)))
(home-page "https://gopkg.in/yaml.v3")
(synopsis "YAML reader and writer for the Go language")
(description
"This package provides a Go library for encode and decode YAML values.
The yaml package supports most of YAML 1.2, but preserves some behavior from
1.1 for backwards compatibility.")
(license license:asl2.0)))
(define-public go-github-com-mattn-go-isatty (define-public go-github-com-mattn-go-isatty
(package (package
(name "go-github-com-mattn-go-isatty") (name "go-github-com-mattn-go-isatty")

View File

@ -378,7 +378,7 @@ for the IRCv3 protocol.")
(define-public kirc (define-public kirc
(package (package
(name "kirc") (name "kirc")
(version "0.2.6") (version "0.2.7")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -386,7 +386,7 @@ for the IRCv3 protocol.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "11pwbil44q7sm3mp1khgw8wmwln2n03f1qawlgmg168jzyxqrs16")))) (base32 "0phx00lr7ya8rx1hskv1wdwbq2vlihiqhnplqdvk1r3m23is7al9"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no tests `(#:tests? #f ; no tests

View File

@ -3,7 +3,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2019, 2021 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2017, 2019, 2021 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017-2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017-2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
@ -45,6 +45,7 @@
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix build-system ant) #:use-module (guix build-system ant)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system maven)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages attr) #:use-module (gnu packages attr)
@ -3851,25 +3852,11 @@ documentation tools.")
(arguments (arguments
`(#:jar-name "qdox.jar" `(#:jar-name "qdox.jar"
#:tests? #f; no tests #:tests? #f; no tests
#:modules
((guix build ant-build-system)
(guix build java-utils)
(guix build utils)
(sxml simple))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'install 'create-pom (add-before 'install 'create-pom
(lambda _ (generate-pom.xml "pom.xml" "com.thoughtworks.qdox" "qdox" ,version
(with-output-to-file "pom.xml" #:name "QDox"))
(lambda _
(sxml->xml
`((project
(modelVersion "4.0.0")
(name "QDox")
(groupId "com.thoughtworks.qdox")
(artifactId "qdox")
(version ,,version))))))
#t))
(replace 'install (replace 'install
(install-from-pom "pom.xml"))))) (install-from-pom "pom.xml")))))
(home-page "https://github.com/codehaus/qdox") (home-page "https://github.com/codehaus/qdox")
@ -3895,7 +3882,14 @@ documentation tools.")
"/qdox-" version "-sources.jar")) "/qdox-" version "-sources.jar"))
(sha256 (sha256
(base32 (base32
"1s2jnmx2dkwnaha12lcj26aynywgwa8sslc47z82wx8xai13y4fg")))))) "1s2jnmx2dkwnaha12lcj26aynywgwa8sslc47z82wx8xai13y4fg"))))
(arguments
(substitute-keyword-arguments (package-arguments java-qdox)
((#:phases phases)
`(modify-phases ,phases
(replace 'create-pom
(generate-pom.xml "pom.xml" "com.thoughtworks.qdox" "qdox" ,version
#:name "QDox"))))))))
(define-public java-jarjar (define-public java-jarjar
(package (package
@ -5792,7 +5786,13 @@ The jMock library
(build-system ant-build-system) (build-system ant-build-system)
(arguments (arguments
`(#:tests? #f ; there are no tests `(#:tests? #f ; there are no tests
#:jar-name "jopt-simple.jar")) #:jar-name "jopt-simple.jar"
#:phases
(modify-phases %standard-phases
(add-before 'install 'create-pom
(generate-pom.xml "pom.xml" "net.sf.jopt-simple" "jopt-simple" ,version))
(replace 'install
(install-from-pom "pom.xml")))))
(home-page "https://pholser.github.io/jopt-simple/") (home-page "https://pholser.github.io/jopt-simple/")
(synopsis "Java library for parsing command line options") (synopsis "Java library for parsing command line options")
(description "JOpt Simple is a Java library for parsing command line (description "JOpt Simple is a Java library for parsing command line
@ -5804,6 +5804,28 @@ retrieval of options and their arguments simple and expressive, without being
overly clever.") overly clever.")
(license license:expat))) (license license:expat)))
;; Required by jmh
(define-public java-jopt-simple-4
(package
(inherit java-jopt-simple)
(version "4.6")
(source (origin
(method url-fetch)
(uri (string-append "https://repo1.maven.org/maven2/"
"net/sf/jopt-simple/jopt-simple/"
version "/jopt-simple-"
version "-sources.jar"))
(sha256
(base32
"0ny82zczxkn201ld0b7rps0ifzjhfs8m1ncdmy1f50145ciszkpd"))))
(arguments
(substitute-keyword-arguments (package-arguments java-jopt-simple)
((#:phases phases)
`(modify-phases ,phases
(replace 'create-pom
(generate-pom.xml "pom.xml" "net.sf.jopt-simple" "jopt-simple"
,version))))))))
(define-public java-commons-math3 (define-public java-commons-math3
(package (package
(name "java-commons-math3") (name "java-commons-math3")
@ -5838,7 +5860,7 @@ overly clever.")
#t)) #t))
;; There is no install target. ;; There is no install target.
(replace 'install (replace 'install
(install-jars "target"))))) (install-from-pom "pom.xml")))))
(native-inputs (native-inputs
`(("java-junit" ,java-junit) `(("java-junit" ,java-junit)
("java-hamcrest-core" ,java-hamcrest-core))) ("java-hamcrest-core" ,java-hamcrest-core)))
@ -5852,36 +5874,37 @@ available in the Java programming language or Commons Lang.")
(define-public java-jmh (define-public java-jmh
(package (package
(name "java-jmh") (name "java-jmh")
(version "1.17.5") (version "1.32")
(source (origin (source (origin
(method hg-fetch) (method git-fetch)
(uri (hg-reference (uri (git-reference
(url "http://hg.openjdk.java.net/code-tools/jmh/") (url "https://github.com/openjdk/jmh")
(changeset version))) (commit version)))
(file-name (string-append name "-" version "-checkout")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1fxyxhg9famwcg1prc4cgwb5wzyxqavn3cjm5vz8605xz7x5k084")))) "0i7fa7l3gdqkkgz5ddayp6m46dgbj9rqlz35xffrcbyiz3gpljy0"))))
(build-system ant-build-system) (build-system maven-build-system)
(arguments (arguments
`(#:jar-name "jmh-core.jar" `(#:exclude
#:source-dir "jmh-core/src/main" (("org.apache.maven.plugins" .
#:test-dir "jmh-core/src/test" ("maven-source-plugin" "maven-archetype-plugin" "maven-shade-plugin"
"maven-site-plugin" "maven-javadoc-plugin" "maven-eclipse-plugin"))
("com.mycila.maven-license-plugin" . ("maven-license-plugin"))
("org.apache.maven.wagon" . ("wagon-ssh")))
#:maven-plugins
(("maven-enforcer-plugin" ,maven-enforcer-plugin)
,@(default-maven-plugins))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; This seems to be a bug in the JDK. It may not be necessary in (add-after 'unpack 'remove-unnecessary
;; future versions of the JDK.
(add-after 'unpack 'fix-bug
(lambda _ (lambda _
(with-directory-excursion ;; requires org.apache.maven.archetype:archetype-packaging.
"jmh-core/src/main/java/org/openjdk/jmh/runner/options" ;; Its subprojects also require groovy, kotlin and scala,
(substitute* '("IntegerValueConverter.java" ;; respectively.
"ThreadsValueConverter.java") (delete-file-recursively "jmh-archetypes"))))))
(("public Class<Integer> valueType") (propagated-inputs
"public Class<? extends Integer> valueType"))) `(("java-jopt-simple" ,java-jopt-simple-4)
#t)))))
(inputs
`(("java-jopt-simple" ,java-jopt-simple)
("java-commons-math3" ,java-commons-math3))) ("java-commons-math3" ,java-commons-math3)))
(native-inputs (native-inputs
`(("java-junit" ,java-junit) `(("java-junit" ,java-junit)
@ -6467,25 +6490,11 @@ bottlenecks move away from the database in an effectively cached system.")
`(#:tests? #f ; no tests included `(#:tests? #f ; no tests included
#:jdk ,icedtea-8 #:jdk ,icedtea-8
#:jar-name "jsr250.jar" #:jar-name "jsr250.jar"
#:modules ((guix build ant-build-system)
(guix build utils)
(guix build maven pom)
(guix build java-utils)
(sxml simple))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'install 'create-pom (add-before 'install 'create-pom
(lambda _ (generate-pom.xml "pom.xml" "javax.annotation" "jsr250-api" ,version
(with-output-to-file "pom.xml" #:name "jsr250"))
(lambda _
(sxml->xml
`((project
(modelVersion "4.0.0")
(name "jsr250")
(groupId "javax.annotation")
(artifactId "jsr250-api")
(version ,,version))))))
#t))
(replace 'install (replace 'install
(install-from-pom "pom.xml"))))) (install-from-pom "pom.xml")))))
(home-page "https://jcp.org/en/jsr/detail?id=250") (home-page "https://jcp.org/en/jsr/detail?id=250")
@ -6514,25 +6523,10 @@ namespaces.")
(arguments (arguments
`(#:tests? #f ; no tests included `(#:tests? #f ; no tests included
#:jar-name "jsr305.jar" #:jar-name "jsr305.jar"
#:modules ((guix build ant-build-system)
(guix build java-utils)
(guix build maven pom)
(guix build utils)
(sxml simple))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'install 'create-pom (add-before 'install 'create-pom
(lambda _ (generate-pom.xml "pom.xml" "com.google.code.findbugs" "jsr305" ,version))
(with-output-to-file "pom.xml"
(lambda _
(sxml->xml
`((project
(modelVersion "4.0.0")
(name "jsr305")
(groupId "com.google.code.findbugs")
(artifactId "jsr305")
(version ,,version))))))
#t))
(replace 'install (replace 'install
(install-from-pom "pom.xml"))))) (install-from-pom "pom.xml")))))
(home-page "http://findbugs.sourceforge.net/") (home-page "http://findbugs.sourceforge.net/")
@ -10563,25 +10557,10 @@ this is not a static analysis tool.)")
#:jdk ,icedtea-8 #:jdk ,icedtea-8
#:tests? #f; no tests #:tests? #f; no tests
#:source-dir "aopalliance/src/main" #:source-dir "aopalliance/src/main"
#:modules ((guix build ant-build-system)
(guix build utils)
(guix build maven pom)
(guix build java-utils)
(sxml simple))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'install 'create-pom (add-before 'install 'create-pom
(lambda _ (generate-pom.xml "pom.xml" "aopalliance" "aopalliance" ,version))
(with-output-to-file "pom.xml"
(lambda _
(sxml->xml
`((project
(modelVersion "4.0.0")
(name "aopalliance")
(groupId "aopalliance")
(artifactId "aopalliance")
(version "1.0"))))))
#t))
(replace 'install (replace 'install
(install-from-pom "pom.xml"))))) (install-from-pom "pom.xml")))))
(home-page "http://aopalliance.sourceforge.net") (home-page "http://aopalliance.sourceforge.net")
@ -11706,7 +11685,9 @@ protocol-independent framework to build mail and messaging applications.")
"**/ClientUtilsTest.java" "**/ClientUtilsTest.java"
;; End with errors that seem related to our powermock ;; End with errors that seem related to our powermock
"**/KafkaProducerTest.java" "**/KafkaProducerTest.java"
"**/BufferPoolTest.java"))) "**/BufferPoolTest.java"
;; Undeterministic failure, seems to affect mostly ci
"**/GarbageCollectedMemoryPoolTest.java")))
(inputs (inputs
`(("java-slf4j-api" ,java-slf4j-api) `(("java-slf4j-api" ,java-slf4j-api)
("java-lz4" ,java-lz4))) ("java-lz4" ,java-lz4)))
@ -12180,29 +12161,14 @@ sequences to format your console output which works on every platform.")
(build-system ant-build-system) (build-system ant-build-system)
(arguments (arguments
`(#:jar-name "java-jboss-el-api_spec.jar" `(#:jar-name "java-jboss-el-api_spec.jar"
#:modules ((guix build ant-build-system)
(guix build utils)
(guix build maven pom)
(guix build java-utils)
(sxml simple))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; the origin of javax.el:javax.el-api is unknown, so we use this package ;; the origin of javax.el:javax.el-api is unknown, so we use this package
;; instead, which implements the same thing. We override the pom file ;; instead, which implements the same thing. We override the pom file
;; to "rename" the package so it can be found by maven. ;; to "rename" the package so it can be found by maven.
(add-before 'install 'override-pom (add-before 'install 'override-pom
(lambda _ (generate-pom.xml "pom.xml" "javax.el" "javax.el-api" "3.0"
(delete-file "pom.xml") #:name "el-api"))
(with-output-to-file "pom.xml"
(lambda _
(sxml->xml
`(project
(modelVersion "4.0.0")
(name "el-api")
(groupId "javax.el")
(artifactId "javax.el-api")
(version "3.0")))))
#t))
(replace 'install (replace 'install
(install-from-pom "pom.xml"))))) (install-from-pom "pom.xml")))))
(inputs (inputs
@ -12234,11 +12200,6 @@ JavaServer Pages (JSP).")
#:jdk ,icedtea-8 #:jdk ,icedtea-8
#:source-dir "." #:source-dir "."
#:tests? #f; no tests #:tests? #f; no tests
#:modules ((guix build ant-build-system)
(guix build utils)
(guix build maven pom)
(guix build java-utils)
(sxml simple))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; the origin of javax.interceptor:javax.interceptor-api is unknown, ;; the origin of javax.interceptor:javax.interceptor-api is unknown,
@ -12246,18 +12207,8 @@ JavaServer Pages (JSP).")
;; We override the pom file to "rename" the package so it can be found ;; We override the pom file to "rename" the package so it can be found
;; by maven. ;; by maven.
(add-before 'install 'override-pom (add-before 'install 'override-pom
(lambda _ (generate-pom.xml "pom.xml" "javax.interceptor" "javax.interceptor-api"
(delete-file "pom.xml") "3.0" #:name "interceptor-api"))
(with-output-to-file "pom.xml"
(lambda _
(sxml->xml
`(project
(modelVersion "4.0.0")
(name "interceptor-api")
(groupId "javax.interceptor")
(artifactId "javax.interceptor-api")
(version "3.0")))))
#t))
(replace 'install (replace 'install
(install-from-pom "pom.xml"))))) (install-from-pom "pom.xml")))))
(home-page "https://github.com/jboss/jboss-interceptors-api_spec") (home-page "https://github.com/jboss/jboss-interceptors-api_spec")

View File

@ -57,6 +57,7 @@
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages game-development)
#:use-module (gnu packages ghostscript) #:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
@ -88,7 +89,7 @@
(define-public ixion (define-public ixion
(package (package
(name "ixion") (name "ixion")
(version "0.15.0") (version "0.16.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -96,7 +97,7 @@
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1rmrl2zjzi4z0abf2cd54acypkccdhx2065dlyzy6xg83gv0mxmi")))) "17q84mhy4rb3masvjw24x549irdjmccnc8n04xh58v9l7hxn8v22"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -115,7 +116,7 @@ their dependencies automatically upon calculation.")
(define-public orcus (define-public orcus
(package (package
(name "orcus") (name "orcus")
(version "0.15.3") (version "0.16.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -123,8 +124,10 @@ their dependencies automatically upon calculation.")
"orcus-" version ".tar.xz")) "orcus-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"14gbnqsv5n2fm4sxa17014f440clrzls6p2w2ixk9wipg4950v9s")))) "1bps34sqz7wlrl01ssywjd5fbmssplifs0rskivgrg801lr6pcm4"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-static")))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs
@ -1086,7 +1089,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
(define-public libreoffice (define-public libreoffice
(package (package
(name "libreoffice") (name "libreoffice")
(version "6.4.7.2") (version "7.1.4.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1095,7 +1098,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
"https://download.documentfoundation.org/libreoffice/src/" "https://download.documentfoundation.org/libreoffice/src/"
(version-prefix version 3) "/libreoffice-" version ".tar.xz")) (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
(sha256 (sha256
(base32 "0i3654rmzs8aazj8j3dmxamilslfrki0y4sksg3n1zygc2ddfk83")))) (base32 "1jsskhnlyra7q6d12kkc8dxq5fgrnd8grl32bdck7j9hkwv6d13m"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(native-inputs (native-inputs
`(("bison" ,bison) `(("bison" ,bison)
@ -1108,6 +1111,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
(inputs (inputs
`(("bluez" ,bluez) `(("bluez" ,bluez)
("boost" ,boost) ("boost" ,boost)
("box2d" ,box2d)
("clucene" ,clucene) ("clucene" ,clucene)
("cups" ,cups) ("cups" ,cups)
("dbus-glib" ,dbus-glib) ("dbus-glib" ,dbus-glib)
@ -1178,12 +1182,23 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
("vigra" ,vigra) ("vigra" ,vigra)
("xdg-utils" ,xdg-utils) ("xdg-utils" ,xdg-utils)
("xmlsec" ,xmlsec-nss) ("xmlsec" ,xmlsec-nss)
("zip" ,zip))) ("zip" ,zip)
("dtoa" ; needed after version 6.4.7.2.
,(origin
(method url-fetch)
(uri "https://dev-www.libreoffice.org/src/dtoa-20180411.tgz")
(sha256
(base32 "1d0iwy0q5sjznv23d3nbwmy0r7m1mdzlnv5pc4izddkx9xld10h0"))))))
(arguments (arguments
`(#:tests? #f ; Building the tests already fails. `(#:tests? #f ; Building the tests already fails.
#:make-flags '("build-nocheck") ; Do not build unit tests, which fails.
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'insert-external-tarballs
(lambda* (#:key inputs #:allow-other-keys)
(mkdir-p "external/tarballs")
(copy-file (assoc-ref inputs "dtoa")
"external/tarballs/dtoa-20180411.tgz")
#t))
(add-before 'configure 'prepare-src (add-before 'configure 'prepare-src
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* (substitute*
@ -1201,14 +1216,11 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
(list "dirname" "grep" "uname")) (list "dirname" "grep" "uname"))
;; GPGME++ headers are installed in a gpgme++ subdirectory, but ;; GPGME++ headers are installed in a gpgme++ subdirectory, but
;; files in "xmlsecurity/source/gpg/" and elsewhere expect to ;; configure is hardcoded to use FHS directories.
;; find them on the include path without a prefix. (substitute* "configure"
(substitute* '("xmlsecurity/Library_xsec_xmlsec.mk" (("GPGMEPP_CFLAGS=-I/usr")
"comphelper/Library_comphelper.mk") (string-append "GPGMEPP_CFLAGS=-I"
(("\\$\\$\\(INCLUDE\\)") (assoc-ref inputs "gpgme"))))
(string-append "$$(INCLUDE) -I"
(assoc-ref inputs "gpgme")
"/include/gpgme++")))
;; /usr/bin/xdg-open doesn't exist on Guix System. ;; /usr/bin/xdg-open doesn't exist on Guix System.
(substitute* '("shell/source/unix/exec/shellexec.cxx" (substitute* '("shell/source/unix/exec/shellexec.cxx"
@ -1259,10 +1271,6 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
"/bin/soffice") "/bin/soffice")
(symlink-output "/lib/libreoffice/program/soffice" (symlink-output "/lib/libreoffice/program/soffice"
"/bin/libreoffice") "/bin/libreoffice")
(install "workdir/CustomTarget/sysui/share/libreoffice/openoffice.keys"
"/share/mime-info/libreoffice.keys")
(install "workdir/CustomTarget/sysui/share/libreoffice/openoffice.mime"
"/share/mime-info/libreoffice.mime")
(install (install
"workdir/CustomTarget/sysui/share/libreoffice/openoffice.org.xml" "workdir/CustomTarget/sysui/share/libreoffice/openoffice.org.xml"
"/share/mime/packages/libreoffice.xml") "/share/mime/packages/libreoffice.xml")
@ -1278,6 +1286,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
#:configure-flags #:configure-flags
(list (list
"--enable-release-build" "--enable-release-build"
"--with-vendor=GNU Guix"
;; Avoid using all cpu cores by default ;; Avoid using all cpu cores by default
(format #f "--with-parallelism=~d" (parallel-job-count)) (format #f "--with-parallelism=~d" (parallel-job-count))
"--disable-fetch-external" ; disable downloads "--disable-fetch-external" ; disable downloads
@ -1295,6 +1304,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
"--without-java" "--without-java"
;; FIXME: Enable once the corresponding inputs are packaged. ;; FIXME: Enable once the corresponding inputs are packaged.
"--disable-coinmp" "--disable-coinmp"
"--disable-skia"
;; This could (Debian does this) be a separate output containing only ;; This could (Debian does this) be a separate output containing only
;; program/libfirebird_sdbclo.so, if there's a way to point to it. ;; program/libfirebird_sdbclo.so, if there's a way to point to it.
"--enable-firebird-sdbc" "--enable-firebird-sdbc"

View File

@ -730,9 +730,9 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(define* (make-linux-libre version hash-string supported-systems (define* (make-linux-libre version hash-string supported-systems
#:key #:key
(extra-version #f)
;; A function that takes an arch and a variant. ;; A function that takes an arch and a variant.
;; See kernel-config for an example. ;; See kernel-config for an example.
(extra-version #f)
(configuration-file #f) (configuration-file #f)
(defconfig "defconfig") (defconfig "defconfig")
(extra-options %default-extra-linux-options) (extra-options %default-extra-linux-options)
@ -751,9 +751,9 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(define* (make-linux-libre* version source supported-systems (define* (make-linux-libre* version source supported-systems
#:key #:key
(extra-version #f)
;; A function that takes an arch and a variant. ;; A function that takes an arch and a variant.
;; See kernel-config for an example. ;; See kernel-config for an example.
(extra-version #f)
(configuration-file #f) (configuration-file #f)
(defconfig "defconfig") (defconfig "defconfig")
(extra-options %default-extra-linux-options)) (extra-options %default-extra-linux-options))
@ -819,7 +819,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(format #t "`CROSS_COMPILE' set to `~a'~%" (format #t "`CROSS_COMPILE' set to `~a'~%"
(getenv "CROSS_COMPILE")))) (getenv "CROSS_COMPILE"))))
(setenv "EXTRA_VERSION" ,extra-version) (setenv "EXTRAVERSION" ,(and extra-version
(string-append "-" extra-version)))
(let ((build (assoc-ref %standard-phases 'build)) (let ((build (assoc-ref %standard-phases 'build))
(config (assoc-ref (or native-inputs inputs) "kconfig"))) (config (assoc-ref (or native-inputs inputs) "kconfig")))

View File

@ -17471,3 +17471,227 @@ Memory transactions give freedom from deadlocks, are immune to thread-safety
bugs and race conditions, provide automatic roll-back on failure, and aim at bugs and race conditions, provide automatic roll-back on failure, and aim at
resolving the tension between granularity and concurrency.") resolving the tension between granularity and concurrency.")
(license license:llgpl)))) (license license:llgpl))))
(define-public ecl-stmx
(sbcl-package->ecl-package sbcl-stmx))
(define-public cl-stmx
(sbcl-package->cl-source-package sbcl-stmx))
(define-public sbcl-binding-arrows
;; Fork of sbcl-arrows that does not have a new tag.
(let ((commit "d19364ec8850880ed6e42078ccaa2ed9114dc83a")
(revision "1"))
(package
(name "sbcl-binding-arrows")
(version (git-version "1.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/phoe/binding-arrows")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0hqikgzic7kjq2n1d924yldfm30qz67cmsk6gghi9cbmxkwdlwp8"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
(home-page "https://github.com/phoe/binding-arrows")
(synopsis "Threading macros based on binding anonymous variables")
(description
"This system implements binding threading macros -- a kind of threading
macros with different semantics than classical, Clojure core threading macros
or their extension, swiss-arrows. Two Common Lisp implementations of those are
@code{arrows} and @code{arrow-macros}.
This system is a fork of @code{arrows} with changes in semantics that make it
impossible to merge back upstream.")
(license license:expat))))
(define-public ecl-binding-arrows
(sbcl-package->ecl-package sbcl-binding-arrows))
(define-public cl-binding-arrows
(sbcl-package->cl-source-package sbcl-binding-arrows))
(define-public sbcl-atomics
;; No release in years.
(let ((commit "9ee0bdebcd2bb9b242671a75460db13fbf45454c")
(revision "1"))
(package
(name "sbcl-atomics")
(version (git-version "1.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/atomics")
(commit commit)))
(file-name (git-file-name "atomics" version))
(sha256
(base32 "0mp5jdqq0aamdhgnvw149cqqi3zg7dkkibp25qi4rafw1fnpd40z"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("documentation-utils" ,sbcl-documentation-utils)))
(native-inputs
`(("parachute" ,sbcl-parachute)))
(home-page "https://shinmera.github.io/atomics/")
(synopsis "Common Lisp portability layer for atomic operations")
(description
"This is a library for access to atomic operation primitives such as
compare-and-swap. It aims to be a rather thin layer over what the
implementations offer.")
(license license:zlib))))
(define-public ecl-atomics
(sbcl-package->ecl-package sbcl-atomics))
(define-public cl-atomics
(sbcl-package->cl-source-package sbcl-atomics))
(define-public sbcl-cl-mock
;; .asd version only got updated recently, despired the old GitHug "1.0.1" release.
(let ((commit "7988dca2093358911b67597a2cd1570c785dfe76"))
(package
(name "sbcl-cl-mock")
(version (git-version "1.0.1" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Ferada/cl-mock/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0f40wikcf783jx26ip0nnhwjjfjvjiw7njqsqrb6kaphc8bgw0i1"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)
("closer-mop" ,sbcl-closer-mop)
("trivia" ,sbcl-trivia)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(home-page "https://github.com/Ferada/cl-mock")
(synopsis "Mocking functions for Common Lisp testing")
(description
"This small library provides a way to replace the actual implementation
of either regular or generic functions with mocks.")
(license license:agpl3))))
(define-public ecl-cl-mock
(sbcl-package->ecl-package sbcl-cl-mock))
(define-public cl-mock
(sbcl-package->cl-source-package sbcl-cl-mock))
(define-public sbcl-cl-murmurhash
;; No release.
(let ((commit "5433f5e95f1cce63a81259a471150834c6a59364")
(revision "1"))
(package
(name "sbcl-cl-murmurhash")
(version (git-version "0.0.0" revision commit))
(home-page "https://github.com/ruricolist/cl-murmurhash/")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0251r0mpjm0y3qsm4lm7ncvrkxvgwc53spdm1p2mpayhvkkqqsws"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("babel" ,sbcl-babel)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(synopsis "32-bit version of Murmurhash3 for Common Lisp")
(description
"This Common Lisp package offers an implementation of the 32-bit
variant of MurmurHash3 (@url{https://github.com/aappleby/smhasher}), a fast
non-crytographic hashing algorithm.")
(license license:expat))))
(define-public ecl-cl-murmurhash
(sbcl-package->ecl-package sbcl-cl-murmurhash))
(define-public cl-murmurhash
(sbcl-package->cl-source-package sbcl-cl-murmurhash))
(define-public sbcl-cl-hamt
;; No release
(let ((commit "7a99eaaca1f952029def9ad5a2b80a612a712208"))
(package
(name "sbcl-cl-hamt")
(version (git-version "0.0.0" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/danshapero/cl-hamt/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1ycbd73ykfj5j9sdhlzamyv18qbjj6xqf7fhm4fa0nsyr6sr3rf5"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("cl-murmurhash" ,sbcl-cl-murmurhash)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(home-page "https://github.com/danshapero/cl-hamt")
(synopsis "Dictionary & set data structure using hash array-mapped tries")
(description
"This library provides purely functional dictionaries and sets in
Common Lisp based on the hash array-mapped trie data structure.")
(license license:bsd-3))))
(define-public ecl-cl-hamt
(sbcl-package->ecl-package sbcl-cl-hamt))
(define-public cl-hamt
(sbcl-package->cl-source-package sbcl-cl-hamt))
(define-public sbcl-cl-gserver
(package
(name "sbcl-cl-gserver")
(version "1.7.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mdbergmann/cl-gserver")
(commit version)))
(file-name (git-file-name "cl-gserver" version))
(sha256
(base32 "1vkxs6ybi1pkpji2crmhq8c71zg0dn2ji0lcwhs0rivphz5jxk24"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)
("bordeaux-threads" ,sbcl-bordeaux-threads)
("lparallel" ,sbcl-lparallel)
("cl-speedy-queue" ,sbcl-cl-speedy-queue)
("log4cl" ,sbcl-log4cl)
("str" ,sbcl-cl-str)
("blackbird" ,sbcl-blackbird)
("cl-hamt" ,sbcl-cl-hamt)
("binding-arrows" ,sbcl-binding-arrows)
("atomics" ,sbcl-atomics)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)
("mock" ,sbcl-cl-mock)))
(home-page "https://mdbergmann.github.io/cl-gserver/index.html")
(synopsis "Actor framework for easy access to state and async operations")
(description
"@code{cl-gserver} is a 'message passing' library / framework with actors
similar to Erlang or Akka. It supports creating reactive systems for parallel
computing and event based message handling.")
(license license:agpl3)))
(define-public ecl-cl-gserver
(sbcl-package->ecl-package sbcl-cl-gserver))
(define-public cl-gserver
(sbcl-package->cl-source-package sbcl-cl-gserver))

View File

@ -1108,23 +1108,20 @@ shell command executions.")
(define-public emilua (define-public emilua
(package (package
(name "emilua") (name "emilua")
(version "0.3.0") (version "0.3.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://gitlab.com/emilua/emilua.git") (url "https://gitlab.com/emilua/emilua.git")
(commit (string-append "v" version)) (commit (string-append "v" version))
;; Current version requires bundled CLI11, but at some future ;; Current version requires Trial.Protocol and the HTTP lib
;; release the one found in the system could be used ;; developed as part of GSoC 2014 for Boost, and these are
;; instead. Current version also requires Trial.Protocol and ;; dependencies unlikely to be "unbundled" in future releases.
;; the HTTP lib developed as part of GSoC 2014 for Boost, but
;; these are dependencies unlikely to be "unbundled" in future
;; releases.
(recursive? #t))) (recursive? #t)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"124fj73722c03znwdyqp1i0jygwv3s11f6s1j9rzym513qrf7fnd")))) "1999bgrh52124a5g4qizav3x257ff2brjr855srpm1jv1nxzbygv"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(;; Tests are disabled for now due to an issue that affecs guix: `(;; Tests are disabled for now due to an issue that affecs guix:

View File

@ -1833,7 +1833,7 @@ facilities for checking incoming mail.")
(package (package
(name "dovecot") (name "dovecot")
;; Also update dovecot-pigeonhole when updating to a new minor version. ;; Also update dovecot-pigeonhole when updating to a new minor version.
(version "2.3.14") (version "2.3.15")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1841,7 +1841,7 @@ facilities for checking incoming mail.")
(version-major+minor version) "/" (version-major+minor version) "/"
"dovecot-" version ".tar.gz")) "dovecot-" version ".tar.gz"))
(sha256 (sha256
(base32 "0jm3p52z619v7ajh533g2g7d790k82fk0w7ry0zqlm8ymzrxgcy8")))) (base32 "141manrh54cy8xizr7f8fsa3vdzc2ccfgdz87l9rjylm8mfxvfr1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -1902,7 +1902,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.")
(let ((dovecot-version (version-major+minor (package-version dovecot)))) (let ((dovecot-version (version-major+minor (package-version dovecot))))
(package (package
(name "dovecot-pigeonhole") (name "dovecot-pigeonhole")
(version "0.5.14") (version "0.5.15")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1910,7 +1910,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.")
"https://pigeonhole.dovecot.org/releases/" dovecot-version "/" "https://pigeonhole.dovecot.org/releases/" dovecot-version "/"
"dovecot-" dovecot-version "-pigeonhole-" version ".tar.gz")) "dovecot-" dovecot-version "-pigeonhole-" version ".tar.gz"))
(sha256 (sha256
(base32 "1lmjzz4kd90wbdslacybizd1dks4bhwmrx39lj8b19naldw0zjk8")) (base32 "1l2h0p8ddsl3ja2lnwk0mfqplqh8n0iw8k27awd3ak7prr88yjg1"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View File

@ -2421,7 +2421,7 @@ September 2004}")
`(("python" ,python-2))) `(("python" ,python-2)))
(inputs (inputs
`(("gfortran" ,gfortran) `(("gfortran" ,gfortran)
("lapack" ,lapack) ("openblas" ,openblas)
("superlu" ,superlu) ("superlu" ,superlu)
;; leaving out hdf5 and fftw, as petsc expects them to be built with mpi ;; leaving out hdf5 and fftw, as petsc expects them to be built with mpi
;; leaving out opengl, as configuration seems to only be for mac ;; leaving out opengl, as configuration seems to only be for mac
@ -2432,6 +2432,7 @@ September 2004}")
#:configure-flags #:configure-flags
`("--with-mpi=0" `("--with-mpi=0"
"--with-openmp=1" "--with-openmp=1"
"--with-openblas=1"
"--with-superlu=1") "--with-superlu=1")
#:make-flags #:make-flags
;; Honor (parallel-job-count) for build. Do not use --with-make-np, ;; Honor (parallel-job-count) for build. Do not use --with-make-np,
@ -6314,14 +6315,14 @@ numeric differences and differences in numeric formats.")
(define-public why3 (define-public why3
(package (package
(name "why3") (name "why3")
(version "1.3.1") (version "1.3.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/file" (uri (string-append "https://gforge.inria.fr/frs/download.php/file"
"/38291/why3-" version ".tar.gz")) "/38367/why3-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"16zcrc60zz2j3gd3ww93z2z9x2jkxb3kr57y8i5rcgmacy7mw3bv")))) "1n0a2nn1gnk0zg339lh698g4wpk7m8m1vyi2yvifd5adqvk4milw"))))
(build-system ocaml-build-system) (build-system ocaml-build-system)
(native-inputs (native-inputs
`(("coq" ,coq) `(("coq" ,coq)
@ -6345,8 +6346,8 @@ numeric differences and differences in numeric formats.")
(setenv "CONFIG_SHELL" (which "sh")) (setenv "CONFIG_SHELL" (which "sh"))
(substitute* "configure" (substitute* "configure"
;; find ocaml-num in the correct directory ;; find ocaml-num in the correct directory
(("\\$DIR/nums.cma") "$DIR/../nums.cma") (("\\$DIR/nums.cma") "$DIR/num.cma")
(("\\$DIR/num.cmi") "$DIR/../num.cmi")) (("\\$DIR/num.cmi") "$DIR/core/num.cmi"))
#t)) #t))
(add-after 'configure 'fix-makefile (add-after 'configure 'fix-makefile
(lambda _ (lambda _

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2018-2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
@ -1541,7 +1541,9 @@ process."))))
(add-before 'build 'modify-metainf (add-before 'build 'modify-metainf
(lambda _ (lambda _
(substitute* "build.xml" (substitute* "build.xml"
(("message=\"\"") "message=\"Implementation-Version: 3.5.4\n\"")) (("message=\"\"")
(string-append "message=\"Implementation-Version: "
(package-version maven) "\n\"")))
#t)) #t))
(add-before 'build 'add-maven-files (add-before 'build 'add-maven-files
(lambda _ (lambda _
@ -1590,7 +1592,28 @@ artifactId=maven-core" ,(package-version maven-core-bootstrap))))
default-bindings-xml default-bindings-xml
artifact-handlers-xml))))))) artifact-handlers-xml)))))))
#t)) #t))
(add-after 'generate-metadata 'rebuild (add-after 'generate-metadata 'fix-plugin-versions
(lambda _
;; This file controls the default plugins used by Maven. Ensure
;; we use the versions we have packaged by default
(substitute* '("build/classes/META-INF/plexus/default-bindings.xml"
"build/classes/META-INF/plexus/components.xml")
(("maven-install-plugin:[0-9.]+")
(string-append "maven-install-plugin:"
,(package-version maven-install-plugin)))
(("maven-resources-plugin:[0-9.]+")
(string-append "maven-resources-plugin:"
,(package-version maven-resources-plugin)))
(("maven-compiler-plugin:[0-9.]+")
(string-append "maven-compiler-plugin:"
,(package-version maven-compiler-plugin)))
(("maven-surefire-plugin:[0-9.]+")
(string-append "maven-surefire-plugin:"
,(package-version maven-surefire-plugin)))
(("maven-jar-plugin:[0-9.]+")
(string-append "maven-jar-plugin:"
,(package-version maven-jar-plugin))))))
(add-after 'fix-plugin-versions 'rebuild
(lambda _ (lambda _
(invoke "ant" "jar") (invoke "ant" "jar")
#t)))))) #t))))))
@ -2690,6 +2713,15 @@ Maven project dependencies.")
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure)
(delete 'build) (delete 'build)
(add-before 'install 'fix-pom-versions
(lambda _
(substitute* "pom.xml"
(("3.8.1") ,(package-version java-commons-lang3))
(("1.4.1") ,(package-version maven-resolver-util))
(("1.12") ,(package-version java-commons-codec))
(("<version>2.2</version>")
,(string-append "<version>" (package-version maven-dependency-tree)
"</version>")))))
(replace 'install (replace 'install
(install-pom-file "pom.xml"))))) (install-pom-file "pom.xml")))))
(propagated-inputs (propagated-inputs
@ -3424,23 +3456,17 @@ starting from JUnit 4.")))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'install 'regenerate-own-pom (add-before 'install 'regenerate-own-pom
(lambda _ ;; Surefire struggles resolving artifacts because of this pom
;; Surefire struggles resolving artifacts because of this pom ;; file, resulting in a NullPointerException when collecting
;; file, resulting in a NullPointerException when collecting ;; Artifacts (and a "Failure detected." message from
;; Artifacts (and a "Failure detected." message from ;; DefaultArtifactResolver). Replace the pom file with a much
;; DefaultArtifactResolver). Replace the pom file with a much ;; simpler one. Everything is shaded anyway (as used to be the
;; simpler one. Everything is shaded anyway (as used to be the ;; case in 2.22), so there will not be missing dependencies.
;; case in 2.22), so there will not be missing dependencies. (generate-pom.xml
(with-output-to-file "surefire-providers/surefire-junit4/pom.xml" "surefire-providers/surefire-junit4/pom.xml"
(lambda _ "org.apache.maven.surefire" "surefire-junit4"
(sxml->xml ,(package-version java-surefire-common-java5)
`((project #:name "Surefire JUnit4"))
(modelVersion "4.0.0")
(name "Surefire JUnit4")
(groupId "org.apache.maven.surefire")
(artifactId "surefire-junit4")
(version ,,(package-version java-surefire-common-java5)))))))
#t))
(add-before 'build 'copy-resources (add-before 'build 'copy-resources
(lambda _ (lambda _
(mkdir-p "build/classes") (mkdir-p "build/classes")

View File

@ -1242,30 +1242,49 @@ Encryption to Gajim.")
(guix build glib-or-gtk-build-system)) (guix build glib-or-gtk-build-system))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; To be enabled in v0.3.0, for A/V support.
;;(add-after 'install 'wrap
;;(lambda* (#:key outputs #:allow-other-keys)
;;(let* ((out (assoc-ref outputs "out"))
;;(dino (string-append out "/bin/dino"))
;;(gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
;;(wrap-program dino
;;`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))))
(add-after 'install 'glib-or-gtk-wrap (add-after 'install 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(native-inputs (native-inputs
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin") ("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("gtk+:bin" ,gtk+ "bin") ("gtk+:bin" ,gtk+ "bin")
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("vala" ,vala))) ("vala" ,vala)))
(inputs (inputs
`(("glib" ,glib) ;; NOTE: Commented-out lines are to be enabled in v0.3.0.
`(("atk" ,atk)
("cairo" ,cairo)
("gdk-pixbuf" ,gdk-pixbuf+svg)
("glib" ,glib)
("glib-networking" ,glib-networking) ("glib-networking" ,glib-networking)
("gpgme" ,gpgme) ("gpgme" ,gpgme)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gspell" ,gspell) ;for spell-check support
;;("gstreamer" ,gstreamer) ;for A/V support
;;("gst-plugins-base" ,gst-plugins-base)
;;("gst-plugins-good" ,gst-plugins-good)
("gtk+" ,gtk+) ("gtk+" ,gtk+)
("icu4c" ,icu4c) ;for emoji support
;;("libcanberra" ,libcanberra) ;for sound-notification support
("libgcrypt" ,libgcrypt) ("libgcrypt" ,libgcrypt)
("libgee" ,libgee) ("libgee" ,libgee)
("libnice" ,libnice)
("libsignal-protocol-c" ,libsignal-protocol-c) ("libsignal-protocol-c" ,libsignal-protocol-c)
("libsoup" ,libsoup) ("libsoup" ,libsoup)
;;("libsrtp" ,libsrtp) ;for calls support
("pango" ,pango)
("qrencode" ,qrencode) ("qrencode" ,qrencode)
("sqlite" ,sqlite) ("sqlite" ,sqlite)))
("gpgme" ,gpgme) ;;("webrtc-audio-processing" ,webrtc-audio-processing))) ;for A/V support
("gtk+" ,gtk+)
("glib-networking" ,glib-networking)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
(synopsis "Graphical Jabber/XMPP Client using GTK+/Vala") (synopsis "Graphical Jabber/XMPP Client using GTK+/Vala")
(description "Dino is a chat client for the desktop. It focuses on providing (description "Dino is a chat client for the desktop. It focuses on providing
a minimal yet reliable Jabber/XMPP experience and having encryption enabled by a minimal yet reliable Jabber/XMPP experience and having encryption enabled by

View File

@ -34,13 +34,9 @@
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (list (uri (string-append
(string-append "https://git.joeyh.name/index.cgi/moreutils.git/snapshot/"
"https://git.joeyh.name/index.cgi/moreutils.git/snapshot/" name "-" version ".tar.gz"))
name "-" version ".tar.gz")
(string-append
"http://drabczyk.org/"
name "-" version ".tar.gz")))
(sha256 (sha256
(base32 "10c8b4bwnli4gxwvgmgkc5kin1ksrxsnxmigs7y4rrh4aaszdjb0")))) (base32 "10c8b4bwnli4gxwvgmgkc5kin1ksrxsnxmigs7y4rrh4aaszdjb0"))))
(build-system gnu-build-system) (build-system gnu-build-system)

View File

@ -1399,7 +1399,7 @@ and up to 1 Mbit/s downstream.")
(define-public whois (define-public whois
(package (package
(name "whois") (name "whois")
(version "5.5.9") (version "5.5.10")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1408,7 +1408,7 @@ and up to 1 Mbit/s downstream.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0l9dhyciylh14lqw8j5mrk0y2hl95cnj8pyvvabbgwxpsdn0yvbb")))) (base32 "179hgmh9yqk8jq26ybik4cr3lgryd5p6kdwccc3r7mfssk3yp8lz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no test suite `(#:tests? #f ; no test suite
@ -3033,14 +3033,14 @@ asynchronous model using a modern C++ approach.")
(define-public asio (define-public asio
(package (package
(inherit asio-1.12) (inherit asio-1.12)
(version "1.18.1") (version "1.18.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/asio/asio/" (uri (string-append "mirror://sourceforge/asio/asio/"
version " (Stable)/asio-" version ".tar.bz2")) version " (Stable)/asio-" version ".tar.bz2"))
(sha256 (sha256
(base32 "04wi69d72l1p5c7d63z1dz06zn8pdqsbgx1if98dszs9ymfqgyaa")))))) (base32 "1wpr4ymv63a192fmymwyxd7v0bv575v022gz53y0mcflhr2mvh1s"))))))
(define-public shadowsocks (define-public shadowsocks
;; There are some security fixes after the last release. ;; There are some security fixes after the last release.

View File

@ -647,7 +647,14 @@ underlying solvers like Cplex, Gurobi, Lpsolver, Glpk, CbC, SCIP or WBO.")
#:make-flags #:make-flags
(list (string-append "LIBDIR=" (list (string-append "LIBDIR="
(assoc-ref %outputs "out") (assoc-ref %outputs "out")
"/lib/ocaml/site-lib")))) "/lib/ocaml/site-lib"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-test-script
(lambda _
(substitute* "applications/dose-tests.py"
(("warning\\(")
"from warnings import warn\nwarn(")))))))
(propagated-inputs (propagated-inputs
`(("ocaml-graph" ,ocaml-graph) `(("ocaml-graph" ,ocaml-graph)
("ocaml-cudf" ,ocaml-cudf) ("ocaml-cudf" ,ocaml-cudf)
@ -1030,7 +1037,7 @@ Emacs.")
(define-public ocaml-menhir (define-public ocaml-menhir
(package (package
(name "ocaml-menhir") (name "ocaml-menhir")
(version "20200211") (version "20210419")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1039,7 +1046,7 @@ Emacs.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "019izf51kdc7pzkw68zg8a2alc8lxw1gwdp7in970mr90n16b5zj")))) (base32 "0jcbr7s3iwfr7xxfybs3h407g76yfp5yq5r9i0wg2ahvvbqh03ky"))))
(build-system dune-build-system) (build-system dune-build-system)
(inputs (inputs
`(("ocaml" ,ocaml))) `(("ocaml" ,ocaml)))
@ -3086,39 +3093,41 @@ every compliant installation of OCaml and organize these libraries into a
hierarchy of modules.") hierarchy of modules.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public ocaml4.07-pcre (define-public ocaml-pcre
(package (package
(name "ocaml4.07-pcre") (name "ocaml-pcre")
(version "7.4.1") (version "7.4.6")
(source (origin (source
(method git-fetch) (origin
(uri (git-reference (method git-fetch)
(url "https://github.com/mmottl/pcre-ocaml") (uri (git-reference
(commit version))) (url "https://github.com/mmottl/pcre-ocaml")
(file-name (git-file-name name version)) (commit version)))
(sha256 (file-name (git-file-name name version))
(base32 (sha256
"11sd8g668h48790lamz0riw9jgnfkaif5qdfa0akcndwa6aj07jf")))) (base32
"11mck879p5zvkghps4ky8yslm0isgz52d84adl0dmcfxv2ibvcym"))))
(build-system dune-build-system) (build-system dune-build-system)
(arguments (arguments
`(#:test-target "." ;; No tests.
#:ocaml ,ocaml-4.07 '(#:tests? #f))
#:findlib ,ocaml4.07-findlib (propagated-inputs
#:dune ,ocaml4.07-dune)) `(("dune-configurator" ,dune-configurator)
("pcre" ,pcre)))
(native-inputs (native-inputs
`(("ocaml-base" ,(package-with-ocaml4.07 ocaml-base)) `(("pcre:bin" ,pcre "bin")))
("pcre:bin" ,pcre "bin")))
(propagated-inputs `(("pcre" ,pcre)))
(home-page "https://mmottl.github.io/pcre-ocaml") (home-page "https://mmottl.github.io/pcre-ocaml")
(synopsis "Bindings to the Perl Compatibility Regular Expressions library") (synopsis
(description "Pcre-ocaml offers library functions for string pattern "Bindings to the Perl Compatibility Regular Expressions library")
matching and substitution, similar to the functionality offered by the Perl (description "Pcre-ocaml offers library functions for string
language.") pattern matching and substitution, similar to the functionality
(license license:lgpl2.1+))); with the OCaml link exception offered by the Perl language.")
;; With static linking exception
(license license:lgpl2.1+)))
(define-public ocaml4.07-expect (define-public ocaml-expect
(package (package
(name "ocaml4.07-expect") (name "ocaml-expect")
(version "0.0.6") (version "0.0.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -3127,21 +3136,20 @@ language.")
(base32 (base32
"098qvg9d4yrqzr5ax291y3whrpax0m3sx4gi6is0mblc96r9yqk0")))) "098qvg9d4yrqzr5ax291y3whrpax0m3sx4gi6is0mblc96r9yqk0"))))
(arguments (arguments
`(#:tests? #f `(#:tests? #f))
#:ocaml ,ocaml-4.07
#:findlib ,ocaml4.07-findlib))
(build-system ocaml-build-system) (build-system ocaml-build-system)
(native-inputs (native-inputs
`(("ocamlbuild" ,(package-with-ocaml4.07 ocamlbuild)) `(("ocamlbuild" ,ocamlbuild)
("ocaml-num" ,(package-with-ocaml4.07 ocaml-num)) ("ocaml-num" ,ocaml-num)
("ocaml-pcre" ,ocaml4.07-pcre) ("ocaml-pcre" ,ocaml-pcre)
("ounit" ,(package-with-ocaml4.07 ocaml-ounit)))) ("ounit" ,ocaml-ounit)))
(propagated-inputs (propagated-inputs
`(("batteries" ,(package-with-ocaml4.07 ocaml-batteries)))) `(("batteries" ,ocaml-batteries)))
(home-page "https://forge.ocamlcore.org/projects/ocaml-expect/") (home-page "https://forge.ocamlcore.org/projects/ocaml-expect/")
(synopsis "Simple implementation of expect") (synopsis "Simple implementation of expect")
(description "Help building unitary testing of interactive program. You (description "This package provides utilities for building unitary testing
can match the question using a regular expression or a timeout.") of interactive program. You can match the question using a regular expression
or a timeout.")
(license license:lgpl2.1+))) ; with the OCaml static compilation exception (license license:lgpl2.1+))) ; with the OCaml static compilation exception
(define-public ocaml-stdlib-shims (define-public ocaml-stdlib-shims
@ -3452,6 +3460,7 @@ JSON.")
(uri (git-reference (uri (git-reference
(url home-page) (url home-page)
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"10bf28my1yhj8a2d7bkgbna9j20wq0ghp92k926y29bmjj2qh0l7")))) "10bf28my1yhj8a2d7bkgbna9j20wq0ghp92k926y29bmjj2qh0l7"))))
@ -4539,7 +4548,7 @@ format}. @code{craml} is released as a single binary (called @code{craml}).")
(define-public ocaml-dot-merlin-reader (define-public ocaml-dot-merlin-reader
(package (package
(name "ocaml-dot-merlin-reader") (name "ocaml-dot-merlin-reader")
(version "3.4.2") (version "4.2-411")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4549,7 +4558,7 @@ format}. @code{craml} is released as a single binary (called @code{craml}).")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj")))) "1vl6p8m2pag5j283h5g2gzxxfm599k6qhyrjkdf3kyc476fc9lw8"))))
(build-system dune-build-system) (build-system dune-build-system)
(arguments '(#:package "dot-merlin-reader" (arguments '(#:package "dot-merlin-reader"
#:tests? #f)) ; no tests #:tests? #f)) ; no tests
@ -4565,21 +4574,16 @@ format}. @code{craml} is released as a single binary (called @code{craml}).")
(define-public ocaml-merlin (define-public ocaml-merlin
(package (package
(inherit ocaml-dot-merlin-reader)
(name "ocaml-merlin") (name "ocaml-merlin")
(version "3.4.2") (arguments
(source '(#:package "merlin"
(origin #:phases
(method git-fetch) (modify-phases %standard-phases
(uri (git-reference (replace 'check
(url "https://github.com/ocaml/merlin") (lambda* (#:key tests? #:allow-other-keys)
(commit (string-append "v" version)))) (when tests?
(file-name (git-file-name name version)) (invoke "dune" "runtest" "-p" "merlin,dot-merlin-reader")))))))
(sha256
(base32
"0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj"))))
(build-system dune-build-system)
(arguments '(#:package "merlin"
#:test-target "tests"))
(inputs (inputs
`(("ocaml-yojson" ,ocaml-yojson) `(("ocaml-yojson" ,ocaml-yojson)
("ocaml-csexp" ,ocaml-csexp) ("ocaml-csexp" ,ocaml-csexp)
@ -4588,7 +4592,6 @@ format}. @code{craml} is released as a single binary (called @code{craml}).")
`(("ocaml-dot-merlin-reader" ,ocaml-dot-merlin-reader) ; required for tests `(("ocaml-dot-merlin-reader" ,ocaml-dot-merlin-reader) ; required for tests
("ocaml-mdx" ,ocaml-mdx) ("ocaml-mdx" ,ocaml-mdx)
("jq" ,jq))) ("jq" ,jq)))
(home-page "https://ocaml.github.io/merlin/")
(synopsis "Context sensitive completion for OCaml in Vim and Emacs") (synopsis "Context sensitive completion for OCaml in Vim and Emacs")
(description "Merlin is an editor service that provides modern IDE (description "Merlin is an editor service that provides modern IDE
features for OCaml. Emacs and Vim support is provided out-of-the-box. features for OCaml. Emacs and Vim support is provided out-of-the-box.
@ -5024,7 +5027,7 @@ as part of the same ocaml-migrate-parsetree driver.")
(define-public ocaml-ppxlib (define-public ocaml-ppxlib
(package (package
(name "ocaml-ppxlib") (name "ocaml-ppxlib")
(version "0.22.0") (version "0.22.1")
(home-page "https://github.com/ocaml-ppx/ppxlib") (home-page "https://github.com/ocaml-ppx/ppxlib")
(source (source
(origin (origin
@ -5035,7 +5038,7 @@ as part of the same ocaml-migrate-parsetree driver.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0kf7lgcwygf6zlx7rwddqpqvasa6v7xiq0bqal8vxlib6lpg074q")))) "0cpfg634if1py1b2rljk3cagq9gj68dl2gk1kdg76f9rapvl2i4g"))))
(build-system dune-build-system) (build-system dune-build-system)
(propagated-inputs (propagated-inputs
`(("ocaml-base" ,ocaml-base) `(("ocaml-base" ,ocaml-base)
@ -6798,6 +6801,64 @@ in the documentation always stays up-to-date.
compatibility.") compatibility.")
(license license:isc))) (license license:isc)))
(define-public ocaml-mparser
(package
(name "ocaml-mparser")
(version "1.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/murmour/mparser")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"16j19v16r42gcsii6a337zrs5cxnf12ig0vaysxyr7sq5lplqhkx"))))
(build-system dune-build-system)
(arguments
;; No tests.
'(#:package "mparser"
#:tests? #f))
(home-page "https://github.com/murmour/mparser")
(synopsis "Simple monadic parser combinator library")
(description
"This library implements a rather complete and efficient monadic parser
combinator library similar to the Parsec library for Haskell by Daan Leijen and
the FParsec library for FSharp by Stephan Tolksdorf.")
;; With static linking exception.
(license license:lgpl2.1+)))
(define-public ocaml-mparser-re
(package
(inherit ocaml-mparser)
(name "ocaml-mparser-re")
(arguments
;; No tests.
'(#:package "mparser-re"
#:tests? #f))
(propagated-inputs
`(("ocaml-mparser" ,ocaml-mparser)
("ocaml-re" ,ocaml-re)))
(synopsis "MParser plugin for RE-based regular expressions")
(description "This package provides RE-based regular expressions
support for Mparser.")))
(define-public ocaml-mparser-pcre
(package
(inherit ocaml-mparser)
(name "ocaml-mparser-pcre")
(arguments
;; No tests.
'(#:package "mparser-pcre"
#:tests? #f))
(propagated-inputs
`(("ocaml-mparser" ,ocaml-mparser)
("ocaml-pcre" ,ocaml-pcre)))
(synopsis "MParser plugin for PCRE-based regular expressions")
(description "This package provides PCRE-based regular expressions
support for Mparser.")))
(define-public lablgtk3 (define-public lablgtk3
(package (package
(name "lablgtk") (name "lablgtk")

View File

@ -0,0 +1,47 @@
From efbea1742bd30f842fbbfb87a473e5c84f4162f9 Mon Sep 17 00:00:00 2001
From: Michael R Sweet <msweet@msweet.org>
Date: Mon, 1 Feb 2021 15:02:32 -0500
Subject: [PATCH] Fix a buffer (read) overflow in ippReadIO (CVE-2020-10001)
---
diff --git a/cups/ipp.c b/cups/ipp.c
index 3d529346c..adbb26fba 100644
--- a/cups/ipp.c
+++ b/cups/ipp.c
@@ -2866,7 +2866,8 @@ ippReadIO(void *src, /* I - Data source */
unsigned char *buffer, /* Data buffer */
string[IPP_MAX_TEXT],
/* Small string buffer */
- *bufptr; /* Pointer into buffer */
+ *bufptr, /* Pointer into buffer */
+ *bufend; /* End of buffer */
ipp_attribute_t *attr; /* Current attribute */
ipp_tag_t tag; /* Current tag */
ipp_tag_t value_tag; /* Current value tag */
@@ -3441,6 +3442,7 @@ ippReadIO(void *src, /* I - Data source */
}
bufptr = buffer;
+ bufend = buffer + n;
/*
* text-with-language and name-with-language are composite
@@ -3454,7 +3456,7 @@ ippReadIO(void *src, /* I - Data source */
n = (bufptr[0] << 8) | bufptr[1];
- if ((bufptr + 2 + n) >= (buffer + IPP_BUF_SIZE) || n >= (int)sizeof(string))
+ if ((bufptr + 2 + n + 2) > bufend || n >= (int)sizeof(string))
{
_cupsSetError(IPP_STATUS_ERROR_INTERNAL,
_("IPP language length overflows value."), 1);
@@ -3481,7 +3483,7 @@ ippReadIO(void *src, /* I - Data source */
bufptr += 2 + n;
n = (bufptr[0] << 8) | bufptr[1];
- if ((bufptr + 2 + n) >= (buffer + IPP_BUF_SIZE))
+ if ((bufptr + 2 + n) > bufend)
{
_cupsSetError(IPP_STATUS_ERROR_INTERNAL,
_("IPP string length overflows value."), 1);

View File

@ -1,182 +0,0 @@
From f24c88a0732024028fffe0372039a847e91722ea Mon Sep 17 00:00:00 2001
From: Christopher Baines <mail@cbaines.net>
Date: Tue, 1 Jan 2019 22:36:29 +0000
Subject: [PATCH] Mark more tests that require the network
I believe all these tests require the network, at least they seem to
fail if it's I run them without connecting my computer to the web.
I'm looking at this as part of packaging linkchecker for GNU Guix,
where the package is build and the tests are run in a isolated
environment, intentionally without network access, to avoid issues
with non-reproducible package builds.
---
tests/checker/test_http.py | 2 ++
tests/checker/test_http_misc.py | 2 ++
tests/checker/test_http_redirect.py | 2 ++
tests/checker/test_httpbin.py | 5 +++++
tests/checker/test_misc.py | 4 ++++
tests/checker/test_whitespace.py | 3 +++
6 files changed, 18 insertions(+)
diff --git a/tests/checker/test_http.py b/tests/checker/test_http.py
index e4c1e097..8a8af567 100644
--- a/tests/checker/test_http.py
+++ b/tests/checker/test_http.py
@@ -20,6 +20,7 @@
import pytest
+from tests import need_network
from .httpserver import HttpServerTest, CookieRedirectHttpRequestHandler
class TestHttp (HttpServerTest):
@@ -29,6 +30,7 @@ def __init__(self, methodName='runTest'):
super(TestHttp, self).__init__(methodName=methodName)
self.handler = CookieRedirectHttpRequestHandler
+ @need_network
def test_html (self):
confargs = dict(recursionlevel=1)
self.file_test("http.html", confargs=confargs)
diff --git a/tests/checker/test_http_misc.py b/tests/checker/test_http_misc.py
index 9922d85f..c6b6afdb 100644
--- a/tests/checker/test_http_misc.py
+++ b/tests/checker/test_http_misc.py
@@ -20,11 +20,13 @@
import os
import sys
from .httpserver import HttpServerTest
+from tests import need_network
from linkcheck.network import iputil
class TestHttpMisc (HttpServerTest):
"""Test http:// misc link checking."""
+ @need_network
def test_html (self):
self.swf_test()
self.obfuscate_test()
diff --git a/tests/checker/test_http_redirect.py b/tests/checker/test_http_redirect.py
index f212d98e..2253a70d 100644
--- a/tests/checker/test_http_redirect.py
+++ b/tests/checker/test_http_redirect.py
@@ -17,6 +17,7 @@
"""
Test http checking.
"""
+from tests import need_network
from .httpserver import HttpServerTest, CookieRedirectHttpRequestHandler
class TestHttpRedirect (HttpServerTest):
@@ -26,6 +27,7 @@ def __init__(self, methodName='runTest'):
super(TestHttpRedirect, self).__init__(methodName=methodName)
self.handler = CookieRedirectHttpRequestHandler
+ @need_network
def test_redirect (self):
self.redirect1()
self.redirect2()
diff --git a/tests/checker/test_httpbin.py b/tests/checker/test_httpbin.py
index 0319c2f6..4c8fa846 100644
--- a/tests/checker/test_httpbin.py
+++ b/tests/checker/test_httpbin.py
@@ -18,6 +18,7 @@
Test http stuff with httpbin.org.
"""
import re
+from tests import need_network
from . import LinkCheckTest
@@ -30,6 +31,7 @@ def get_httpbin_url(path):
class TestHttpbin(LinkCheckTest):
"""Test http:// link redirection checking."""
+ @need_network
def test_http_link(self):
linkurl = u"http://www.example.com"
nlinkurl = self.norm(linkurl)
@@ -48,6 +50,7 @@ def test_http_link(self):
]
self.direct(url, resultlines, recursionlevel=1)
+ @need_network
def test_basic_auth(self):
user = u"testuser"
password = u"testpassword"
@@ -67,6 +70,7 @@ def test_basic_auth(self):
]
self.direct(url, resultlines, confargs=confargs)
+ @need_network
def test_http_refresh_header(self):
linkurl = u"http://www.example.com"
nlinkurl = self.norm(linkurl)
@@ -85,6 +89,7 @@ def test_http_refresh_header(self):
]
self.direct(url, resultlines, recursionlevel=1)
+ @need_network
def test_http_content_location_header(self):
linkurl = u"http://www.example.com"
nlinkurl = self.norm(linkurl)
diff --git a/tests/checker/test_misc.py b/tests/checker/test_misc.py
index 2e4cfd07..f9591f9d 100644
--- a/tests/checker/test_misc.py
+++ b/tests/checker/test_misc.py
@@ -17,6 +17,7 @@
"""
Test miscellaneous html tag parsing and URL types
"""
+from tests import need_network
from . import LinkCheckTest
@@ -25,15 +26,18 @@ class TestMisc (LinkCheckTest):
Test misc link types.
"""
+ @need_network
def test_misc (self):
self.file_test("misc.html")
def test_html5 (self):
self.file_test("html5.html")
+ @need_network
def test_archive (self):
self.file_test("archive.html")
+ @need_network
def test_itms_services(self):
url = u"itms-services:?action=download-manifest&url=http://www.example.com/"
resultlines = [
diff --git a/tests/checker/test_whitespace.py b/tests/checker/test_whitespace.py
index 609c108a..fc2727d6 100644
--- a/tests/checker/test_whitespace.py
+++ b/tests/checker/test_whitespace.py
@@ -17,6 +17,7 @@
"""
Test whitespace handling.
"""
+from tests import need_network
from . import LinkCheckTest
@@ -25,6 +26,7 @@ class TestWhitespace (LinkCheckTest):
Test whitespace in URLs.
"""
+ @need_network
def test_leading_whitespace (self):
# Leading whitespace
url = u" http://www.example.org/"
@@ -50,6 +52,7 @@ def test_leading_whitespace (self):
]
self.direct(url, resultlines)
+ @need_network
def test_trailing_whitespace (self):
# Trailing whitespace
url = u"http://www.example.org/ "

View File

@ -0,0 +1,66 @@
From 295fa956f899af37acb6bda9c76ad77748eb9a4a Mon Sep 17 00:00:00 2001
From: Ervin Hegedus <airween@gmail.com>
Date: Sat, 5 Jun 2021 09:23:06 +0200
Subject: [PATCH] Quick fix for changing of Hamlib's FILPATHLEN macro
This patch was prepared for Guix by Jack Hill <jackhill@jackhill.us> by
squashing together the changes from upstream #268
<https://github.com/Tlf/tlf/pull/268>.
It allows the released version of Tlf to build against the version 4.2 of
hamlib in Guix.
---
src/sendqrg.c | 6 +++---
src/sendqrg.h | 10 ++++++++++
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/src/sendqrg.c b/src/sendqrg.c
index ceeb356..5d4420e 100644
--- a/src/sendqrg.c
+++ b/src/sendqrg.c
@@ -87,7 +87,7 @@ int init_tlf_rig(void) {
rigportname[strlen(rigportname) - 1] = '\0'; // remove '\n'
strncpy(my_rig->state.rigport.pathname, rigportname,
- FILPATHLEN - 1);
+ TLFFILPATHLEN - 1);
caps = my_rig->caps;
@@ -104,9 +104,9 @@ int init_tlf_rig(void) {
if (dcd_type != RIG_DCD_NONE)
my_rig->state.dcdport.type.dcd = dcd_type;
if (ptt_file)
- strncpy(my_rig->state.pttport.pathname, ptt_file, FILPATHLEN);
+ strncpy(my_rig->state.pttport.pathname, ptt_file, TLFFILPATHLEN);
if (dcd_file)
- strncpy(my_rig->state.dcdport.pathname, dcd_file, FILPATHLEN);
+ strncpy(my_rig->state.dcdport.pathname, dcd_file, TLFFILPATHLEN);
my_rig->state.rigport.parm.serial.rate = serial_rate;
diff --git a/src/sendqrg.h b/src/sendqrg.h
index 8c53f2e..1ef85a6 100644
--- a/src/sendqrg.h
+++ b/src/sendqrg.h
@@ -23,6 +23,16 @@
#include <hamlib/rig.h>
+#ifdef HAMLIB_FILPATHLEN
+ #define TLFFILPATHLEN HAMLIB_FILPATHLEN
+#else
+ #ifdef FILPATHLEN
+ #define TLFFILPATHLEN FILPATHLEN
+ #else
+ #error "(HAMLIB_)FILPATHLEN macro not found"
+ #endif
+#endif
+
int init_tlf_rig(void);
void close_tlf_rig(RIG *my_rig);
--
2.32.0

View File

@ -2,41 +2,29 @@ Description: use the system-wide minizip instead of the embeeded one if found.
Forwarded-Upstream: It was provided by upstream: http://bazaar.launchpad.net/~widelands-dev/widelands/b19-debian/revision/8147 Forwarded-Upstream: It was provided by upstream: http://bazaar.launchpad.net/~widelands-dev/widelands/b19-debian/revision/8147
. .
Thanks to Fòram na Gàidhlig for the patch. Thanks to Fòram na Gàidhlig for the patch.
I just added this line to make its use easier:
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_HOME_DIRECTORY}/Modules)
=== modified file 'CMakeLists.txt' === modified file 'CMakeLists.txt'
--- ---
CMakeLists.txt | 3 +++ CMakeLists.txt | 1 +
Modules/FindMinizip.cmake | 37 +++++++++++++++++++++++++++++++++++++ cmake/Modules/FindMinizip.cmake | 37 +++++++++++++++++++++++++++++++++++++
cmake/WlFunctions.cmake | 7 +++++++ cmake/WlFunctions.cmake | 8 ++++++++
src/io/CMakeLists.txt | 2 +- src/io/filesystem/CMakeLists.txt | 2 +-
src/third_party/CMakeLists.txt | 20 +++++++++++--------- src/io/filesystem/zip_filesystem.h | 6 ++++++
src/third_party/minizip/README.txt | 4 ++++ src/third_party/CMakeLists.txt | 20 +++++++++++---------
6 files changed, 63 insertions(+), 10 deletions(-) 6 files changed, 64 insertions(+), 10 deletions(-)
--- a/CMakeLists.txt --- a/CMakeLists.txt
+++ b/CMakeLists.txt +++ b/CMakeLists.txt
@@ -43,6 +43,7 @@ @@ -142,6 +142,7 @@
endif(POLICY CMP0074) find_package(SDL2_mixer REQUIRED)
include("${CMAKE_SOURCE_DIR}/cmake/WlFunctions.cmake")
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_HOME_DIRECTORY}/Modules)
option(OPTION_USE_GLBINDING "Use glbinding instead of GLEW" OFF)
option(OPTION_GLEW_STATIC "Use static GLEW Library" OFF)
@@ -105,6 +106,8 @@
find_package(SDL2_ttf REQUIRED) find_package(SDL2_ttf REQUIRED)
find_package(ZLIB REQUIRED) find_package(ZLIB REQUIRED)
find_package(ICU REQUIRED)
+find_package(Minizip) +find_package(Minizip)
+ if(${CMAKE_VERSION} VERSION_LESS 3.9.0)
if(OPTION_USE_GLBINDING) find_package(ICU_old REQUIRED)
find_package(glbinding REQUIRED)
else() else()
--- /dev/null --- /dev/null
+++ b/Modules/FindMinizip.cmake +++ b/cmake/Modules/FindMinizip.cmake
@@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
+# - Try to find Minizip +# - Try to find Minizip
+# Once done this will define +# Once done this will define
@ -77,10 +65,10 @@ I just added this line to make its use easier:
+ +
--- a/cmake/WlFunctions.cmake --- a/cmake/WlFunctions.cmake
+++ b/cmake/WlFunctions.cmake +++ b/cmake/WlFunctions.cmake
@@ -81,6 +81,14 @@ @@ -84,6 +84,14 @@
if(ARG_USES_ZLIB) if(ARG_USES_ZLIB)
wl_include_system_directories(${NAME} ${ZLIB_INCLUDE_DIRS}) target_link_libraries(${NAME} ZLIB::ZLIB)
target_link_libraries(${NAME} ${ZLIB_LIBRARY})
+ if (MINIZIP_FOUND) + if (MINIZIP_FOUND)
+ wl_include_system_directories(${NAME} ${MINIZIP_INCLUDE_DIR}) + wl_include_system_directories(${NAME} ${MINIZIP_INCLUDE_DIR})
+ target_link_libraries(${NAME} ${MINIZIP_LIBRARY}) + target_link_libraries(${NAME} ${MINIZIP_LIBRARY})
@ -136,7 +124,7 @@ I just added this line to make its use easier:
) )
--- a/src/io/filesystem/zip_filesystem.h --- a/src/io/filesystem/zip_filesystem.h
+++ b/src/io/filesystem/zip_filesystem.h +++ b/src/io/filesystem/zip_filesystem.h
@@ -28,8 +28,14 @@ @@ -25,8 +25,14 @@
#include "io/filesystem/filesystem.h" #include "io/filesystem/filesystem.h"
#include "io/streamread.h" #include "io/streamread.h"
#include "io/streamwrite.h" #include "io/streamwrite.h"

View File

@ -298,7 +298,7 @@ structured data.")
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'add-source-to-load-path 'change-working-directory (add-before 'expand-load-path 'change-working-directory
(lambda _ (chdir "editors") #t))))) (lambda _ (chdir "editors") #t)))))
(home-page "https://github.com/protocolbuffers/protobuf") (home-page "https://github.com/protocolbuffers/protobuf")
(synopsis "Protocol buffers major mode for Emacs") (synopsis "Protocol buffers major mode for Emacs")

View File

@ -73,8 +73,7 @@
("python-matplotlib" ,python-matplotlib) ("python-matplotlib" ,python-matplotlib)
("python-pyparsing" ,python-pyparsing))) ("python-pyparsing" ,python-pyparsing)))
(inputs (inputs
`(("lapack" ,lapack) `(("openblas" ,openblas)
("openblas" ,openblas)
("pybind11" ,pybind11))) ("pybind11" ,pybind11)))
(native-inputs (native-inputs
`(("python-cython" ,python-cython) `(("python-cython" ,python-cython)

View File

@ -356,13 +356,13 @@ WSGI. This package includes libraries for implementing ASGI servers.")
(define-public python-aws-sam-translator (define-public python-aws-sam-translator
(package (package
(name "python-aws-sam-translator") (name "python-aws-sam-translator")
(version "1.30.1") (version "1.36.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "aws-sam-translator" version)) (uri (pypi-uri "aws-sam-translator" version))
(sha256 (sha256
(base32 (base32
"0d9ppd94x2kw404m49ajswmmxgdngbs4p5ajyrdvnlivfzqbv7dx")))) "115mcbb4r205c1hln199llqrvvbijfqz075rwx991l99jc6rj6zs"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(;; XXX: Tests are not distributed with the PyPI archive, and would `(;; XXX: Tests are not distributed with the PyPI archive, and would
@ -456,7 +456,7 @@ emit information from within their applications to the AWS X-Ray service.")
(define-public python-cfn-lint (define-public python-cfn-lint
(package (package
(name "python-cfn-lint") (name "python-cfn-lint")
(version "0.41.0") (version "0.51.0")
(home-page "https://github.com/aws-cloudformation/cfn-python-lint") (home-page "https://github.com/aws-cloudformation/cfn-python-lint")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -466,7 +466,7 @@ emit information from within their applications to the AWS X-Ray service.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0nqs0fmj3hd7pnd9hkb4z57jvi2iv82hh6n3xxba6i6p8zgx75q4")))) "1027s243sik25c6sqw6gla7k7vl3jdicrik5zdsa8pafxh2baja4"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
@ -477,6 +477,8 @@ emit information from within their applications to the AWS X-Ray service.")
;; to avoid a dependency on 'git'. ;; to avoid a dependency on 'git'.
(delete-file (delete-file
"test/unit/module/maintenance/test_update_documentation.py") "test/unit/module/maintenance/test_update_documentation.py")
(delete-file
"test/unit/module/maintenance/test_update_resource_specs.py")
(invoke "python" "-m" "unittest" "discover" (invoke "python" "-m" "unittest" "discover"
"-s" "test"))))))) "-s" "test")))))))
(native-inputs (native-inputs

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2014, 2015, 2016, 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2017, 2021 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2014, 2017, 2021 Eric Bavier <bavier@posteo.net>
@ -3514,14 +3514,14 @@ environments and back.")
(define-public python-pyyaml (define-public python-pyyaml
(package (package
(name "python-pyyaml") (name "python-pyyaml")
(version "5.3.1") (version "5.4.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "PyYAML" version)) (uri (pypi-uri "PyYAML" version))
(sha256 (sha256
(base32 (base32
"0pb4zvkfxfijkpgd1b86xjsqql97ssf1knbd1v53wkg1qm9cgsmq")))) "0pm440pmpvgv5rbbnm8hk4qga5a292kvlm1bh3x2nwr8pb5p8xv0"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
`(("libyaml" ,libyaml))) `(("libyaml" ,libyaml)))
@ -4916,8 +4916,7 @@ between language specification and implementation aspects.")
"1ak9dmjja0q90a7fsxli51ypcwssh8c4pb6f8wkrsnf2xgdk6dy9")))) "1ak9dmjja0q90a7fsxli51ypcwssh8c4pb6f8wkrsnf2xgdk6dy9"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
`(("openblas" ,openblas) `(("openblas" ,openblas)))
("lapack" ,lapack)))
(native-inputs (native-inputs
`(("python-cython" ,python-cython) `(("python-cython" ,python-cython)
("python-pytest" ,python-pytest) ("python-pytest" ,python-pytest)
@ -5859,6 +5858,28 @@ operators such as union, intersection, and difference.")
(define-public python2-pysnptools (define-public python2-pysnptools
(package-with-python2 python-pysnptools)) (package-with-python2 python-pysnptools))
(define-public python-pykdtree
(package
(name "python-pykdtree")
(version "1.3.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pykdtree" version))
(sha256
(base32 "0p8n2ljdacfixkiw092974dmhy4s1c0h032ii1z9kwi9h5h5rgmy"))))
(build-system python-build-system)
(native-inputs
`(("python-nose" ,python-nose)))
(propagated-inputs
`(("python-numpy" ,python-numpy)))
(home-page "https://github.com/storpipfugl/pykdtree")
(synopsis "Fast kd-tree implementation with OpenMP-enabled queries")
(description
"@code{pykdtree} is a kd-tree implementation for fast nearest neighbour
search in Python.")
(license license:lgpl3+)))
(define-public python-wurlitzer (define-public python-wurlitzer
(package (package
(name "python-wurlitzer") (name "python-wurlitzer")
@ -6204,13 +6225,13 @@ the OleFileIO module from PIL, the Python Image Library.")
(define-public python-pikepdf (define-public python-pikepdf
(package (package
(name "python-pikepdf") (name "python-pikepdf")
(version "2.12.2") (version "2.13.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pikepdf" version)) (uri (pypi-uri "pikepdf" version))
(sha256 (sha256
(base32 "1r68zh8whp8wg4brjf5vha8h1ly8pjqyb37pfw91hyxfn6cm9wsz")))) (base32 "1di5bbh2mr8m1aydky8ix12pkybrd0cvs8xqf5s2y1xa349r514l"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:tests? #false)) ;require python-xmp-toolkit `(#:tests? #false)) ;require python-xmp-toolkit
@ -14322,17 +14343,40 @@ focus on event-based network programming and multiprotocol integration.")
(define-public python-pika (define-public python-pika
(package (package
(name "python-pika") (name "python-pika")
(version "0.12.0") (version "1.2.0")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (pypi-uri "pika" version)) (uri (git-reference
(url "https://github.com/pika/pika")
(commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ld7akgm93s8pfa4dsx9qlzlhj76zspbr5m9ms0ns09yd2w4aq9h")))) "0cm45xydk2jigydwszwik89qlbk6l3l18sxhzppzqmxw2rdkm22s"))))
(build-system python-build-system) (build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-before 'check 'disable-live-tests
(lambda _
;; Disable tests that require RabbitMQ, which is not
;; yet available in Guix.
(substitute* "setup.cfg"
(("tests/unit,tests/acceptance")
"tests/unit"))
(with-directory-excursion "tests"
(for-each delete-file
'("unit/base_connection_tests.py"
"unit/threaded_test_wrapper_test.py")))))
(replace 'check
(lambda _
(invoke "nosetests"))))))
(native-inputs (native-inputs
`(("python-pyev" ,python-pyev) `(("python-mock" ,python-mock)
("python-nose" ,python-nose)
;; These are optional at runtime, and provided here for tests.
("python-gevent" ,python-gevent)
("python-tornado" ,python-tornado) ("python-tornado" ,python-tornado)
("python-twisted" ,python-twisted))) ("python-twisted" ,python-twisted)))
(home-page "https://pika.readthedocs.org") (home-page "https://pika.readthedocs.org")
@ -14343,9 +14387,6 @@ Protocol) 0-9-1 protocol that tries to stay fairly independent of the underlying
network support library.") network support library.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python2-pika
(package-with-python2 python-pika))
(define-public python-ply (define-public python-ply
(package (package
(name "python-ply") (name "python-ply")
@ -16584,14 +16625,14 @@ can even create animations with the cursor controls.")
(define-public python-ddt (define-public python-ddt
(package (package
(name "python-ddt") (name "python-ddt")
(version "1.4.1") (version "1.4.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "ddt" version)) (uri (pypi-uri "ddt" version))
(sha256 (sha256
(base32 (base32
"1niqpzc26sxdbyi46r07n4pma5fjx6crww2539vpfmsf0w6yg585")))) "0y2k756qjz1rhpivi60hy29b4bf0bh3wck39i1mn6pkil9k779k4"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-pytest" ,python-pytest))) `(("python-pytest" ,python-pytest)))
@ -22680,8 +22721,7 @@ standard error channel (stderr) in your program.")
("python-mock" ,python-mock) ("python-mock" ,python-mock)
("python-pytest" ,python-pytest) ("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov) ("python-pytest-cov" ,python-pytest-cov)
("python-pytest-xdist" ,python-pytest-xdist) ("python-pytest-xdist" ,python-pytest-xdist)))
("python-tox" ,python-tox)))
(home-page "https://github.com/neithere/argh/") (home-page "https://github.com/neithere/argh/")
(synopsis "Argparse wrapper with natural syntax") (synopsis "Argparse wrapper with natural syntax")
(description (description

View File

@ -7,6 +7,7 @@
;;; Copyright © 2020 Charlie Ritter <chewzerita@posteo.net> ;;; Copyright © 2020 Charlie Ritter <chewzerita@posteo.net>
;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 João Pedro Simas <jpsimas@gmail.com> ;;; Copyright © 2021 João Pedro Simas <jpsimas@gmail.com>
;;; Copyright © 2021 Jack Hill <jackhill@jackhill.us>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -29,6 +30,7 @@
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages admin) #:use-module (gnu packages admin)
#:use-module (gnu packages algebra) #:use-module (gnu packages algebra)
#:use-module (gnu packages astronomy) #:use-module (gnu packages astronomy)
@ -68,6 +70,7 @@
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio) #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python) #:use-module (gnu packages python)
@ -1065,6 +1068,65 @@ users.")
"--with-tcl-binding" "--with-tcl-binding"
"--with-xml-support"))))) "--with-xml-support")))))
(define-public tlf
(package
(name "tlf")
(version "1.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tlf/tlf")
(commit (string-append "tlf-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xpgs4k27pjd9mianfknknp6mf34365bcp96wrv5xh4dhph573rj"))
(patches
(search-patches "tlf-support-hamlib-4.2+.patch"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(list "--enable-fldigi-xmlrpc")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("perl" ,perl)
("pkg-config" ,pkg-config)))
(inputs
`(("cmocka" ,cmocka)
("glib" ,glib)
("hamlib" ,hamlib)
("libusb" ,libusb) ;`Requires.private: libusb-1.0` in hamlib pkg-config
("ncurses" ,ncurses)
("xmlrpc-c" ,xmlrpc-c)))
(home-page "https://tlf.github.io/")
(synopsis "Amateur radio contest logging for the terminal")
(description "TLF is a @acronym{Text User Interface, TUI} amateur radio
contest logging program. It integrates with radios supported by hamlib and
other ham radio programs like fldigi. Many contests are supported including:
@itemize
@item CQWW (SO, M/S and M/M)
@item WPX (SO, M/S and M/M)
@item ARRL Sweepstakes (SO, M/S )
@item EU SPRINT
@item EUHFC
@item ARRL-DX (both sides)
@item ARRL-FD
@item ARRL 10m
@item ARRL 160m
@item Region1 field day
@item SP DX contest
@item PACC (both sides)
@item NRAU - scandinavian
@item Wysiwyg mults mode (per band or per contest)
@item WAEDX
@end itemize
It also supports connecting to DX clusters, log synchronization with other TLF
instances over the network, and general QSO and DXpedition logging.")
(license license:gpl2+)))
(define-public wsjtx (define-public wsjtx
(package (package
(name "wsjtx") (name "wsjtx")

View File

@ -587,14 +587,14 @@ gitignore rules.")
(define-public tectonic (define-public tectonic
(package (package
(name "tectonic") (name "tectonic")
(version "0.6.4") (version "0.7.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "tectonic" version)) (uri (crate-uri "tectonic" version))
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 "1h6m0mxqd8580c82dknja7qqhkg1pbvwmw4rlzfr1ndfjrcbk3al")))) (base32 "1x6i97dl28y6wxpq2r4dcsa853sa4yw5vhl79qdb44q5wsd6ba1f"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:rust ,rust-1.52 `(#:rust ,rust-1.52

View File

@ -424,9 +424,9 @@ it a convenient format to store user input files.")
;; /etc/services, which is not present in build environment. ;; /etc/services, which is not present in build environment.
(substitute* "src/kj/async-io-test.c++" ((":http") ":80")) (substitute* "src/kj/async-io-test.c++" ((":http") ":80"))
#t)) #t))
(add-before 'check 'use-tmp-for-tempory-files (add-before 'check 'use-tmp-for-temporary-files
(lambda _ (lambda _
;; Use /tmp for tempory files, as the default /var/tmp directory ;; Use /tmp for temporary files, as the default /var/tmp directory
;; doesn't exist. ;; doesn't exist.
(substitute* "src/kj/filesystem-disk-test.c++" (substitute* "src/kj/filesystem-disk-test.c++"
(("VAR\\_TMP \"/var/tmp\"") (("VAR\\_TMP \"/var/tmp\"")

View File

@ -840,14 +840,14 @@ editors.")
(define-public texmacs (define-public texmacs
(package (package
(name "texmacs") (name "texmacs")
(version "1.99.21") (version "2.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.texmacs.org/Download/ftp/tmftp/" (uri (string-append "https://www.texmacs.org/Download/ftp/tmftp/"
"source/TeXmacs-" version "-src.tar.gz")) "source/TeXmacs-" version "-src.tar.gz"))
(sha256 (sha256
(base32 "0zmm8212cha22dp1xablj1h4anlnyhjh09n13ckqf6ppb1bkf4gm")))) (base32 "1gl6k1bwrk1y7hjyl4xvlqvmk5crl4jvsk8wrfp7ynbdin6n2i48"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
@ -868,16 +868,14 @@ editors.")
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
(substitute* "packages/linux/icons.sh" (substitute* "packages/linux/icons.sh"
(("/usr/share") (("/usr/share")
(string-append out "/share"))) (string-append out "/share"))))))
#t)))
(add-after 'install 'install-desktop-file (add-after 'install 'install-desktop-file
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; Install desktop file. ;; Install desktop file.
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(apps (string-append out "/share/applications")) (apps (string-append out "/share/applications"))
(source "TeXmacs/misc/mime/texmacs.desktop")) (source "TeXmacs/misc/mime/texmacs.desktop"))
(install-file source apps) (install-file source apps))))
#t)))
(add-before 'configure 'gzip-flags (add-before 'configure 'gzip-flags
(lambda _ (lambda _
(substitute* "Makefile.in" (substitute* "Makefile.in"

View File

@ -6,8 +6,9 @@
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 20192021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20192021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com> ;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -43,7 +44,7 @@
(define-public tmux (define-public tmux
(package (package
(name "tmux") (name "tmux")
(version "3.2") (version "3.2a")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -51,12 +52,12 @@
version "/tmux-" version ".tar.gz")) version "/tmux-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"16d310gcpfnfh7rl5vy1lwqy54ai5awkkybzkm1bw761719k8kb6")))) "0pyhmipg6vxvxjk7mr410007qk98rh5q0mljvkdaisibz2j565am"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("libevent" ,libevent) `(("libevent" ,libevent)
("ncurses" ,ncurses))) ("ncurses" ,ncurses)))
(home-page "https://tmux.github.io/") (home-page "https://github.com/tmux/tmux/wiki")
(synopsis "Terminal multiplexer") (synopsis "Terminal multiplexer")
(description (description
"tmux is a terminal multiplexer: it enables a number of terminals (or "tmux is a terminal multiplexer: it enables a number of terminals (or

View File

@ -42,7 +42,7 @@
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Alex McGrath <amk@amk.ie> ;;; Copyright © 2020 Alex McGrath <amk@amk.ie>
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro> ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;; Copyright © 2020 Ivan Kozlov <kanichos@yandex.ru> ;;; Copyright © 2020 Ivan Kozlov <kanichos@yandex.ru>
@ -86,6 +86,7 @@
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system waf) #:use-module (guix build-system waf)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (gnu packages) #:use-module (gnu packages)
@ -2988,7 +2989,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(define-public mlt (define-public mlt
(package (package
(name "mlt") (name "mlt")
(version "6.22.1") (version "6.26.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -2997,11 +2998,12 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0jxv848ykw0csbnayrd710ylw46m0picfv7rpzsxz1vh4jzs395k")))) "1gz79xvs5jrzqhwhfk0dqdd3xiavnjp4q957h7nb02rij32byb39"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no tests `(#:tests? #f ; no tests
#:make-flags '("CC=gcc" "CXX=g++") #:make-flags '(,(string-append "CC=" (cc-for-target))
,(string-append "CXX=" (cxx-for-target)))
#:configure-flags #:configure-flags
(list "--enable-gpl3" (list "--enable-gpl3"
"--enable-gpl") "--enable-gpl")
@ -3018,6 +3020,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
#t))))) #t)))))
(inputs (inputs
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)
("alsa-plugins" ,alsa-plugins "pulseaudio")
("ffmpeg" ,ffmpeg) ("ffmpeg" ,ffmpeg)
("fftw" ,fftw) ("fftw" ,fftw)
("frei0r-plugins" ,frei0r-plugins) ("frei0r-plugins" ,frei0r-plugins)
@ -3026,6 +3029,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
("libxml2" ,libxml2) ("libxml2" ,libxml2)
("jack" ,jack-1) ("jack" ,jack-1)
("ladspa" ,ladspa) ("ladspa" ,ladspa)
("libebur128" ,libebur128)
("libexif" ,libexif) ("libexif" ,libexif)
("libvorbis" ,libvorbis) ("libvorbis" ,libvorbis)
("rubberband" ,rubberband) ("rubberband" ,rubberband)
@ -3033,8 +3037,11 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
("pulseaudio" ,pulseaudio) ("pulseaudio" ,pulseaudio)
("qtbase" ,qtbase-5) ("qtbase" ,qtbase-5)
("qtsvg" ,qtsvg) ("qtsvg" ,qtsvg)
("sdl" ,sdl) ("rtaudio" ,rtaudio)
("sox" ,sox))) ("sdl2" ,sdl2)
("sdl2-image" ,sdl2-image)
("sox" ,sox)
("vidstab" ,vidstab)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(home-page "https://www.mltframework.org/") (home-page "https://www.mltframework.org/")
@ -3045,7 +3052,7 @@ broadcasting. It provides a toolkit for broadcasters, video editors, media
players, transcoders, web streamers and many more types of applications. The players, transcoders, web streamers and many more types of applications. The
functionality of the system is provided via an assortment of ready to use functionality of the system is provided via an assortment of ready to use
tools, XML authoring components, and an extensible plug-in based API.") tools, XML authoring components, and an extensible plug-in based API.")
(license license:gpl3))) (license license:lgpl2.1+)))
(define-public v4l-utils (define-public v4l-utils
(package (package
@ -4606,6 +4613,82 @@ helps you create the film you have always dreamed of. Easily add sub-titles,
transitions, and effects and then export your film to many common formats.") transitions, and effects and then export your film to many common formats.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public shotcut
(package
(name "shotcut")
(version "21.03.21")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mltframework/shotcut")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0jb488vynn0vmq22z51bg4hb4617732nva9rg52lzl89v5n8gmsi"))))
(build-system qt-build-system)
(arguments
`(#:tests? #f ;there are no tests
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(invoke "qmake"
(string-append "PREFIX=" out)
"QMAKE_LRELEASE=lrelease"
"QMAKE_LUPDATE=lupdate"
"shotcut.pro"))))
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(frei0r (assoc-ref inputs "frei0r-plugins"))
(ffmpeg (assoc-ref inputs "ffmpeg"))
(jack (assoc-ref inputs "jack"))
(sdl2 (assoc-ref inputs "sdl2")))
(wrap-program (string-append out "/bin/shotcut")
`("PATH" ":" prefix
,(list (string-append ffmpeg "/bin")))
`("LD_LIBRARY_PATH" ":" prefix
,(list (string-append jack "/lib" ":" sdl2 "/lib")))
`("FREI0R_PATH" ":" =
(,(string-append frei0r "/lib/frei0r-1/")))
`("MLT_PREFIX" ":" =
(,(assoc-ref inputs "mlt")))))
#t)))))
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python-wrapper)
("qttools" ,qttools)))
(inputs
`(("ffmpeg" ,ffmpeg)
("frei0r-plugins" ,frei0r-plugins)
("jack" ,jack-1)
("ladspa" ,ladspa)
("lame" ,lame)
("libvpx" ,libvpx)
("libx264" ,libx264)
("mlt" ,mlt)
("pulseaudio" ,pulseaudio)
("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)
("qtgraphicaleffects" ,qtgraphicaleffects)
("qtmultimedia" ,qtmultimedia)
("qtquickcontrols" ,qtquickcontrols)
("qtquickcontrols2" ,qtquickcontrols2)
("qtsvg" ,qtsvg)
("qtwebkit" ,qtwebkit)
("qtwebsockets" ,qtwebsockets)
("qtx11extras" ,qtx11extras)
("sdl2" ,sdl2)))
(home-page "https://www.shotcut.org/")
(synopsis "Video editor built on the MLT framework")
(description
"Shotcut is a video editor built on the MLT framework. Features include
a wide range of formats through @code{ffmpeg}, 4k resolution support, webcam
and audio capture, network stream playback, and many more.")
(license license:gpl3+)))
(define-public dav1d (define-public dav1d
(package (package
(name "dav1d") (name "dav1d")

View File

@ -8,7 +8,7 @@
;;; Copyright © 2019 HiPhish <hiphish@posteo.de> ;;; Copyright © 2019 HiPhish <hiphish@posteo.de>
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019, 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2019, 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2020, 2021 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 Tissevert <tissevert+guix@marvid.fr> ;;; Copyright © 2021 Tissevert <tissevert+guix@marvid.fr>
;;; ;;;
@ -43,6 +43,7 @@
#:use-module (gnu packages attr) #:use-module (gnu packages attr)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages enlightenment)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages gawk) #:use-module (gnu packages gawk)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
@ -746,6 +747,48 @@ refactor Vim in order to:
;; except for parts that were contributed under the Vim license. ;; except for parts that were contributed under the Vim license.
(license (list license:asl2.0 license:vim)))) (license (list license:asl2.0 license:vim))))
(define-public eovim
(package
(name "eovim")
(version "0.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jeanguyomarch/eovim/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "06b7crmz3wvvq15ncl0jk20s8j1pmna2jin0k5y5n5qxpafbgp3k"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #false ;no tests
#:phases
(modify-phases %standard-phases
(add-after 'configure 'reference-nvim
(lambda* (#:key inputs #:allow-other-keys)
(let ((nvim (string-append (assoc-ref inputs "neovim")
"/bin/nvim")))
;; This substitution should change one line, and replaces the default
;; value in the struct of options with an absolute store reference.
(substitute* "../source/src/main.c"
(("(^[[:blank:]]+\\.nvim = \")nvim" _ start)
(string-append start nvim))))))
(add-before 'build 'set-home
(lambda _ (setenv "HOME" "/tmp"))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("efl" ,efl)
("msgpack" ,msgpack)
("neovim" ,neovim)))
(home-page "https://github.com/jeanguyomarch/eovim/")
(synopsis "EFL GUI for Neovim")
(description "Graphical Neovim interface based on the @acronym{EFL, Enlightenment
Foundation Libraries} toolkit. Its features include customizable appearance
and support for fonts with ligatures.")
(license license:expat)))
(define-public vifm (define-public vifm
(package (package
(name "vifm") (name "vifm")

View File

@ -1026,10 +1026,10 @@ manage system or application containers.")
(inputs (inputs
`(("fuse" ,fuse))) `(("fuse" ,fuse)))
(build-system gnu-build-system) (build-system gnu-build-system)
(synopsis "FUSE based filesystem for LXC") (synopsis "FUSE-based file system for LXC")
(description "LXCFS is a small FUSE filesystem written with the intention (description "LXCFS is a small FUSE file system written with the intention
of making Linux containers feel more like a virtual machine. of making Linux containers feel more like a virtual machine.
It started as a side-project of LXC but is useable by any runtime.") It started as a side project of LXC but can be used by any run-time.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public libvirt (define-public libvirt

View File

@ -516,7 +516,7 @@ this process. It is compatible with Fortinet VPNs.")
(define-public openvpn (define-public openvpn
(package (package
(name "openvpn") (name "openvpn")
(version "2.5.2") (version "2.5.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -524,7 +524,7 @@ this process. It is compatible with Fortinet VPNs.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1j0xkiya20hhvalfjg5l3v1226vyjs9j9aw2mzpnbwq1d61l69xi")))) "0zlski66mw10klmwvg445z051mld7xjng4iyl4f9b883qr1rjspv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '("--enable-iproute2=yes"))) '(#:configure-flags '("--enable-iproute2=yes")))

View File

@ -604,7 +604,7 @@ driven and does not detract you from your daily work.")
(define-public nyxt (define-public nyxt
(package (package
(name "nyxt") (name "nyxt")
(version "2.0.0") (version "2.1.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -615,7 +615,7 @@ driven and does not detract you from your daily work.")
(commit version))) (commit version)))
(sha256 (sha256
(base32 (base32
"0y91hnanf1bj378zsxhjh33qnhj09f6ixpdqmkl69k0075zls93r")) "0f2c029213apppj6ziky3wsrpsi2gpx9s55wnfriy6hp33j241gd"))
(file-name (git-file-name "nyxt" version)))) (file-name (git-file-name "nyxt" version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View File

@ -15,7 +15,7 @@
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016, 2017, 2018, 2019, 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 20162021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20162021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org> ;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
@ -1597,7 +1597,7 @@ used to validate and fix HTML data.")
(define-public esbuild (define-public esbuild
(package (package
(name "esbuild") (name "esbuild")
(version "0.11.14") (version "0.12.9")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1606,7 +1606,7 @@ used to validate and fix HTML data.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0qxylzc7lzpsp5hm3dl5jvy9aca8azn8dmbjz9z5n5rkdmm8vd9p")) (base32 "10bz1xq2frdja7mbx04m009svg8b5rj7vfq3sc2gc88n31v21b1j"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -6577,41 +6577,36 @@ Instagram and YouTube.")
(define-public linkchecker (define-public linkchecker
(package (package
(name "linkchecker") (name "linkchecker")
(version "9.4.0") (version "10.0.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/linkchecker/linkchecker") (url "https://github.com/linkchecker/linkchecker")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(patches
(search-patches "linkchecker-tests-require-network.patch"))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"03ihjmc4bqxxqv71bb43r2f23sx0xnbq1k2fsg9fw05qa5s9x187")))) "1j97dc9a4yhpscwadhv5dxp7036pnrxiaky18l8ddr3pvxdjvkxs"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
`(("python2-dnspython" ,python2-dnspython-1.16) `(("python-beautifulsoup4" ,python-beautifulsoup4)
("python2-pyxdg" ,python2-pyxdg) ("python-dnspython" ,python-dnspython)
("python2-requests" ,python2-requests))) ("python-pyxdg" ,python-pyxdg)
("python-requests" ,python-requests)))
(native-inputs (native-inputs
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)
("python2-pytest" ,python2-pytest) ("python-pytest" ,python-pytest)
("python2-miniboa" ,python2-miniboa) ("python-miniboa" ,python-miniboa)
("python2-parameterized" ,python2-parameterized))) ("python-parameterized" ,python-parameterized)))
(arguments (arguments
`(#:python ,python-2 `(#:phases
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key tests? #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (when tests?
;; Remove this directory to avoid it being used when running
;; the tests
(delete-file-recursively "linkcheck")
(invoke "py.test" "tests"))))))) (invoke "py.test" "tests")))))))
(home-page "https://linkcheck.github.io/linkchecker") (home-page "https://linkchecker.github.io/linkchecker/")
(synopsis "Check websites for broken links") (synopsis "Check websites for broken links")
(description "LinkChecker is a website validator. It checks for broken (description "LinkChecker is a website validator. It checks for broken
links in websites. It is recursive and multithreaded providing output in links in websites. It is recursive and multithreaded providing output in

View File

@ -292,11 +292,12 @@ methods. Otherwise apply to only the listed methods.")
"Name of the policy.") "Name of the policy.")
(job-private-access (job-private-access
(string "@OWNER @SYSTEM") (string "@OWNER @SYSTEM")
"Specifies an access list for a job's private values. @code{@@ACL} maps to "Specifies an access list for a job's private values.
the printer's requesting-user-name-allowed or requesting-user-name-denied @code{@@ACL} maps to the printer's requesting-user-name-allowed or
values. @code{@@OWNER} maps to the job's owner. @code{@@SYSTEM} maps to the requesting-user-name-denied values. @code{@@OWNER} maps to the job's owner.
groups listed for the @code{system-group} field of the @code{files-config} @code{@@SYSTEM} maps to the groups listed for the @code{system-group} field of
configuration, which is reified into the @code{cups-files.conf(5)} file. the @code{files-configuration}, which is reified into the
@code{cups-files.conf(5)} file.
Other possible elements of the access list include specific user names, and Other possible elements of the access list include specific user names, and
@code{@@@var{group}} to indicate members of a specific group. The access list @code{@@@var{group}} to indicate members of a specific group. The access list
may also be simply @code{all} or @code{default}.") may also be simply @code{all} or @code{default}.")
@ -312,11 +313,11 @@ may also be simply @code{all} or @code{default}.")
@code{@@ACL} maps to the printer's requesting-user-name-allowed or @code{@@ACL} maps to the printer's requesting-user-name-allowed or
requesting-user-name-denied values. @code{@@OWNER} maps to the job's owner. requesting-user-name-denied values. @code{@@OWNER} maps to the job's owner.
@code{@@SYSTEM} maps to the groups listed for the @code{system-group} field of @code{@@SYSTEM} maps to the groups listed for the @code{system-group} field of
the @code{files-config} configuration, which is reified into the the @code{files-configuration}, which is reified into the
@code{cups-files.conf(5)} file. Other possible elements of the access list @code{cups-files.conf(5)} file.
include specific user names, and @code{@@@var{group}} to indicate members of a Other possible elements of the access list include specific user names, and
specific group. The access list may also be simply @code{all} or @code{@@@var{group}} to indicate members of a specific group. The access list
@code{default}.") may also be simply @code{all} or @code{default}.")
(subscription-private-values (subscription-private-values
(string (string-join '("notify-events" "notify-pull-method" (string (string-join '("notify-events" "notify-pull-method"
"notify-recipient-uri" "notify-subscriber-user-name" "notify-recipient-uri" "notify-subscriber-user-name"
@ -617,9 +618,6 @@ policy is @code{retry-job} or @code{retry-current-job}.")
(keep-alive? (keep-alive?
(boolean #t) (boolean #t)
"Specifies whether to support HTTP keep-alive connections.") "Specifies whether to support HTTP keep-alive connections.")
(keep-alive-timeout
(non-negative-integer 30)
"Specifies how long an idle client connection remains open, in seconds.")
(limit-request-body (limit-request-body
(non-negative-integer 0) (non-negative-integer 0)
"Specifies the maximum size of print files, IPP requests, and HTML form "Specifies the maximum size of print files, IPP requests, and HTML form

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -57,6 +58,9 @@
(requirement '(syslogd)) (requirement '(syslogd))
(modules '((gnu build shepherd))) (modules '((gnu build shepherd)))
(start #~(lambda _ (start #~(lambda _
(let ((socket "/run/pcscd/pcscd.comm"))
(when (file-exists? socket)
(delete-file socket)))
(invoke #$(file-append pcsc-lite "/sbin/pcscd")) (invoke #$(file-append pcsc-lite "/sbin/pcscd"))
(call-with-input-file "/run/pcscd/pcscd.pid" read))) (call-with-input-file "/run/pcscd/pcscd.pid" read)))
(stop #~(make-kill-destructor))))))) (stop #~(make-kill-destructor)))))))

View File

@ -6,6 +6,8 @@
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 pinoaffe <pinoaffe@airmail.cc> ;;; Copyright © 2020 pinoaffe <pinoaffe@airmail.cc>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -30,6 +32,7 @@
#:use-module (gnu services web) #:use-module (gnu services web)
#:use-module (gnu system pam) #:use-module (gnu system pam)
#:use-module (gnu system shadow) #:use-module (gnu system shadow)
#:use-module (guix deprecation)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix modules) #:use-module (guix modules)
@ -288,7 +291,7 @@ The other options should be self-descriptive."
;; integer ;; integer
(port-number openssh-configuration-port-number (port-number openssh-configuration-port-number
(default 22)) (default 22))
;; Boolean | 'without-password ;; Boolean | 'prohibit-password
(permit-root-login openssh-configuration-permit-root-login (permit-root-login openssh-configuration-permit-root-login
(default #f)) (default #f))
;; Boolean ;; Boolean
@ -441,7 +444,11 @@ of user-name/file-like tuples."
#$(match (openssh-configuration-permit-root-login config) #$(match (openssh-configuration-permit-root-login config)
(#t "yes") (#t "yes")
(#f "no") (#f "no")
('without-password "without-password"))) ('without-password (warn-about-deprecation
'without-password #f
#:replacement 'prohibit-password)
"prohibit-password")
('prohibit-password "prohibit-password")))
(format port "PermitEmptyPasswords ~a\n" (format port "PermitEmptyPasswords ~a\n"
#$(if (openssh-configuration-allow-empty-passwords? config) #$(if (openssh-configuration-allow-empty-passwords? config)
"yes" "no")) "yes" "no"))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>. ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>.
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -65,7 +66,7 @@
(service openssh-service-type (service openssh-service-type
(openssh-configuration (openssh-configuration
(permit-root-login 'without-password))) (permit-root-login 'prohibit-password)))
(service ganeti-service-type (service ganeti-service-type
(ganeti-configuration (ganeti-configuration

View File

@ -2,7 +2,7 @@
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2020, 2021 Julien Lepiller <julien@lepiller.eu>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -28,6 +28,7 @@
#:use-module (sxml simple) #:use-module (sxml simple)
#:export (ant-build-javadoc #:export (ant-build-javadoc
generate-plugin.xml generate-plugin.xml
generate-pom.xml
install-jars install-jars
install-javadoc install-javadoc
install-pom-file install-pom-file
@ -68,9 +69,9 @@ fetched."
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(java-inputs (append (map cdr inputs) (map cdr outputs))) (java-inputs (append (map cdr inputs) (map cdr outputs)))
(pom-content (get-pom pom-file)) (pom-content (get-pom pom-file))
(version (pom-version pom-content java-inputs)) (version (pom-version pom-content))
(artifact (pom-artifactid pom-content)) (artifact (pom-artifactid pom-content))
(group (group->dir (pom-groupid pom-content java-inputs))) (group (group->dir (pom-groupid pom-content)))
(repository (string-append out "/lib/m2/" group "/" artifact "/" (repository (string-append out "/lib/m2/" group "/" artifact "/"
version "/")) version "/"))
(pom-name (string-append repository artifact "-" version ".pom"))) (pom-name (string-append repository artifact "-" version ".pom")))
@ -86,8 +87,8 @@ to ensure that maven can find dependencies."
(manifest (string-append dir "/META-INF/MANIFEST.MF")) (manifest (string-append dir "/META-INF/MANIFEST.MF"))
(pom (get-pom pom-file)) (pom (get-pom pom-file))
(artifact (pom-artifactid pom)) (artifact (pom-artifactid pom))
(group (pom-groupid pom inputs)) (group (pom-groupid pom))
(version (pom-version pom inputs)) (version (pom-version pom))
(pom-dir (string-append "META-INF/maven/" group "/" artifact))) (pom-dir (string-append "META-INF/maven/" group "/" artifact)))
(mkdir-p (string-append dir "/" pom-dir)) (mkdir-p (string-append dir "/" pom-dir))
(copy-file pom-file (string-append dir "/" pom-dir "/pom.xml")) (copy-file pom-file (string-append dir "/" pom-dir "/pom.xml"))
@ -112,9 +113,9 @@ the phase fails."
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(java-inputs (append (map cdr inputs) (map cdr outputs))) (java-inputs (append (map cdr inputs) (map cdr outputs)))
(pom-content (get-pom pom-file)) (pom-content (get-pom pom-file))
(version (pom-version pom-content java-inputs)) (version (pom-version pom-content))
(artifact (pom-artifactid pom-content)) (artifact (pom-artifactid pom-content))
(group (group->dir (pom-groupid pom-content java-inputs))) (group (group->dir (pom-groupid pom-content)))
(repository (string-append out "/lib/m2/" group "/" artifact "/" (repository (string-append out "/lib/m2/" group "/" artifact "/"
version "/")) version "/"))
;; We try to find the file that was built. If it was built from our ;; We try to find the file that was built. If it was built from our
@ -124,7 +125,7 @@ the phase fails."
version ".jar")))) version ".jar"))))
;; Otherwise, we try to find any jar file. ;; Otherwise, we try to find any jar file.
(jars (if (null? jars) (jars (if (null? jars)
(find-files "." ".*.jar") (find-files "." "\\.jar$")
jars)) jars))
(jar-name (string-append repository artifact "-" version ".jar")) (jar-name (string-append repository artifact "-" version ".jar"))
(pom-name (string-append repository artifact "-" version ".pom"))) (pom-name (string-append repository artifact "-" version ".pom")))
@ -179,9 +180,9 @@ recognize the package as a plugin, and find the entry points in the plugin."
(name (pom-name pom-content)) (name (pom-name pom-content))
(description (pom-description pom-content)) (description (pom-description pom-content))
(dependencies (pom-dependencies pom-content)) (dependencies (pom-dependencies pom-content))
(version (pom-version pom-content java-inputs)) (version (pom-version pom-content))
(artifact (pom-artifactid pom-content)) (artifact (pom-artifactid pom-content))
(groupid (pom-groupid pom-content java-inputs)) (groupid (pom-groupid pom-content))
(mojos (mojos
`(mojos `(mojos
,@(with-directory-excursion directory ,@(with-directory-excursion directory
@ -206,3 +207,31 @@ recognize the package as a plugin, and find the entry points in the plugin."
,mojos ,mojos
(dependencies (dependencies
,@dependencies))))))))) ,@dependencies)))))))))
(define* (generate-pom.xml pom-file groupid artifactid version
#:key (dependencies '())
(name artifactid))
"Generates the @file{pom.xml} for a project. It is required by Maven to find
a package, and by the java build system to know where to install a package, when
a pom.xml doesn't already exist and installing to the maven repository."
(lambda _
(mkdir-p (dirname pom-file))
(with-output-to-file pom-file
(lambda _
(sxml->xml
(sxml-indent
`(project
(modelVersion "4.0.0")
(name ,name)
(groupId ,groupid)
(artifactId ,artifactid)
(version ,version)
(dependencies
,@(map
(match-lambda
((groupid artifactid version)
`(dependency
(groupId ,groupid)
(artifactId ,artifactid)
(version ,version))))
dependencies)))))))))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2020, 2021 Julien Lepiller <julien@lepiller.eu>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -60,47 +60,23 @@
(invoke "mvn" "-v") (invoke "mvn" "-v")
#t) #t)
(define (add-local-package local-packages group artifact version)
(define (alist-set lst key val)
(match lst
('() (list (cons key val)))
(((k . v) lst ...)
(if (equal? k key)
(cons (cons key val) lst)
(cons (cons k v) (alist-set lst key val))))))
(alist-set local-packages group
(alist-set (or (assoc-ref local-packages group) '()) artifact
version)))
(define (fix-pom pom-file inputs local-packages excludes) (define (fix-pom pom-file inputs local-packages excludes)
(chmod pom-file #o644) (chmod pom-file #o644)
(format #t "fixing ~a~%" pom-file) (format #t "fixing ~a~%" pom-file)
(fix-pom-dependencies pom-file (map cdr inputs) (fix-pom-dependencies pom-file (map cdr inputs)
#:with-plugins? #t #:with-build-dependencies? #t #:with-plugins? #t #:with-build-dependencies? #t
#:with-modules? #t
#:local-packages local-packages #:local-packages local-packages
#:excludes excludes) #:excludes excludes))
(let* ((pom (get-pom pom-file))
(java-inputs (map cdr inputs))
(artifact (pom-artifactid pom))
(group (pom-groupid pom java-inputs local-packages))
(version (pom-version pom java-inputs local-packages)))
(let loop ((modules (pom-ref pom "modules"))
(local-packages
(add-local-package local-packages group artifact version)))
(pk 'local-packages local-packages)
(match modules
(#f local-packages)
('() local-packages)
(((? string? _) modules ...)
(loop modules local-packages))
(((_ module) modules ...)
(loop
modules
(fix-pom (string-append (dirname pom-file) "/" module "/pom.xml")
inputs local-packages excludes)))))))
(define* (fix-pom-files #:key inputs local-packages exclude #:allow-other-keys) (define* (fix-pom-files #:key inputs local-packages exclude #:allow-other-keys)
(fix-pom "pom.xml" inputs local-packages exclude) (let ((local-packages (pom-local-packages "pom.xml" #:local-packages local-packages)))
(format (current-error-port) "Fix pom files with local packages: ~a~%" local-packages)
(for-each
(lambda (pom)
(when (file-exists? pom)
(fix-pom pom inputs local-packages exclude)))
(pom-and-submodules "pom.xml")))
#t) #t)
(define* (build #:key outputs #:allow-other-keys) (define* (build #:key outputs #:allow-other-keys)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019, 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2019-2021 Julien Lepiller <julien@lepiller.eu>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -21,7 +21,8 @@
#:use-module (system foreign) #:use-module (system foreign)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:export (get-pom #:export (add-local-package
get-pom
pom-ref pom-ref
pom-description pom-description
pom-name pom-name
@ -30,8 +31,24 @@
pom-groupid pom-groupid
pom-dependencies pom-dependencies
group->dir group->dir
pom-and-submodules
pom-local-packages
fix-pom-dependencies)) fix-pom-dependencies))
(define (add-local-package local-packages group artifact version)
"Takes @var{local-packages}, a list of local packages, and adds a new one
for @var{group}:@var{artifact} at @var{version}."
(define (alist-set lst key val)
(match lst
('() (list (cons key val)))
(((k . v) lst ...)
(if (equal? k key)
(cons (cons key val) lst)
(cons (cons k v) (alist-set lst key val))))))
(alist-set local-packages group
(alist-set (or (assoc-ref local-packages group) '()) artifact
version)))
(define (get-pom file) (define (get-pom file)
"Return the content of a @file{.pom} file." "Return the content of a @file{.pom} file."
(let ((pom-content (call-with-input-file file xml->sxml))) (let ((pom-content (call-with-input-file file xml->sxml)))
@ -93,13 +110,12 @@ If no result is found, the result is @code{#f}."
(get-pom (car java-inputs)))) (get-pom (car java-inputs))))
#f))) #f)))
(define* (pom-groupid content inputs #:optional local-packages) (define* (pom-groupid content)
"Find the groupID of a pom file, potentially looking at its parent pom file. "Find the groupID of a pom file, potentially looking at its parent pom file.
See @code{find-parent} for the meaning of the arguments." See @code{find-parent} for the meaning of the arguments."
(if content (if content
(let ((res (or (pom-ref content "groupId") (let ((res (or (pom-ref content "groupId")
(pom-groupid (find-parent content inputs local-packages) (pom-ref (pom-ref content "parent") "groupId"))))
inputs))))
(cond (cond
((string? res) res) ((string? res) res)
((null? res) #f) ((null? res) #f)
@ -114,13 +130,12 @@ See @code{find-parent} for the meaning of the arguments."
(car res) (car res)
#f))) #f)))
(define* (pom-version content inputs #:optional local-packages) (define* (pom-version content)
"Find the version of a pom file, potentially looking at its parent pom file. "Find the version of a pom file, potentially looking at its parent pom file.
See @code{find-parent} for the meaning of the arguments." See @code{find-parent} for the meaning of the arguments."
(if content (if content
(let ((res (or (pom-ref content "version") (let ((res (or (pom-ref content "version")
(pom-version (find-parent content inputs local-packages) (pom-ref (pom-ref content "parent") "version"))))
inputs))))
(cond (cond
((string? res) res) ((string? res) res)
((null? res) #f) ((null? res) #f)
@ -236,13 +251,48 @@ to re-declare the namespaces in the top-level element."
http://maven.apache.org/xsd/maven-4.0.0.xsd")) http://maven.apache.org/xsd/maven-4.0.0.xsd"))
,(map fix-xml sxml))))) ,(map fix-xml sxml)))))
(define (pom-and-submodules pom-file)
"Given @var{pom-file}, the file name of a pom, return the list of pom file
names that correspond to itself and its submodules, recursively."
(define (get-modules modules)
(match modules
(#f '())
('() '())
(((? string? _) rest ...) (get-modules rest))
((('http://maven.apache.org/POM/4.0.0:module mod) rest ...)
(let ((pom (string-append (dirname pom-file) "/" mod "/pom.xml")))
(if (file-exists? pom)
(cons pom (get-modules rest))
(get-modules rest))))))
(let* ((pom (get-pom pom-file))
(modules (get-modules (pom-ref pom "modules"))))
(cons pom-file
(apply append (map pom-and-submodules modules)))))
(define* (pom-local-packages pom-file #:key (local-packages '()))
"Given @var{pom-file}, a pom file name, return a list of local packages that
this repository contains."
(let loop ((modules (pom-and-submodules pom-file))
(local-packages local-packages))
(match modules
(() local-packages)
((module modules ...)
(let* ((pom (get-pom module))
(version (pom-version pom))
(artifactid (pom-artifactid pom))
(groupid (pom-groupid pom)))
(loop modules
(add-local-package local-packages groupid artifactid version)))))))
(define (group->dir group) (define (group->dir group)
"Convert a group ID to a directory path." "Convert a group ID to a directory path."
(string-join (string-split group #\.) "/")) (string-join (string-split group #\.) "/"))
(define* (fix-pom-dependencies pom-file inputs (define* (fix-pom-dependencies pom-file inputs
#:key with-plugins? with-build-dependencies? #:key with-plugins? with-build-dependencies?
(excludes '()) (local-packages '())) with-modules? (excludes '())
(local-packages '()))
"Open @var{pom-file}, and override its content, rewriting its dependencies "Open @var{pom-file}, and override its content, rewriting its dependencies
to set their version to the latest version available in the @var{inputs}. to set their version to the latest version available in the @var{inputs}.
@ -290,8 +340,24 @@ Returns nothing, but overrides the @var{pom-file} as a side-effect."
`((http://maven.apache.org/POM/4.0.0:build ,(fix-build build)) `((http://maven.apache.org/POM/4.0.0:build ,(fix-build build))
,@(fix-pom rest)) ,@(fix-pom rest))
(cons tag (fix-pom rest)))) (cons tag (fix-pom rest))))
(('http://maven.apache.org/POM/4.0.0:modules modules ...)
(if with-modules?
`((http://maven.apache.org/POM/4.0.0:modules ,(fix-modules modules))
,@(fix-pom rest))
(cons tag (fix-pom rest))))
(tag (cons tag (fix-pom rest))))))) (tag (cons tag (fix-pom rest)))))))
(define fix-modules
(match-lambda
('() '())
((tag rest ...)
(match tag
(('http://maven.apache.org/POM/4.0.0:module module)
(if (file-exists? (string-append (dirname pom-file) "/" module "/pom.xml"))
`((http://maven.apache.org/POM/4.0.0:module ,module) ,@(fix-modules rest))
(fix-modules rest)))
(tag (cons tag (fix-modules rest)))))))
(define fix-dep-management (define fix-dep-management
(match-lambda (match-lambda
('() '()) ('() '())
@ -325,8 +391,27 @@ Returns nothing, but overrides the @var{pom-file} as a side-effect."
`((http://maven.apache.org/POM/4.0.0:plugins `((http://maven.apache.org/POM/4.0.0:plugins
,(fix-plugins plugins)) ,(fix-plugins plugins))
,@(fix-build rest))) ,@(fix-build rest)))
(('http://maven.apache.org/POM/4.0.0:extensions extensions ...)
`((http://maven.apache.org/POM/4.0.0:extensions
,(fix-extensions extensions))
,@(fix-build rest)))
(tag (cons tag (fix-build rest))))))) (tag (cons tag (fix-build rest)))))))
(define* (fix-extensions extensions #:optional optional?)
(match extensions
('() '())
((tag rest ...)
(match tag
(('http://maven.apache.org/POM/4.0.0:extension extension ...)
(let ((group (or (pom-groupid extension) "org.apache.maven.plugins"))
(artifact (pom-artifactid extension)))
(if (member artifact (or (assoc-ref excludes group) '()))
(fix-extensions rest optional?)
`((http://maven.apache.org/POM/4.0.0:extension
,(fix-plugin extension optional?)); extensions are similar to plugins
,@(fix-extensions rest optional?)))))
(tag (cons tag (fix-extensions rest optional?)))))))
(define fix-management (define fix-management
(match-lambda (match-lambda
('() '()) ('() '())
@ -344,7 +429,7 @@ Returns nothing, but overrides the @var{pom-file} as a side-effect."
((tag rest ...) ((tag rest ...)
(match tag (match tag
(('http://maven.apache.org/POM/4.0.0:plugin plugin ...) (('http://maven.apache.org/POM/4.0.0:plugin plugin ...)
(let ((group (or (pom-groupid plugin inputs) "org.apache.maven.plugins")) (let ((group (or (pom-groupid plugin) "org.apache.maven.plugins"))
(artifact (pom-artifactid plugin))) (artifact (pom-artifactid plugin)))
(if (member artifact (or (assoc-ref excludes group) '())) (if (member artifact (or (assoc-ref excludes group) '()))
(fix-plugins rest optional?) (fix-plugins rest optional?)
@ -355,11 +440,11 @@ Returns nothing, but overrides the @var{pom-file} as a side-effect."
(define* (fix-plugin plugin #:optional optional?) (define* (fix-plugin plugin #:optional optional?)
(let* ((artifact (pom-artifactid plugin)) (let* ((artifact (pom-artifactid plugin))
(group (or (pom-groupid plugin inputs) "org.apache.maven.plugins")) (group (or (pom-groupid plugin) "org.apache.maven.plugins"))
(version (or (assoc-ref (assoc-ref local-packages group) artifact) (version (or (assoc-ref (assoc-ref local-packages group) artifact)
(find-version inputs group artifact optional?) (find-version inputs group artifact optional?)
(pom-version plugin inputs)))) (pom-version plugin))))
(if (pom-version plugin inputs) (if (pom-version plugin)
(map (map
(lambda (tag) (lambda (tag)
(match tag (match tag
@ -373,7 +458,7 @@ Returns nothing, but overrides the @var{pom-file} as a side-effect."
(define* (fix-dep dep #:optional optional?) (define* (fix-dep dep #:optional optional?)
(let* ((artifact (pom-artifactid dep)) (let* ((artifact (pom-artifactid dep))
(group (or (pom-groupid dep inputs) (pom-groupid pom inputs))) (group (or (pom-groupid dep) (pom-groupid pom)))
(scope (pom-ref dep "scope")) (scope (pom-ref dep "scope"))
(is-optional? (equal? (pom-ref dep "optional") '("true")))) (is-optional? (equal? (pom-ref dep "optional") '("true"))))
(format (current-error-port) "maven: ~a:~a :: ~a (optional: ~a)~%" (format (current-error-port) "maven: ~a:~a :: ~a (optional: ~a)~%"
@ -382,8 +467,8 @@ Returns nothing, but overrides the @var{pom-file} as a side-effect."
with-build-dependencies?) with-build-dependencies?)
(let ((version (or (assoc-ref (assoc-ref local-packages group) artifact) (let ((version (or (assoc-ref (assoc-ref local-packages group) artifact)
(find-version inputs group artifact optional?) (find-version inputs group artifact optional?)
(pom-version dep inputs)))) (pom-version dep))))
(if (pom-version dep inputs) (if (pom-version dep)
(map (map
(lambda (tag) (lambda (tag)
(match tag (match tag
@ -396,7 +481,7 @@ Returns nothing, but overrides the @var{pom-file} as a side-effect."
(cons `(http://maven.apache.org/POM/4.0.0:version ,version) dep))) (cons `(http://maven.apache.org/POM/4.0.0:version ,version) dep)))
dep))) dep)))
(define* (find-version inputs group artifact #:optional optional?) (define (find-packaged-version inputs group artifact)
(let* ((directory (string-append "lib/m2/" (group->dir group) (let* ((directory (string-append "lib/m2/" (group->dir group)
"/" artifact)) "/" artifact))
(java-inputs (filter (java-inputs (filter
@ -408,15 +493,22 @@ Returns nothing, but overrides the @var{pom-file} as a side-effect."
(versions (append-map ls java-inputs)) (versions (append-map ls java-inputs))
(versions (sort versions version>?))) (versions (sort versions version>?)))
(if (null? versions) (if (null? versions)
(if optional?
#f #f
(begin (car versions))))
(format (current-error-port) "maven: ~a:~a is missing from inputs~%"
group artifact) (define* (find-version inputs group artifact #:optional optional?)
(throw 'no-such-input group artifact))) (let ((packaged-version (find-packaged-version inputs group artifact))
(car versions)))) (local-version (assoc-ref (assoc-ref local-packages group) artifact)))
(or local-version packaged-version
(if optional?
#f
(begin
(format (current-error-port) "maven: ~a:~a is missing from inputs~%"
group artifact)
(throw 'no-such-input group artifact))))))
(let ((tmpfile (string-append pom-file ".tmp"))) (let ((tmpfile (string-append pom-file ".tmp")))
(with-output-to-file pom-file (with-output-to-file tmpfile
(lambda _ (lambda _
(sxml->xml (fix-maven-xml (fix-pom pom))))))) (sxml->xml (fix-maven-xml (fix-pom pom)))))
(rename-file tmpfile pom-file)))

View File

@ -159,15 +159,15 @@ search path specifications."
(((name version output item (((name version output item
('propagated-inputs deps) ('propagated-inputs deps)
('search-paths paths) _ ...) . rest) ('search-paths paths) _ ...) . rest)
(loop (append deps rest) (loop (append rest deps) ;breadth-first traversal
(cons item inputs) (cons item inputs)
(append paths search-paths))) (append paths search-paths)))
(() (()
(values inputs (values (reverse inputs)
(delete-duplicates (delete-duplicates
(cons $PATH (cons $PATH
(map sexp->search-path-specification (map sexp->search-path-specification
search-paths)))))))))) (reverse search-paths)))))))))))
(define* (build-profile output manifest (define* (build-profile output manifest
#:key (extra-inputs '()) (symlink symlink)) #:key (extra-inputs '()) (symlink symlink))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -173,10 +174,13 @@ return the package metadata in FILE."
;;; ;;;
(define* (egg->guix-package name #:key (file #f) (source #f)) (define* (egg->guix-package name #:key (file #f) (source #f))
"Import CHICKEN egg NAME from and return a <package> record type for the "Import a CHICKEN egg called NAME from either the given .egg FILE, or from
egg, or #f on failure. FILE is the filepath to the NAME.egg file. SOURCE is the latest NAME metadata downloaded from the official repository if FILE is #f.
the a ``file-like'' object containing the source code corresonding to the egg. Return a <package> record or #f on failure.
If SOURCE is not specified, the tarball for the egg will be downloaded.
SOURCE is a ``file-like'' object containing the source code corresponding to
the egg. If SOURCE is not specified, the latest tarball for egg NAME will be
downloaded.
Specifying the SOURCE argument is mainly useful for developing a CHICKEN egg Specifying the SOURCE argument is mainly useful for developing a CHICKEN egg
locally. Note that if FILE and SOURCE are specified, recursive import will locally. Note that if FILE and SOURCE are specified, recursive import will

View File

@ -1,5 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -100,8 +102,8 @@ URL of the form
(match (string-split (uri-path (string->uri url)) #\/) (match (string-split (uri-path (string->uri url)) #\/)
((_ repo . rest) repo))) ((_ repo . rest) repo)))
(define (latest-released-version package-name) (define (latest-released-version repository)
"Return a string of the newest released version name given the PACKAGE-NAME, "Return a string of the newest released version name given the REPOSITORY,
for example, 'linuxdcpp'. Return #f if there is no releases." for example, 'linuxdcpp'. Return #f if there is no releases."
(define (pre-release? x) (define (pre-release? x)
;; Versions containing anything other than digit characters and "." (for ;; Versions containing anything other than digit characters and "." (for
@ -112,7 +114,7 @@ for example, 'linuxdcpp'. Return #f if there is no releases."
(match (json-fetch (match (json-fetch
(string-append "https://api.launchpad.net/1.0/" (string-append "https://api.launchpad.net/1.0/"
package-name "/releases")) repository "/releases"))
(#f #f) ;404 or similar (#f #f) ;404 or similar
(json (json
(assoc-ref (assoc-ref
@ -121,15 +123,16 @@ for example, 'linuxdcpp'. Return #f if there is no releases."
(define (latest-release pkg) (define (latest-release pkg)
"Return an <upstream-source> for the latest release of PKG." "Return an <upstream-source> for the latest release of PKG."
(define (origin-github-uri origin) (define (origin-launchpad-uri origin)
(match (origin-uri origin) (match (origin-uri origin)
((? string? url) url) ; surely a Launchpad URL ((? string? url) url) ; surely a Launchpad URL
((urls ...) ((urls ...)
(find (cut string-contains <> "launchpad.net") urls)))) (find (cut string-contains <> "launchpad.net") urls))))
(let* ((source-uri (origin-github-uri (package-source pkg))) (let* ((source-uri (origin-launchpad-uri (package-source pkg)))
(name (package-name pkg)) (name (package-name pkg))
(newest-version (latest-released-version name))) (repository (launchpad-repository source-uri))
(newest-version (latest-released-version repository)))
(if newest-version (if newest-version
(upstream-source (upstream-source
(package name) (package name)

View File

@ -279,6 +279,36 @@
(string=? (dirname (readlink bindir)) (string=? (dirname (readlink bindir))
(derivation->output-path guile)))))) (derivation->output-path guile))))))
(test-assertm "profile-derivation, ordering & collisions"
;; ENTRY1 and ENTRY2 both provide 'bin/guile'--a collision. Make sure
;; ENTRY1 "wins" over ENTRY2. See <https://bugs.gnu.org/49102>.
(mlet* %store-monad
((entry1 -> (package->manifest-entry %bootstrap-guile))
(entry2 -> (manifest-entry
(name "fake-guile")
(version "0")
(item (computed-file
"fake-guile"
#~(begin
(mkdir #$output)
(mkdir (string-append #$output "/bin"))
(call-with-output-file
(string-append #$output "/bin/guile")
(lambda (port)
(display "Fake!\n" port))))))))
(guile (package->derivation %bootstrap-guile))
(drv (profile-derivation (manifest (list entry1 entry2))
#:hooks '()
#:locales? #f))
(profile -> (derivation->output-path drv))
(bindir -> (string-append profile "/bin"))
(file -> (string-append bindir "/guile"))
(_ (built-derivations (list drv))))
(return (string=? (readlink file)
(string-append
(derivation->output-path guile)
"/bin/guile")))))
(test-assertm "load-profile" (test-assertm "load-profile"
(mlet* %store-monad (mlet* %store-monad
((entry -> (package->manifest-entry %bootstrap-guile)) ((entry -> (package->manifest-entry %bootstrap-guile))