Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2023-01-03 15:38:13 +01:00
commit 9123bb0fba
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
77 changed files with 2407 additions and 705 deletions

10
.patman Normal file
View File

@ -0,0 +1,10 @@
# This config file allows for Patchwork integration with
# https://patches.guix-patches.cbaines.net/.
[settings]
project: guix-patches
patchwork_url: https://patches.guix-patches.cbaines.net
add_signoff: False
get_maintainer_script: etc/teams.scm get-maintainer
# TODO: enable check_patch
check_patch: False

View File

@ -689,6 +689,7 @@ EXTRA_DIST += \
etc/guix-install.sh \
etc/historical-authorizations \
etc/news.scm \
etc/kernels-manifest.scm \
etc/release-manifest.scm \
etc/source-manifest.scm \
etc/system-tests.scm \

View File

@ -5614,6 +5614,18 @@ add a meta-data file @file{.guix-channel} that contains:
(directory "guix"))
@end lisp
The modules must be @b{underneath} the specified directory, as the
@code{directory} changes Guile's @code{load-path}. For example, if
@file{.guix-channel} has @code{(directory "base")}, then a module
defined as @code{(define-module (gnu packages fun))} must be located at
@code{base/gnu/packages/fun.scm}.
Doing this allows for only parts of a repository to be used as a
channel, as Guix expects valid Guile modules when pulling. For
instance, @command{guix deploy} machine configuration files are not
valid Guile modules, and treating them as such would make @command{guix
pull} fail.
@node Declaring Channel Dependencies
@section Declaring Channel Dependencies
@ -13487,6 +13499,10 @@ definitions are to be appended to existing user modules, as the list of
used package modules need not be changed. The default is
@option{--style=variable}.
When @option{--prefix=license:} is added, the importer will prefix
license atoms with @code{license:}, allowing a prefixed import of
@code{(guix licenses)}.
When @option{--archive=bioconductor} is added, metadata is imported from
@uref{https://www.bioconductor.org/, Bioconductor}, a repository of R
packages for the analysis and comprehension of high-throughput

33
etc/kernels-manifest.scm Normal file
View File

@ -0,0 +1,33 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This file returns a manifest of packages related to linux-libre.
;;; Simplistically, it selects packages whose names begin with "linux-libre".
;;; It is used to assist continuous integration of the kernel packages.
(use-modules (guix packages))
(manifest
(map package->manifest-entry
(fold-packages
(lambda (package lst)
(if (string-prefix? "linux-libre"
(package-name package))
(cons package lst)
lst))
'())))

View File

@ -5,6 +5,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -34,6 +35,7 @@
(ice-9 format)
(ice-9 regex)
(ice-9 match)
(ice-9 rdelim)
(guix ui)
(git))
@ -623,14 +625,38 @@ and REV-END, two git revision strings."
(const 0))
files))
(define (git-patch->commit-id file)
"Parse the commit ID from the first line of FILE, a patch produced with git."
(call-with-input-file file
(lambda (port)
(let ((m (string-match "^From ([0-9a-f]{40})" (read-line port))))
(unless m
(error "invalid patch file:" file))
(match:substring m 1)))))
(define (git-patch->revisions file)
"Return the start and end revisions of FILE, a patch file produced with git."
(let* ((rev-end (git-patch->commit-id file))
(rev-start (string-append rev-end "^")))
(list rev-start rev-end)))
(define (main . args)
(match args
(("cc" . team-names)
(apply cc (map find-team team-names)))
(("cc-members" patch-file)
(unless (file-exists? patch-file)
(error "patch file does not exist:" patch-file))
(apply main "cc-members" (git-patch->revisions patch-file)))
(("cc-members" rev-start rev-end)
(apply cc (find-team-by-scope
(diff-revisions rev-start rev-end))))
(("get-maintainer" patch-file)
(apply main "list-members"
(map (compose symbol->string team-id)
(find-team-by-scope (apply diff-revisions
(git-patch->revisions patch-file))))))
(("list-teams" . args)
(list-teams))
(("list-members" . team-names)
@ -643,9 +669,15 @@ and REV-END, two git revision strings."
"Usage: etc/teams.scm <command> [<args>]
Commands:
cc <team-name> get git send-email flags for cc-ing <team-name>
cc-members <start> <end> cc teams related to files changed between revisions
list-teams list teams and their members
list-members <team-name> list members belonging to <team-name>~%"))))
cc <team-name>
get git send-email flags for cc-ing <team-name>
cc-members <start> <end> | patch
cc teams related to files changed between revisions or in a patch file
list-teams
list teams and their members
list-members <team-name>
list members belonging to <team-name>
get-maintainer <patch>
compatibility mode with Linux get_maintainer.pl~%"))))
(apply main (cdr (command-line)))

View File

@ -144,7 +144,7 @@
(define u-boot-beaglebone-black-bootloader
(bootloader
(inherit u-boot-bootloader)
(package u-boot-am335x-evm-boneblack)
(package u-boot-am335x-boneblack)
(disk-image-installer install-beaglebone-black-u-boot)))
(define u-boot-allwinner-bootloader

View File

@ -1399,9 +1399,7 @@ dist_patch_DATA = \
%D%/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch \
%D%/packages/patches/kobodeluxe-midicon-segmentation-fault.patch \
%D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \
%D%/packages/patches/kodi-increase-test-timeout.patch \
%D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \
%D%/packages/patches/kodi-skip-test-449.patch \
%D%/packages/patches/kwayland-skip-flaky-test.patch \
%D%/packages/patches/laby-make-install.patch \
%D%/packages/patches/ldns-drill-examples.patch \
@ -1916,6 +1914,10 @@ dist_patch_DATA = \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/twinkle-bcg729.patch \
%D%/packages/patches/u-boot-allow-disabling-openssl.patch \
%D%/packages/patches/u-boot-infodocs-target.patch \
%D%/packages/patches/u-boot-patman-fix-help.patch \
%D%/packages/patches/u-boot-patman-get-maintainer.patch \
%D%/packages/patches/u-boot-patman-local-conf.patch \
%D%/packages/patches/u-boot-nintendo-nes-serial.patch \
%D%/packages/patches/u-boot-rockchip-inno-usb.patch \
%D%/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch \

View File

@ -2608,14 +2608,14 @@ characters can be replaced as well, as can UTF-8 characters.")
(define-public tree
(package
(name "tree")
(version "2.0.4")
(version "2.1.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://mama.indstate.edu/users/ice/tree/src/tree-"
version ".tgz"))
(sha256
(base32 "0x7s9wxvf83fw4qah16kapswl2277pybw3d514zrlms9g0cr5smh"))))
(base32 "1xmbxgx72w7ddjlqsx1yys076hp3h7ll968bhdmdrc7jpwswaq01"))))
(build-system gnu-build-system)
(arguments
(list

View File

@ -171,6 +171,13 @@ dictionaries, including personal ones.")
(base32
"1svls9p7rsfi3hs0afh0cssj006qb4v1ik2yzqgj8hm10c6as2sm")))
(define-public aspell-dict-bn
(aspell-dictionary "bn" "Bengali"
#:version "0.01.1-1"
#:sha256
(base32
"1nc02jd67iggirwxnhdvlvaqm0xfyks35c4psszzj3dhzv29qgxh")))
(define-public aspell-dict-ca
(let ((version "2.5.0")
(sha256

View File

@ -39,6 +39,7 @@
;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se>
;;; Copyright © 2022 Juliana Sims <jtsims@protonmail.com>
;;; Copyright © 2022 Simon Streit <simon@netpanic.org>
;;; Copyright © 2022 Andy Tai <atai@atai.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -731,7 +732,7 @@ purposes developed at Queen Mary, University of London.")
(define-public ardour
(package
(name "ardour")
(version "7.1")
(version "7.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -748,7 +749,7 @@ purposes developed at Queen Mary, University of London.")
namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \"\"; }")))))
(sha256
(base32
"11ca9xpzmzafl8xl0r0w32lxjqwy532hfd2bzb0d73bdpngpvcbq"))
"1gv0wkzyx59lbnaf5iz9yva4akrd2zkhsmdk8wda3wz06zmk4w1r"))
(file-name (string-append name "-" version))))
(build-system waf-build-system)
(arguments
@ -2463,6 +2464,49 @@ synchronous execution of all clients, and low latency operation.")
;; Most files are under GPLv2+, but some headers are under LGPLv2.1+
(license (list license:gpl2+ license:lgpl2.1+))))
(define-public jacktrip
(package
(name "jacktrip")
(version "1.6.8")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jacktrip/jacktrip/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0719ng799kingv0y9yk07bvnmprk25c09ph3yaia5dhapg0jz17m"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
'(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(invoke "qmake"
(string-append "PREFIX="
(assoc-ref outputs "out"))
"-config" "novs"
"-config" "noupdater"
"jacktrip.pro"))))))
(inputs
(list jack-2
python
python-jinja2
python-pyyaml
qtbase-5
rtaudio))
(native-inputs
(list pkg-config qtbase-5)) ;for qmake
(home-page "https://jacktrip.github.io/jacktrip/")
(synopsis "Multi-machine audio system for network music performance")
(description
"JackTrip is a multi-machine audio system used for network music
performance over the Internet. It supports any number of channels (as many as
the computer/network can handle) of bidirectional, high quality, uncompressed
audio signal streaming.")
(license (list license:gpl3+ license:lgpl3 license:expat))))
(define-public jalv
(package
(name "jalv")
@ -4936,7 +4980,7 @@ library supports sample rates up to 96 kHz and up to eight channels (7.1
(define-public libopenshot-audio
(package
(name "libopenshot-audio")
(version "0.2.2")
(version "0.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -4945,7 +4989,7 @@ library supports sample rates up to 96 kHz and up to eight channels (7.1
(file-name (git-file-name name version))
(sha256
(base32
"03dygh85riljk7dpn5a5a0d22a2kz45fs13gzwqgnbzzr1k17p2y"))))
"1y3apyn71ysks88bv71knjvk832imnbpbb8mgib3q9b8pvdmjw3g"))))
(build-system cmake-build-system)
(inputs
(list alsa-lib

View File

@ -12710,6 +12710,31 @@ known and yet unknown splice junctions. Circular-to-linear ratios of circRNAs
can be calculated, and a number of descriptive plots easily generated.")
(license license:artistic2.0)))
(define-public r-domultibarheatmap
(let ((commit "9e65afa0aa69fee631c61b7bf3e7742632c9cb95")
(revision "1"))
(package
(name "r-domultibarheatmap")
(version (git-version "0.1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/elliefewings/DoMultiBarHeatmap")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0q9mrc6md08aff6hhzlw3igvv3w7pr1wildzm8i0km9xvbi9iyy9"))))
(properties `((upstream-name . "DoMultiBarHeatmap")))
(build-system r-build-system)
(propagated-inputs (list r-ggplot2 r-magrittr r-rlang r-seurat))
(home-page "https://github.com/elliefewings/DoMultiBarHeatmap")
(synopsis "Produce heatmap from a Seurat object with multiple annotation bars")
(description "This package builds on Seurat's @code{Doheatmap} function
code to produce a heatmap from a Seurat object with multiple annotation
bars.")
(license license:cc0))))
(define-public r-doubletfinder
(let ((commit "554097ba4e2c0ed7c28dc7f0b5b75277f3a50551")
(revision "1"))
@ -12785,20 +12810,20 @@ is then merged.")
(license license:gpl2))))
(define-public r-giotto
(let ((commit "68d7390dce87223cac11d4d8f31705fe0144d011")
(let ((commit "3c8067cedbf6e3112edcac2ae796de05fd9d6fe4")
(revision "1"))
(package
(name "r-giotto")
(version (git-version "1.1.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/RubD/Giotto/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0mv60khc05wrxzr4ir6cirn7dpqvgwan5hm00lmafsyalr51nf5i"))))
(version (git-version "1.1.2" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/RubD/Giotto/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1nbbqs0jk07wafshvqsdp8ds3kr9bwq88aafc5m0kdiqs7winb0d"))))
(properties `((upstream-name . "Giotto")))
(build-system r-build-system)
(propagated-inputs

View File

@ -17,6 +17,7 @@
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -62,12 +63,16 @@
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages sdl)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages serialization)
#:use-module (gnu packages swig)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages xorg)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
@ -638,7 +643,11 @@ tree binary files. These are board description files used by Linux and BSD.")
(list %u-boot-rockchip-inno-usb-patch
%u-boot-allow-disabling-openssl-patch
%u-boot-sifive-prevent-relocating-initrd-fdt
%u-boot-rk3399-enable-emmc-phy-patch))
%u-boot-rk3399-enable-emmc-phy-patch
(search-patch "u-boot-infodocs-target.patch")
(search-patch "u-boot-patman-fix-help.patch")
(search-patch "u-boot-patman-local-conf.patch")
(search-patch "u-boot-patman-get-maintainer.patch")))
(method url-fetch)
(uri (string-append
"https://ftp.denx.de/pub/u-boot/"
@ -669,6 +678,42 @@ tree binary files. These are board description files used by Linux and BSD.")
also initializes the boards (RAM etc).")
(license license:gpl2+)))
;;; This is very similar to the linux-libre-documentation package, since it
;;; reuses the same Makefile-based build system.
(define-public u-boot-documentation
(package
(inherit u-boot)
(name "u-boot-documentation")
(arguments
(list
#:make-flags #~(list "HOSTCC=gcc"
;; Avoid treating Sphinx warnings as errors.
"SPHINXOPTS=")
#:tests? #f
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "infodocs" make-flags)))
(replace 'install
(lambda* (#:key make-flags #:allow-other-keys)
(let* ((info-dir (string-append #$output "/share/info"))
(info (string-append info-dir
"/DasUBoot.info.gz")))
(with-directory-excursion "doc/output"
(apply invoke "make" "-C" "texinfo" "install-info"
(string-append "infodir=" info-dir)
make-flags))))))))
(native-inputs
(modify-inputs (package-native-inputs u-boot)
(append fontconfig
python-sphinx
texinfo
which)))
(synopsis "U-Boot documentation")
(description "This package provides the documentation for U-Boot, as an
Info manual.")))
(define-public u-boot-tools
(package
(inherit u-boot)
@ -777,6 +822,34 @@ def test_ctrl_c"))
" This package provides board-independent tools "
"of U-Boot."))))
;;; This is packaged separately, as it can be used in other contexts than for
;;; U-Boot development.
(define-public patman
(package
(inherit u-boot)
(name "patman")
(build-system pyproject-build-system)
(arguments
;; The test suite strongly relies on the git metadata being available (23
;; failed, 14 passed).
(list
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "tools/patman"))))))
(inputs (list python-pygit2 python-requests))
(synopsis "Patch automation tool")
(description "Patman is a patch automation script which:
@itemize
@item Creates patches directly from your branch
@item Cleans them up by removing unwanted tags
@item Inserts a cover letter with change lists
@item Runs the patches through automated checks
@item Optionally emails them out to selected people.
@end itemize")))
(define*-public (make-u-boot-package board triplet
#:key
defconfig
@ -890,17 +963,23 @@ appended to the package description."
(define-public u-boot-malta
(make-u-boot-package "malta" "mips64el-linux-gnuabi64"))
(define-public u-boot-am335x-evm-boneblack
(make-u-boot-package
"am335x_evm" "arm-linux-gnueabihf"
;; Patch out other device trees to build an image small enough to fit
;; within typical partitioning schemes where the first partition begins at
;; sector 2048.
#:configs '("CONFIG_OF_LIST=\"am335x-evm am335x-boneblack\"")
#:name-suffix "-boneblack"
#:append-description "This U-Boot is built for the BeagleBone Black, which
was removed upstream, adjusted from the am335x_evm build with several device
trees removed so that it fits within common partitioning schemes."))
(define-public u-boot-am335x-boneblack
(let ((base (make-u-boot-package
"am335x_evm" "arm-linux-gnueabihf"
;; Patch out other device trees to build an image small enough
;; to fit within typical partitioning schemes where the first
;; partition begins at sector 2048.
#:configs '("CONFIG_OF_LIST=\"am335x-evm am335x-boneblack\"")
#:append-description
"This U-Boot is built for the BeagleBone Black, which was
removed upstream, adjusted from the am335x_evm build with several device trees
removed so that it fits within common partitioning schemes.")))
(package
(inherit base)
;; The name is not derived from the board name on purpose, as the config
;; is modified per the comment above, parting from the default
;; am335x_evm configuration.
(name "u-boot-am335x-boneblack"))))
(define-public u-boot-am335x-evm
(make-u-boot-package "am335x_evm" "arm-linux-gnueabihf"))

View File

@ -274,7 +274,7 @@ configure network interfaces in Linux containers.")
(define-public podman
(package
(name "podman")
(version "4.2.1")
(version "4.3.1")
(source
(origin
(method git-fetch)
@ -282,7 +282,7 @@ configure network interfaces in Linux containers.")
(url "https://github.com/containers/podman")
(commit (string-append "v" version))))
(sha256
(base32 "0ph8gf5gk9z1hm1v5kv924dipswvgrz0sgk23plnh2q0vbnh4wvv"))
(base32 "05hv4xdf06n728lmsx793zygypc9i404bgcgpy0fyrg8c2s11q2h"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
@ -346,7 +346,8 @@ configure network interfaces in Linux containers.")
git
go
; strace ; XXX debug
pkg-config))
pkg-config
python))
(home-page "https://podman.io")
(synopsis "Manage containers, images, pods, and their volumes")
(description

View File

@ -17,7 +17,7 @@
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019 Nicolò Balzarotti <anothersms@gmail.com>
;;; Copyright © 2019, 2020, 2021 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2019, 2020, 2021, 2022 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2019 Arne Babenhauserheide <arne_bab@web.de>
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Todor Kondić <tk.code@protonmail.com>
@ -1124,6 +1124,61 @@ isolated functions, also called crates, print to the console with their total
size and can be easily tested locally before being sent to a remote.")
(license license:gpl3)))
(define-public r-climaemet
(package
(name "r-climaemet")
(version "1.0.2")
(source (origin
(method url-fetch)
(uri (cran-uri "climaemet" version))
(sha256
(base32
"1z0i8iz7f32kns8j1yb3sp2m0zhl4pgp4bf52aiqykjp9i791dqm"))))
(properties `((upstream-name . "climaemet")))
(build-system r-build-system)
(propagated-inputs
(list r-dplyr
r-ggplot2
r-httr
r-jsonlite
r-rappdirs
r-readr
r-rlang
r-tibble
r-tidyr))
(native-inputs (list r-knitr))
(home-page "https://ropenspain.github.io/climaemet/")
(synopsis "Climate AEMET Tools")
(description
"This package provides tools to download the climatic data of the Spanish
Meteorological Agency (AEMET) directly from R using their API and create
scientific graphs (climate charts, trend analysis of climate time series,
temperature and precipitation anomalies maps, warming stripes graphics,
climatograms, etc.).")
(license license:gpl3)))
(define-public r-climatol
(package
(name "r-climatol")
(version "3.1.2")
(source (origin
(method url-fetch)
(uri (cran-uri "climatol" version))
(sha256
(base32
"0p3nk4n7izj0cmmqd9apa1gix5lfdzp08ydy0n7rkl5kbkmrkb6n"))))
(properties `((upstream-name . "climatol")))
(build-system r-build-system)
(propagated-inputs (list r-mapdata r-maps))
(home-page "http://www.climatol.eu/")
(synopsis "Climate tools")
(description
"This package provides functions for the quality control, homogenization
and missing data infilling of climatological series, and to obtain
climatological summaries and grids from the results. Also functions to draw
wind-roses and Walter&Lieth climate diagrams are included.")
(license license:gpl2+)))
(define-public r-clipr
(package
(name "r-clipr")
@ -4015,6 +4070,26 @@ work well on small screens.")
data store designed for maximum speed.")
(license license:asl2.0)))
(define-public r-mapdata
(package
(name "r-mapdata")
(version "2.3.1")
(source (origin
(method url-fetch)
(uri (cran-uri "mapdata" version))
(sha256
(base32
"1m2r4c8f7fp900g3sdjbfxxnxjla86hn75jd8hi96ms188p0j8b0"))))
(properties `((upstream-name . "mapdata")))
(build-system r-build-system)
(propagated-inputs (list r-maps))
(home-page "https://cran.r-project.org/package=mapdata")
(synopsis "Extra map databases")
(description
"This is a supplement to the @code{maps} package providing the larger
and/or higher-resolution databases.")
(license license:gpl2)))
(define-public r-maps
(package
(name "r-maps")
@ -4645,13 +4720,13 @@ and Francois (2011, JSS), and the book by Eddelbuettel (2013, Springer); see
(define-public r-rcppde
(package
(name "r-rcppde")
(version "0.1.6")
(version "0.1.7")
(source (origin
(method url-fetch)
(uri (cran-uri "RcppDE" version))
(sha256
(base32
"1i9jj595nqpb16y22z2b8fcf0gq1fg0pbiisbd837p1cyw4nff69"))))
"1846pl9gxikycdvwfgy1gw41z0fx4ycjp5p4295v8k2pgvlqw8sa"))))
(properties `((upstream-name . "RcppDE")))
(build-system r-build-system)
(propagated-inputs
@ -5776,14 +5851,14 @@ data). Weighted versions of MLE, MME and QME are available.")
(define-public r-energy
(package
(name "r-energy")
(version "1.7-10")
(version "1.7-11")
(source
(origin
(method url-fetch)
(uri (cran-uri "energy" version))
(sha256
(base32
"19xyw5bkyzfk22gly2ca2nsznqnrhaq4a77727kr1k26bj3y8gal"))))
"04b55ckmaqbnlpifg4w7smvly03kqycklvbg9x8d4yf902q8z7y2"))))
(build-system r-build-system)
(propagated-inputs
(list r-boot r-gsl r-rcpp))
@ -6181,6 +6256,38 @@ to access PostgreSQL database systems.")
;; under the PostgreSQL license.
(license license:gpl2)))
(define-public r-rpostgres
(package
(name "r-rpostgres")
(version "1.4.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "RPostgres" version))
(sha256
(base32
"1z6diaq4kwinl97d1v9cb96j8mrkj2s2v4ml1vykgy1jqi40dk69"))))
(properties `((upstream-name . "RPostgres")))
(build-system r-build-system)
(inputs (list postgresql))
(propagated-inputs
(list r-bit64
r-blob
r-dbi
r-hms
r-lubridate
r-plogr
r-rcpp
r-withr))
(native-inputs
(list pkg-config r-knitr))
(home-page "https://rpostgres.r-dbi.org")
(synopsis "Rcpp Interface to PostgreSQL")
(description
"This package provides a fully @code{DBI}-compliant @code{Rcpp}-backed
interface to @code{PostgreSQL}, a relational database.")
(license license:gpl3)))
(define-public r-linprog
(package
(name "r-linprog")
@ -6269,14 +6376,14 @@ multivariate and 5 functional classification problems are included.")
(define-public r-gower
(package
(name "r-gower")
(version "1.0.0")
(version "1.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "gower" version))
(sha256
(base32
"0p9qx9aafkdm7wibfwk59jzw6vspsff6zwp84bc40lg0myxbf737"))))
"1z0mhfp8xp7rk9i820pkvspm6mwih24g6b5rqs63m37sbs79ssi9"))))
(build-system r-build-system)
(home-page "https://github.com/markvanderloo/gower")
(synopsis "Gower's distance")
@ -7367,14 +7474,14 @@ multivariate function estimation using smoothing splines.")
(define-public r-cli
(package
(name "r-cli")
(version "3.4.1")
(version "3.5.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "cli" version))
(sha256
(base32
"0kklv5zy9rhly8fr7fdl3dlm3hr81yvbqd5cdz38b1lbzpxmwn0w"))))
"1p3gzq30f7hpr3v2s555z18r0y57zq2h03kijv7rl48lqzbnrjwc"))))
(build-system r-build-system)
(home-page "https://github.com/r-lib/cli#readme")
(synopsis "Helpers for developing command line interfaces")
@ -7641,13 +7748,13 @@ iVAT).")
(define-public r-xfun
(package
(name "r-xfun")
(version "0.35")
(version "0.36")
(source
(origin
(method url-fetch)
(uri (cran-uri "xfun" version))
(sha256
(base32 "04x6y7f3f105fzxn2kzmvfz0zqf2v28g8aqnsln6q9n4lm74vz45"))))
(base32 "1vk930bn7rp2qp8yvmd9d3lgi10rgf20n62jr3lfwi6hf7jhs5x8"))))
(build-system r-build-system)
;; knitr itself depends on xfun
#;
@ -7813,6 +7920,28 @@ annotation file. This package is intended to be used as example data for
packages that work with genomic data.")
(license license:gpl2+)))
(define-public r-piton
(package
(name "r-piton")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "piton" version))
(sha256
(base32 "1krf6zi238m275nxjlpyayv8y2drbgs2kg19dpkqm0lmlz5y5ar8"))))
(properties `((upstream-name . "piton")))
(build-system r-build-system)
(propagated-inputs (list r-rcpp))
(home-page "https://github.com/Ironholds/piton")
(synopsis "Parsing expression grammars in Rcpp")
(description
"This package provides a wrapper around the Parsing Expression Grammar
Template Library, a C++11 library for generating parsing expression grammars,
that makes it accessible within Rcpp. With this, developers can implement
their own grammars and easily expose them in R packages.")
(license license:expat)))
(define-public r-uuid
(package
(name "r-uuid")
@ -10928,14 +11057,14 @@ references and Rd files.")
(define-public r-officer
(package
(name "r-officer")
(version "0.4.4")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "officer" version))
(sha256
(base32
"1h6fcqw4bg644lwr5jggphyxp2d0ycya9q869z8099a50gc6h03f"))))
"19kms5pjgb5mjqyqzgnpykd5divbkrs5apz8z27ivgw78iizsqh6"))))
(build-system r-build-system)
(propagated-inputs
(list r-r6 r-uuid r-xml2 r-zip))
@ -17380,6 +17509,33 @@ library.")
profiling R code.")
(license license:gpl3)))
(define-public r-prospectr
(package
(name "r-prospectr")
(version "0.2.6")
(source (origin
(method url-fetch)
(uri (cran-uri "prospectr" version))
(sha256
(base32
"1p53hcgcs2p09zhc2n7byjzrgvcgz6w7q00mlsn4kmnz7l4p7rrm"))))
(properties `((upstream-name . "prospectr")))
(build-system r-build-system)
(propagated-inputs
(list r-foreach
r-iterators
r-lifecycle
r-mathjaxr
r-rcpp
r-rcpparmadillo))
(home-page "https://github.com/l-ramirez-lopez/prospectr")
(synopsis "Functions for processing and sample selection of spectroscopic data")
(description
"@code{prospectr} provides miscellaneous functions to preprocess
spectroscopic data and conduct representative sample selection, or calibration
sampling.")
(license license:expat)))
(define-public r-protviz
(package
(name "r-protviz")
@ -18961,6 +19117,26 @@ methods.")
;; Any version of the GPL
(license license:gpl2+)))
(define-public r-unglue
(package
(name "r-unglue")
(version "0.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "unglue" version))
(sha256
(base32 "0w8ld4xllx0lj1jz8i2sj92f8136hlwri1d8ldpg1ymxj7aw93vg"))))
(properties `((upstream-name . "unglue")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/package=unglue")
(synopsis "Extract matched substrings using a pattern")
(description
"This package lets you use syntax inspired by the package @code{glue} to
extract matched substrings in a more intuitive and compact way than by using
standard regular expressions.")
(license license:gpl3)))
(define-public r-untb
(package
(name "r-untb")
@ -20286,14 +20462,14 @@ package.")
(define-public r-yulab-utils
(package
(name "r-yulab-utils")
(version "0.0.5")
(version "0.0.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "yulab.utils" version))
(sha256
(base32
"0sq5wc0mp84h6fs4wa2smvf7dcn0p0xarzb2ljvqc3p4vb2lvkbf"))))
"09bvj97xz9gishyhi1dzpjfl70v7xag8952fqfp60h18s6w52flp"))))
(properties `((upstream-name . "yulab.utils")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/package=yulab.utils")
@ -24732,6 +24908,34 @@ dissimilarity useful for clustering mixed data, and, optionally, perform the
clustering.")
(license license:gpl2+)))
(define-public r-treemap
(package
(name "r-treemap")
(version "2.4-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "treemap" version))
(sha256
(base32 "1fg8gygw38x7msn32barx2irvcv8flm6wqvipnbj1qkh9w89y3q4"))))
(properties `((upstream-name . "treemap")))
(build-system r-build-system)
(propagated-inputs
(list r-colorspace
r-data-table
r-ggplot2
r-gridbase
r-igraph
r-rcolorbrewer
r-shiny))
(native-inputs (list r-knitr))
(home-page "https://cran.r-project.org/package=treemap")
(synopsis "Treemap visualization")
(description
"A treemap is a space-filling visualization of hierarchical structures.
This package offers great flexibility to draw treemaps.")
(license license:gpl3+)))
(define-public r-acrosstic
(package
(name "r-acrosstic")
@ -27330,14 +27534,14 @@ output in R.")
(define-public r-bdgraph
(package
(name "r-bdgraph")
(version "2.71")
(version "2.72")
(source
(origin
(method url-fetch)
(uri (cran-uri "BDgraph" version))
(sha256
(base32
"1lihsbliq7f91ywdq5cabzd5fbyhb10h62ss3n2l7i2fdglb77d1"))))
"1kc3icd7glivbjlhl9fbmxqza5w2x000w0w8ii8np9gjrhdwrybw"))))
(properties `((upstream-name . "BDgraph")))
(build-system r-build-system)
(propagated-inputs
@ -28174,14 +28378,14 @@ Encyclopedia of Integer Sequences} (OEIS) in the function help page.")
(define-public r-isoband
(package
(name "r-isoband")
(version "0.2.6")
(version "0.2.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "isoband" version))
(sha256
(base32
"18s3mdzl9y8v5fpvdy6iyqp3j57kw8bwhgan94373xjkaya61r17"))))
"0qfzkkvh4a97qlifhdqjgdnzmnph93qqyqsv5gg8cnxl8crj54vn"))))
(properties `((upstream-name . "isoband")))
(build-system r-build-system)
(native-inputs
@ -29935,14 +30139,14 @@ formal inference.")
(define-public r-gaston
(package
(name "r-gaston")
(version "1.5.8")
(version "1.5.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "gaston" version))
(sha256
(base32
"1pv37csq3gvkld7hfxgbq72n35gx1wg3bvrcvzzzf0qsfb6g42cc"))))
"1f4pr5s4p4rw1smvsh2gwjxp7hh43j1fpadl286ma9i62kirpyq7"))))
(properties `((upstream-name . "gaston")))
(build-system r-build-system)
(inputs (list zlib))
@ -30278,14 +30482,14 @@ censored data.")
(define-public r-flexsurv
(package
(name "r-flexsurv")
(version "2.2")
(version "2.2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "flexsurv" version))
(sha256
(base32
"0244amsyf2izih6008n2535r3ddksgdnys8pyslrcb1c09spmjrw"))))
"1xqsihvrb8b5mzkr3mhg0ydm8kkcw1k0kgp6ndyavw8yahl059as"))))
(properties `((upstream-name . "flexsurv")))
(build-system r-build-system)
(propagated-inputs
@ -31233,14 +31437,14 @@ thinking for the fun stuff.")
(define-public r-tokenizers
(package
(name "r-tokenizers")
(version "0.2.3")
(version "0.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "tokenizers" version))
(sha256
(base32
"01s2bx35r8kc7c68jnhcbrk963v2mhd21gmf630w7i4xnx46nvb2"))))
"0a8wm4cff3hrll991h2rimw79kpf2jsn78y7yksdk8m18931wmr4"))))
(properties `((upstream-name . "tokenizers")))
(build-system r-build-system)
(propagated-inputs
@ -31297,20 +31501,20 @@ vignettes in all common formats.")
(define-public r-tidytext
(package
(name "r-tidytext")
(version "0.3.4")
(version "0.4.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "tidytext" version))
(sha256
(base32
"0mk75wdiy4mixj1xlksw9ns4ajlj8ak90sgchjcg1zb90qp7gg56"))))
"1ywx4zhx1a0r1lyd11w3cbz33silpx5m1sk9rd3kvj21wvfdramk"))))
(properties `((upstream-name . "tidytext")))
(build-system r-build-system)
(propagated-inputs
(list r-dplyr
(list r-cli
r-dplyr
r-generics
r-hunspell
r-janeaustenr
r-lifecycle
r-matrix
@ -32499,13 +32703,13 @@ annealing.")
(define-public r-mlr3tuning
(package
(name "r-mlr3tuning")
(version "0.17.1")
(version "0.17.2")
(source (origin
(method url-fetch)
(uri (cran-uri "mlr3tuning" version))
(sha256
(base32
"03habi7dm5xgwfb4zjn9nhvyym46qcljy31jz32fxalsap1mk9jb"))))
"1w08bwk843nfs3d810lnfh3wmd7gkq9141m7lcn9ail2x4ib91bb"))))
(build-system r-build-system)
(propagated-inputs
(list r-bbotk
@ -34394,14 +34598,14 @@ Tensorflow graphs.")
(define-public r-tensorflow
(package
(name "r-tensorflow")
(version "2.9.0")
(version "2.11.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "tensorflow" version))
(sha256
(base32
"12c6ndxx4g6fqjakpzp9pgl29ghswhqyr6q9jahpk0cawizh2znj"))))
"1nqb3vgsw1xrpi1skw6yqwgdri3i8d9np0jylzfj7plizx63z64b"))))
(properties `((upstream-name . "tensorflow")))
(build-system r-build-system)
(inputs (list tensorflow))
@ -34425,19 +34629,18 @@ between them.")
(define-public r-keras
(package
(name "r-keras")
(version "2.9.0")
(version "2.11.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "keras" version))
(sha256
(base32
"06513d1fp7cxk4v03xm9lhgj6xmp9dqqvw3lnzwbzjwdkfj948yc"))))
"19r11mlxpdl09f7sfwzflnjhx2a6jgm57hjzg81pk8kprk4w7lvp"))))
(properties `((upstream-name . "keras")))
(build-system r-build-system)
(propagated-inputs
(list r-ellipsis
r-generics
(list r-generics
r-glue
r-magrittr
r-r6

View File

@ -5,7 +5,7 @@
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2019, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
;;; Copyright © 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 Esther Flashner <esther@flashner.co.il>
@ -149,14 +149,14 @@ to a minimal test case.")
(define ldc-bootstrap
(package
(name "ldc")
(version "1.27.1")
(version "1.30.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ldc-developers/ldc/releases"
"/download/v" version "/ldc-" version "-src.tar.gz"))
(sha256
(base32 "1775001ba6n8w46ln530kb5r66vs935ingnppgddq8wqnc0gbj4k"))))
(base32 "1kfs4fpr1525sv2ny10hlfppy8c075vjm8m649wr2b9411pkgfzx"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;skip in the bootstrap
@ -190,10 +190,7 @@ to a minimal test case.")
("tzdata" ,tzdata)
("zlib" ,zlib)))
(native-inputs
;; Importing (gnu packages commencement) would introduce a cycle.
`(("ld-gold-wrapper" ,(module-ref (resolve-interface
'(gnu packages commencement))
'ld-gold-wrapper))
`(("lld-wrapper" ,(make-lld-wrapper lld-11 #:lld-as-ld? #t))
("llvm" ,llvm-11)
("ldc" ,gdmd)
("ninja" ,ninja)
@ -260,7 +257,7 @@ bootstrapping more recent compilers written in D.")
;; find the compiler-rt libraries they need to be linked with
;; for the tests.
(substitute* (find-files "." "^ldc2.*\\.conf\\.in$")
((".*lib-dirs = \\[\n" all)
((".*LIB_SUFFIX.*" all)
(string-append all
" \"" clang-runtime
"/lib/linux\",\n"))))))
@ -294,12 +291,15 @@ bootstrapping more recent compilers written in D.")
""))
;; The GDB tests suite fails; there are a few bug reports about
;; it upstream.
(for-each delete-file (find-files "tests" "gdb.*\\.(d|sh)$"))
(for-each delete-file (find-files "tests" "gdb.*\\.(c|d|sh)$"))
(delete-file "tests/d2/dmd-testsuite/runnable/debug_info.d")
(delete-file "tests/d2/dmd-testsuite/runnable/b18504.d")
(substitute* "runtime/druntime/test/exceptions/Makefile"
((".*TESTS\\+=rt_trap_exceptions_drt_gdb.*")
""))
;; Drop gdb_dflags from the test suite.
(substitute* "tests/d2/CMakeLists.txt"
(("\\$\\{gdb_dflags\\}") ""))
;; The following tests fail on some systems, not all of
;; which are tested upstream.
(with-directory-excursion "tests"
@ -346,7 +346,8 @@ bootstrapping more recent compilers written in D.")
(invoke "ctest" "--output-on-failure" "-j" job-count
"-R" "lit-tests")
(display "running the dmd test suite...\n")
(invoke "ctest" "--output-on-failure" "-j" job-count
;; This test has a race condition so run it with 1 core.
(invoke "ctest" "--output-on-failure" "-j" "1"
"-R" "dmd-testsuite")
(display "running the defaultlib unit tests and druntime \
integration tests...\n")
@ -412,20 +413,20 @@ needed.")
(define-public gtkd
(package
(name "gtkd")
(version "3.9.0")
(version "3.10.0")
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://gtkd.org/Downloads/sources/GtkD-"
version ".zip"))
(sha256
(base32 "0qv8qlpwwb1d078pnrf0a59vpbkziyf53cf9p6m8ms542wbcxllp"))))
(base32 "0vc5ssb3ar02mg2pngmdi1xg4qjaya8332a9mk0sv97x6b4ddy3g"))))
(build-system gnu-build-system)
(native-inputs
`(("unzip" ,unzip)
("ldc" ,ldc)
("pkg-config" ,pkg-config)
("xorg-server-for-tests" ,xorg-server-for-tests)))
(list unzip
ldc
pkg-config
xorg-server-for-tests))
(arguments
`(#:test-target "test"
#:make-flags
@ -443,13 +444,12 @@ needed.")
(("default-goal: libs test") "default-goal: libs")
(("all: libs shared-libs test") "all: libs shared-libs")
;; Work around upstream bug.
(("\\$\\(prefix\\)\\/\\$\\(libdir\\)") "$(libdir)"))
#t))
(add-before 'check 'prepare-x
(("\\$\\(prefix\\)\\/\\$\\(libdir\\)") "$(libdir)"))))
(add-before 'check 'pre-check
(lambda _
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
#t)))))
(setenv "CC" ,(cc-for-target)))))))
(home-page "https://gtkd.org/")
(synopsis "D binding and OO wrapper of GTK+")
(description "This package provides bindings to GTK+ for D.")

View File

@ -384,8 +384,8 @@ to open the application in a web browser, for offline usage.")
(method url-fetch)
(uri (list
;; XXX: Upstream does not exist anymore.
(string-append "http://www.bipede.fr/downloads/logiciels/"
"ToutEnClic-" version "-src.zip")
;; (string-append "http://www.bipede.fr/downloads/logiciels/"
;; "ToutEnClic-" version "-src.zip")
(string-append "https://archive.org/download/tout-en-clic-" version
"-src/ToutEnClic-" version "-src.zip")))
(sha256

View File

@ -14,7 +14,7 @@
;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016-2022 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
@ -81,7 +81,7 @@
;;; Copyright © 2020, 2021, 2022 Niklas Eklund <niklas.eklund@posteo.net>
;;; Copyright © 2020 Marco Grassi <marco.au.grassi98@protonmail.com>
;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org>
;;; Copyright © 2020, 2021 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2020-2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2020 Adam Kandur <rndd@tuta.io>
;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com>
;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net>
@ -261,7 +261,7 @@
(define-public emacs-geiser
(package
(name "emacs-geiser")
(version "0.28.1")
(version "0.28.2")
(source
(origin
(method git-fetch)
@ -270,7 +270,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "111as99278vbv6pwj8rpl308g327f8iznnrz71mngl6d5mr0xpa1"))))
(base32 "01sif1pw3shhdzcg9vidc2j5cqmrgjh5kynicf5mh3kmlvvsg9k6"))))
(build-system emacs-build-system)
(arguments
'(#:phases
@ -647,6 +647,26 @@ current buffer.")
"Abstract Emacs Lisp framework for tree navigation.")
(license license:gpl3+))))
(define-public emacs-hide-lines
(package
(name "emacs-hide-lines")
(version "20210513.1636")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vapniks/hide-lines.git")
(commit "f0828c15e50db5eddb905de783e7683b04d1eca3")))
(sha256
(base32
"1pw0wp1pzy6snycvz12nj0q7jxxj07h3lqas184w44nhrira7qhj"))))
(build-system emacs-build-system)
(home-page "https://github.com/vapniks/hide-lines")
(synopsis "Commands for hiding lines based on a regexp")
(description
"This package provides commands to hide lines based on a regular
expression.")
(license license:gpl3+)))
(define-public emacs-hgignore-mode
;; From 2021-03-14.
;; No releases available.
@ -673,6 +693,33 @@ editing @file{.hgignore} files used by the Mercurial version control
system.")
(license license:gpl3+))))
(define-public emacs-hsluv
(package
(name "emacs-hsluv")
(version "20181127.1206")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hsluv/hsluv-emacs.git")
(commit "c3bc5228e30d66e7dee9ff1a0694c2b976862fc0")))
(sha256
(base32
"19q8qlq4s2kfydpadkq1zd92611dvq7dr8vlhlbd9gplzpx7dhfd"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-seq))
(home-page "https://github.com/hsluv/hsluv-emacs")
(synopsis "HSLuv color space conversions")
(description
"This package provides an elisp implementation of the HSLUV colorspace
conversions documented on @url{http://www.hsluv.org/}. HSLuv is a
human-friendly alternative to HSL. CIELUV is a color space designed for
perceptual uniformity based on human experiments. When accessed by polar
coordinates, it becomes functionally similar to HSL with a single problem: its
chroma component doesn't fit into a specific range. HSLuv extends CIELUV with
a new saturation component that allows you to span all the available chroma as
a neat percentage.")
(license license:expat)))
(define-public emacs-platformio-mode
(package
(name "emacs-platformio-mode")
@ -3733,7 +3780,7 @@ be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.")
(define-public emacs-cape
(package
(name "emacs-cape")
(version "0.11")
(version "0.12")
(source
(origin
(method git-fetch)
@ -3742,7 +3789,7 @@ be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0z6ixw7gsx1g7x2xpj5ilslrjrlp6x2ynzh731hs3yf3n281715b"))))
(base32 "1855wi6ghi42ngjq3qyjr3p1nc57s257v9c98wqmb2n6vca5p2lp"))))
(build-system emacs-build-system)
(home-page "https://github.com/minad/cape")
(synopsis "Completion at point extensions for Emacs")
@ -7412,14 +7459,14 @@ user.")
(define-public emacs-subed
(package
(name "emacs-subed")
(version "1.0.28")
(version "1.0.29")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.nongnu.org/nongnu/subed-"
version ".tar"))
(sha256
(base32
"0z1bxg5sqvvm9zblbjyfp5llq0v1pkjq9c7ygais8ad68ck1b51f"))))
"0q2sfdypj929y4fllk97rsb2bxm9a1izjy1f0z2viz5hz0hpqp26"))))
(arguments
(list
#:tests? #t
@ -8053,7 +8100,7 @@ features:
(define-public emacs-company-math
(package
(name "emacs-company-math")
(version "1.5")
(version "1.5.1")
(source
(origin
(method git-fetch)
@ -8062,10 +8109,10 @@ features:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "010p3rhb7win6ndx3ilz2lcg69d2qyxfvpi0hcid2srzxffpwn3i"))))
(base32 "1pj10i7ml5d2spcmf8035ngcq5zc6rs3lqx09d0qj6bsghglr6j3"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-math-symbol-lists emacs-company))
(list emacs-company emacs-math-symbol-lists))
(home-page "https://github.com/vspinu/company-math")
(synopsis "Completion backends for math symbols and @code{LaTeX} tags")
(description
@ -10167,7 +10214,7 @@ interface.")
(let ((commit "004cee6b8e01f8eb0cb1c683d0a637b14890600f"))
(package
(name "emacs-orderless")
(version "0.8")
(version "1.0")
(source
(origin
(method git-fetch)
@ -10368,6 +10415,37 @@ call.")
library with Eglot instead of Yasnippet.")
(license license:gpl3+))))
(define-public emacs-consult-xdg-recent-files
(let ((commit "593023ffb99a368152ebd4e739488fa560bdfdea")
(revision "0"))
(package
(name "emacs-consult-xdg-recent-files")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hrehfeld/consult-xdg-recent-files")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0nd23n67dmlflw52dc1rbhy04mc9ymydnsmvfr75hqb7sznn3343"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-consult))
(home-page "https://github.com/hrehfeld/consult-xdg-recent-files")
(synopsis "Include files used by other programs than Emacs in Consult")
(description
"This package provides the ability to include files used by other
programs in the candidate lists of commands like @code{consult-recent-file}
and @code{consult-buffer}. This allows to use the same interface for file
opening.
On systems that comply with the XDG specification, these files are listed in
the file @file{recently-used.xbel}, which is found in the directory
@file{~/.local/share} or the location described by the environment variable
@code{XDG_DATA_HOME}.")
(license license:gpl3+))))
(define-public emacs-consult-yasnippet
(let ((commit "ae0450889484f23dc4ec37518852a2c61b89f184")
(revision "0"))
@ -15471,7 +15549,7 @@ been adapted to also work with mu4e.")
(define-public emacs-tempel
(package
(name "emacs-tempel")
(version "0.5")
(version "0.6")
(source (origin
(method git-fetch)
(uri (git-reference
@ -15480,7 +15558,7 @@ been adapted to also work with mu4e.")
(file-name (git-file-name name version))
(sha256
(base32
"1za73zszj373r8pxf89cwwfrwsf8dy6nxciw11adcccrm92xwdsz"))))
"1jgsjhrfdd72a0na4s1qp8yc24mbgrpxkv8yqac0vgqipg98cdg6"))))
(build-system emacs-build-system)
(home-page "https://github.com/minad/tempel")
(synopsis "Simple templates for Emacs")
@ -15489,6 +15567,29 @@ been adapted to also work with mu4e.")
the Emacs Tempo library. You may also write your templates in Lisp.")
(license license:gpl3+)))
(define-public emacs-tempel-collection
(let ((commit "cd9529b2a2fdfd49010117d2a1fc49adf9725051")
(revision "0"))
(package
(name "emacs-tempel-collection")
(version (git-version "0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Crandel/tempel-collection")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"02x6jq5k7fa46ni64qf8wrmkay6zfbmkildb727zs6wchmyg2znn"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-tempel))
(home-page "https://github.com/Crandel/tempel-collection")
(synopsis "Collection of TempEl templates")
(description "This package provides a collection of templates for
the Emacs TempEl package.")
(license license:gpl3+))))
(define-public emacs-yasnippet
(package
(name "emacs-yasnippet")
@ -16502,13 +16603,13 @@ containing words from the Rime project.")
(define-public emacs-pyim
(package
(name "emacs-pyim")
(version "5.2.8")
(version "5.2.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/pyim-" version ".tar"))
(sha256
(base32 "1klarzr5lfga09ysq3c7gkgmzl6r08gpl4519x5damxd82x4r3y2"))))
(base32 "0blsz344jq1zx4qs73zinb8fhh2a35k5nx12i2wn76902qx2qc6j"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-async emacs-popup emacs-posframe emacs-xr))
@ -17916,7 +18017,7 @@ multiplexer.")
(define-public emacs-plz
(package
(name "emacs-plz")
(version "0.2.1")
(version "0.3")
(source
(origin
(method git-fetch)
@ -17925,7 +18026,7 @@ multiplexer.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0p0xd532xa8icysyxwqk481lr9xanmp68gf97fd9n2936gp12chv"))))
(base32 "1ack4rajjdmb3fqz5v394rqpvn9mfvbkrxra27yrcqz97mma1ki7"))))
(build-system emacs-build-system)
(inputs (list curl))
(arguments
@ -22179,7 +22280,7 @@ powerful Org contents.")
(define-public emacs-org-re-reveal
(package
(name "emacs-org-re-reveal")
(version "3.16.1")
(version "3.17.0")
(source
(origin
(method git-fetch)
@ -22188,7 +22289,7 @@ powerful Org contents.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1jzr7xlzinhfb0197anbkrr5zrs13f7kyznr5q3zyxdndhg6a53n"))))
(base32 "1bp3kz2awy2mizs59qsa2yl7wfa0197fklnramzifz6z2zv5kbrx"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-htmlize emacs-org))
@ -26458,7 +26559,7 @@ comments.")
(define-public emacs-libmpdel
(package
(name "emacs-libmpdel")
(version "1.3.1")
(version "2.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -26467,7 +26568,7 @@ comments.")
(file-name (git-file-name name version))
(sha256
(base32
"0fsg2si7afrnsz91i0ziza6nbc4ds9kpnr2z71wf6896zb1afhfx"))))
"03bavca89cf7dsjmg7hb48qnvca41ndiij33iw5yjjhbq1zyj8r4"))))
(build-system emacs-build-system)
(arguments
(list
@ -26538,13 +26639,57 @@ developers to define user-interfaces based on tablists (also known as
tabulated-lists).")
(license license:gpl3+)))
(define-public emacs-eat
(package
(name "emacs-eat")
(version "0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/akib/emacs-eat")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0zs1fwbapgsap8vai97f1inginb896gl15kyjm521nvaywk4rc12"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Remove generated terminfo database.
(delete-file-recursively "terminfo")))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #t
#:include #~(cons* "^term/"
"^terminfo/"
"^integration/"
"\\.ti$"
%default-include)
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'build-info
(lambda _
(invoke "make" "info")))
(add-before 'install 'build-terminfo-database
(lambda _
(invoke "make" "terminfo"))))))
(native-inputs
(list ncurses texinfo))
(home-page "https://codeberg.org/akib/emacs-eat")
(synopsis "Terminal emulator in Emacs")
(description
"Eat (Emulate A Terminal) is a terminal emulator in Emacs, written in
pure Elisp. It has features like complete mouse support and shell
integration.")
(license license:gpl3+)))
(define-public emacs-vterm
(let ((version "0.0.1")
(revision "1")
(commit "b44723552f86407d528c4a6c8057382c061b008e"))
(let ((commit "e19dc2bb9859a75616bf068c341a540d0d329e4d"))
(package
(name "emacs-vterm")
(version (git-version version revision commit))
(version "0.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -26553,7 +26698,7 @@ tabulated-lists).")
(file-name (git-file-name name version))
(sha256
(base32
"0rq2skwylvc7s4vfpbbsdykws4akyp9sc6xgrh2ql5yydhhnv2h3"))))
"0iqlzpy83ra6xz406fmddfj72bmkdb5b1j59m1dbxf3wxn55320d"))))
(build-system emacs-build-system)
(arguments
`(#:modules ((guix build emacs-build-system)
@ -28911,7 +29056,7 @@ well as an option for visually flashing evaluated s-expressions.")
(define-public emacs-counsel-tramp
(package
(name "emacs-counsel-tramp")
(version "0.7.5")
(version "0.7.6")
(source
(origin
(method git-fetch)
@ -28920,7 +29065,7 @@ well as an option for visually flashing evaluated s-expressions.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "18qlwyjqxap2qfbz14ma6yqp4p3v4q2y8idc355s4szjdd2as2lr"))))
(base32 "02dhchmyaqv6855mafjxizzgpl32rmnwdmw0nbm6rkckr13cgjl1"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-counsel))
@ -28933,14 +29078,14 @@ well as an option for visually flashing evaluated s-expressions.")
(define-public emacs-tramp
(package
(name "emacs-tramp")
(version "2.5.4")
(version "2.6.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"tramp-" version ".tar"))
(sha256
(base32 "1ap2niqskbj81xqhdi4lzh3646g9rwh3iw5qgyl3fw7cfq945fsl"))))
(base32 "1y58k0qdc9i3av61p9ks7hg5vynsi2zslv5mswcbd1wf23iggr7c"))))
(build-system emacs-build-system)
(arguments
(list
@ -30075,6 +30220,28 @@ challenge the three computer opponents in one player mode. You can
even train opponent slimes.")
(license license:gpl3+)))
(define-public emacs-syslog-mode
(package
(name "emacs-syslog-mode")
(version "20210910.1952")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vapniks/syslog-mode.git")
(commit "072664784dae41a573a9de8d178bf577b7526b82")))
(sha256
(base32
"04ddpn6il6mh1f992x3fxl6yljryghi51q4845lx08cbc74wnfz0"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-hide-lines emacs-ov emacs-hsluv))
(home-page "https://github.com/vapniks/syslog-mode")
(synopsis "Major-mode for viewing log files and strace output")
(description "This library provides a major-mode for viewing syslog and
strace files. You can highlight and filter the lines of the file by regular
expressions and by timestamp, view notes associated with files, extract text,
count matches, etc.")
(license license:gpl3+)))
(define-public emacs-systemd-mode
(package
(name "emacs-systemd-mode")
@ -30295,7 +30462,7 @@ Emacs that integrate with major modes like Org-mode.")
(define-public emacs-modus-themes
(package
(name "emacs-modus-themes")
(version "3.0.0")
(version "4.0.1")
(source
(origin
(method git-fetch)
@ -30304,7 +30471,7 @@ Emacs that integrate with major modes like Org-mode.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1468y1ra4w4ihq68mfvddyijppj5sz143aawzg2nxdzphy9a84l2"))))
(base32 "16m8y56jyf44rj541fqb243pmbz9bk5py5zl1xhzal4fsk5bsfrg"))))
(native-inputs (list texinfo))
(build-system emacs-build-system)
(arguments
@ -30321,17 +30488,19 @@ Emacs that integrate with major modes like Org-mode.")
(install-file "doc/modus-themes.info"
(string-append #$output "/share/info")))))))
(home-page "https://protesilaos.com/modus-themes/")
(synopsis "Accessible themes (WCAG AAA)")
(synopsis "Accessible themes for Emacs (WCAG AAA standard)")
(description
"The Modus themes are designed for accessible readability. They conform
with the highest standard for color contrast between any given combination of
background and foreground values. This corresponds to the WCAG AAA standard,
which specifies a minimum rate of distance in relative luminance of 7:1.
Modus Operandi (modus-operandi) is a light theme, while Modus
Vivendi (modus-vivendi) is dark. Each themes color palette is designed to
meet the needs of the numerous interfaces that are possible in the Emacs
computing environment.")
The Modus themes consist of six themes. Modus Operandi is a light theme,
while Modus Vivendi is dark. Modus Operandi Tinted and Modus Vivendi Tinted
are variants of the two main themes. They slightly tone down the intensity of
the background and provide a bit more color variety. Modus Operandi
Deuteranopia and its companion Modus Vivendi Deuteranopia are optimized for
users with red-green color deficiency.")
(license (list license:gpl3+
license:fdl1.3+)))) ; GFDLv1.3+ for the manual
@ -30832,7 +31001,7 @@ icon support, git integration, and several other utilities.")
(define-public emacs-mood-line
(package
(name "emacs-mood-line")
(version "2.0.0")
(version "2.1.0")
(source
(origin
(method git-fetch)
@ -30841,7 +31010,7 @@ icon support, git integration, and several other utilities.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0g29di2g8w8639z8d73kq9x2p8krzmjfn1bqd5jsv28v77j80k8h"))))
(base32 "1j2fjsqbv2f7m1hrrb18gl4cj4kn749xkvpm2p82d7rh4a37q2pr"))))
(build-system emacs-build-system)
(home-page "https://gitlab.com/jessieh/mood-line")
(synopsis "Minimal mode-line for Emacs")
@ -34039,7 +34208,7 @@ Fennel code within Emacs.")
(define-public emacs-org-modern
(package
(name "emacs-org-modern")
(version "0.6")
(version "0.7")
(source
(origin
(method git-fetch)
@ -34047,7 +34216,7 @@ Fennel code within Emacs.")
(url "https://github.com/minad/org-modern")
(commit version)))
(sha256
(base32 "03zpwb475rpbhq1s6101clj0j9mcxdg033clvvybp0p7hm4inwaz"))
(base32 "0bqps8dpvqd2dfw3bamnnf1ikvd48vn8hgb08975f0wski54xh5n"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(home-page "https://github.com/minad/org-modern")
@ -34152,7 +34321,7 @@ hacker.")
(define-public emacs-osm
(package
(name "emacs-osm")
(version "0.8")
(version "0.9")
(home-page "https://github.com/minad/osm")
(source (origin
(method git-fetch)
@ -34162,7 +34331,7 @@ hacker.")
(file-name (git-file-name name version))
(sha256
(base32
"039ac364f00slx1dxxgsgfcr4x47v9ymn8arcs0fyhdhw7jnky5j"))))
"0iacf3mqjq8vfhd0nyzry0spishyvn92zgd55ivqxb9xfdr3lx9x"))))
(build-system emacs-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases

View File

@ -3363,7 +3363,9 @@ visualization, matrix manipulation.")
pango
tbb
eudev
wxwidgets
;; prusa-slicer 2.5 segfaults on startup with wxwidgets 3.2
;; See https://github.com/prusa3d/PrusaSlicer/issues/8299
wxwidgets-3.0
zlib))
(home-page "https://www.prusa3d.com/prusaslicer/")
(synopsis "G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)")

View File

@ -1766,3 +1766,27 @@ and modifying @acronym{UDF, Universal Disk Format} file systems.
and other optical media. It supports read-only media (DVD/CD-R)
and rewritable media that wears out (DVD/CD-RW).")
(license license:gpl2+)))
(define-public fuse-overlayfs
(package
(name "fuse-overlayfs")
(version "1.10")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containers/fuse-overlayfs")
(commit (string-append "v" version))))
(sha256
(base32
"085hrz0nrdsjfjci0z2qfyqrydn8wwdp790dx2x67hwdw1kib3wp"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
(list automake autoconf libtool pkg-config))
(inputs
(list fuse-3))
(home-page "https://github.com/containers/fuse-overlayfs")
(synopsis "FUSE implementation of overlayfs")
(description "This package provides an implementation of overlay+shiftfs
in FUSE for rootless containers.")
(license license:gpl3)))

View File

@ -1194,93 +1194,61 @@ interface (API).")
(define-public python-pygame
(package
(name "python-pygame")
(version "1.9.4")
(version "2.1.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "pygame" version))
(sha256
(base32
"1dn0nb86jl7yr8709cncxdr0yrmviqakw7zx3g8jbbwrr60if3bh"))))
"0g6j79naab7583kymf1bgxc5l5c9h5laq887rmvh8vw8iyifrl6n"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; tests require pygame to be installed first
#:phases
(modify-phases %standard-phases
;; Set the paths to the dependencies manually because
;; the configure script does not allow passing them as
;; parameters. This also means we can skip the configure
;; phase.
(add-before 'build 'set-library-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((sdl-ref (assoc-ref inputs "sdl"))
(font-ref (assoc-ref inputs "sdl-ttf"))
(image-ref (assoc-ref inputs "sdl-image"))
(mixer-ref (assoc-ref inputs "sdl-mixer"))
(smpeg-ref (assoc-ref inputs "libsmpeg"))
(png-ref (assoc-ref inputs "libpng"))
(jpeg-ref (assoc-ref inputs "libjpeg"))
(freetype-ref (assoc-ref inputs "freetype"))
(v4l-ref (assoc-ref inputs "v4l-utils"))
(out-ref (assoc-ref outputs "out")))
(substitute* "Setup.in"
(("SDL = -I/usr/include/SDL")
(string-append "SDL = -I" sdl-ref "/include/SDL -I.")))
(substitute* "Setup.in"
(("FONT = -lSDL_ttf")
(string-append "FONT = -I" font-ref "/include/SDL -L"
font-ref "/lib -lSDL_ttf")))
(substitute* "Setup.in"
(("IMAGE = -lSDL_image")
(string-append "IMAGE = -I" image-ref "/include/SDL -L"
image-ref "/lib -lSDL_image")))
(substitute* "Setup.in"
(("MIXER = -lSDL_mixer")
(string-append "MIXER = -I" mixer-ref "/include/SDL -L"
mixer-ref "/lib -lSDL_mixer")))
(substitute* "Setup.in"
(("SMPEG = -lsmpeg")
(string-append "SMPEG = -I" smpeg-ref "/include/smpeg -L"
smpeg-ref "/lib -lsmpeg")))
(substitute* "Setup.in"
(("PNG = -lpng")
(string-append "PNG = -I" png-ref "/include -L"
png-ref "/lib -lpng")))
(substitute* "Setup.in"
(("JPEG = -ljpeg")
(string-append "JPEG = -I" jpeg-ref "/include -L"
jpeg-ref "/lib -ljpeg")))
(substitute* "Setup.in"
(("FREETYPE = -lfreetype")
(string-append "FREETYPE = -I" freetype-ref "/include/freetype2 -L"
freetype-ref "/lib -lfreetype")))
(substitute* "Setup.in"
(("^pypm") "#pypm"))
;; Create a path to a header file provided by v4l-utils.
(system* "mkdir" "linux")
(system* "ln" "--symbolic"
(string-append v4l-ref "/include/libv4l1-videodev.h")
"linux/videodev.h")
(system* "ln" "--symbolic" "Setup.in" "Setup")))))))
(list
#:tests? #f ; tests require pygame to be installed first
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-build-config
(lambda _
(substitute* "buildconfig/config_unix.py"
(("origincdirs = \\[.*\\]")
"origincdirs = os.environ['C_INCLUDE_PATH'].split(\":\")")
(("ORIGLIBDIRS") "LIBRARY_PATH")
(("incdirs = \\[\\]") "incdirs = origincdirs")
(("libdirs = \\[\\]") "libdirs = origlibdirs"))))
(add-after 'unpack 'fix-sdl2-headers
(lambda _
(substitute* "buildconfig/config_unix.py"
(("SDL_ttf.h") "SDL2/SDL_ttf.h")
(("SDL_image.h") "SDL2/SDL_image.h")
(("SDL_mixer.h") "SDL2/SDL_mixer.h"))
(substitute* "src_c/imageext.c"
(("SDL_image.h") "SDL2/SDL_image.h"))
(substitute* "src_c/font.h"
(("SDL_ttf.h") "SDL2/SDL_ttf.h"))
(substitute* "src_c/mixer.h"
(("SDL_mixer.h") "SDL2/SDL_mixer.h"))
(substitute* "src_c/_sdl2/mixer.c"
(("SDL_mixer.h") "SDL2/SDL_mixer.h")))))))
(native-inputs
(list pkg-config))
(inputs
`(("freetype" ,freetype)
("sdl" ,sdl)
("sdl-image" ,sdl-image)
("sdl-mixer" ,sdl-mixer)
("sdl-ttf" ,sdl-ttf)
("sdl-gfx" ,sdl-gfx)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libX11" ,libx11)
("libsmpeg" ,libsmpeg)
("portmidi" ,portmidi)
("v4l-utils" ,v4l-utils)))
(list freetype
sdl2
sdl2-image
sdl2-mixer
sdl2-ttf
sdl2-gfx
libjpeg-turbo
libpng
libx11
libsmpeg
portmidi
v4l-utils))
(home-page "https://www.pygame.org")
(synopsis "SDL wrapper for Python")
(description "Pygame is a set of Python modules designed for writing games.
Pygame adds functionality on top of the excellent SDL library. This allows you
to create fully featured games and multimedia programs in the python language.")
It adds functionality on top of the SDL library, allowing you to create games
and multimedia programs in the Python language.")
(license (list license:bsd-2
;; python numeric license as listed by Debian looks like
;; an Expat-style license with a warranty disclaimer for

View File

@ -7930,7 +7930,7 @@ ncurses for text display.")
(define-public naev
(package
(name "naev")
(version "0.10.0")
(version "0.10.1")
(source
(origin
(method git-fetch)
@ -7940,7 +7940,7 @@ ncurses for text display.")
(recursive? #t))) ; for game data
(file-name (git-file-name name version))
(sha256
(base32 "183dbi4a91xggxm1rmn7vr8rq519yz7b3zhrd03azsg6fxylv9wn"))))
(base32 "0kvfv2ra0jq1ggf4apsx1j1xhrhjz3fn1j8p4q3a9c4m19fq4qzr"))))
(build-system meson-build-system)
(arguments
;; XXX: Do not add debugging symbols, which cause the build to fail.

View File

@ -13160,7 +13160,7 @@ profiler via Sysprof, debugging support, and more.")
(define-public komikku
(package
(name "komikku")
(version "1.4.0")
(version "1.6.1")
(source
(origin
(method git-fetch)
@ -13170,7 +13170,7 @@ profiler via Sysprof, debugging support, and more.")
(file-name (git-file-name name version))
(sha256
(base32
"1sawvmni28qnca8lmw6li3ad36lb7sbf22zqbzp5f9wjwx7q609k"))))
"0ppd9cl16zwqsmpy0pry43qsfrm2xal77y4339qwbnas74gcl1wh"))))
(build-system meson-build-system)
(arguments
(list
@ -13209,6 +13209,7 @@ profiler via Sysprof, debugging support, and more.")
python-brotli
python-cloudscraper
python-dateparser
python-emoji
python-keyring
python-lxml
python-magic

View File

@ -4308,7 +4308,7 @@ over, or update a value in arbitrary data structures.")
(define-public guile-xapian
(package
(name "guile-xapian")
(version "0.2.0")
(version "0.3.0")
(home-page "https://git.systemreboot.net/guile-xapian")
(source
(origin
@ -4318,7 +4318,7 @@ over, or update a value in arbitrary data structures.")
(file-name (git-file-name name version))
(sha256
(base32
"140cwzpzk4y16ajxrg5zd2d7q60f5ivx5jk8w1h0qfjq2mp14sh7"))))
"0k18navsd0rqx2zbqgvhzscvbls2sxs9k06n195s4bvyd50acfm5"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings
@ -4331,6 +4331,8 @@ over, or update a value in arbitrary data structures.")
libtool
pkg-config
swig))
(propagated-inputs
(list guile-lib))
(synopsis "Guile bindings for Xapian")
(description "@code{guile-xapian} provides Guile bindings for Xapian, a
search engine library. Xapian is a highly adaptable toolkit which allows

View File

@ -491,6 +491,22 @@ RGB animations.")
(sha256
(base32 "0hm0cm4m4hk1jjy7kddg613mynvwlii3kp8al0j9v3c6mcx3p4mx"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-udev-rules
(lambda* (#:key outputs #:allow-other-keys)
;; Move the udev rules to their expected location in Guix
;; System, so they can be more easily used.
(let ((rules.d (string-append #$output "/lib/udev/rules.d")))
(mkdir-p (dirname rules.d))
(rename-file (string-append #$output "/share/ddcutil/data")
rules.d)
;; Patch a reference to the ddcutil command.
(substitute* (string-append rules.d "/45-ddcutil-usb.rules")
(("/usr/bin/ddcutil")
(search-input-file outputs "bin/ddcutil")))))))))
(native-inputs
(list pkg-config))
(inputs
@ -498,9 +514,9 @@ RGB animations.")
glib
kmod
i2c-tools
libdrm ; enhanced diagnostics
libusb ; support USB monitors
libx11 ; enhanced diagnostics
libdrm ;enhanced diagnostics
libusb ;support USB monitors
libx11 ;enhanced diagnostics
libxrandr
zlib))
(home-page "https://www.ddcutil.com/")
@ -519,7 +535,11 @@ communicate over USB as per the USB Monitor Control Class Specification.
One particular use case is in colour profile management. Monitor calibration
is relative to the monitor colour settings currently in effect, e.g. red gain.
ddcutil allows colour-related settings to be saved at the time a monitor is
calibrated, and restored when the calibration is applied.")
calibrated, and restored when the calibration is applied.
This package includes udev rules that can be used by adding this package to
the @code{rules} field of the @code{udev-configuration} record. It gives
read/write access to i2c devices to users in the @samp{i2c} group.")
(license (list license:bsd-3 ; FindDDCUtil.cmake
license:gpl2+)))) ; everything else

View File

@ -63,6 +63,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages version-control)
#:use-module (guix build-system gnu)
#:use-module (guix build-system haskell)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
@ -1241,6 +1242,8 @@ interactive environment for the functional language Haskell.")
(define-public ghc-8 ghc-8.10)
(define-public ghc ghc-8)
(define-public ghc-9.0
(package
(inherit ghc-8.10)
@ -1277,6 +1280,155 @@ interactive environment for the functional language Haskell.")
(file-pattern ".*\\.conf\\.d$")
(file-type 'directory))))))
(define-public ghc ghc-8)
(define-public ghc-9.2
;; Use 8.10 to shorten the build chain.
(let ((base ghc-8.10))
(package
(inherit base)
(name "ghc-next")
(version "9.2.5")
(source (origin
(method url-fetch)
(uri (string-append "https://www.haskell.org/ghc/dist/" version
"/ghc-" version "-src.tar.xz"))
(sha256
(base32
"07028i0hm74svvq9b3jpkczaj6lsdgn3hgr4wa7diqiq3dypj1h6"))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
;; File Common.hs has been moved to src/ in this release.
(replace 'fix-cc-reference
(lambda _
(substitute* "utils/hsc2hs/src/Common.hs"
(("\"cc\"") "\"gcc\""))))))))
(native-inputs
`(;; GHC 9.2 must be built with GHC >= 8.6.
("ghc-bootstrap" ,base)
("ghc-testsuite"
,(origin
(method url-fetch)
(uri (string-append
"https://www.haskell.org/ghc/dist/"
version "/ghc-" version "-testsuite.tar.xz"))
(sha256
(base32
"19ha0hidrijawy53vm2r0sgml5zkl8126mqy7p0pyacmw3k7913l"))))
,@(filter (match-lambda
(("ghc-bootstrap" . _) #f)
(("ghc-testsuite" . _) #f)
(_ #t))
(package-native-inputs base))))
(native-search-paths
(list (search-path-specification
(variable "GHC_PACKAGE_PATH")
(files (list (string-append "lib/ghc-" version)))
(file-pattern ".*\\.conf\\.d$")
(file-type 'directory)))))))
;; 9.4 is the last version to support the make-based build system,
;; but it boot with 9.2, only 9.0 is supported.
(define ghc-bootstrap-for-9.4 ghc-9.0)
;; We need two extra dependencies built with ghc-bootstrap-for-9.4,
;; which are duplicated here from haskell-xyz to make sure the
;; bootstraping process always works.
(define ghc-alex-bootstrap-for-9.4
(hidden-package
(package
(name "ghc-alex")
(version "3.2.6")
(source
(origin
(method url-fetch)
(uri (hackage-uri "alex" version))
(sha256
(base32
"042lrkn0dbpjn5ivj6j26jzb1fwrj8c1aj18ykxja89isg0hiali"))))
(build-system haskell-build-system)
(arguments
(list #:tests? #f
#:haskell ghc-bootstrap-for-9.4))
(native-inputs
(list which))
(home-page "https://www.haskell.org/alex/")
(synopsis
"Tool for generating lexical analysers in Haskell")
(description
"Alex is a tool for generating lexical analysers in Haskell. It takes a
description of tokens based on regular expressions and generates a Haskell
module containing code for scanning text efficiently. It is similar to the
tool lex or flex for C/C++.")
(license license:bsd-3))))
(define ghc-happy-bootstrap-for-9.4
(hidden-package
(package
(name "ghc-happy")
(version "1.20.0")
(source
(origin
(method url-fetch)
(uri (hackage-uri "happy" version))
(sha256
(base32
"1346r2x5ravs5fqma65bzjragqbb2g6v41wz9maknwm2jf7kl79v"))))
(build-system haskell-build-system)
(arguments
(list #:haskell ghc-bootstrap-for-9.4
#:tests? #f))
(home-page "https://hackage.haskell.org/package/happy")
(synopsis "Parser generator for Haskell")
(description "Happy is a parser generator for Haskell. Given a grammar
specification in BNF, Happy generates Haskell code to parse the grammar.
Happy works in a similar way to the yacc tool for C.")
(license license:bsd-3))))
(define-public ghc-9.4
;; Inherit from 9.2, which added a few fixes, but boot from 9.0 (see above).
(let ((base ghc-9.2))
(package
(inherit base)
(name "ghc-next")
(version "9.4.4")
(source (origin
(method url-fetch)
(uri (string-append "https://www.haskell.org/ghc/dist/" version
"/ghc-" version "-src.tar.xz"))
(sha256
(base32
"1qk7rlqf02s3b6m6sqqngmjq1mxnrz88h159lz6k25gddmdg5kp8"))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
;; Files dont exist any more.
(delete 'skip-tests)))))
(native-inputs
`(;; GHC 9.4 must be built with GHC >= 9.0.
("ghc-bootstrap" ,ghc-bootstrap-for-9.4)
("ghc-testsuite"
,(origin
(method url-fetch)
(uri (string-append
"https://www.haskell.org/ghc/dist/"
version "/ghc-" version "-testsuite.tar.xz"))
(sha256
(base32
"04p2lawxxg3nyv6frzhyjyh3arhqqyh5ka3alxa2pxhcd2hdcja3"))))
("ghc-alex" ,ghc-alex-bootstrap-for-9.4)
("ghc-happy" ,ghc-happy-bootstrap-for-9.4)
,@(filter (match-lambda
(("ghc-bootstrap" . _) #f)
(("ghc-testsuite" . _) #f)
(_ #t))
(package-native-inputs base))))
(native-search-paths
(list (search-path-specification
(variable "GHC_PACKAGE_PATH")
(files (list (string-append "lib/ghc-" version)))
(file-pattern ".*\\.conf\\.d$")
(file-type 'directory)))))))
;;; haskell.scm ends here

View File

@ -21,6 +21,7 @@
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -60,6 +61,8 @@
#:use-module (gnu packages documentation)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages game-development)
#:use-module (gnu packages gcc)
#:use-module (gnu packages geo)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gimp)
@ -75,16 +78,21 @@
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages linux)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tbb)
#:use-module (gnu packages textutils)
@ -958,6 +966,275 @@ and quantitative techniques. The data exploration can be done interactively
in 3D or programmatically using ParaViews batch processing capabilities.")
(license license:bsd-3)))
(define-public paraview
(package
(name "paraview")
(version "5.11.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.kitware.com/paraview/paraview.git")
(commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "0qifzsbgg8f7zvg5a4934nql6nv5b6sm1f59bylyc6v5bqd0myas"))
(modules '((guix build utils)))
(snippet
;; TODO: Also remove unused bundled libraries and plugins?
#~(begin
;; Remove bundled ParaView libraries which are available in Guix
;; or undesired.
(for-each (lambda (dir)
(delete-file-recursively
(string-append "ThirdParty/" dir "/vtk"
(string-downcase dir))))
'(;;"CosmoHaloFinder"
;;"IceT"
"NvPipe" ; Don't want NvPipe support
;;"QtTesting"
;;"cinema"
;;"cinemasci"
"protobuf"))
;; Remove undesired ParaView plugins.
(delete-file-recursively "Plugins/pvNVIDIAIndeX")
;; Remove bundled VTK libraries which are available in Guix.
(for-each (lambda (dir)
(delete-file-recursively
(string-append "VTK/ThirdParty/" dir "/vtk" dir)))
'(;;"cgns"
"cli11"
;;"diy2"
"doubleconversion"
"eigen"
;;"exodusII"
"expat"
;;"exprtk"
;;"fides"
"fmt"
"freetype"
"gl2ps"
"glew"
;;"h5part"
"hdf5"
;;"ioss"
"jpeg"
"jsoncpp"
;;"kissfft"
;;"libharu" ; Requires some PRs applied to 2.3.0
"libproj"
"libxml2"
;;"loguru"
"lz4"
"lzma"
"mpi4py"
"netcdf"
;;"nlohmannjson" ; ParFlow build fails even with bundled
"ogg"
;;"pegtl"
"png"
"pugixml"
"sqlite"
"theora"
"tiff"
"utf8"
;;"verdict"
;;"vpic"
;;"vtkm"
;;"xdmf2"
;;"xdmf3"
;;"zfp"
"zlib"))))))
(build-system qt-build-system)
(arguments
(list
#:build-type "Release" ; 542 MiB in release mode
#:tests? #f ; Downloads test data
#:configure-flags
#~(let ((doc (string-append #$output "/share/doc/" #$name "-" #$version)))
(list
(string-append "-DCMAKE_INSTALL_DOCDIR=" doc) ; For paraview.qch
;; ParaView build options
"-DPARAVIEW_BUILD_DEVELOPER_DOCUMENTATION=ON"
(string-append "-DPARAVIEW_GENERATED_DOCUMENTATION_OUTPUT_DIRECTORY=" doc)
;; ParaView capability options
;;"-DPARAVIEW_USE_EXTERNAL_VTK=ON" ; Unsupported by ParaView
"-DPARAVIEW_USE_MPI=ON"
"-DPARAVIEW_USE_PYTHON=ON"
"-DPARAVIEW_USE_QTWEBENGINE=ON"
;; ParaView features
;;
;; Enable those that are disabled by default.
;; Commented means the dependencies are missing from Guix
;; (or are otherwise described).
;;"-DPARAVIEW_ENABLE_ADIOS2=ON"
;;"-DPARAVIEW_ENABLE_COSMOTOOLS=ON"
;;"-DPARAVIEW_ENABLE_CATALYST=ON"
"-DPARAVIEW_ENABLE_FFMPEG=ON"
;;"-DPARAVIEW_ENABLE_FIDES=ON"
"-DPARAVIEW_ENABLE_GDAL=ON"
;;"-DPARAVIEW_ENABLE_LAS=ON"
;;"-DPARAVIEW_ENABLE_LOOKINGGLASS=ON" ; Downloads dependency
;;"-DPARAVIEW_ENABLE_MOMENTINVARIANTS=ON" ; Downloads dependency
"-DPARAVIEW_ENABLE_MOTIONFX=ON"
;;"-DPARAVIEW_ENABLE_OPENTURNS=ON"
;;"-DPARAVIEW_ENABLE_OPENVDB=ON" ; Dependency not found
;;"-DPARAVIEW_ENABLE_PDAL=ON"
;;"-DPARAVIEW_ENABLE_RAYTRACING=ON"
"-DPARAVIEW_ENABLE_VISITBRIDGE=ON"
"-DPARAVIEW_ENABLE_XDMF3=ON"
;; ParaView miscellaneous options
;;
;; Without -DPARAVIEW_DATA_EXCLUDE_FROM_ALL=OFF, test data is
;; downloaded even with tests disabled.
"-DPARAVIEW_VERSIONED_INSTALL=OFF"
"-DPARAVIEW_DATA_EXCLUDE_FROM_ALL=OFF"
;; ParaView plugins
;;
;; Enable those that are disabled by default.
;; Commented means the dependencies are missing from Guix
;; (or are otherwise described).
;;"-DPARAVIEW_PLUGIN_ENABLE_AdiosReaderPixie=ON"
;;"-DPARAVIEW_PLUGIN_ENABLE_AdiosReaderStaging=ON"
"-DPARAVIEW_PLUGIN_ENABLE_CAVEInteraction=ON"
;;"-DPARAVIEW_PLUGIN_ENABLE_CDIReader=ON"
"-DPARAVIEW_PLUGIN_ENABLE_GeographicalMap=ON"
"-DPARAVIEW_PLUGIN_ENABLE_GmshIO=ON"
"-DPARAVIEW_PLUGIN_ENABLE_InSituExodus=ON"
;;"-DPARAVIEW_PLUGIN_ENABLE_LookingGlass=ON"
"-DPARAVIEW_PLUGIN_ENABLE_NetCDFTimeAnnotationPlugin=ON"
;;"-DPARAVIEW_PLUGIN_ENABLE_ParFlow=ON" ; Build fails
;;"-DPARAVIEW_PLUGIN_ENABLE_PythonQtPlugin=ON"
"-DPARAVIEW_PLUGIN_ENABLE_SpaceMouseInteractor=ON"
;;"-DPARAVIEW_PLUGIN_ENABLE_VDFReaderPlugin=ON"
;;"-DPARAVIEW_PLUGIN_ENABLE_XRInterface=ON" ; Build fails
;;"-DPARAVIEW_PLUGIN_ENABLE_zSpace=ON"
;; VTK options
"-DVTK_SMP_IMPLEMENTATION_TYPE=TBB"
"-DVTKm_ENABLE_MPI=ON"
;; External libraries for ParaView and VTK
"-DVTK_MODULE_USE_EXTERNAL_ParaView_protobuf=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_cli11=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_expat=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_fmt=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_freetype=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_glew=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_jsoncpp=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_libproj=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_lzma=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_mpi4py=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON"
;;"-DVTK_MODULE_USE_EXTERNAL_VTK_nlohmannjson=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_ogg=ON"
;;"-DVTK_MODULE_USE_EXTERNAL_VTK_pegtl=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_png=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_pugixml=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_sqlite=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_theora=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_tiff=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_utf8=ON"
"-DVTK_MODULE_USE_EXTERNAL_VTK_zlib=ON"))
#:phases
#~(modify-phases %standard-phases
(add-after 'set-paths 'hide-gfortran
(lambda _
(setenv "CPLUS_INCLUDE_PATH"
(string-join
(delete (string-append #$(this-package-native-input "gfortran")
"/include/c++")
(string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
":"))))
(replace 'install-license-files
(lambda _
(let ((src (string-append #$output "/share/licenses/ParaView"))
(dst (string-append #$output "/share/doc/"
#$name "-" #$version "/licenses")))
(copy-recursively src dst)
(delete-file-recursively (dirname src))))))))
(native-inputs
(list gfortran
;; For the documentation
doxygen
graphviz
perl
python-sphinx))
(inputs
(list boost
cli11
curl
double-conversion
eigen
expat
ffmpeg
fmt
freetype
gdal
gl2ps
glew
gmsh
hdf5
;;json-modern-cxx ;For ParFlow; build fails
jsoncpp
libjpeg-turbo
libogg
libpng
libtheora
libtiff
libxcursor
libxml2
libxt
lz4
lzip
mesa
netcdf
openmpi
;;openvdb ;For OpenVDB; dependency not found
;;openvr ;For XRInterface; build fails
;;pegtl ;For VTK; build fails
proj
protobuf
pugixml
python-cftime
python-matplotlib
python-mpi4py
python-numpy
python-wrapper
qtbase-5
qtdeclarative-5
qtmultimedia-5
qtsvg-5
qttools-5
qtwebchannel-5
qtwebengine-5
qtx11extras
qtxmlpatterns
sdl2
sqlite
tbb
utfcpp
zlib))
(home-page "https://www.paraview.org/")
(synopsis "VTK-based, parallel data analyzer and visualizer")
(description "ParaView is a VTK-based, parallel data analyzer and
visualizer which allows exploring data interactively in 3D or
programmatically.")
(license license:bsd-3)))
(define-public vxl
(package
(name "vxl")

View File

@ -322,8 +322,9 @@ This package is part of the KDE games module.")
ki18n
libkmahjongg
python
python-pyqt-without-qtwebkit
python-twisted
python-pyqt
python-qtpy
python-zope-interface
qtbase-5
qtsvg-5))

View File

@ -6,6 +6,7 @@
;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -39,6 +40,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
@ -55,12 +57,14 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gperf)
#:use-module (gnu packages groff)
#:use-module (gnu packages groovy)
#:use-module (gnu packages gnunet)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages image)
#:use-module (gnu packages java)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages logging)
#:use-module (gnu packages mp3)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
@ -270,43 +274,40 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.")
(define-public kodi
(package
(name "kodi")
(version "18.8")
(version "19.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xbmc/xbmc")
(commit (string-append version "-Leia"))))
(commit (string-append version "-Matrix"))))
(file-name (git-file-name name version))
(sha256
(base32
"0qpkpz43s207msvv3qkiy6vzqwcgmydxv3py7vc29mv6h30chrva"))
(patches (search-patches "kodi-skip-test-449.patch"
"kodi-increase-test-timeout.patch"
"kodi-set-libcurl-ssl-parameters.patch"))
"1pfd1ajivr865h0fkpbv778626c4czrvq8650bzqv9aqzh8f36my"))
(patches (search-patches "kodi-set-libcurl-ssl-parameters.patch"))
(modules '((guix build utils)))
(snippet
'(begin
(use-modules (guix build utils))
(for-each delete-file-recursively
'("project/BuildDependencies/"
;; TODO: Purge these jars.
;;"tools/codegenerator/groovy"
;; And these sources:
"tools/codegenerator/groovy/commons-lang-2.6.jar"
"tools/codegenerator/groovy/groovy-all-2.4.4.jar"
;; Purge these sources:
;; "tools/depend/native/JsonSchemaBuilder"
;; "tools/depend/native/TexturePacker"
;; "lib/gtest"
;; "lib/cpluff"
;; "lib/libUPnP"
"lib/libUPnP/Neptune/ThirdParty"
"project/Win32BuildSetup/tools/7z"))
#t))
(modules '((guix build utils)))))
"project/Win32BuildSetup/tools/7z"))))))
(build-system cmake-build-system)
(arguments
'(#:modules ((srfi srfi-1)
(guix build cmake-build-system)
(guix build utils))
#:configure-flags
(list "-DENABLE_INTERNAL_FFMPEG=OFF"
(list "-DCORE_PLATFORM_NAME=x11"
"-DAPP_RENDER_SYSTEM=gl"
"-DENABLE_INTERNAL_FFMPEG=OFF"
"-DENABLE_INTERNAL_CROSSGUID=OFF"
(string-append "-Dlibdvdread_URL="
(assoc-ref %build-inputs "libdvdread-bootstrapped"))
@ -324,28 +325,36 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.")
;; bootstrap it on our own instead.
(add-after 'unpack 'bootstrap-bundled-software
(lambda _
(let ((dirs '("tools/depends/native/JsonSchemaBuilder/src"
"lib/cpluff")))
(let ((dirs '("tools/depends/native/JsonSchemaBuilder/src")))
(every (lambda (third-party)
(with-directory-excursion third-party
(invoke "autoreconf" "-vif")))
dirs))))
(add-after 'bootstrap-bundled-software 'patch-stuff
(lambda* (#:key inputs #:allow-other-keys)
;; Run groovy executable directly.
(substitute* "xbmc/interfaces/swig/CMakeLists.txt"
(("COMMAND \\$\\{Java_JAVA_EXECUTABLE\\}")
"COMMAND groovy")
(("ARGS \\$\\{JAVA_OPEN_OPTS\\} -cp \"\\$\\{classpath\\}\" groovy.ui.GroovyMain")
"ARGS -cp \"${classpath}\" ")
(("classpath \\$\\{GROOVY_DIR\\}/groovy-all-\\$\\{GROOVY_VER\\}.jar")
"classpath ")
(("\\$\\{GROOVY_DIR\\}/commons-lang-\\$\\{COMMONS_VER\\}.jar")
(search-input-file inputs "/share/java/commons-lang-2.6.jar"))
(("^set\\(GROOVY_VER.*")
(string-append "set(GROOVY_VER 3.0.5)\n")))
;; Prevent the build scripts from calling autoreconf in the
;; build stage. Otherwise, it would undo the bootstrapping
;; and shebang patching that we worked so hard for.
(substitute* "cmake/modules/FindCpluff.cmake"
(("autoreconf -vif") "true"))
(substitute* "lib/cpluff/po/Makefile.in.in"
(("/bin/sh") (which "sh")))
(substitute* "cmake/modules/FindLibDvd.cmake"
;; The libdvd* sources that we bootstrapped separately are
;; unpacked in the build phase. This is our best opportunity
;; to make them writable before the build process starts.
(("autoreconf -vif") "chmod -R u+w ."))
(substitute* "xbmc/platform/linux/LinuxTimezone.cpp"
(substitute* "xbmc/platform/posix/PosixTimezone.cpp"
(("/usr/share/zoneinfo")
(search-input-directory inputs "share/zoneinfo")))
@ -357,20 +366,21 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.")
;; Let's disable some tests that are known not to work here.
;; Doing this later while in the cmake "../build" directory
;; is trickier.
(substitute* '("xbmc/utils/test/TestSystemInfo.cpp")
(substitute* "xbmc/utils/test/TestSystemInfo.cpp"
(("TEST_F\\(TestSystemInfo, GetOsPrettyNameWithVersion\\)")
"TEST_F(TestSystemInfo, DISABLED_GetOsPrettyNameWithVersion)")
(("TEST_F\\(TestSystemInfo, GetOsName\\)")
"TEST_F(TestSystemInfo, DISABLED_GetOsName)")
(("TEST_F\\(TestSystemInfo, GetOsVersion\\)")
"TEST_F(TestSystemInfo, DISABLED_GetOsVersion)"))
#t))
(substitute* "xbmc/utils/test/TestCPUInfo.cpp"
(("TEST_F\\(TestCPUInfo, GetCPUFrequency\\)")
"TEST_F(TestCPUInfo, DISABLED_GetCPUFrequency)"))))
(add-before 'build 'set-build-environment
(lambda _
;; Some bundled build scripts fall back to /bin/sh
;; if this is not set.
(setenv "CONFIG_SHELL" (which "sh"))
#t))
(setenv "CONFIG_SHELL" (which "sh"))))
(add-before 'check 'build-kodi-test
(lambda _
(invoke "make" "kodi-test"))))))
@ -379,77 +389,81 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.")
;; - plist
;; - shairplay
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("gettext" ,gettext-minimal)
("icedtea" ,icedtea) ; needed at build-time only, mandatory
("libdvdcss-bootstrapped" ,libdvdcss/kodi)
("libdvdnav-bootstrapped" ,libdvdnav/kodi)
("libdvdread-bootstrapped" ,libdvdread/kodi)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("swig" ,swig)
("yasm" ,yasm)))
(list autoconf
automake
gettext-minimal
googletest
groovy
openjdk9 ;like groovy
java-commons-lang
libdvdcss/kodi
libdvdnav/kodi
libdvdread/kodi
libtool
pkg-config
swig
yasm))
(inputs
`(("alsa-lib" ,alsa-lib)
("avahi" ,avahi)
("bluez" ,bluez)
("crossguid" ,crossguid)
("curl" ,curl)
("dcadec" ,dcadec)
("dbus" ,dbus)
("eudev" ,eudev)
("ffmpeg" ,ffmpeg-4)
("flac" ,flac)
("flatbuffers" ,flatbuffers)
("fmt" ,fmt-7)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("fribidi" ,fribidi)
("fstrcmp" ,fstrcmp)
("giflib" ,giflib)
("glew" ,glew)
("gnutls" ,gnutls)
("lame" ,lame)
("lcms" ,lcms)
("libass" ,libass)
("libbluray" ,libbluray)
("libcap" ,libcap)
("libcdio" ,libcdio)
("libdrm" ,libdrm)
("libgcrypt" ,libgcrypt)
("libjpeg" ,libjpeg-turbo)
("libltdl" ,libltdl)
("libmad" ,libmad)
("libmicrohttpd" ,libmicrohttpd)
("libmpeg2" ,libmpeg2)
("libnfs" ,libnfs)
("libogg" ,libogg)
("libpng" ,libpng)
("libssh" ,libssh)
("libtiff" ,libtiff)
("libva" ,libva)
("libvorbis" ,libvorbis)
("libxml2" ,libxml2)
("libxrandr" ,libxrandr)
("libxrender" ,libxrender)
("libxslt" ,libxslt)
("lzo" ,lzo)
("mariadb-dev" ,mariadb "lib")
("mariadb-dev" ,mariadb "dev")
("openssl" ,openssl)
("pcre" ,pcre)
("pulseaudio" ,pulseaudio)
("python" ,python-2)
("rapidjson" ,rapidjson)
("samba" ,samba)
("sqlite" ,sqlite)
("taglib" ,taglib)
("tinyxml" ,tinyxml)
("tzdata" ,tzdata)
("util-linux" ,util-linux)
("zip" ,zip)
("zlib" ,zlib)))
(list alsa-lib
avahi
bluez
crossguid
curl
dcadec
dbus
eudev
ffmpeg-4
flac
flatbuffers
fmt-6
fontconfig
freetype
fribidi
fstrcmp
giflib
glew
gnutls
lame
lcms
libass
libbluray
libcap
libcdio
libdrm
libgcrypt
libjpeg-turbo
libltdl
libmad
libmicrohttpd
libmpeg2
libnfs
libogg
libpng
libssh
libtiff
libva
libvorbis
libxml2
libxrandr
libxrender
libxslt
lzo
(list mariadb "lib")
(list mariadb "dev")
openssl
pcre
pulseaudio
python
rapidjson
samba
spdlog-for-kodi
sqlite
taglib
tinyxml
tzdata
util-linux
zip
zlib))
(synopsis "Media center for home theater computers")
(description "Kodi is a media center application for playing videos,
music, games, etc. Kodi is highly customizable and features a theme and
@ -458,11 +472,11 @@ plug-in system.")
;; XBMC is largely GPL2+, with some library components as LGPL2.1+, but
;; there are some other licenses spread throughout.
(license (list license:gpl2+ license:lgpl2.1+
license:gpl3+ ;WiiRemote client
license:expat ;cpluff, dbwrappers
license:public-domain ;cpluff/examples
license:bsd-3 ;misc, gtest
license:bsd-2)))) ;xbmc/freebsd
license:gpl3+ ;WiiRemote client
license:expat ;cpluff, dbwrappers
license:public-domain ;cpluff/examples
license:bsd-3 ;misc
license:bsd-2)))) ;xbmc/freebsd
(define-public kodi/wayland
(package/inherit kodi
@ -470,15 +484,14 @@ plug-in system.")
(arguments
(substitute-keyword-arguments (package-arguments kodi)
((#:configure-flags flags)
`(append '("-DCORE_PLATFORM_NAME=wayland"
"-DWAYLAND_RENDER_SYSTEM=gl")
,flags))))
`(cons "-DCORE_PLATFORM_NAME=wayland"
(delete "-DCORE_PLATFORM_NAME=x11" ,flags)))))
(inputs
`(("libinput" ,libinput)
("libxkbcommon" ,libxkbcommon)
("waylandpp" ,waylandpp)
("waylandp-protocols" ,wayland-protocols)
,@(package-inputs kodi)))
(modify-inputs (package-inputs kodi)
(prepend (list libinput
libxkbcommon
waylandpp
wayland-protocols))))
(synopsis "Kodi with Wayland rendering backend")))
(define-public kodi-cli

View File

@ -480,7 +480,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
(define-public linux-libre-6.0-version "6.0.15")
(define-public linux-libre-6.0-version "6.0.16")
(define-public linux-libre-6.0-gnu-revision "gnu")
(define deblob-scripts-6.0
(linux-libre-deblob-scripts
@ -490,7 +490,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "16g2bin3xay30zfss1vlb7pwcss5giaxaksp4v1gk05wn51wjrqr")))
(define-public linux-libre-6.0-pristine-source
(let ((version linux-libre-6.0-version)
(hash (base32 "08389890gq4b9vkvrb22lzkr4blkn3a5ma074ns19gl89wyyp16l")))
(hash (base32 "1r2wf3hf7yxl7lxma7plyi8pk3dmlsrpm763rf0g1h8ilsy72844")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.0)))
@ -498,7 +498,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-5.15-version "5.15.85")
(define-public linux-libre-5.15-version "5.15.86")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
@ -508,7 +508,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1m73pgx8v047xb2gck2g7j7khniis8c9akn9vhzgsdfglrf8p6fj")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "024qhjh9mgfnanr1qd8002n6a4wpn98lajli12a0m3n9z8lsw2rc")))
(hash (base32 "1vpjnmwqsx6akph2nvbsv2jl7pp8b7xns3vmwbljsl23lkpxkz40")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))

View File

@ -14,7 +14,7 @@
;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
;;; Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019-2023 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
@ -23,7 +23,7 @@
;;; Copyright © 2020, 2021, 2022 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021, 2022 Aurora <rind38@disroot.org>
;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
;;; Copyright © 2021, 2022 André A. Gomes <andremegafone@gmail.com>
;;; Copyright © 2021, 2022, 2023 André A. Gomes <andremegafone@gmail.com>
;;; Copyright © 2021, 2022 Cage <cage-dev@twistfold.it>
;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com>
;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
@ -70,6 +70,7 @@
#:use-module (guix build-system asdf)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages audio)
#:use-module (gnu packages base)
#:use-module (gnu packages c)
#:use-module (gnu packages compression)
@ -4036,6 +4037,38 @@ package.")
(define-public ecl-cffi-c-ref
(sbcl-package->ecl-package sbcl-cffi-c-ref))
(define-public sbcl-ffa
(let ((commit "b7012f51c4c37d1e759ff9cf78cea178504d8e07")
(revision "1"))
(package
(name "sbcl-ffa")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tpapp/ffa")
(commit commit)))
(file-name (git-file-name "cl-ffa" version))
(sha256
(base32 "0l7kqcjp3sn1129hpwq6zhjqc0ydx9gc53z7k13i38x3z1asap7a"))))
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-cffi sbcl-cl-utilities sbcl-iterate sbcl-metabang-bind))
(synopsis "Foreign friendly arrays for Common Lisp")
(description
"This package provides a macro that allows foreign functions to access
the contents of the array at a given pointer, using the best available method
given the Common Lisp implementation.")
(home-page "https://cliki.net/ffa")
(license license:llgpl))))
(define-public cl-ffa
(sbcl-package->cl-source-package sbcl-ffa))
(define-public ecl-ffa
(sbcl-package->ecl-package sbcl-ffa))
(define-public sbcl-cl-sqlite
(package
(name "sbcl-cl-sqlite")
@ -11050,6 +11083,46 @@ them as PNG files.")
(define-public ecl-hdf5-cffi
(sbcl-package->ecl-package sbcl-hdf5-cffi))
(define-public sbcl-history-tree
(package
(name "sbcl-history-tree")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/atlas-engineer/history-tree")
(commit version)))
(file-name (git-file-name "cl-history-tree" version))
(sha256
(base32 "0z4mfgswfbpkh496qqk130yk6d0q0q5imqybw9n58aq4ygfhibhz"))))
(build-system asdf-build-system/sbcl)
(inputs
(list
sbcl-alexandria
sbcl-custom-hash-table
sbcl-local-time
sbcl-hu.dwim.defclass-star
sbcl-trivial-package-local-nicknames))
(native-inputs (list sbcl-lisp-unit2))
(home-page "https://github.com/atlas-engineer/history-tree")
(synopsis "Store the history of a browser's visited paths")
(description
"This data structure can be used to store the history of visited paths or
URLs with a file or web browser, in a way that no forward element is ever
forgotten.
The history tree is global in the sense that multiple owners (e.g. tabs) can
have overlapping histories. On top of that, an owner can spawn another one,
starting from one of its nodes (typically when you open a URL in a new tab).")
(license license:bsd-3)))
(define-public cl-history-tree
(sbcl-package->cl-source-package sbcl-history-tree))
(define-public ecl-history-tree
(sbcl-package->ecl-package sbcl-history-tree))
(define-public sbcl-cl-randist
(package
(name "sbcl-cl-randist")
@ -13073,6 +13146,46 @@ cross-platform audio playback.")
(define-public cl-out123
(sbcl-package->cl-source-package sbcl-cl-out123))
(define-public sbcl-cl-portaudio
(let ((commit "c50cd061c25216a736f684e45101f5c0188a384f")
(revision "1"))
(package
(name "sbcl-cl-portaudio")
(version (git-version "1.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/filonenko-mikhail/cl-portaudio")
(commit commit)))
(file-name (git-file-name "cl-portaudio" version))
(sha256
(base32 "177c6bgf30caj5qpzfnzhbamax7c5zm2p4911mw7fay94vjs7zyb"))))
(build-system asdf-build-system/sbcl)
(inputs
(list portaudio sbcl-cffi sbcl-ffa))
(arguments
(list #:tests? #f ; Tests need access to sound cards
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/portaudio.lisp"
(("libportaudio\\.so")
(search-input-file inputs "/lib/libportaudio.so"))))))))
(synopsis "Common Lisp bindings to portaudio")
(description
"This package provides audio input and output functions to Common Lisp
using bindings to the portaudio library.")
(home-page "https://github.com/filonenko-mikhail/cl-portaudio")
(license license:expat))))
(define-public cl-portaudio
(sbcl-package->cl-source-package sbcl-cl-portaudio))
(define-public ecl-cl-portaudio
(sbcl-package->ecl-package sbcl-cl-portaudio))
(define-public sbcl-cl-random-forest
(let ((commit "fedb36ce99bb6f4d7e3a7dd6d8b058f331308f91")
(revision "1"))

View File

@ -7,7 +7,7 @@
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 20182022 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2021-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
@ -1585,6 +1585,19 @@ components which highly leverage existing libraries in the larger LLVM Project."
(inputs (modify-inputs (package-inputs lld)
(replace "llvm" llvm-12)))))
(define-public lld-11
(package
(inherit lld-12)
(version "11.0.0")
(source (origin
(method url-fetch)
(uri (llvm-uri "lld" version))
(sha256
(base32
"077xyh7sij6mhp4dc4kdcmp9whrpz332fa12rwxnzp3wgd5bxrzg"))))
(inputs (modify-inputs (package-inputs lld)
(replace "llvm" llvm-11)))))
(define-public lld lld-14)
(define* (make-lld-wrapper lld #:key lld-as-ld?)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
@ -252,6 +252,20 @@ library.")
(sha256
(base32 "02xz017ba9fssm1rp1fcfld7h79awbr6fqai9dxaqp02akp3davk"))))))
(define-public spdlog-for-kodi
(package
(inherit spdlog)
(version "1.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gabime/spdlog")
(commit (string-append "v" version))))
(file-name (git-file-name "spdlog" version))
(sha256
(base32 "0dn44r3xbw1w0bk9yflnxkh3rzdq2bpxkks44skfmqig0rsj1f1x"))))))
(define-public rsyslog
(package
(name "rsyslog")

View File

@ -4026,11 +4026,11 @@ It is a replacement for the @command{urlview} program.")
(license license:gpl2+)))
(define-public mumi
(let ((commit "0a90eeda9b5e12a2f83e3917c46fa539f308d0c8")
(revision "2"))
(let ((commit "b2a8280f158957e18d714dea78637f6504dd7613")
(revision "1"))
(package
(name "mumi")
(version (git-version "0.0.4" revision commit))
(version (git-version "0.0.5" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@ -4039,7 +4039,7 @@ It is a replacement for the @command{urlview} program.")
(file-name (git-file-name name version))
(sha256
(base32
"1yxi1vvygrk8qd0mqh65qh1g99r5d4rlymj8amcn80ggi3z32byk"))))
"1ygcbrnwvqa4zi93mbry5afw6dr4fbm7pgkn1gbsydp6qjfsm88q"))))
(build-system gnu-build-system)
(arguments
(list

View File

@ -3221,8 +3221,7 @@ ASCII text files using Gmsh's own scripting language.")
((@@ (guix build python-build-system) call-setuppy)
"build_ext"
(list (string-append "--sip-dir="
(assoc-ref inputs "python-pyqt")
"/share/sip"))
(search-input-directory inputs "share/sip")))
#t)))
;; Ensure that icons are found at runtime.
(add-after 'install 'wrap-executable
@ -3240,7 +3239,7 @@ ASCII text files using Gmsh's own scripting language.")
(list ghostscript ;optional, for EPS/PS output
python-dbus
python-h5py ;optional, for HDF5 data
python-pyqt
python-pyqt-without-qtwebkit
qtbase-5
qtsvg-5))
(propagated-inputs

View File

@ -98,29 +98,20 @@ extensive examples, including parsers for the Javascript and C99 languages.")
(define-public nyacc
(package
(inherit nyacc-0.99)
(version "1.07.4")
(version "1.08.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/nyacc/nyacc-"
version ".tar.gz"))
(sha256
(base32
"1kr3b88sx0g9zy52algxqpvnkjm76qdyld7pasbbajkph2zhcj92"))
"1vrz3pnlr3njwk6ksz85slcwawi8ngiqbw94wd9x3mgv85vsfmys"))
(modules '((guix build utils)))
(snippet
'(substitute* "configure"
(("GUILE_GLOBAL_SITE=\\$prefix.*")
"GUILE_GLOBAL_SITE=\
$prefix/share/guile/site/$GUILE_EFFECTIVE_VERSION\n")))))
(arguments
'(#:phases
(modify-phases %standard-phases
;; See https://savannah.nongnu.org/bugs/index.php?60474
(add-after 'unpack 'fix-60474
(lambda _
(substitute* "module/nyacc/lang/c99/parser.scm"
(("\\(memq \\(car stmt\\) '\\(include include-next\\)\\)")
"(memq (car stmt) '(include include-next define))")))))))
(inputs (list guile-3.0))
(propagated-inputs (list guile-bytestructures))
(description

View File

@ -1398,13 +1398,18 @@ Encryption to Gajim.")
#:phases
#~(modify-phases %standard-phases
;; For A/V support.
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
(assoc-ref glib-or-gtk:%standard-phases
'generate-gdk-pixbuf-loaders-cache-file))
(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))))))
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
`("GDK_PIXBUF_MODULE_FILE" =
(,(getenv "GDK_PIXBUF_MODULE_FILE")))))))
(add-after 'install 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
(replace 'check
@ -1421,7 +1426,8 @@ Encryption to Gajim.")
pkg-config
vala))
(inputs
(list atk
(list adwaita-icon-theme
atk
cairo
librsvg
glib

View File

@ -2947,7 +2947,7 @@ using a system-independent interface.")
python-ly
python-poppler-qt5
python-pyportmidi
python-pyqt
python-pyqt-without-qtwebkit
python-sip))
(home-page "https://www.frescobaldi.org/")
(synopsis "LilyPond sheet music text editor")

View File

@ -224,6 +224,8 @@
"x64")
((? (cut string-prefix? "powerpc64" <>))
"ppc64")
((? (cut string-prefix? "riscv64" <>))
"riscv64")
(_ "unsupported"))))
''()))
(flags (cons (string-append "--prefix=" prefix)

View File

@ -64,14 +64,14 @@
(define-public parallel
(package
(name "parallel")
(version "20221122")
(version "20221222")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
(base32 "17akk6nskyqp3ckggli2dadp49m164ij79pijgb4iwad8ci9sgda"))
(base32 "0zsrz25yyhkvrkvlblmgrqhcyr9zavflknz3nhql9a8qxixhraad"))
(snippet
'(begin
(use-modules (guix build utils))

View File

@ -1,18 +0,0 @@
Increase thread timeout to reduce flakiness.
Taken from upstream:
https://github.com/xbmc/xbmc/commit/574b0182d8b641fd24029f372ebdcccc897123e2
diff --git a/xbmc/threads/test/TestEvent.cpp b/xbmc/threads/test/TestEvent.cpp
index 42fb8c2fc609..40e644c0ed3c 100644
--- a/xbmc/threads/test/TestEvent.cpp
+++ b/xbmc/threads/test/TestEvent.cpp
@@ -484,7 +484,7 @@ TEST(TestEvent, GroupTimedWait)
EXPECT_TRUE(w3.result == NULL);
// this should end given the wait is for only 50 millis
- EXPECT_TRUE(waitThread3.timed_join(MILLIS(100)));
+ EXPECT_TRUE(waitThread3.timed_join(MILLIS(200)));
EXPECT_TRUE(!w3.waiting);
EXPECT_TRUE(w3.result == NULL);

View File

@ -3,15 +3,16 @@ connections work we can set them based on SSL_CERT_DIR and SSL_CERT_FILE.
--- a/xbmc/filesystem/CurlFile.cpp
+++ b/xbmc/filesystem/CurlFile.cpp
@@ -626,5 +626,9 @@
@@ -626,8 +626,12 @@
if (!m_cipherlist.empty())
g_curlInterface.easy_setopt(h, CURLOPT_SSL_CIPHER_LIST, m_cipherlist.c_str());
+ // Load certificate data from environment paths
+ g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_CAPATH, getenv("SSL_CERT_DIR"));
+ g_curlInterface.easy_setopt(m_state->m_easyHandle, CURLOPT_CAINFO, getenv("SSL_CERT_FILE"));
+
// enable HTTP2 support. default: CURL_HTTP_VERSION_1_1. Curl >= 7.62.0 defaults to CURL_HTTP_VERSION_2TLS
g_curlInterface.easy_setopt(h, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0);
-
}
if (CServiceBroker::GetSettingsComponent()->GetAdvancedSettings()->m_curlDisableHTTP2)
g_curlInterface.easy_setopt(h, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
else
// enable HTTP2 support. default: CURL_HTTP_VERSION_1_1. Curl >= 7.62.0 defaults to CURL_HTTP_VERSION_2TLS
g_curlInterface.easy_setopt(h, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS);

View File

@ -1,53 +0,0 @@
This test fails regularly between 18.0rc3 and 18.0rc5.2
449/520 Test #449: TestWebServer.CanHeadFile................................................***Failed 0.90 sec
Note: Google Test filter = TestWebServer.CanHeadFile
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from TestWebServer
[ RUN ] TestWebServer.CanHeadFile
/tmp/guix-build-kodi-18.0rc5.2.drv-0/kodi-18.0rc5.2-checkout/xbmc/network/test/TestWebServer.cpp:156: Failure
Expected: "4"
To be equal to: httpHeader.GetValue("Content-Length").c_str()
Which is: "0"
[ FAILED ] TestWebServer.CanHeadFile (6 ms)
[----------] 1 test from TestWebServer (6 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (635 ms total)
[ PASSED ] 0 tests.
[ FAILED ] 1 test, listed below:
[ FAILED ] TestWebServer.CanHeadFile
---
xbmc/network/test/TestWebServer.cpp | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/xbmc/network/test/TestWebServer.cpp b/xbmc/network/test/TestWebServer.cpp
index a87d9f4..b2240f4 100644
--- a/xbmc/network/test/TestWebServer.cpp
+++ b/xbmc/network/test/TestWebServer.cpp
@@ -520,13 +520,13 @@ TEST_F(TestWebServer, CanNotHeadNonExistingFile)
ASSERT_FALSE(curl.Exists(CURL(GetUrlOfTestFile("file_does_not_exist"))));
}
-TEST_F(TestWebServer, CanHeadFile)
-{
- CCurlFile curl;
- ASSERT_TRUE(curl.Exists(CURL(GetUrlOfTestFile(TEST_FILES_HTML))));
-
- CheckHtmlTestFileResponse(curl);
-}
+//TEST_F(TestWebServer, CanHeadFile)
+//{
+// CCurlFile curl;
+// ASSERT_TRUE(curl.Exists(CURL(GetUrlOfTestFile(TEST_FILES_HTML))));
+//
+// CheckHtmlTestFileResponse(curl);
+//}
TEST_F(TestWebServer, CanNotGetNonExistingFile)
{
--
2.20.1

View File

@ -0,0 +1,84 @@
Upstream status: https://patchwork.ozlabs.org/project/uboot/list/?series=333259
diff --git a/Makefile b/Makefile
index de5746399a..597a8886c3 100644
--- a/Makefile
+++ b/Makefile
@@ -2372,7 +2372,7 @@ tcheck:
# Documentation targets
# ---------------------------------------------------------------------------
DOC_TARGETS := xmldocs latexdocs pdfdocs htmldocs epubdocs cleandocs \
- linkcheckdocs dochelp refcheckdocs
+ linkcheckdocs dochelp refcheckdocs texinfodocs infodocs
PHONY += $(DOC_TARGETS)
$(DOC_TARGETS): scripts_basic FORCE
$(Q)$(MAKE) $(build)=doc $@
diff --git a/doc/Makefile b/doc/Makefile
index f5de65e927..d0904a9f99 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -69,6 +69,14 @@ quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4)
htmldocs:
@+$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,html,$(var),,$(var)))
+texinfodocs:
+ @+$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,texinfo,$(var),texinfo,$(var)))
+
+# Note: the 'info' Make target is generated by sphinx itself when
+# running the texinfodocs target defined above.
+infodocs: texinfodocs
+ $(MAKE) -C $(BUILDDIR)/texinfo info
+
linkcheckdocs:
@$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,linkcheck,$(var),,$(var)))
@@ -109,6 +117,8 @@ cleandocs:
dochelp:
@echo ' U-Boot documentation in different formats from ReST:'
@echo ' htmldocs - HTML'
+ @echo ' texinfodocs - Texinfo'
+ @echo ' infodocs - Info'
@echo ' latexdocs - LaTeX'
@echo ' pdfdocs - PDF'
@echo ' epubdocs - EPUB'
diff --git a/doc/conf.py b/doc/conf.py
index 62c8d31270..3db70f80c1 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -449,7 +449,7 @@ for fn in os.listdir('.'):
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
- (master_doc, 'dasuboot', 'The U-Boot Documentation',
+ (master_doc, 'u-boot', 'The U-Boot Documentation',
[author], 1)
]
@@ -463,8 +463,8 @@ man_pages = [
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
- (master_doc, 'DasUBoot', 'The U-Boot Documentation',
- author, 'DasUBoot', 'One line description of project.',
+ (master_doc, 'u-boot', 'The U-Boot Documentation',
+ author, 'U-Boot', 'Boot loader for embedded systems',
'Miscellaneous'),
]
diff --git a/doc/media/Makefile b/doc/media/Makefile
index b9b43a34c3..9b32258696 100644
--- a/doc/media/Makefile
+++ b/doc/media/Makefile
@@ -22,10 +22,11 @@ $(BUILDDIR)/linker_lists.h.rst: ${API}/linker_lists.h ${PARSER} $(SRC_DIR)/linke
# Media build rules
-.PHONY: all html epub xml latex
+.PHONY: all html texinfo epub xml latex
all: $(IMGDOT) $(BUILDDIR) ${TARGETS}
html: all
+texinfo: all
epub: all
xml: all
latex: $(IMGPDF) all

View File

@ -0,0 +1,40 @@
Upstream status: https://patchwork.ozlabs.org/project/uboot/list/?series=333156
diff --git a/tools/patman/main.py b/tools/patman/main.py
index 5a7756a221..bf300c6e64 100755
--- a/tools/patman/main.py
+++ b/tools/patman/main.py
@@ -7,6 +7,7 @@
"""See README for more information"""
from argparse import ArgumentParser
+import importlib.resources
import os
import re
import shutil
@@ -163,11 +164,8 @@ elif args.cmd == 'send':
fd.close()
elif args.full_help:
- tools.print_full_help(
- os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])),
- 'README.rst')
- )
-
+ with importlib.resources.path('patman', 'README.rst') as readme:
+ tools.print_full_help(str(readme))
else:
# If we are not processing tags, no need to warning about bad ones
if not args.process_tags:
diff --git a/tools/patman/setup.py b/tools/patman/setup.py
index 43fdc00ce6..ce9bb4aa63 100644
--- a/tools/patman/setup.py
+++ b/tools/patman/setup.py
@@ -7,6 +7,6 @@ setup(name='patman',
scripts=['patman'],
packages=['patman'],
package_dir={'patman': ''},
- package_data={'patman': ['README']},
+ package_data={'patman': ['README.rst']},
classifiers=['Environment :: Console',
'Topic :: Software Development'])

View File

@ -0,0 +1,104 @@
Upstream status: https://patchwork.ozlabs.org/project/uboot/list/?series=333427
diff --git a/tools/patman/patman.rst b/tools/patman/patman.rst
index 7828899879..95b6c9c3f0 100644
--- a/tools/patman/patman.rst
+++ b/tools/patman/patman.rst
@@ -88,7 +88,7 @@ To add your own, create a file `~/.patman` like this::
Patman will also look for a `.patman` configuration file at the root
of the current project git repository, which makes it possible to
override the `project` settings variable or anything else in a
-project-specific way. The values of this "local" configuration file
+project-specific way. The values of this "local" configuration file
take precedence over those of the "global" one.
Aliases are recursive.
diff --git a/tools/patman/test_settings.py b/tools/patman/test_settings.py
index 9c14b4aaa3..c768a2fc64 100644
--- a/tools/patman/test_settings.py
+++ b/tools/patman/test_settings.py
@@ -6,38 +6,62 @@
import argparse
import contextlib
import os
-import subprocess
+import sys
import tempfile
from patman import settings
+from patman import tools
@contextlib.contextmanager
def empty_git_repository():
with tempfile.TemporaryDirectory() as tmpdir:
os.chdir(tmpdir)
- subprocess.check_call(['git', 'init'])
+ tools.run('git', 'init', raise_on_error=True)
yield tmpdir
+@contextlib.contextmanager
+def cleared_command_line_args():
+ old_value = sys.argv[:]
+ sys.argv = [sys.argv[0]]
+ try:
+ yield
+ finally:
+ sys.argv = old_value
+
+
def test_git_local_config():
- with empty_git_repository():
- with tempfile.NamedTemporaryFile() as global_config:
- global_config.write(b'[settings]\n'
- b'project=u-boot\n')
- global_config.flush()
- parser = argparse.ArgumentParser()
- parser.add_argument('-p', '--project', default='unknown')
-
- # Test "global" config is used.
- settings.Setup(parser, 'unknown', global_config.name)
- args, _ = parser.parse_known_args()
- assert args.project == 'u-boot'
-
- # Test local config can shadow it.
- with open('.patman', 'w', buffering=1) as f:
- f.write('[settings]\n'
- 'project=guix-patches\n')
- settings.Setup(parser, 'unknown', global_config.name)
- args, _ = parser.parse_known_args([])
- assert args.project == 'guix-patches'
+ # Clearing the command line arguments is required, otherwise
+ # arguments passed to the test running such as in 'pytest -k
+ # filter' would be processed by _UpdateDefaults and fail.
+ with cleared_command_line_args():
+ with empty_git_repository():
+ with tempfile.NamedTemporaryFile() as global_config:
+ global_config.write(b'[settings]\n'
+ b'project=u-boot\n')
+ global_config.flush()
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-p', '--project', default='unknown')
+ subparsers = parser.add_subparsers(dest='cmd')
+ send = subparsers.add_parser('send')
+ send.add_argument('--no-check', action='store_false',
+ dest='check_patch', default=True)
+
+ # Test "global" config is used.
+ settings.Setup(parser, 'unknown', global_config.name)
+ args, _ = parser.parse_known_args([])
+ assert args.project == 'u-boot'
+ send_args, _ = send.parse_known_args([])
+ assert send_args.check_patch
+
+ # Test local config can shadow it.
+ with open('.patman', 'w', buffering=1) as f:
+ f.write('[settings]\n'
+ 'project: guix-patches\n'
+ 'check_patch: False\n')
+ settings.Setup(parser, 'unknown', global_config.name)
+ args, _ = parser.parse_known_args([])
+ assert args.project == 'guix-patches'
+ send_args, _ = send.parse_known_args([])
+ assert not send_args.check_patch

View File

@ -0,0 +1,176 @@
Upstream status: https://patchwork.ozlabs.org/project/uboot/list/?series=333354
diff --git a/tools/patman/main.py b/tools/patman/main.py
index bf300c6e64..3616b28f27 100755
--- a/tools/patman/main.py
+++ b/tools/patman/main.py
@@ -116,7 +116,7 @@ status.add_argument('-f', '--force', action='store_true',
argv = sys.argv[1:]
args, rest = parser.parse_known_args(argv)
if hasattr(args, 'project'):
- settings.Setup(gitutil, parser, args.project, '')
+ settings.Setup(parser, args.project)
args, rest = parser.parse_known_args(argv)
# If we have a command, it is safe to parse all arguments
diff --git a/tools/patman/patman.rst b/tools/patman/patman.rst
index 8c5c9cc2cc..7828899879 100644
--- a/tools/patman/patman.rst
+++ b/tools/patman/patman.rst
@@ -74,7 +74,7 @@ out where to send patches pretty well.
During the first run patman creates a config file for you by taking the default
user name and email address from the global .gitconfig file.
-To add your own, create a file ~/.patman like this::
+To add your own, create a file `~/.patman` like this::
# patman alias file
@@ -85,6 +85,12 @@ To add your own, create a file ~/.patman like this::
wolfgang: Wolfgang Denk <wd@denx.de>
others: Mike Frysinger <vapier@gentoo.org>, Fred Bloggs <f.bloggs@napier.net>
+Patman will also look for a `.patman` configuration file at the root
+of the current project git repository, which makes it possible to
+override the `project` settings variable or anything else in a
+project-specific way. The values of this "local" configuration file
+take precedence over those of the "global" one.
+
Aliases are recursive.
The checkpatch.pl in the U-Boot tools/ subdirectory will be located and
diff --git a/tools/patman/settings.py b/tools/patman/settings.py
index 903d6fcb0b..e8e2908f1f 100644
--- a/tools/patman/settings.py
+++ b/tools/patman/settings.py
@@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0+
# Copyright (c) 2011 The Chromium OS Authors.
+# Copyright (c) 2022 Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
#
try:
@@ -11,8 +12,7 @@ import argparse
import os
import re
-from patman import command
-from patman import tools
+from patman import gitutil
"""Default settings per-project.
@@ -190,7 +190,8 @@ def ReadGitAliases(fname):
fd.close()
-def CreatePatmanConfigFile(gitutil, config_fname):
+
+def CreatePatmanConfigFile(config_fname):
"""Creates a config file under $(HOME)/.patman if it can't find one.
Args:
@@ -328,26 +329,46 @@ def GetItems(config, section):
except:
raise
-def Setup(gitutil, parser, project_name, config_fname=''):
+def Setup(parser, project_name, config_fname=None):
"""Set up the settings module by reading config files.
+ Unless `config_fname` is specified, a `.patman` config file local
+ to the git repository is consulted, followed by the global
+ `$HOME/.patman`. If none exists, the later is created. Values
+ defined in the local config file take precedence over those
+ defined in the global one.
+
Args:
- parser: The parser to update
+ parser: The parser to update.
project_name: Name of project that we're working on; we'll look
for sections named "project_section" as well.
- config_fname: Config filename to read ('' for default)
+ config_fname: Config filename to read. An error is raised if it
+ does not exist.
"""
# First read the git alias file if available
_ReadAliasFile('doc/git-mailrc')
config = _ProjectConfigParser(project_name)
- if config_fname == '':
+
+ if config_fname and not os.path.exists(config_fname):
+ raise Exception(f'provided {config_fname} does not exist')
+
+ if not config_fname:
config_fname = '%s/.patman' % os.getenv('HOME')
+ has_config = os.path.exists(config_fname)
+
+ git_local_config_fname = os.path.join(gitutil.get_top_level(), '.patman')
+ has_git_local_config = os.path.exists(git_local_config_fname)
- if not os.path.exists(config_fname):
- print("No config file found ~/.patman\nCreating one...\n")
- CreatePatmanConfigFile(gitutil, config_fname)
+ # Read the git local config last, so that its values override
+ # those of the global config, if any.
+ if has_config:
+ config.read(config_fname)
+ if has_git_local_config:
+ config.read(git_local_config_fname)
- config.read(config_fname)
+ if not (has_config or has_git_local_config):
+ print("No config file found.\nCreating ~/.patman...\n")
+ CreatePatmanConfigFile(config_fname)
for name, value in GetItems(config, 'alias'):
alias[name] = value.split(',')
diff --git a/tools/patman/test_settings.py b/tools/patman/test_settings.py
new file mode 100644
index 0000000000..9c14b4aaa3
--- /dev/null
+++ b/tools/patman/test_settings.py
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# Copyright (c) 2022 Maxim Cournoyer <maxim.cournoyer@savoirfairelinux.com>
+#
+
+import argparse
+import contextlib
+import os
+import subprocess
+import tempfile
+
+from patman import settings
+
+
+@contextlib.contextmanager
+def empty_git_repository():
+ with tempfile.TemporaryDirectory() as tmpdir:
+ os.chdir(tmpdir)
+ subprocess.check_call(['git', 'init'])
+ yield tmpdir
+
+
+def test_git_local_config():
+ with empty_git_repository():
+ with tempfile.NamedTemporaryFile() as global_config:
+ global_config.write(b'[settings]\n'
+ b'project=u-boot\n')
+ global_config.flush()
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-p', '--project', default='unknown')
+
+ # Test "global" config is used.
+ settings.Setup(parser, 'unknown', global_config.name)
+ args, _ = parser.parse_known_args()
+ assert args.project == 'u-boot'
+
+ # Test local config can shadow it.
+ with open('.patman', 'w', buffering=1) as f:
+ f.write('[settings]\n'
+ 'project=guix-patches\n')
+ settings.Setup(parser, 'unknown', global_config.name)
+ args, _ = parser.parse_known_args([])
+ assert args.project == 'guix-patches'

View File

@ -23,6 +23,7 @@
;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -183,7 +184,10 @@ information.")
(,(string-append qtbase "/lib/qt5/plugins/platforms"))))
#t))))))
(inputs
(list python-pypdf2 python-pyqt python-poppler-qt5 qtbase-5))
(list python-poppler-qt5
python-pypdf2
python-pyqt-without-qtwebkit
qtbase-5))
(home-page "http://crazy-compilers.com/flyer-composer")
(synopsis "Rearrange PDF pages to print as flyers on one sheet")
(description "@command{flyer-composer} can be used to prepare one- or
@ -1203,6 +1207,35 @@ information for every pixel as the input.")
the framebuffer.")
(license license:gpl2+)))
(define-public pdfcrack
(package
(name "pdfcrack")
(version "0.20")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/pdfcrack/pdfcrack/"
"pdfcrack-" version "/"
"pdfcrack-" version ".tar.gz"))
(sha256
(base32
"1d751n38cbagxqpw6ncvf3jfv7zhxl3fwh5nms2bjp6diyqjk2vv"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;no test suite
#:make-flags #~(list (string-append "CC="
#$(cc-for-target)))
#:phases #~(modify-phases %standard-phases
(delete 'configure) ;no configure script
(replace 'install
(lambda _
(install-file "pdfcrack"
(string-append #$output "/bin")))))))
(home-page "https://pdfcrack.sourceforge.net/")
(synopsis "Password recovery tool for PDF files")
(description "PDFCrack is a simple tool for recovering passwords from PDF
documents that use the standard security handler.")
(license license:gpl2+)))
(define-public pdf2svg
(package
(name "pdf2svg")

View File

@ -52,7 +52,7 @@
;;; Copyright © 2018-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018, 2019, 2021 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018, 2019, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018, 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2015, 2018 Pjotr Prins <pjotr.guix@thebird.nl>
@ -3158,12 +3158,12 @@ Prefix) - Encode and decode data structures.")
(propagated-inputs
(list python-pygobject python-pycairo python-pyatspi))
(native-inputs
`(("python-nose" ,python-nose)
("gtk+" ,gtk+)
("xvfb" ,xorg-server)
("dbus" ,dbus)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gobject-introspection" ,gobject-introspection)))
(list python-nose
gtk+
xorg-server-for-tests
dbus
gsettings-desktop-schemas
gobject-introspection))
(home-page "https://gitlab.com/dogtail/dogtail/")
(synopsis "GUI test tool and automation framework written in Python")
(description
@ -4885,6 +4885,31 @@ via commands such as @command{rst2man}, as well as supporting Python code.")
;; tests contain Python 2 syntax.
(arguments '(#:tests? #false))))
(define-public python-docx
(package
(name "python-docx")
(version "0.8.11")
(source (origin
(method url-fetch)
(uri (pypi-uri "python-docx" version))
(sha256
(base32
"1i7bxghb7knlyjain101qg1jmmz2b6qj03bi3vfxhvcml0rx418i"))))
(build-system pyproject-build-system)
(native-inputs
(list behave
python-flake8
python-mock
python-pyparsing
python-pytest))
(propagated-inputs
(list python-lxml))
(home-page "https://github.com/python-openxml/python-docx/")
(synopsis "Python library to create and modify Microsoft Word documents")
(description "This Python library can be used to create and update
Microsoft Word (.docx) documents.")
(license license:expat)))
(define-public python-restructuredtext-lint
(package
(name "python-restructuredtext-lint")
@ -18887,13 +18912,13 @@ numbers, real numbers, mixed types and more, and comes with a shell command
(define-public glances
(package
(name "glances")
(version "3.1.7")
(version "3.3.0.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Glances" version))
(sha256
(base32 "020vb38qrb0m3sdr7xjr43cmcfxpnyg4hmb97wgxsa9zvwsjwa5x"))
(base32 "0klyyxqc7cbrf1i741304i3rrwan19qm2v58xmrlgqsmxac542la"))
(modules '((guix build utils)))
(snippet
'(begin
@ -18907,7 +18932,7 @@ numbers, real numbers, mixed types and more, and comes with a shell command
#t))))
(build-system python-build-system)
(propagated-inputs
(list python-future python-psutil))
(list python-defusedxml python-future python-packaging python-psutil))
(home-page "https://github.com/nicolargo/glances")
(synopsis "Cross-platform curses-based monitoring tool")
(description
@ -23542,7 +23567,7 @@ tool).")
(list python-entrypoints
python-numpy
python-msgpack
python-typing-extensions-next))
python-typing-extensions))
(native-inputs
(list python-cython python-pytest python-setuptools-scm))
(home-page "https://github.com/zarr-developers/numcodecs")

View File

@ -187,7 +187,7 @@ external dependencies.")
(define-public samba
(package
(name "samba")
(version "4.16.4")
(version "4.16.8")
(source
;; For updaters: the current PGP fingerprint is
;; 81F5E2832BD2545A1897B713AA99442FB680B620.
@ -196,7 +196,7 @@ external dependencies.")
(uri (string-append "https://download.samba.org/pub/samba/stable/"
"samba-" version ".tar.gz"))
(sha256
(base32 "0bvhqinxwpbwp4ayhd9q8ga0w89gnkl1m3nrwpj1fnhjzd4ghclm"))))
(base32 "11a1vikbijaq7csg49h5ivn25gx84v6wx8z8kgsj1wmkhsf9bcmv"))))
(build-system gnu-build-system)
(arguments
(list
@ -295,7 +295,9 @@ Desktops into Active Directory environments using the winbind daemon.")
(define-public samba/fixed
;; Version that rarely changes, depended on by libsoup.
(hidden-package
(package/inherit samba
(package
(inherit samba)
(replacement samba/fixed-patched)
(version "4.15.3")
(source
(origin
@ -319,6 +321,20 @@ Desktops into Active Directory environments using the winbind daemon.")
libxslt
libxml2)))))
(define-public samba/fixed-patched
(package
(inherit samba/fixed)
;; This is 4.15.13, but we need to trim the store file name to have
;; the same length as the one we are grafting above.
(version "4.15.A")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.samba.org/pub/samba/stable/"
"samba-4.15.13.tar.gz"))
(sha256
(base32 "0s29vzn5f42vjhx6h25c7v67n14ymqxn8glqa97d0rajd99y64n4"))))))
(define-public talloc
(package
(name "talloc")

View File

@ -1450,13 +1450,13 @@ adapted for other output formats, such as HTML or LaTeX.")
(define-public r-formatr
(package
(name "r-formatr")
(version "1.12")
(version "1.13")
(source (origin
(method url-fetch)
(uri (cran-uri "formatR" version))
(sha256
(base32
"12wch1774113nlrc0lihfn5rbh4hln9sg6dv6zc2bvyb8fzyyllb"))))
"09z5wvbhrr2s2d196cxwzvjn0qr6pf4czrfqwdzqgqrdpwrxq1xj"))))
(build-system r-build-system)
(native-inputs
(list r-knitr))
@ -1472,13 +1472,13 @@ There is also a Shiny app as a user interface in this package.")
(define-public r-highr
(package
(name "r-highr")
(version "0.9")
(version "0.10")
(source (origin
(method url-fetch)
(uri (cran-uri "highr" version))
(sha256
(base32
"0kgdv2vf1lz3b5kbal9s83gg6812nw7fvrq0rkyr0v4k1lwi3zxy"))))
"0yrlpjs8qzq1d7iy4gypnf4x1gvxq6vaghkdh1kfv433yqgvqmgc"))))
(build-system r-build-system)
(propagated-inputs
(list r-xfun))
@ -1930,14 +1930,14 @@ side.")
(define-public r-locfit
(package
(name "r-locfit")
(version "1.5-9.6")
(version "1.5-9.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "locfit" version))
(sha256
(base32
"0xilf6gp3m8xla2fvxr491j31pvim707mnhswvm9yxnb0d09xs0y"))))
"1zvsa7hvnp0pvjyy0nnrg8bdv8gv4l23jb66wkc0kipvi78grra8"))))
(build-system r-build-system)
(propagated-inputs
(list r-lattice))
@ -2968,13 +2968,13 @@ a column in data frame.")
(define-public r-rsqlite
(package
(name "r-rsqlite")
(version "2.2.19")
(version "2.2.20")
(source (origin
(method url-fetch)
(uri (cran-uri "RSQLite" version))
(sha256
(base32
"11jzg3ywzaql3zwp7cwql1nilz8pvbz903whyh0d447rs0xnn3vj"))))
"1km7rg2yg3lmjz7lplypw61sx78mykyksgbdq3j5kjpcvirdbdaj"))))
(properties `((upstream-name . "RSQLite")))
(build-system r-build-system)
(propagated-inputs
@ -4318,17 +4318,17 @@ It uses and relies on grid graphics and formal (S4) classes and methods.")
(define-public r-purrr
(package
(name "r-purrr")
(version "0.3.5")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "purrr" version))
(sha256
(base32
"1vzwajjw9h6jg5l82j7nkf3iraqmzwzh40s7q6wkq14awzbnqf52"))))
"1hm6lylx05s43rdk9q7xqdcydz495aim16c7xlw94lyw7v5l81kz"))))
(build-system r-build-system)
(propagated-inputs
(list r-magrittr r-rlang))
(list r-cli r-lifecycle r-magrittr r-rlang r-vctrs))
(native-inputs
(list r-knitr))
(home-page "https://github.com/hadley/purrr")

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015-2020, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015-2020, 2022-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2021 Ludovic Courtès <ludo@gnu.org>
@ -366,7 +366,7 @@ silently and reliably flow across to every other.")
(define-public onedrive
(package
(name "onedrive")
(version "2.4.21")
(version "2.4.22")
(source
(origin
(method git-fetch)
@ -375,7 +375,7 @@ silently and reliably flow across to every other.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04rnkc6ap9mkghvlj102f2gvnjqg3bs4vw9q3wm869fsflnm3599"))))
(base32 "1lh915rs3zjfgdjhn35bhnn6zfknj4xd86s5jj3wznifj4f5kn7w"))))
(build-system gnu-build-system)
(arguments
(list
@ -391,16 +391,12 @@ silently and reliably flow across to every other.")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'link-to-external-libraries
(lambda* (#:key inputs #:allow-other-keys)
(setenv "DCFLAGS" (string-append
;; The default linker is ld.gold.
"--linker=\"\" "
;; Only link necessary libraries.
"-L--as-needed "))))
(lambda _
;; Only link necessary libraries.
(setenv "DCFLAGS" "-L--as-needed")))
(add-after 'configure 'adjust-makefile
(lambda _
(substitute* "Makefile"
(("-L/gnu") "-Wl,-rpath=/gnu")
(("-O ") "-O2 "))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)

View File

@ -56,6 +56,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module (guix git-download)
@ -241,7 +242,7 @@ keybindings have different functions.")
(define-public asciinema
(package
(name "asciinema")
(version "2.1.0")
(version "2.2.0")
(source
(origin
(method git-fetch)
@ -250,16 +251,18 @@ keybindings have different functions.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1alcz018jrrpasrmgs8nw775a6pf62xq2xgs54c4mb396prdqy4x"))))
(build-system python-build-system)
(base32 "0pcrghfi9p1p40d0339lcmhcv24hm1vxqr4rsdln34v385vqv14a"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _ (invoke "nosetests" "-v"))))))
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-python-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "tests/pty_test.py"
(("python3") (search-input-file inputs "/bin/python3"))))))))
(native-inputs
;; For tests.
(list python-nose))
(list python-pytest))
(home-page "https://asciinema.org")
(synopsis "Terminal session recorder")
(description

View File

@ -62,6 +62,7 @@
;;; Copyright © 2022 Bird <birdsite@airmail.cc>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2022 Chadwain Holness <chadwainholness@gmail.com>
;;; Copyright © 2022 Andy Tai <atai@atai.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -4711,7 +4712,7 @@ create smoother and stable videos.")
(define-public libopenshot
(package
(name "libopenshot")
(version "0.2.7")
(version "0.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -4720,7 +4721,7 @@ create smoother and stable videos.")
(file-name (git-file-name name version))
(sha256
(base32
"0i9bsn8gklm1mvj60l3d3xrxdgy8svpxjfqcwsr308j5zjn30pv8"))
"0q2899hbaqwh1gxyl9x84l116g82glk0wmr3r1xvfwb107m3mvx9"))
(modules '((guix build utils)))
(snippet '(begin
;; Allow overriding of the python installation dir
@ -4746,6 +4747,7 @@ create smoother and stable videos.")
libopenshot-audio
qtbase-5
qtmultimedia-5
qtsvg-5
zeromq))
(arguments
`(#:configure-flags
@ -4774,7 +4776,7 @@ API. It includes bindings for Python, Ruby, and other languages.")
(define-public openshot
(package
(name "openshot")
(version "2.6.1")
(version "3.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -4783,7 +4785,7 @@ API. It includes bindings for Python, Ruby, and other languages.")
(file-name (git-file-name name version))
(sha256
(base32
"0pa8iwl217503bjlqg2zlrw5lxyq5hvxrf5apxrh3843hj1w1myv"))
"1az59whx9sga6m8m2c3ndfls5h07r0jn4jipnyxckpxl32vpd147"))
(modules '((guix build utils)))
(snippet
'(begin
@ -4795,10 +4797,12 @@ API. It includes bindings for Python, Ruby, and other languages.")
font-dejavu
libopenshot
python
python-pyqt
python-pyqt-without-qtwebkit
python-pyqtwebengine
python-pyzmq
python-requests
qtsvg-5))
qtsvg-5
qtwebengine-5))
(arguments
`(#:modules ((guix build python-build-system)
(guix build qt-utils)
@ -4820,12 +4824,6 @@ API. It includes bindings for Python, Ruby, and other languages.")
(("fonts") "share/fonts/truetype")
(("[A-Za-z_-]+.ttf") "DejaVuSans.ttf")))
#t))
;; https://github.com/OpenShot/openshot-qt/issues/4502
(add-before 'ensure-no-mtimes-pre-1980 'fix-symbolic-link
(lambda _
(delete-file "images/Humanity/actions/custom/razor_line_with_razor.png")
(symlink "../../../../src/timeline/media/images/razor_line_with_razor.png"
"images/Humanity/actions/custom/razor_line_with_razor.png")))
(add-before 'install 'set-tmp-home
(lambda _
;; src/classes/info.py "needs" to create several
@ -4834,10 +4832,16 @@ API. It includes bindings for Python, Ruby, and other languages.")
#t))
(add-after 'install 'wrap-program
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(let ((out (assoc-ref outputs "out"))
(qtwebengine-process-path
(search-input-file
inputs "/lib/qt5/libexec/QtWebEngineProcess")))
(wrap-qt-program "openshot-qt"
#:output out #:inputs inputs))
#t)))))
#:output out #:inputs inputs)
;; Help the program discover QtWebEngine at runtime.
(wrap-program (string-append out "/bin/openshot-qt")
`("QTWEBENGINEPROCESS_PATH" =
(,qtwebengine-process-path)))))))))
(home-page "https://www.openshot.org/")
(synopsis "Video editor")
(description "OpenShot takes your videos, photos, and music files and
@ -4892,9 +4896,7 @@ transitions, and effects and then export your film to many common formats.")
`("PATH" ":" prefix
,(list (string-append mlt "/bin"))))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)
("qttools-5" ,qttools-5)))
(list pkg-config python-wrapper qttools-5))
(inputs
(list bash-minimal
ffmpeg
@ -4902,9 +4904,6 @@ transitions, and effects and then export your film to many common formats.")
frei0r-plugins
jack-1
ladspa
lame
libvpx
libx264
mlt
pulseaudio
qtbase-5
@ -4914,7 +4913,6 @@ transitions, and effects and then export your film to many common formats.")
qtquickcontrols-5
qtquickcontrols2-5
qtsvg-5
qtwebkit
qtwebsockets-5
qtx11extras
sdl2))
@ -5600,7 +5598,7 @@ for details on how to change this.")
(define-public svtplay-dl
(package
(name "svtplay-dl")
(version "4.14")
(version "4.17")
(source (origin
(method git-fetch)
(uri (git-reference
@ -5609,7 +5607,7 @@ for details on how to change this.")
(file-name (git-file-name name version))
(sha256
(base32
"1wdrdszalvhv80m5jizbvjz4jc08acmbpxcsslyfb5cwh842in8m"))))
"0yjxmvldskw4pji3lg69pbx05izvxahz9my7z5p31mkiz6v33dmx"))))
(build-system python-build-system)
(inputs (list ffmpeg python-pyaml python-requests python-pysocks
python-cryptography))

View File

@ -56,7 +56,7 @@
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 muradm <mail@muradm.net>
;;; Copyright © 2022 Elais Player <elais@fastmail.com>
;;; Copyright © 2022 Trevor Richards <trev@trevdev.ca>
;;; Copyright © 2022, 2023 Trevor Richards <trev@trevdev.ca>
;;; Copyright © 2022 Fredrik Salomonsson <plattfot@posteo.net>
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe>
@ -2358,6 +2358,25 @@ interface[fn:dbus-spec]. It shows notifications using stumpwm:message
by default.")
(license license:gpl3+)))
(define-public sbcl-stumpwm-battery-portable
(package
(inherit stumpwm-contrib)
(name "sbcl-stumpwm-battery-portable")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-cl-ppcre
(list stumpwm "lib")))
(arguments
'(#:asd-systems '("battery-portable")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "modeline/battery-portable"))))))
(synopsis "Battery level indicator for StumpWM")
(description "This module provides a battery level indicator for the
modeline. It can be displayed in the modeline with %B.")
(license (list license:expat license:gpl3+))))
(define-public lemonbar
(package
(name "lemonbar")

View File

@ -5,7 +5,7 @@
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2017, 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2019 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
@ -760,7 +760,7 @@ site} for more information."
(bluetooth-configuration-enable-adv-mon-interleave-scan
config))
1 0))
"\n[GATT]"
"\nCache = " (symbol->string (bluetooth-configuration-cache config))
"\nKeySize = " (number->string (bluetooth-configuration-key-size config))
@ -1541,6 +1541,11 @@ rules."
(package-direct-input-selector
"efl")
enlightenment-package))
(service-extension udev-service-type
(compose list
(package-direct-input-selector
"ddcutil")
enlightenment-package))
(service-extension setuid-program-service-type
enlightenment-setuid-programs)
(service-extension profile-service-type

View File

@ -204,17 +204,13 @@ computed-file object~%") file))))
'()
`(("default.pa.d" ,(extra-script-files->file-union
extra-script-files))))
,@(if (null? daemon-conf)
'()
`(("daemon.conf"
,(apply mixed-text-file "daemon.conf"
"default-script-file = " default-script-file "\n"
(map pulseaudio-conf-entry daemon-conf)))))
,@(if (null? client-conf)
'()
`(("client.conf"
,(apply mixed-text-file "client.conf"
(map pulseaudio-conf-entry client-conf))))))))))))
("daemon.conf"
,(apply mixed-text-file "daemon.conf"
"default-script-file = /etc/pulse/default.pa\n"
(map pulseaudio-conf-entry daemon-conf)))
("client.conf"
,(apply mixed-text-file "client.conf"
(map pulseaudio-conf-entry client-conf))))))))))
(define pulseaudio-service-type
(service-type

View File

@ -33,6 +33,7 @@
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (srfi srfi-71)
#:use-module (ice-9 receive)
#:use-module (web uri)
#:use-module (guix memoization)
@ -83,16 +84,16 @@
(define %input-style
(make-parameter 'variable)) ; or 'specification
(define (string->licenses license-string)
(define (string->licenses license-string license-prefix)
(let ((licenses
(map string-trim-both
(string-tokenize license-string
(char-set-complement (char-set #\|))))))
(string->license licenses)))
(string->license licenses license-prefix)))
(define string->license
(let ((prefix identity))
(match-lambda
(define (string->license license-string license-prefix)
(let ((prefix license-prefix))
(match license-string
("AGPL-3" (prefix 'agpl3))
("AGPL (>= 3)" (prefix 'agpl3+))
("Artistic-2.0" (prefix 'artistic2.0))
@ -138,8 +139,8 @@
("MIT + file LICENSE" (prefix 'expat))
("file LICENSE"
`(,(prefix 'fsdg-compatible) "file://LICENSE"))
((x) (string->license x))
((lst ...) `(list ,@(map string->license lst)))
((x) (string->license x license-prefix))
((lst ...) `(list ,@(map (cut string->license <> license-prefix) lst)))
(unknown `(,(prefix 'fsdg-compatible) ,unknown)))))
(define (description->alist description)
@ -395,7 +396,9 @@ empty list when the FIELD cannot be found."
"c++11"
"c++14"
"c++17"
"c99"
"getopt::long"
"gnu"
"posix.1-2001"
"linux"
"none"
@ -406,42 +409,44 @@ empty list when the FIELD cannot be found."
(define (transform-sysname sysname)
"Return a Guix package name for the common package name SYSNAME."
(match sysname
("java" "openjdk")
("fftw3" "fftw")
("tcl/tk" "tcl")
("booktabs" "texlive-booktabs")
("bowtie2" "bowtie")
("cat" "coreutils")
("java" "openjdk")
("exiftool" "perl-image-exiftool")
("fftw3" "fftw")
("freetype2" "freetype")
("gettext" "gnu-gettext")
("gmake" "gnu-make")
("libarchive-devel" "libarchive")
("libarchive_dev" "libarchive")
("libbz2" "bzip2")
("libexpat" "expat")
("liblz4" "lz4")
("liblzma" "xz")
("libzstd" "zstd")
("libxml2-devel" "libxml2")
("libz" "zlib")
("mariadb-devel" "mariadb")
("mysql56_dev" "mariadb")
("pandoc-citeproc" "pandoc")
("python3" "python-3")
("sqlite3" "sqlite")
("svn" "subversion")
("tcl/tk" "tcl")
("udunits-2" "udunits")
("whoami" "coreutils")
("x11" "libx11")
(_ sysname)))
(define cran-guix-name (cut guix-name "r-" <>))
(define (tarball-needs-fortran? tarball)
"Check if the TARBALL contains Fortran source files."
(define (check pattern)
(parameterize ((current-error-port (%make-void-port "rw+"))
(current-output-port (%make-void-port "rw+")))
(zero? (system* "tar" "--wildcards" "--list" pattern "-f" tarball))))
(or (check "*.f90")
(check "*.f95")
(check "*.f")))
(define (directory-needs-fortran? dir)
"Check if the directory DIR contains Fortran source files."
(match (find-files dir "\\.f(90|95)$")
(match (find-files dir "\\.f(90|95)?$")
(() #f)
(_ #t)))
(define (needs-fortran? thing tarball?)
"Check if the THING contains Fortran source files."
(if tarball?
(tarball-needs-fortran? thing)
(directory-needs-fortran? thing)))
(define (files-match-pattern? directory regexp . file-patterns)
"Return #T if any of the files matching FILE-PATTERNS in the DIRECTORY match
the given REGEXP."
@ -457,58 +462,42 @@ the given REGEXP."
(else (loop))))))))
(apply find-files directory file-patterns))))
(define (tarball-files-match-pattern? tarball regexp . file-patterns)
"Return #T if any of the files represented by FILE-PATTERNS in the TARBALL
match the given REGEXP."
(call-with-temporary-directory
(lambda (dir)
(parameterize ((current-error-port (%make-void-port "rw+")))
(apply system* "tar"
"xf" tarball "-C" dir
`("--wildcards" ,@file-patterns)))
(files-match-pattern? dir regexp))))
(define (directory-needs-zlib? dir)
"Return #T if any of the Makevars files in the src directory DIR contain a
zlib linker flag."
(files-match-pattern? dir "-lz" "(Makevars.*|configure.*)"))
(define (tarball-needs-zlib? tarball)
"Return #T if any of the Makevars files in the src directory of the TARBALL
contain a zlib linker flag."
(tarball-files-match-pattern?
tarball "-lz"
"*/src/Makevars*" "*/src/configure*" "*/configure*"))
(define (needs-zlib? thing tarball?)
"Check if the THING contains files indicating a dependency on zlib."
(if tarball?
(tarball-needs-zlib? thing)
(directory-needs-zlib? thing)))
(define (directory-needs-pkg-config? dir)
"Return #T if any of the Makevars files in the src directory DIR reference
the pkg-config tool."
(files-match-pattern? dir "pkg-config"
"(Makevars.*|configure.*)"))
(define (tarball-needs-pkg-config? tarball)
"Return #T if any of the Makevars files in the src directory of the TARBALL
reference the pkg-config tool."
(tarball-files-match-pattern?
tarball "pkg-config"
"*/src/Makevars*" "*/src/configure*" "*/configure*"))
(define (source-dir->dependencies dir)
"Guess dependencies of R package source in DIR and return two values: a list
of package names for INPUTS and another list of names of NATIVE-INPUTS."
(values
(if (directory-needs-zlib? dir) '("zlib") '())
(append
(if (directory-needs-pkg-config? dir) '("pkg-config") '())
(if (directory-needs-fortran? dir) '("gfortran") '()))))
(define (needs-pkg-config? thing tarball?)
"Check if the THING contains files indicating a dependency on pkg-config."
(define (source->dependencies source tarball?)
"SOURCE-DIR->DEPENDENCIES, but for directories and tarballs as indicated
by TARBALL?"
(if tarball?
(tarball-needs-pkg-config? thing)
(directory-needs-pkg-config? thing)))
(call-with-temporary-directory
(lambda (dir)
(parameterize ((current-error-port (%make-void-port "rw+")))
(system* "tar" "xf" source "-C" dir))
(source-dir->dependencies dir)))
(source-dir->dependencies source)))
(define (needs-knitr? meta)
(member "knitr" (listify meta "VignetteBuilder")))
(define (description->package repository meta)
(define* (description->package repository meta #:key (license-prefix identity)
(download-source download))
"Return the `package' s-expression for an R package published on REPOSITORY
from the alist META, which was derived from the R package's DESCRIPTION file."
(let* ((base-url (case repository
@ -528,7 +517,7 @@ from the alist META, which was derived from the R package's DESCRIPTION file."
(name (assoc-ref meta "Package"))
(synopsis (assoc-ref meta "Title"))
(version (assoc-ref meta "Version"))
(license (string->licenses (assoc-ref meta "License")))
(license (string->licenses (assoc-ref meta "License") license-prefix))
;; Some packages have multiple home pages. Some have none.
(home-page (case repository
((git) (assoc-ref meta 'git))
@ -550,12 +539,15 @@ from the alist META, which was derived from the R package's DESCRIPTION file."
(_ #f)))))
(git? (if (assoc-ref meta 'git) #true #false))
(hg? (if (assoc-ref meta 'hg) #true #false))
(source (download source-url #:method (cond
(git? 'git)
(hg? 'hg)
(else #f))))
(source (download-source source-url #:method (cond
(git? 'git)
(hg? 'hg)
(else #f))))
(tarball? (not (or git? hg?)))
(source-inputs source-native-inputs
(source->dependencies source tarball?))
(sysdepends (append
(if (needs-zlib? source (not (or git? hg?))) '("zlib") '())
source-inputs
(filter (lambda (name)
(not (member name invalid-packages)))
(map string-downcase (listify meta "SystemRequirements")))))
@ -615,10 +607,7 @@ from the alist META, which was derived from the R package's DESCRIPTION file."
,@(maybe-inputs (map transform-sysname sysdepends))
,@(maybe-inputs (map cran-guix-name propagate) 'propagated-inputs)
,@(maybe-inputs
`(,@(if (needs-fortran? source (not (or git? hg?)))
'("gfortran") '())
,@(if (needs-pkg-config? source (not (or git? hg?)))
'("pkg-config") '())
`(,@source-native-inputs
,@(if (needs-knitr? meta)
'("r-knitr") '()))
'native-inputs)
@ -644,31 +633,41 @@ from the alist META, which was derived from the R package's DESCRIPTION file."
(define cran->guix-package
(memoize
(lambda* (package-name #:key (repo 'cran) version)
(lambda* (package-name #:key (repo 'cran) version (license-prefix identity)
(fetch-description fetch-description)
(download-source download)
#:allow-other-keys)
"Fetch the metadata for PACKAGE-NAME from REPO and return the `package'
s-expression corresponding to that package, or #f on failure."
(let ((description (fetch-description repo package-name version)))
(if description
(description->package repo description)
(description->package repo description
#:license-prefix license-prefix
#:download-source download-source)
(case repo
((git)
;; Retry import from Bioconductor
(cran->guix-package package-name #:repo 'bioconductor))
(cran->guix-package package-name #:repo 'bioconductor
#:license-prefix license-prefix))
((hg)
;; Retry import from Bioconductor
(cran->guix-package package-name #:repo 'bioconductor))
(cran->guix-package package-name #:repo 'bioconductor
#:license-prefix license-prefix))
((bioconductor)
;; Retry import from CRAN
(cran->guix-package package-name #:repo 'cran))
(cran->guix-package package-name #:repo 'cran
#:license-prefix license-prefix))
(else
(values #f '()))))))))
(define* (cran-recursive-import package-name #:key (repo 'cran) version)
(define* (cran-recursive-import package-name #:key (repo 'cran) version
(license-prefix identity))
(recursive-import package-name
#:version version
#:repo repo
#:repo->guix-package cran->guix-package
#:guix-name cran-guix-name))
#:guix-name cran-guix-name
#:license-prefix license-prefix))
;;;

View File

@ -217,7 +217,8 @@ and LICENSE."
'unknown-license!)))
(string-split string (string->char-set " /"))))
(define* (crate->guix-package crate-name #:key version include-dev-deps? repo)
(define* (crate->guix-package crate-name #:key version include-dev-deps?
#:allow-other-keys)
"Fetch the metadata for CRATE-NAME from crates.io, and return the
`package' s-expression corresponding to that package, or #f on failure.
When VERSION is specified, convert it into a semver range and attempt to fetch

View File

@ -171,7 +171,8 @@ FILE is specified, return the package metadata in FILE."
;;; Egg importer.
;;;
(define* (egg->guix-package name version #:key (file #f) (source #f))
(define* (egg->guix-package name version #:key (file #f) (source #f)
#:allow-other-keys)
"Import a CHICKEN egg called NAME from either the given .egg FILE, or from the
latest NAME metadata downloaded from the official repository if FILE is #f.
Return a <package> record or #f on failure. If VERSION is specified, import

View File

@ -190,7 +190,7 @@ given NAME and VERSION, and a list of Elm packages it depends on."
(define elm->guix-package
(memoize
(lambda* (package-name #:key repo version)
(lambda* (package-name #:key version #:allow-other-keys)
"Fetch the metadata for PACKAGE-NAME, an Elm package registered at
package.elm.org, and return two values: the `package' s-expression
corresponding to that package (or #f on failure) and a list of Elm

View File

@ -124,7 +124,8 @@ VERSION, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES, and LICENSES."
((license) (license->symbol license))
(_ `(list ,@(map license->symbol licenses)))))))
(define* (gem->guix-package package-name #:key (repo 'rubygems) version)
(define* (gem->guix-package package-name #:key (repo 'rubygems) version
#:allow-other-keys)
"Fetch the metadata for PACKAGE-NAME from rubygems.org, and return the
`package' s-expression corresponding to that package, or #f on failure.
Optionally include a VERSION string to fetch a specific version gem."

View File

@ -109,7 +109,8 @@ download policy (see 'download-tarball' for details.)"
#f))))
(define* (gnu->guix-package name
#:key (key-download 'interactive))
#:key (key-download 'interactive)
#:allow-other-keys)
"Return the package declaration for NAME as an s-expression. Use
KEY-DOWNLOAD as the OpenPGP key download policy (see 'download-tarball' for
details.)"

View File

@ -602,7 +602,8 @@ available versions:~{ ~a~}.")
(define* (go-module->guix-package module-path #:key
(goproxy "https://proxy.golang.org")
version
pin-versions?)
pin-versions?
#:allow-other-keys)
"Return the package S-expression corresponding to MODULE-PATH at VERSION, a Go package.
The meta-data is fetched from the GOPROXY server and https://pkg.go.dev/.
When VERSION is unspecified, the latest version available is used."
@ -687,7 +688,7 @@ This package and its dependencies won't be imported.~%")
package-name
#:repo->guix-package
(memoize
(lambda* (name #:key version repo)
(lambda* (name #:key version repo #:allow-other-keys)
(receive (package-sexp dependencies)
(go-module->guix-package* name #:goproxy goproxy
#:version version

View File

@ -326,7 +326,8 @@ the hash of the Cabal file."
(define* (hackage->guix-package package-name #:key
(include-test-dependencies? #t)
(port #f)
(cabal-environment '()))
(cabal-environment '())
#:allow-other-keys)
"Fetch the Cabal file for PACKAGE-NAME from hackage.haskell.org, or, if the
called with keyword parameter PORT, from PORT. Return the `package'
S-expression corresponding to that package, or #f on failure.
@ -353,7 +354,7 @@ respectively."
(define* (hackage-recursive-import package-name . args)
(recursive-import package-name
#:repo->guix-package (lambda* (name #:key repo version)
#:repo->guix-package (lambda* (name #:key version #:allow-other-keys)
(apply hackage->guix-package/m
(cons name args)))
#:guix-name hackage-name->package-name))

View File

@ -234,7 +234,7 @@ build-system, and DEPENDENCIES the inputs for the package."
(fold (lambda (a b)
(if (version>? a b) a b)) (car versions) versions)))))
(define* (hexpm->guix-package package-name #:key repo version)
(define* (hexpm->guix-package package-name #:key version #:allow-other-keys)
"Fetch the metadata for PACKAGE-NAME from hexpms.io, and return the
`package' s-expression corresponding to that package, or #f on failure.
When VERSION is specified, attempt to fetch that version; otherwise fetch the

View File

@ -441,7 +441,8 @@ DEPENDENCIES as a list of AUTHOR/NAME strings."
#f)))))
dependency-list))
(define* (%minetest->guix-package author/name #:key (sort %default-sort-key))
(define* (%minetest->guix-package author/name #:key (sort %default-sort-key)
#:allow-other-keys)
"Fetch the metadata for AUTHOR/NAME from https://content.minetest.net, and
return the 'package' S-expression corresponding to that package, or raise an
exception on failure. On success, also return the upstream dependencies as a
@ -477,7 +478,7 @@ list of AUTHOR/NAME strings."
(memoize %minetest->guix-package))
(define* (minetest-recursive-import author/name #:key (sort %default-sort-key))
(define* (minetest->guix-package* author/name #:key repo version)
(define* (minetest->guix-package* author/name #:key version #:allow-other-keys)
(minetest->guix-package author/name #:sort sort))
(recursive-import author/name
#:repo->guix-package minetest->guix-package*

View File

@ -340,7 +340,7 @@ path to the repository."
(sha256 (base32 ,(guix-hash-url temp)))))))
'no-source-information)))
(define* (opam->guix-package name #:key (repo 'opam) version)
(define* (opam->guix-package name #:key (repo 'opam) version #:allow-other-keys)
"Import OPAM package NAME from REPOSITORY (a directory name) or, if
REPOSITORY is #f, from the official OPAM repository. Return a 'package' sexp
or #f on failure."

View File

@ -492,7 +492,7 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE."
(define pypi->guix-package
(memoize
(lambda* (package-name #:key repo version)
(lambda* (package-name #:key version #:allow-other-keys)
"Fetch the metadata for PACKAGE-NAME from pypi.org, and return the
`package' s-expression corresponding to that package, or #f on failure."
(let* ((project (pypi-fetch package-name))

View File

@ -109,7 +109,8 @@
(lts-version %default-lts-version)
(packages
(stackage-lts-packages
(stackage-lts-info-fetch lts-version))))
(stackage-lts-info-fetch lts-version)))
#:allow-other-keys)
"Fetch Cabal file for PACKAGE-NAME from hackage.haskell.org. The retrieved
version corresponds to the version of PACKAGE-NAME specified in the LTS-VERSION
release at stackage.org. Return the `package' S-expression corresponding to
@ -126,7 +127,7 @@ included in the Stackage LTS release."
(define (stackage-recursive-import package-name . args)
(recursive-import package-name
#:repo->guix-package (lambda* (name #:key repo version)
#:repo->guix-package (lambda* (name #:key version #:allow-other-keys)
(apply stackage->guix-package (cons name args)))
#:guix-name hackage-name->package-name))

View File

@ -303,9 +303,9 @@ of those files are returned that are unexpectedly installed."
(define texlive->guix-package
(memoize
(lambda* (name #:key
repo
(version (number->string %texlive-revision))
(package-database tlpdb))
(package-database tlpdb)
#:allow-other-keys)
"Find the metadata for NAME in the tlpdb and return the `package'
s-expression corresponding to that package, or #f on failure."
(tlpdb->package name version (package-database)))))

View File

@ -580,11 +580,11 @@ obtain a node's uniquely identifying \"key\"."
(set-insert (node-name head) visited))))))))
(define* (recursive-import package-name
#:key repo->guix-package guix-name version repo
#:allow-other-keys)
#:key repo->guix-package guix-name version
#:allow-other-keys #:rest rest)
"Return a list of package expressions for PACKAGE-NAME and all its
dependencies, sorted in topological order. For each package,
call (REPO->GUIX-PACKAGE NAME :KEYS version repo), which should return a
call (REPO->GUIX-PACKAGE NAME :KEYS version), which should return a
package expression and a list of dependencies; call (GUIX-NAME PACKAGE-NAME)
to obtain the Guix package name corresponding to the upstream name."
(define-record-type <node>
@ -599,9 +599,12 @@ to obtain the Guix package name corresponding to the upstream name."
(not (null? (find-packages-by-name (guix-name name) version))))
(define (lookup-node name version)
(let* ((package dependencies (repo->guix-package name
#:version version
#:repo repo))
(let* ((pre post (break (cut eq? #:version <>) rest))
(post* (match post
((#:version v . more) more)
(_ post)))
(args (append pre (list #:version version) post*))
(package dependencies (apply repo->guix-package (cons* name args)))
(normalized-deps (map (match-lambda
((name version) (list name version))
(name (list name #f))) dependencies)))

View File

@ -53,6 +53,9 @@ Import and convert the CRAN package for PACKAGE-NAME.\n"))
(display (G_ "
-s, --style=STYLE choose output style, either specification or variable"))
(display (G_ "
-p, --license-prefix=PREFIX
add custom prefix to licenses"))
(display (G_ "
-V, --version display version information and exit"))
(newline)
(show-bug-report-information))
@ -74,6 +77,10 @@ Import and convert the CRAN package for PACKAGE-NAME.\n"))
(lambda (opt name arg result)
(alist-cons 'style (string->symbol arg)
(alist-delete 'style result))))
(option '(#\p "license-prefix") #t #f
(lambda (opt name arg result)
(alist-cons 'license-prefix arg
(alist-delete 'license-prefix result))))
(option '(#\r "recursive") #f #f
(lambda (opt name arg result)
(alist-cons 'recursive #t result)))
@ -95,7 +102,13 @@ Import and convert the CRAN package for PACKAGE-NAME.\n"))
(('argument . value)
value)
(_ #f))
(reverse opts))))
(reverse opts)))
(prefix (assoc-ref opts 'license-prefix))
(prefix-proc (if (string? prefix)
(lambda (symbol)
(string->symbol
(string-append prefix (symbol->string symbol))))
identity)))
(parameterize ((%input-style (assoc-ref opts 'style)))
(match args
((spec)
@ -107,11 +120,13 @@ Import and convert the CRAN package for PACKAGE-NAME.\n"))
(filter identity
(cran-recursive-import name
#:version version
#:repo (or (assoc-ref opts 'repo) 'cran)))))
#:repo (or (assoc-ref opts 'repo) 'cran)
#:license-prefix prefix-proc))))
;; Single import
(let ((sexp (cran->guix-package name
#:version version
#:repo (or (assoc-ref opts 'repo) 'cran))))
#:repo (or (assoc-ref opts 'repo) 'cran)
#:license-prefix prefix-proc)))
(unless sexp
(leave (G_ "failed to download description for package '~a'~%")
name))

View File

@ -183,9 +183,31 @@ specified with `--select'.\n"))
(newline)
(show-bug-report-information))
;;;
;;; Utilities.
;;;
(define-record-type <update-spec>
(%update-spec package version)
update?
(package update-spec-package)
(version update-spec-version))
(define* (update-spec package #:optional version)
(%update-spec package version))
(define (update-specification->update-spec spec)
"Given SPEC, a package name like \"guile@2.0=2.0.8\", return a <update>
record with two fields: the package to upgrade, and the target version."
(match (string-rindex spec #\=)
(#f (update-spec (specification->package spec) #f))
(idx (update-spec (specification->package (substring spec 0 idx))
(substring spec (1+ idx))))))
(define (options->update-specs opts)
"Return the list of packages requested by OPTS, honoring options like
'--recursive'."
"Return the list of <update-spec> records requested by OPTS, honoring
options like '--recursive'."
(define core-package?
(let* ((input->package (match-lambda
((name (? package? package) _ ...) package)
@ -220,60 +242,43 @@ update would trigger a complete rebuild."
(_
(cons package lst)))))
(define args-packages
;; Packages explicitly passed as command-line arguments.
(match (filter-map (match-lambda
(define update-specs
;; Update specs explicitly passed as command-line arguments.
(match (append-map (match-lambda
(('argument . spec)
;; Take either the specified version or the
;; latest one.
(update-specification->update-spec spec))
(list (update-specification->update-spec spec)))
(('expression . exp)
(read/eval-package-expression exp))
(_ #f))
(list (update-spec (read/eval-package-expression exp))))
(('manifest . manifest)
(map update-spec (packages-from-manifest manifest)))
(_
'()))
opts)
(() ;default to all packages
(let ((select? (match (assoc-ref opts 'select)
('core core-package?)
('non-core (negate core-package?))
(_ (const #t)))))
(fold-packages (lambda (package result)
(if (select? package)
(keep-newest package result)
result))
'())))
(map update-spec
(fold-packages (lambda (package result)
(if (select? package)
(keep-newest package result)
result))
'()))))
(some ;user-specified packages
some)))
(define packages
(match (assoc-ref opts 'manifest)
(#f args-packages)
((? string? file) (packages-from-manifest file))))
(if (assoc-ref opts 'recursive?)
(mlet %store-monad ((edges (node-edges %bag-node-type
(all-packages))))
(return (node-transitive-edges packages edges)))
(mlet* %store-monad ((edges (node-edges %bag-node-type (all-packages)))
(packages -> (node-transitive-edges
(map update-spec-package update-specs)
edges)))
;; FIXME: The 'version' field of each update spec is lost.
(return (map update-spec packages)))
(with-monad %store-monad
(return packages))))
;;;
;;; Utilities.
;;;
(define-record-type <update-spec>
(update-spec package version)
update?
(package update-spec-package)
(version update-spec-version))
(define (update-specification->update-spec spec)
"Given SPEC, a package name like \"guile@2.0=2.0.8\", return a <update>
record with two fields: the package to upgrade, and the target version."
(match (string-rindex spec #\=)
(#f (update-spec (specification->package spec) #f))
(idx (update-spec (specification->package (substring spec 0 idx))
(substring spec (1+ idx))))))
(return update-specs))))
;;;
@ -382,10 +387,15 @@ downloaded and authenticated; not updating~%")
(when warn?
(warn-no-updater package))))
(define* (check-for-package-update package updaters #:key warn?)
"Check whether an update is available for PACKAGE and print a message. When
WARN? is true and no updater exists for PACKAGE, print a warning."
(match (package-latest-release package updaters)
(define* (check-for-package-update update-spec updaters #:key warn?)
"Check whether UPDATE-SPEC is feasible, and print a message.
When WARN? is true and no updater exists for PACKAGE, print a warning."
(define package
(update-spec-package update-spec))
(match (package-latest-release package updaters
#:version
(update-spec-version update-spec))
((? upstream-source? source)
(let ((loc (or (package-field-location package 'version)
(package-location package))))
@ -403,23 +413,34 @@ WARN? is true and no updater exists for PACKAGE, print a warning."
(package-version package)
(package-name package))))
(else
(when warn?
(warning loc
(G_ "~a is greater than \
(if (update-spec-version update-spec)
(info loc
(G_ "~a would be downgraded from ~a to ~a~%")
(package-name package)
(package-version package)
(upstream-source-version source))
(when warn?
(warning loc
(G_ "~a is greater than \
the latest known version of ~a (~a)~%")
(package-version package)
(package-name package)
(upstream-source-version source)))))))
(package-version package)
(package-name package)
(upstream-source-version source))))))))
(#f
(when warn?
;; Distinguish between "no updater" and "failing updater."
(match (lookup-updater package updaters)
((? upstream-updater? updater)
(warning (package-location package)
(G_ "'~a' updater failed to determine available \
(if (update-spec-version update-spec)
(warning (G_ "'~a' updater failed to find version ~a of '~a'~%")
(upstream-updater-name updater)
(update-spec-version update-spec)
(package-name package))
(warning (package-location package)
(G_ "'~a' updater failed to determine available \
releases for ~a~%")
(upstream-updater-name updater)
(package-name package)))
(upstream-updater-name updater)
(package-name package))))
(#f
(warn-no-updater package)))))))
@ -591,5 +612,5 @@ all are dependent packages: ~{~a~^ ~}~%")
(else
(for-each (cut check-for-package-update <> updaters
#:warn? warn?)
(map update-spec-package update-specs))
update-specs)
(return #t)))))))))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com>
@ -518,7 +518,7 @@ See the \"Application Setup\" section in the manual, for more info.\n"))
"Display version information for COMMAND and `(exit 0)'."
(simple-format #t "~a (~a) ~a~%"
command %guix-package-name %guix-version)
(format #t "Copyright ~a 2022 ~a"
(format #t "Copyright ~a 2023 ~a"
;; TRANSLATORS: Translate "(C)" to the copyright symbol
;; (C-in-a-circle), if this symbol is available in the user's
;; locale. Otherwise, do not translate "(C)"; leave it as-is. */

View File

@ -501,11 +501,22 @@ SOURCE, an <upstream-source>."
changes for PACKAGE; return #f (three values) when PACKAGE is up-to-date;
raise an error when the updater could not determine available releases.
KEY-DOWNLOAD specifies a download policy for missing OpenPGP keys; allowed
values: 'always', 'never', and 'interactive' (default)."
values: 'always', 'never', and 'interactive' (default).
When VERSION is specified, update PACKAGE to that version, even if that is a
downgrade."
(match (package-latest-release package updaters #:version version)
((? upstream-source? source)
(if (version>? (upstream-source-version source)
(package-version package))
(if (or (version>? (upstream-source-version source)
(package-version package))
(and version
(begin
(warning (package-location package)
(G_ "downgrading '~a' from ~a to ~a~%")
(package-name package)
(package-version package)
(upstream-source-version source))
#t)))
(let ((method (match (package-source package)
((? origin? origin)
(origin-method origin))

View File

@ -79,7 +79,7 @@
(uri (string-append (%local-url) "/foo-1.tar.gz"))))
(properties
`((release-monitoring-url . ,(%local-url))))))
(define update ((upstream-updater-latest %generic-html-updater) package))
(define update ((upstream-updater-import %generic-html-updater) package))
(define expected-new-url "http://another-site/foo-2.tar.gz")
(and (pk 'u update)
(equal? (upstream-source-version update) "2")
@ -104,7 +104,7 @@
(uri (string-append (%local-url) "/foo-1.tar.gz"))))
(properties
`((release-monitoring-url . ,(%local-url))))))
(define update ((upstream-updater-latest %generic-html-updater) package))
(define update ((upstream-updater-import %generic-html-updater) package))
(define expected-new-url
(string-append (%local-url) "/foo-2.tar.gz"))
(and (pk 'u update)
@ -135,7 +135,7 @@
(uri (string-append (%local-url) "/foo-1.tar.gz"))))
(properties
`((release-monitoring-url . ,(%local-url))))))
(define update ((upstream-updater-latest %generic-html-updater) package))
(define update ((upstream-updater-import %generic-html-updater) package))
(define expected-new-url
(string-append (%local-url) "/foo-2.tar.gz"))
(define expected-signature-url

View File

@ -67,12 +67,12 @@ Differences are hard to spot, e.g. in CLOS vs. GOOPS."))
#:repo 'repo
#:repo->guix-package
(match-lambda*
(("foo" #:version #f #:repo 'repo)
(("foo" #:repo 'repo . rest)
(values '(package
(name "foo")
(inputs `(("bar" ,bar))))
'("bar")))
(("bar" #:version #f #:repo 'repo)
(("bar" #:repo 'repo . rest)
(values '(package
(name "bar"))
'())))
@ -84,7 +84,7 @@ Differences are hard to spot, e.g. in CLOS vs. GOOPS."))
#:repo 'repo
#:repo->guix-package
(match-lambda*
(("foo" #:version #f #:repo 'repo)
(("foo" #:repo 'repo . rest)
(values #f '())))
#:guix-name identity))
@ -96,12 +96,12 @@ Differences are hard to spot, e.g. in CLOS vs. GOOPS."))
#:repo 'repo
#:repo->guix-package
(match-lambda*
(("foo" #:version #f #:repo 'repo)
(("foo" #:repo 'repo . rest)
(values '(package
(name "foo")
(inputs `(("bar" ,bar))))
'("bar")))
(("bar" #:version #f #:repo 'repo)
(("bar" #:repo 'repo . rest)
(values #f '())))
#:guix-name identity))