Merge branch 'master' into lisp-team
Change-Id: I6c2ce53e782a00861c3adf01c2505099daef7728master
commit
749c3e016a
|
@ -100,6 +100,8 @@
|
|||
(;; primary: "D6B0 C593 DA8C 5EDC A44C 7A58 C336 91F7 1188 B004"
|
||||
"A02C 2D82 0EF4 B25B A6B5 1D90 2AC6 A5EC 1C35 7C59"
|
||||
(name "samplet"))
|
||||
("9847 81DE 689C 21C2 6418 0867 76D7 27BF F62C D2B5"
|
||||
(name "sharlatan"))
|
||||
("F494 72F4 7A59 00D5 C235 F212 89F9 6D48 08F3 59C7"
|
||||
(name "snape"))
|
||||
("6580 7361 3BFC C5C7 E2E4 5D45 DC51 8FC8 7F97 16AA"
|
||||
|
|
1
.mailmap
1
.mailmap
|
@ -90,6 +90,7 @@ Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
|||
Theodoros Foradis <theodoros.for@openmailbox.org> <theodoros@foradis.org>
|
||||
Thomas Danckaert <thomas.danckaert@gmail.com> <post@thomasdanckaert.be>
|
||||
Tobias Geerinckx-Rice <me@tobias.gr> <tobias.geerinckx.rice@gmail.com>
|
||||
Tomas Volf <~@wolfsden.cz> <wolf@wolfsden.cz>
|
||||
Tomáš Čech <sleep_walker@gnu.org> <sleep_walker@suse.cz>
|
||||
Vincent Legoll <vincent.legoll@gmail.com> <vincent.legoll@idgrilles.fr>
|
||||
Zheng Junjie <873216071@qq.com> Z572 <873216071@qq.com>
|
||||
|
|
|
@ -3,7 +3,7 @@ exec guile --no-auto-compile -e main -s "$0" "$@"
|
|||
!#
|
||||
;;;; test-driver.scm - Guile test driver for Automake testsuite harness
|
||||
|
||||
(define script-version "2021-02-02.05") ;UTC
|
||||
(define script-version "2023-12-08.14") ;UTC
|
||||
|
||||
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
|
@ -274,6 +274,7 @@ cases based on their names."
|
|||
(exit 0)))
|
||||
|
||||
;;; Local Variables:
|
||||
;;; mode: scheme
|
||||
;;; eval: (add-hook 'write-file-functions 'time-stamp)
|
||||
;;; time-stamp-start: "(define script-version \""
|
||||
;;; time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
|
|
|
@ -56,7 +56,7 @@ Copyright @copyright{} 2017 Andy Wingo@*
|
|||
Copyright @copyright{} 2017, 2018, 2019, 2020, 2023 Arun Isaac@*
|
||||
Copyright @copyright{} 2017 nee@*
|
||||
Copyright @copyright{} 2018 Rutger Helling@*
|
||||
Copyright @copyright{} 2018, 2021 Oleg Pykhalov@*
|
||||
Copyright @copyright{} 2018, 2021, 2023 Oleg Pykhalov@*
|
||||
Copyright @copyright{} 2018 Mike Gerwitz@*
|
||||
Copyright @copyright{} 2018 Pierre-Antoine Rouby@*
|
||||
Copyright @copyright{} 2018, 2019 Gábor Boskovits@*
|
||||
|
@ -122,6 +122,7 @@ Copyright @copyright{} 2023 Felix Lechner@*
|
|||
Copyright @copyright{} 2023 Foundation Devices, Inc.@*
|
||||
Copyright @copyright{} 2023 Thomas Ieong@*
|
||||
Copyright @copyright{} 2023 Saku Laesvuori@*
|
||||
Copyright @copyright{} 2023 Graham James Addis@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
|
@ -1799,7 +1800,7 @@ Setup}), or simply fail.
|
|||
When the build or substitution process remains silent for more than
|
||||
@var{seconds}, terminate it and report a build failure.
|
||||
|
||||
The default value is @code{0}, which disables the timeout.
|
||||
The default value is @code{3600} (one hour).
|
||||
|
||||
The value specified here can be overridden by clients (@pxref{Common
|
||||
Build Options, @option{--max-silent-time}}).
|
||||
|
@ -1808,7 +1809,7 @@ Build Options, @option{--max-silent-time}}).
|
|||
Likewise, when the build or substitution process lasts for more than
|
||||
@var{seconds}, terminate it and report a build failure.
|
||||
|
||||
The default value is @code{0}, which disables the timeout.
|
||||
The default value is 24 hours.
|
||||
|
||||
The value specified here can be overridden by clients (@pxref{Common
|
||||
Build Options, @option{--timeout}}).
|
||||
|
@ -7406,7 +7407,7 @@ execution engines listed above by setting the
|
|||
@env{GUIX_EXECUTION_ENGINE} environment variable accordingly.
|
||||
@end quotation
|
||||
|
||||
@cindex entry point, for Docker images
|
||||
@cindex entry point, for Docker and Singularity images
|
||||
@item --entry-point=@var{command}
|
||||
Use @var{command} as the @dfn{entry point} of the resulting pack, if the pack
|
||||
format supports it---currently @code{docker} and @code{squashfs} (Singularity)
|
||||
|
@ -7429,6 +7430,41 @@ docker load -i pack.tar.gz
|
|||
docker run @var{image-id}
|
||||
@end example
|
||||
|
||||
@cindex entry point arguments, for docker images
|
||||
@item --entry-point-argument=@var{command}
|
||||
@itemx -A @var{command}
|
||||
Use @var{command} as an argument to @dfn{entry point} of the resulting pack.
|
||||
This option is only valid in conjunction with @code{--entry-point} and can
|
||||
appear multiple times on the command line.
|
||||
|
||||
@example
|
||||
guix pack -f docker --entry-point=bin/guile --entry-point-argument="--help" guile
|
||||
@end example
|
||||
|
||||
@cindex maximum layers argument, for docker images
|
||||
@item --max-layers=@code{n}
|
||||
Specifies the maximum number of Docker image layers allowed when
|
||||
building an image.
|
||||
|
||||
@example
|
||||
guix pack -f docker --max-layers=100 guile
|
||||
@end example
|
||||
|
||||
This option allows you to limit the number of layers in a Docker image.
|
||||
Docker images are comprised of multiple layers, and each layer adds to
|
||||
the overall size and complexity of the image. By setting a maximum
|
||||
number of layers, you can control the following effects:
|
||||
|
||||
@itemize
|
||||
@item Disk Usage:
|
||||
Increasing the number of layers can help optimize the disk space
|
||||
required to store multiple images built with a similar package graph.
|
||||
|
||||
@item Pulling:
|
||||
When transferring images between different nodes or systems, having more
|
||||
layers can reduce the time required to pull the image.
|
||||
@end itemize
|
||||
|
||||
@item --expression=@var{expr}
|
||||
@itemx -e @var{expr}
|
||||
Consider the package @var{expr} evaluates to.
|
||||
|
@ -14549,6 +14585,13 @@ Additional options include:
|
|||
Traverse the dependency graph of the given upstream package recursively
|
||||
and generate package expressions for all those packages that are not yet
|
||||
in Guix.
|
||||
@item --recursive-dev-dependencies
|
||||
If @option{--recursive-dev-dependencies} is specified, also the recursively
|
||||
imported packages contain their development dependencies, which are recursively
|
||||
imported as well.
|
||||
@item --allow-yanked
|
||||
If no non-yanked version of a crate is available, use the latest yanked
|
||||
version instead instead of aborting.
|
||||
@end table
|
||||
|
||||
@item elm
|
||||
|
@ -19455,8 +19498,8 @@ few seconds when enough entropy is available and is only done once; you
|
|||
might want to turn it off for instance in a virtual machine that does
|
||||
not need it and where the extra boot time is a problem.
|
||||
|
||||
@item @code{max-silent-time} (default: @code{0})
|
||||
@itemx @code{timeout} (default: @code{0})
|
||||
@item @code{max-silent-time} (default: @code{3600})
|
||||
@itemx @code{timeout} (default: @code{(* 3600 24)})
|
||||
The number of seconds of silence and the number of seconds of activity,
|
||||
respectively, after which a build process times out. A value of zero
|
||||
disables the timeout.
|
||||
|
|
57
etc/news.scm
57
etc/news.scm
|
@ -18,6 +18,7 @@
|
|||
;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
|
||||
;; Copyright © 2021, 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com>
|
||||
;; Copyright © 2024 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;
|
||||
;; Copying and distribution of this file, with or without modification, are
|
||||
;; permitted in any medium without royalty provided the copyright notice and
|
||||
|
@ -26,6 +27,62 @@
|
|||
(channel-news
|
||||
(version 0)
|
||||
|
||||
(entry (commit "519e1e3eb88ec532fc83ebb742d9919269b57c87")
|
||||
(title
|
||||
(de "Neues Option @samp{--max-layers=N} für den Befehl @command{guix pack}")
|
||||
(en "New @samp{--max-layers=N} option for the @command{guix pack} command")
|
||||
(ru "Новая опция @samp{--max-layers=N} для @command{guix pack} команды"))
|
||||
(body
|
||||
(de "Sie können jetzt auch mehrschichtige Docker-Abbilder mit dem Befehl
|
||||
@command{guix pack --format=docker --max-layers=N} erzeugen. Damit bekommen Sie ein
|
||||
Docker-Abbild, bei dem Store-Pfade auf getrennten Schichten („Layer“)
|
||||
untergebracht sind, die sich mehrere Abbilder teilen können. Das Abbild wird
|
||||
im Store als gzip-komprimierter Tarball erzeugt. Hier ist ein einfaches
|
||||
Beispiel, wo ein mehrschichtiges Docker-Abbild für das Paket @code{hello}
|
||||
angelegt wird:
|
||||
|
||||
@example
|
||||
guix pack --format=docker --max-layers=N --symlink=/usr/bin/hello=bin/hello hello
|
||||
@end example
|
||||
|
||||
@command{guix system image} kann jetzt geschichtete Docker-Abbilder erzeugen,
|
||||
indem Sie @code{--max-layers=N}.
|
||||
|
||||
Siehe @command{info \"(guix.de) Aufruf von guix pack\"} und
|
||||
@command{info \"(guix.de) Systemabbilder\"} für weitere Informationen.")
|
||||
(en "Docker layered images can now be produced via the @command{guix
|
||||
pack --format=docker --max-layers=N} command, providing a Docker image with
|
||||
many of the store paths being on their own layer to improve sharing between
|
||||
images. The image is realized into the GNU store as a gzipped tarball. Here
|
||||
is a simple example that generates a layered Docker image for the @code{hello}
|
||||
package:
|
||||
|
||||
@example
|
||||
guix pack --format=docker --max-layers=N --symlink=/usr/bin/hello=bin/hello hello
|
||||
@end example
|
||||
|
||||
The @command{guix system image} can now produce layered Docker image by passing
|
||||
@code{--max-layers=N}.
|
||||
|
||||
See @command{info \"(guix) Invoking guix pack\"} and
|
||||
@command{info \"(guix) System Images\"} for more information.")
|
||||
(ru "Появилась команда создания многослойных Docker образов с помощью
|
||||
@command{guix pack --format=docker --max-layers=N}, которая соберет Docker образ с
|
||||
путями в store расположенными на отдельных слоях, ускоряя таким образом
|
||||
передачу образов. Образ будет создан в GNU store в качестве gzipped tarball.
|
||||
|
||||
Пример создания Docker layered образ с @code{hello} пакетом:
|
||||
@example
|
||||
guix pack --format=docker --max-layers=N --symlink=/usr/bin/hello=bin/hello hello
|
||||
@end example
|
||||
|
||||
@command{guix system image} теперь может создавать layered Docker образ путем
|
||||
указания опции @option{--max-layers=N}.
|
||||
|
||||
Смотрите @command{info \"(guix) Invoking guix pack\"} и
|
||||
@command{info \"(guix) System Images\"} для получения более детальных
|
||||
сведений.")))
|
||||
|
||||
(entry (commit "953c65ffdd43c02c934518fb7a1c68542584b223")
|
||||
(title
|
||||
(en "Declarative offloading on Guix System and childhurds")
|
||||
|
|
|
@ -310,7 +310,8 @@ asdf-build-system."
|
|||
(define-team bootstrap
|
||||
(team 'bootstrap
|
||||
#:name "Bootstrap"
|
||||
#:scope (list "gnu/packages/mes.scm")))
|
||||
#:scope (list "gnu/packages/commencement.scm"
|
||||
"gnu/packages/mes.scm")))
|
||||
|
||||
(define-team embedded
|
||||
(team 'embedded
|
||||
|
@ -424,6 +425,21 @@ asdf-build-system."
|
|||
(make-regexp* "^guix/scripts/")
|
||||
(make-regexp* "^guix/store/"))))
|
||||
|
||||
(define-team core-packages
|
||||
(team 'core-packages
|
||||
#:name "Core packages"
|
||||
#:description "Core packages: the GNU tool chain, Guile, Coreutils, etc."
|
||||
#:scope (list "gnu/packages/base.scm"
|
||||
"gnu/packages/bootstrap.scm"
|
||||
"gnu/packages/commencement.scm"
|
||||
"gnu/packages/cross-base.scm"
|
||||
"gnu/packages/gcc.scm"
|
||||
"gnu/packages/guile.scm"
|
||||
"gnu/packages/make-bootstrap.scm"
|
||||
"guix/build/gnu-build-system.scm"
|
||||
"guix/build/utils.scm"
|
||||
"guix/build-system/gnu.scm")))
|
||||
|
||||
(define-team games
|
||||
(team 'games
|
||||
#:name "Games and Toys"
|
||||
|
@ -556,7 +572,7 @@ GLib/GIO, GTK, GStreamer and Webkit."
|
|||
|
||||
(define-member (person "Ludovic Courtès"
|
||||
"ludo@gnu.org")
|
||||
core home bootstrap installer mentors)
|
||||
core home bootstrap core-packages installer mentors)
|
||||
|
||||
(define-member (person "Andreas Enge"
|
||||
"andreas@enge.fr")
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2021, 2023 Andrew Tropin <andrew@trop.in>
|
||||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||||
;;; Copyright © 2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -75,11 +76,8 @@ as shepherd package."
|
|||
#~(begin
|
||||
(use-modules (srfi srfi-34)
|
||||
(system repl error-handling))
|
||||
(apply
|
||||
register-services
|
||||
(map
|
||||
(lambda (file) (load file))
|
||||
'#$files))
|
||||
|
||||
(register-services (map load '#$files))
|
||||
|
||||
#$@(if daemonize?
|
||||
`((action 'root 'daemonize))
|
||||
|
@ -90,9 +88,7 @@ as shepherd package."
|
|||
'#$(append-map shepherd-service-provision
|
||||
(filter shepherd-service-auto-start?
|
||||
services))))
|
||||
(if (defined? 'start-in-the-background)
|
||||
(start-in-the-background services-to-start)
|
||||
(for-each start services-to-start))
|
||||
(start-in-the-background services-to-start)
|
||||
|
||||
(redirect-port (open-input-file "/dev/null")
|
||||
(current-input-port)))))
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020, 2022 Mathieu Othacehe <othacehe@gnu.org>
|
||||
;;; Copyright © 2023 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -42,6 +43,7 @@
|
|||
image-format
|
||||
image-platform
|
||||
image-size
|
||||
image-max-layers
|
||||
image-operating-system
|
||||
image-partition-table-type
|
||||
image-partitions
|
||||
|
@ -170,6 +172,8 @@ that is not in SET, mentioning FIELD in the error message."
|
|||
(size image-size ;size in bytes as integer
|
||||
(default 'guess)
|
||||
(sanitize validate-size))
|
||||
(max-layers image-max-layers ;number of layers as integer
|
||||
(default #false))
|
||||
(operating-system image-operating-system) ;<operating-system>
|
||||
(partition-table-type image-partition-table-type ; 'mbr or 'gpt
|
||||
(default 'mbr)
|
||||
|
|
19
gnu/local.mk
19
gnu/local.mk
|
@ -1,5 +1,5 @@
|
|||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2022, 2023 Andreas Enge <andreas@enge.fr>
|
||||
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Mark H Weaver <mhw@netris.org>
|
||||
|
@ -62,6 +62,7 @@
|
|||
# Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
|
||||
# Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
|
||||
# Copyright © 2023 Herman Rimm <herman@rimm.ee>
|
||||
# Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
|
@ -1092,6 +1093,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/doxygen-hurd.patch \
|
||||
%D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \
|
||||
%D%/packages/patches/dstat-skip-devices-without-io.patch \
|
||||
%D%/packages/patches/dtc-meson-cell-overflow.patch \
|
||||
%D%/packages/patches/dune-common-skip-failing-tests.patch \
|
||||
%D%/packages/patches/dune-grid-add-missing-include-cassert.patch \
|
||||
%D%/packages/patches/dune-istl-fix-solver-playground.patch \
|
||||
|
@ -1111,7 +1113,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \
|
||||
%D%/packages/patches/emacs-elpy-dup-test-name.patch \
|
||||
%D%/packages/patches/emacs-exec-path.patch \
|
||||
%D%/packages/patches/emacs-ess-fix-obsolete-function-alias.patch \
|
||||
%D%/packages/patches/emacs-git-email-missing-parens.patch \
|
||||
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
|
||||
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \
|
||||
|
@ -1166,6 +1167,13 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/fenics-dolfin-demo-init.patch \
|
||||
%D%/packages/patches/fenics-dolfin-boost.patch \
|
||||
%D%/packages/patches/fenics-dolfin-config-slepc.patch \
|
||||
%D%/packages/patches/ffmpeg-jami-change-RTCP-ratio.patch \
|
||||
%D%/packages/patches/ffmpeg-jami-rtp_ext_abs_send_time.patch \
|
||||
%D%/packages/patches/ffmpeg-jami-libopusdec-enable-FEC.patch \
|
||||
%D%/packages/patches/ffmpeg-jami-libopusenc-enable-FEC.patch \
|
||||
%D%/packages/patches/ffmpeg-jami-libopusenc-reload-packet-loss-at-encode.patch \
|
||||
%D%/packages/patches/ffmpeg-jami-remove-mjpeg-log.patch \
|
||||
%D%/packages/patches/ffmpeg-jami-screen-sharing-x11-fix.patch \
|
||||
%D%/packages/patches/fifengine-boost-compat.patch \
|
||||
%D%/packages/patches/fifengine-swig-compat.patch \
|
||||
%D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \
|
||||
|
@ -1384,6 +1392,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/guile-fibers-fd-finalizer-leak.patch \
|
||||
%D%/packages/patches/guile-fibers-wait-for-io-readiness.patch \
|
||||
%D%/packages/patches/guile-fibers-libevent-32-bit.patch \
|
||||
%D%/packages/patches/guile-fibers-libevent-timeout.patch \
|
||||
%D%/packages/patches/guile-fix-invalid-unicode-handling.patch \
|
||||
%D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \
|
||||
%D%/packages/patches/guile-git-adjust-for-libgit2-1.2.0.patch \
|
||||
|
@ -1458,6 +1467,9 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/itk-snap-alt-glibc-compat.patch \
|
||||
%D%/packages/patches/jami-disable-integration-tests.patch \
|
||||
%D%/packages/patches/jami-libjami-headers-search.patch \
|
||||
%D%/packages/patches/jami-qml-tests-discovery.patch \
|
||||
%D%/packages/patches/jami-skip-tests-requiring-internet.patch \
|
||||
%D%/packages/patches/jami-unbundle-dependencies.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \
|
||||
|
@ -1548,6 +1560,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/libgnome-encoding.patch \
|
||||
%D%/packages/patches/libgnomeui-utf8.patch \
|
||||
%D%/packages/patches/libgrss-CVE-2016-2001.patch \
|
||||
%D%/packages/patches/libjami-ac-config-files.patch \
|
||||
%D%/packages/patches/libjxr-fix-function-signature.patch \
|
||||
%D%/packages/patches/libjxr-fix-typos.patch \
|
||||
%D%/packages/patches/libofa-ftbfs-1.diff \
|
||||
|
@ -1776,6 +1789,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-louvain-fix-test.patch \
|
||||
%D%/packages/patches/python-random2-getrandbits-test.patch \
|
||||
%D%/packages/patches/python-poppler-qt5-fix-build.patch \
|
||||
%D%/packages/patches/python-pyreadstat-link-libiconv.patch \
|
||||
%D%/packages/patches/python-pypdf-annotate-tests-appropriately.patch \
|
||||
%D%/packages/patches/python-pytorch2-system-libraries.patch \
|
||||
%D%/packages/patches/python-sip-include-dirs.patch \
|
||||
|
@ -1783,6 +1797,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch \
|
||||
%D%/packages/patches/python-telingo-fix-comparison.patch \
|
||||
%D%/packages/patches/python-typeguard-python3.10.patch \
|
||||
%D%/packages/patches/python-uqbar-python3.10.patch \
|
||||
%D%/packages/patches/python-wxwidgets-type-errors.patch \
|
||||
%D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \
|
||||
%D%/packages/patches/qtdeclarative-disable-qmlcache.patch \
|
||||
|
|
|
@ -373,14 +373,14 @@ interface and is based on GNU Guile.")
|
|||
(define-public shepherd-0.10
|
||||
(package
|
||||
(inherit shepherd-0.9)
|
||||
(version "0.10.2")
|
||||
(version "0.10.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/shepherd/shepherd-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0v9ld9gbqdp5ya380fbkdsxa0iqr90gi6yk004ccz3n792nq6wlj"))))
|
||||
"1vxghlxnxajx2iciqmjia49c5hkir8li0gv29kl55frhn2zgxilf"))))
|
||||
(native-inputs (modify-inputs (package-native-inputs shepherd-0.9)
|
||||
(replace "guile-fibers"
|
||||
;; Work around
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015-2024 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017, 2018, 2020, 2021 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
|
||||
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||
|
@ -7324,13 +7324,13 @@ global-scaling and full-quantile normalization.")
|
|||
(define-public r-edger
|
||||
(package
|
||||
(name "r-edger")
|
||||
(version "4.0.3")
|
||||
(version "4.0.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "edgeR" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0sz46pwa1bsqrff2igswfhhj1fcwzn34zrlawy4fnb58z48kccb0"))))
|
||||
"16cghh83v14jdq5n6xkm3jxj87n6l6zrxjgqdwb2ffgc26vkpb7w"))))
|
||||
(properties `((upstream-name . "edgeR")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -10510,6 +10510,38 @@ expression information. The package functions as a wrapper for Startrac and
|
|||
powerTCR R packages.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public r-scrnaseq
|
||||
(package
|
||||
(name "r-scrnaseq")
|
||||
(version "2.16.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "scRNAseq" version
|
||||
'experiment))
|
||||
(sha256
|
||||
(base32 "0dbh3sqq7lkkdf7vls5qg7fbn6y74c7hsigb4d69pvk934ll88aw"))))
|
||||
(properties `((upstream-name . "scRNAseq")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-annotationdbi
|
||||
r-annotationhub
|
||||
r-biocgenerics
|
||||
r-ensembldb
|
||||
r-experimenthub
|
||||
r-genomicfeatures
|
||||
r-genomicranges
|
||||
r-s4vectors
|
||||
r-singlecellexperiment
|
||||
r-summarizedexperiment))
|
||||
(native-inputs (list r-knitr))
|
||||
(home-page "https://bioconductor.org/packages/scRNAseq")
|
||||
(synopsis "Collection of public single-cell RNA-seq datasets")
|
||||
(description
|
||||
"This package contains gene-level counts for a collection of public
|
||||
@code{scRNA-seq} datasets, provided as @code{SingleCellExperiment} objects
|
||||
with cell- and gene-level metadata.")
|
||||
(license license:cc0)))
|
||||
|
||||
(define-public r-scry
|
||||
(package
|
||||
(name "r-scry")
|
||||
|
|
|
@ -130,6 +130,7 @@
|
|||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages perl-check)
|
||||
#:use-module (gnu packages perl-web)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages protobuf)
|
||||
|
@ -574,6 +575,30 @@ BED, GFF/GTF, VCF.")
|
|||
whole-genome bisulfite sequencing (WGBS) reads from directional protocol.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public bustools
|
||||
(package
|
||||
(name "bustools")
|
||||
(version "0.43.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BUStools/bustools")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"068kjlc4d528269nl5mc3j8h2c95r1v545d3fi1iw1ckg8rba0hg"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments (list #:tests? #f)) ;no test target
|
||||
(inputs (list zlib))
|
||||
(home-page "https://bustools.github.io")
|
||||
(synopsis "Tools for working with BUS files")
|
||||
(description "bustools is a program for manipulating BUS files for single
|
||||
cell RNA-Seq datasets. It can be used to error correct barcodes, collapse
|
||||
UMIs, produce gene count or transcript compatibility count matrices, and is useful
|
||||
for many other tasks.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public cellsnp-lite
|
||||
;; Last release is from November 2021 and does not contain fixes.
|
||||
(let ((commit "0885d746b0b1ea65c8ef92f8943ca7669ca9734a")
|
||||
|
@ -2365,6 +2390,40 @@ sequencing data and the end result are tables of UMI-unique DamID and CEL-Seq
|
|||
counts.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-snaptools
|
||||
(package
|
||||
(name "python-snaptools")
|
||||
(version "1.4.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "snaptools" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1s5373g5jjbshh3q39zy7dlxr7nda6ksxq9d1gw46h82c4fsmfbn"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs
|
||||
(list python-future
|
||||
python-h5py
|
||||
python-louvain
|
||||
python-numpy
|
||||
python-pybedtools
|
||||
python-pysam))
|
||||
(home-page "https://github.com/r3fang/SnapTools")
|
||||
(synopsis "Tools for processing snap files" )
|
||||
(description
|
||||
"@code{SnapTools} can operate on snap files the following types of
|
||||
operations:
|
||||
|
||||
@itemize
|
||||
@item index the reference genome before alignment;
|
||||
@item align reads to the corresponding reference genome;
|
||||
@item pre-process by convert pair-end reads into fragments, checking the
|
||||
mapping quality score, alingment and filtration;
|
||||
@item create the cell-by-bin matrix.
|
||||
@end itemize")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-bioframe
|
||||
(package
|
||||
(name "python-bioframe")
|
||||
|
@ -4999,6 +5058,126 @@ be of arbitrary length. Repeats with pattern size in the range from 1 to 2000
|
|||
bases are detected.")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public trinityrnaseq
|
||||
(package
|
||||
(name "trinityrnaseq")
|
||||
(version "2.13.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/trinityrnaseq/trinityrnaseq.git")
|
||||
(commit (string-append "Trinity-v" version))
|
||||
(recursive? #true)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qszrxqbx4q5pavpgm4rkrh1z1v1mf7qx83vv3fnlqdmncnsf1gv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-target "test"
|
||||
#:modules
|
||||
'((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match)
|
||||
(srfi srfi-1))
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(setenv "SHELL" (which "sh"))
|
||||
(setenv "CONFIG_SHELL" (which "sh"))
|
||||
;; Do not require version.h, which triggers a local build of a
|
||||
;; vendored htslib.
|
||||
(substitute* "trinity-plugins/bamsifter/Makefile"
|
||||
(("sift_bam_max_cov.cpp htslib/version.h")
|
||||
"sift_bam_max_cov.cpp"))))
|
||||
(add-after 'build 'build-plugins
|
||||
(lambda _
|
||||
;; Run this in the subdirectory to avoid running the
|
||||
;; tests right here.
|
||||
(with-directory-excursion "trinity-plugins"
|
||||
(invoke "make" "plugins"))))
|
||||
;; The install script uses rsync, provides no overrides for the
|
||||
;; default location at /usr/local/bin, and patching it would change
|
||||
;; all lines that do something.
|
||||
(replace 'install
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((share (string-append #$output "/share/trinity/"))
|
||||
(bin (string-append #$output "/bin/")))
|
||||
(mkdir-p bin)
|
||||
(copy-recursively "." share)
|
||||
(delete-file (string-append share "/Chrysalis/build/CMakeFiles/CMakeOutput.log"))
|
||||
(delete-file (string-append share "/Inchworm/build/CMakeFiles/CMakeOutput.log"))
|
||||
|
||||
(wrap-program (string-append share "Trinity")
|
||||
`("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
|
||||
`("PERL5LIB" ":" = (,(getenv "PERL5LIB")))
|
||||
`("PYTHONPATH" ":" = (,(getenv "GUIX_PYTHONPATH")))
|
||||
`("PATH" ":" =
|
||||
,(cons (string-append share "/trinity-plugins/BIN")
|
||||
(filter-map (match-lambda
|
||||
((name . dir)
|
||||
(string-append dir "/bin")))
|
||||
inputs))))
|
||||
(symlink (string-append share "Trinity")
|
||||
(string-append bin "Trinity"))))))))
|
||||
(inputs
|
||||
(list blast+
|
||||
bowtie
|
||||
fastqc
|
||||
hisat
|
||||
htslib
|
||||
icedtea-8
|
||||
jellyfish
|
||||
kallisto
|
||||
multiqc
|
||||
perl
|
||||
perl-uri-escape
|
||||
python-numpy
|
||||
python-wrapper
|
||||
r-ape
|
||||
r-argparse
|
||||
r-biobase
|
||||
r-ctc
|
||||
r-deseq2
|
||||
r-edger
|
||||
r-fastcluster
|
||||
r-glimma
|
||||
r-goplot
|
||||
r-goseq
|
||||
r-gplots
|
||||
r-minimal
|
||||
r-qvalue
|
||||
r-rots
|
||||
r-sm
|
||||
r-tidyverse
|
||||
rsem
|
||||
salmon
|
||||
samtools
|
||||
sra-tools
|
||||
star
|
||||
zlib))
|
||||
(propagated-inputs
|
||||
(list coreutils
|
||||
gzip
|
||||
which))
|
||||
(native-inputs (list cmake))
|
||||
(home-page "https://github.com/trinityrnaseq/trinityrnaseq/wiki")
|
||||
(synopsis "Trinity RNA-Seq de novo transcriptome assembly")
|
||||
(description "Trinity assembles transcript sequences from Illumina RNA-Seq
|
||||
data. Trinity represents a novel method for the efficient and robust de novo
|
||||
reconstruction of transcriptomes from RNA-seq data. Trinity combines three
|
||||
independent software modules: Inchworm, Chrysalis, and Butterfly, applied
|
||||
sequentially to process large volumes of RNA-seq reads. Trinity partitions
|
||||
the sequence data into many individual de Bruijn graphs, each representing the
|
||||
transcriptional complexity at a given gene or locus, and then processes each
|
||||
graph independently to extract full-length splicing isoforms and to tease
|
||||
apart transcripts derived from paralogous genes.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public repeat-masker
|
||||
(package
|
||||
(name "repeat-masker")
|
||||
|
@ -20521,24 +20700,28 @@ aligner.")
|
|||
(uri (pypi-uri "scvelo" version))
|
||||
(sha256
|
||||
(base32 "0h5ha1459ljs0qgpnlfsw592i8dxqn6p9bl08l1ikpwk36baxb7z"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Numba needs a writable dir to cache functions.
|
||||
(add-before 'check 'set-numba-cache-dir
|
||||
(lambda _
|
||||
(setenv "NUMBA_CACHE_DIR" "/tmp")))
|
||||
(replace 'check
|
||||
(lambda* (#:key outputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; The discovered test file names must match the names of the
|
||||
;; compiled files, so we cannot run the tests from
|
||||
;; /tmp/guix-build-*.
|
||||
(with-directory-excursion
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/lib/python3.10/site-packages/scvelo/core/tests/")
|
||||
(invoke "pytest" "-v"))))))))
|
||||
(list
|
||||
#:test-flags
|
||||
;; XXX: these two tests fail for unknown reasons
|
||||
'(list "-k" "not test_perfect_fit and not test_perfect_fit_2d")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Numba needs a writable dir to cache functions.
|
||||
(add-before 'check 'set-numba-cache-dir
|
||||
(lambda _
|
||||
(setenv "NUMBA_CACHE_DIR" "/tmp")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? test-flags #:allow-other-keys)
|
||||
(when tests?
|
||||
;; The discovered test file names must match the names of the
|
||||
;; compiled files, so we cannot run the tests from
|
||||
;; /tmp/guix-build-*.
|
||||
(with-directory-excursion
|
||||
(string-append #$output
|
||||
"/lib/python3.10/site-packages/scvelo/core/tests/")
|
||||
(apply invoke "pytest" "-v" test-flags))))))))
|
||||
(propagated-inputs
|
||||
(list python-anndata
|
||||
python-hnswlib
|
||||
|
|
|
@ -55,9 +55,12 @@
|
|||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages mtools)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages tls)
|
||||
|
@ -71,6 +74,7 @@
|
|||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix download)
|
||||
|
@ -631,7 +635,7 @@ The SUBDIR argument defaults to \"efi/Guix\", as it is also the case for
|
|||
(define-public dtc
|
||||
(package
|
||||
(name "dtc")
|
||||
(version "1.6.1")
|
||||
(version "1.7.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -639,42 +643,56 @@ The SUBDIR argument defaults to \"efi/Guix\", as it is also the case for
|
|||
"dtc-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xm38h31jb29xfh2sfyk48d8wdfq4b8lmb412zx9vjr35izjb9iq"))))
|
||||
(build-system gnu-build-system)
|
||||
"0cij9399snpn672pdbda8qbxljdkfg068kvv3g5811rz6yslx124"))
|
||||
(patches
|
||||
(search-patches "dtc-meson-cell-overflow.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules `(,@%gnu-build-system-modules (srfi srfi-26))
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
;; /bin/fdt{get,overlay,put} need help finding libfdt.so.1.
|
||||
(string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")
|
||||
(string-append "PREFIX=" #$output)
|
||||
(string-append "SETUP_PREFIX=" #$output)
|
||||
"INSTALL=install")
|
||||
#:modules '((guix build meson-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-pkg-config
|
||||
(add-after 'unpack 'preparations
|
||||
(lambda _
|
||||
(substitute* '("Makefile"
|
||||
"tests/run_tests.sh")
|
||||
(("pkg-config")
|
||||
#$(pkg-config-for-target)))))
|
||||
(delete 'configure) ;no configure script
|
||||
(add-before 'build 'install-doc
|
||||
;; The version string is usually derived via setuptools-scm, but
|
||||
;; without the git metadata available this fails.
|
||||
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)
|
||||
|
||||
;; Needed by setup.py.
|
||||
(setenv "DESTDIR" "/")
|
||||
|
||||
;; Native gcc needed by run_test.sh.
|
||||
(setenv "CC" "gcc")
|
||||
|
||||
;; /bin/fdt{get,overlay,put} need help finding libfdt.so.1.
|
||||
(setenv "LDFLAGS"
|
||||
(string-append "-Wl,-rpath=" #$output "/lib"))))
|
||||
(add-after 'unpack 'install-doc
|
||||
(lambda _
|
||||
(with-directory-excursion "Documentation"
|
||||
(for-each (cut install-file <> (string-append
|
||||
#$output "/share/doc/dtc/"))
|
||||
'("dts-format.txt"
|
||||
"dt-object-internal.txt"
|
||||
"manual.txt"))))))))
|
||||
"manual.txt")))))
|
||||
(add-after 'unpack 'patch-pkg-config
|
||||
(lambda _
|
||||
(substitute* '("tests/run_tests.sh")
|
||||
(("pkg-config")
|
||||
#$(pkg-config-for-target))))))))
|
||||
(native-inputs
|
||||
(append
|
||||
(list bison
|
||||
flex
|
||||
libyaml
|
||||
ninja
|
||||
pkg-config
|
||||
swig)
|
||||
python
|
||||
python-setuptools-scm
|
||||
swig
|
||||
which)
|
||||
(if (member (%current-system) (package-supported-systems valgrind))
|
||||
(list valgrind)
|
||||
'())))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2018, 2019 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2020, 2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2020, 2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
|
||||
;;; Copyright © 2019 Léo Le Bouter <lle-bout@zaclys.net>
|
||||
|
@ -323,6 +323,9 @@ or false to signal an error."
|
|||
((string=? system "powerpc64-linux") "/lib/ld64.so.1")
|
||||
((string=? system "alpha-linux") "/lib/ld-linux.so.2")
|
||||
|
||||
;; TODO: Differentiate between x86_64-linux-gnu and x86_64-linux-gnux32.
|
||||
((string=? system "x86_64-linux-gnux32") "/lib/ld-linux-x32.so.2")
|
||||
|
||||
;; XXX: This one is used bare-bones, without a libc, so add a case
|
||||
;; here just so we can keep going.
|
||||
((string=? system "arm-eabi") "no-ld.so")
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
|
||||
;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
|
||||
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -602,10 +603,10 @@ It allows the specification of behaviour scenarios using a given-when-then
|
|||
pattern.")
|
||||
(license license:apsl2))))
|
||||
|
||||
(define-public catch2-3.3
|
||||
(define-public catch2-3
|
||||
(package
|
||||
(name "catch2")
|
||||
(version "3.4.0")
|
||||
(version "3.5.1")
|
||||
(home-page "https://github.com/catchorg/Catch2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -615,7 +616,7 @@ pattern.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gdfsva6mnd66px85fmm3s65h8qzqnmgbmws2i3nygfav1y8d88f"))))
|
||||
"0p7rk01n4qfnnm1bgakllyqi83n1kbpz11gh65z1vspfz58hs9iv"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -1416,6 +1417,30 @@ distributed testing in both @code{load} and @code{each} modes. It also
|
|||
supports coverage of subprocesses.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-dotenv
|
||||
(package
|
||||
(name "python-pytest-dotenv")
|
||||
(version "0.5.2")
|
||||
(source
|
||||
(origin
|
||||
;; No tests in the PyPI tarball.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/quiqua/pytest-dotenv")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0bdxwaak5clhsd63b9q65nf2amqqv5hfn7dskfakyldxsqnnh0y6"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-dotenv))
|
||||
(native-inputs (list python-pytest))
|
||||
(home-page "https://github.com/quiqua/pytest-dotenv")
|
||||
(synopsis "Automatically detect and load a .env file before running tests")
|
||||
(description
|
||||
"This Pytest plugin automatically detects and loads environment variables
|
||||
from a .env file before running tests.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-httpserver
|
||||
(package
|
||||
(name "python-pytest-httpserver")
|
||||
|
|
|
@ -263,7 +263,7 @@ molecules.")
|
|||
(arguments '(#:tests? #f))
|
||||
;; There is no support for modern msgpack versions yet (see:
|
||||
;; https://github.com/rcsb/mmtf-cpp/issues/44).
|
||||
(propagated-inputs (list msgpack)) ;included by mmtf/structure_data.hpp
|
||||
(propagated-inputs (list msgpack-3)) ;included by mmtf/structure_data.hpp
|
||||
(home-page "https://mmtf.rcsb.org/")
|
||||
(synopsis "C++ API for the Macromolecular Transmission Format")
|
||||
(description "This package is a library for the
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2022, 2023 David Elsing <david.elsing@posteo.net>
|
||||
;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
|
||||
;;; Copyright © 2023 Sughosha <Sughosha@proton.me>
|
||||
;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
|
@ -327,6 +327,28 @@ the @code{Clang/LLVM} infrastructure to extract the data, and emits it in
|
|||
various formats, including @code{json}.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public expected-lite
|
||||
(package
|
||||
(name "expected-lite")
|
||||
(version "0.6.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/martinmoene/expected-lite")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0d58nqh2fwdzdpln2wlnf898wyfxdnskq6ff33azbg92d5ibzys2"))))
|
||||
(build-system cmake-build-system)
|
||||
(home-page "https://github.com/martinmoene/expected-lite")
|
||||
(synopsis "Expected objects in C++11 and later")
|
||||
(description "@i{expected lite} is a single-file header-only library for
|
||||
objects that either represent a valid value or an error that can be passed by
|
||||
value. It is intended for use with C++11 and later. The library is based on
|
||||
the @code{std::expected} proposal (@url{http://wg21.link/p0323}).")
|
||||
(license license:boost1.0)))
|
||||
|
||||
(define-public libzen
|
||||
(package
|
||||
(name "libzen")
|
||||
|
|
|
@ -65,14 +65,14 @@
|
|||
(define-public curl
|
||||
(package
|
||||
(name "curl")
|
||||
(version "8.4.0")
|
||||
(version "8.5.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://curl.se/download/curl-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bd8y8v66biyqvg70ka1sdd0aixs6yzpnvfsig907xzh9af2mihn"))
|
||||
"1sqfflilf7mcz1g03lazyr6v6pf1rsrzprrknsir10hdwawqvas2"))
|
||||
(patches (search-patches "curl-use-ssl-cert-env.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"
|
||||
|
@ -127,15 +127,20 @@
|
|||
(if parallel-tests?
|
||||
(number->string (parallel-job-count))
|
||||
"1")))
|
||||
;; Ignore test 1477 due to a missing file in the 8.5.0
|
||||
;; release. See
|
||||
;; <https://github.com/curl/curl/issues/12462>.
|
||||
(arguments `("-C" "tests" "test"
|
||||
,@make-flags
|
||||
,(if #$(or (system-hurd?)
|
||||
(target-arm32?)
|
||||
(target-aarch64?))
|
||||
;; protocol FAIL
|
||||
(string-append "TFLAGS=\"~1474 "
|
||||
job-count "\"")
|
||||
(string-append "TFLAGS=" job-count)))))
|
||||
(string-append "TFLAGS=~1474 "
|
||||
"!1477 "
|
||||
job-count)
|
||||
(string-append "TFLAGS=\"~1477 "
|
||||
job-count "\"")))))
|
||||
;; The top-level "make check" does "make -C tests quiet-test", which
|
||||
;; is too quiet. Use the "test" target instead, which is more
|
||||
;; verbose.
|
||||
|
|
|
@ -69,25 +69,16 @@
|
|||
(define-public sddm
|
||||
(package
|
||||
(name "sddm")
|
||||
(version "0.19.0")
|
||||
(version "0.20.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/sddm/sddm"
|
||||
"/releases/download/v" version "/"
|
||||
"sddm-" version ".tar.xz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sddm/sddm")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hcdysw8ibr66vk8i7v56l0v5ijvhlq67v4460mc2xf2910g2m72"))
|
||||
(snippet
|
||||
#~(begin
|
||||
;; https://github.com/sddm/sddm/issues/1536
|
||||
;; https://github.com/sddm/sddm/commit/e93bf95c54ad8c2a1604f8d7be05339164b19308
|
||||
;; Commit comes shortly after the 0.19.0 release.
|
||||
(use-modules ((guix build utils)))
|
||||
(substitute* "src/daemon/XorgDisplayServer.cpp"
|
||||
(("m_cookie\\[i\\] = digits\\[dis\\(gen\\)\\]")
|
||||
"m_cookie[i] = QLatin1Char(digits[dis(gen)])"))))))
|
||||
"1450zv03d3mbid27986p4mdshw9qf3ar8crl4idybf7khxgan22y"))))
|
||||
(build-system qt-build-system)
|
||||
(native-inputs
|
||||
(list extra-cmake-modules pkg-config qttools-5))
|
||||
|
@ -109,36 +100,39 @@
|
|||
shadow
|
||||
wayland))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
,#~(list
|
||||
;; This option currently does nothing, but will presumably be enabled
|
||||
;; if/when <https://github.com/sddm/sddm/pull/616> is merged.
|
||||
"-DENABLE_WAYLAND=ON"
|
||||
"-DENABLE_PAM=ON"
|
||||
;; Both flags are required for elogind support.
|
||||
"-DNO_SYSTEMD=ON" "-DUSE_ELOGIND=ON"
|
||||
"-DCONFIG_FILE=/etc/sddm.conf"
|
||||
;; Set path to /etc/login.defs.
|
||||
;; An alternative would be to use -DUID_MIN and -DUID_MAX.
|
||||
(string-append "-DLOGIN_DEFS_PATH="
|
||||
#$(this-package-input "shadow")
|
||||
"/etc/login.defs")
|
||||
(string-append "-DQT_IMPORTS_DIR="
|
||||
#$output "/lib/qt5/qml")
|
||||
(string-append "-DCMAKE_INSTALL_SYSCONFDIR="
|
||||
#$output "/etc"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'embed-loginctl-reference
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("/usr/bin/loginctl") (which "loginctl")))
|
||||
#t)))))
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list
|
||||
"-DENABLE_WAYLAND=ON"
|
||||
"-DENABLE_PAM=ON"
|
||||
;; Both flags are required for elogind support.
|
||||
"-DNO_SYSTEMD=ON"
|
||||
"-DUSE_ELOGIND=ON"
|
||||
"-DCONFIG_FILE=/etc/sddm.conf"
|
||||
;; Set path to /etc/login.defs.
|
||||
;; An alternative would be to use -DUID_MIN and -DUID_MAX.
|
||||
(string-append "-DLOGIN_DEFS_PATH="
|
||||
#$(this-package-input "shadow")
|
||||
"/etc/login.defs")
|
||||
(string-append "-DCMAKE_CXX_FLAGS=-I"
|
||||
#$(this-package-input
|
||||
"qtdeclarative") "/include/qt5")
|
||||
(string-append "-DQT_IMPORTS_DIR="
|
||||
#$output "/lib/qt5/qml")
|
||||
(string-append "-DCMAKE_INSTALL_SYSCONFDIR="
|
||||
#$output "/etc"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'embed-loginctl-reference
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("/usr/bin/loginctl")
|
||||
(which "loginctl"))))))))
|
||||
(synopsis "QML based X11 and Wayland display manager")
|
||||
(description "SDDM is a display manager for X11 and Wayland aiming to be
|
||||
fast, simple and beautiful. SDDM is themeable and puts no restrictions on the
|
||||
user interface design. It uses QtQuick which gives the designer the ability to
|
||||
create smooth, animated user interfaces.")
|
||||
user interface design. It uses QtQuick which gives the designer the ability
|
||||
to create smooth, animated user interfaces.")
|
||||
(home-page "https://github.com/sddm/sddm")
|
||||
;; QML files are MIT licensed and images are CC BY 3.0.
|
||||
(license (list license:gpl2+ license:expat license:cc-by3.0))))
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2017-2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2018-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
|
||||
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
|
@ -564,7 +564,7 @@ a pen-tablet display and a beamer.")
|
|||
(define-public fet
|
||||
(package
|
||||
(name "fet")
|
||||
(version "6.9.0")
|
||||
(version "6.15.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -573,7 +573,7 @@ a pen-tablet display and a beamer.")
|
|||
(list (string-append directory base)
|
||||
(string-append directory "old/" base))))
|
||||
(sha256
|
||||
(base32 "1lnw58ga1ldhqfznclmk9l21698pg152w3slq2cwmr69ywqr5wys"))))
|
||||
(base32 "0mmk9f0b23lmmk40mv25wf9vgb7wdgfn5zsa1qrkvkh7dh1hjpax"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -2017,6 +2017,27 @@ Apprentice and Sourcerer.")
|
|||
theme but now takes more inspiration from the Nano theme.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-adwaita-dark-theme
|
||||
;; Version 1.1.1 isn't tagged upstream.
|
||||
(package
|
||||
(name "emacs-adwaita-dark-theme")
|
||||
(version "1.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/jessieh/adwaita-dark-theme")
|
||||
(commit "057c39313341907b35c68d2179226886a0c276fd")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1g7hyg2hfvn24gaw4lca4g8lw10q2wg9nfrgl7pfdggz202m027c"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://gitlab.com/jessieh/adwaita-dark-theme")
|
||||
(synopsis "Adwaita-inspired dark color scheme for Emacs")
|
||||
(description
|
||||
"This package provides an Adwaita-inspired dark color scheme for Emacs.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-treepy
|
||||
(package
|
||||
(name "emacs-treepy")
|
||||
|
@ -10105,13 +10126,20 @@ constants and units into an Emacs buffer.")
|
|||
(sha256
|
||||
(base32 "0kq40g46s8kgiafrhdq99h79rz9h5fvgz59k7ralmf86bl4sdmdb"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-spurious-require
|
||||
(lambda _
|
||||
(substitute* "tagedit.el"
|
||||
(("\\(require 'assoc\\)") "")))))))
|
||||
(propagated-inputs
|
||||
(list emacs-s emacs-dash))
|
||||
(list emacs-dash emacs-s))
|
||||
(home-page "https://github.com/magnars/tagedit")
|
||||
(synopsis "Some paredit-like features for html-mode")
|
||||
(synopsis "Some Paredit-like features for HTML mode")
|
||||
(description
|
||||
"This package provides a collection of paredit-like functions for editing
|
||||
in @code{html-mode}.")
|
||||
"This package provides a collection of Paredit-like functions for editing
|
||||
in HTML mode.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-slime
|
||||
|
@ -11388,6 +11416,30 @@ package provides a light and a dark variant.")
|
|||
Solarized color scheme.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public emacs-color-identifiers-mode
|
||||
(let ((commit "a26d00d898e0a3295cb7da9323046397223ea1fe")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-color-identifiers-mode")
|
||||
(version (git-version "1.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ankurdave/color-identifiers-mode")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1kky827f922ziiwasrfnv97vqdf62fp9yml36x1fjsm2h6qw0c8v"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-dash))
|
||||
(home-page "https://github.com/ankurdave/color-identifiers-mode")
|
||||
(synopsis "Minor mode for coloring identifiers based on their names")
|
||||
(description
|
||||
"This package provides an Emacs minor mode to highlight each source
|
||||
code identifier uniquely based on its name.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-poet-theme
|
||||
(let ((commit "16eb694f0755c04c4db98614d0eca1199fddad70")
|
||||
(revision "1"))
|
||||
|
@ -29880,14 +29932,14 @@ buffer and launches Magit from the status buffer for the project at point.")
|
|||
(define-public emacs-repology
|
||||
(package
|
||||
(name "emacs-repology")
|
||||
(version "1.2.3")
|
||||
(version "1.2.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/"
|
||||
"repology-" version ".tar"))
|
||||
(sha256
|
||||
(base32 "1ngx23b7dilyps20nznrrn867kbxyn6nryf4p1sy5m576hkw18kn"))))
|
||||
(base32 "0l53wl0bk8rnqwsjdh1hwvkvbay080l10bslcj3scn42bgbi59j1"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -2300,7 +2300,7 @@ mining.")
|
|||
(define-public p2pool
|
||||
(package
|
||||
(name "p2pool")
|
||||
(version "3.7")
|
||||
(version "3.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2309,7 +2309,7 @@ mining.")
|
|||
(commit (string-append "v" version))
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 "1sghdk8yq8si0bq0z83fji48q8yrq0ymvsxbbh5mscw6223syrjq"))
|
||||
(sha256 (base32 "0lp9slfwaq3wp4x6xpsiazam5lv6dz57m20adzlzzk0anb1ascr0"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(for-each delete-file-recursively
|
||||
|
|
|
@ -875,7 +875,7 @@ Executables included are:
|
|||
(let ((toolchain-ver "GCC5"))
|
||||
(package
|
||||
(name "ovmf")
|
||||
(version "202308")
|
||||
(version "202311")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -886,7 +886,7 @@ Executables included are:
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"04rnfnaqr2c7ayplj7ib730zp1snw157zx5rmykz5hz1zz2vb20j"))))
|
||||
"136dl5cxpjpg37whzlqq7jrrjsgybmwrgkbbmks8xaixqmzwhbw0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -123,6 +123,29 @@
|
|||
titling.")
|
||||
(license license:silofl1.1)))
|
||||
|
||||
(define-public font-cardo
|
||||
(package
|
||||
(name "font-cardo")
|
||||
(version "1.04")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://scholarsfonts.net/cardo"
|
||||
(string-delete #\. version) ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ps55zjva4fzmg47w2i8srrh8sqxz1wkcclihwgzlwfbaxixn0cl"))))
|
||||
(build-system font-build-system)
|
||||
(home-page "https://scholarsfonts.net/cardofnt.html")
|
||||
(synopsis "Unicode font for classical scholarship")
|
||||
(description
|
||||
"Cardo is a large unicode font specifically designed for the needs of
|
||||
classicists, biblical scholars, medievalists, and linguists. Since it may be
|
||||
used to prepare materials for publication, it also contains features that are
|
||||
required for high-quality typography, such as ligatures, text figures (also
|
||||
known as old style numerals), true small capitals and a variety of punctuation
|
||||
and space characters.")
|
||||
(license license:silofl1.1)))
|
||||
|
||||
(define-public font-chivo
|
||||
(let ((commit "dc61c468d79781eb5183426e88e844af16cdc3e5")
|
||||
(revision "0"))
|
||||
|
@ -1952,15 +1975,15 @@ weights and five widths in both Roman and Italic, plus variable fonts.")
|
|||
(define-public font-sarasa-gothic
|
||||
(package
|
||||
(name "font-sarasa-gothic")
|
||||
(version "0.42.6")
|
||||
(version "1.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/be5invis/Sarasa-Gothic"
|
||||
"/releases/download/v" version
|
||||
"/sarasa-gothic-ttc-" version ".7z"))
|
||||
"/Sarasa-TTC-" version ".7z"))
|
||||
(sha256
|
||||
(base32 "0czx10yph2lxg2k4w6qjnil73zb2pgg3g400apm9gay41m04990v"))))
|
||||
(base32 "1cgqf15fhg567s2bwjpal3xfcdnbgyy0iav5181zkn6b4k56dgl4"))))
|
||||
(build-system font-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
|
|
|
@ -196,69 +196,71 @@ is used in some video games and movies.")
|
|||
(license license:zlib)))
|
||||
|
||||
(define-public dds
|
||||
(package
|
||||
(name "dds")
|
||||
(version "2.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dds-bridge/dds")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1iv09qic43nvla02lm8zgnkqpjgnc95p8zh3wyifmnmlh1rz02yj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "src")))
|
||||
(replace 'configure
|
||||
;; Configuration is done by copying the appropriate
|
||||
;; make file in the working directory. There is no
|
||||
;; configure script.
|
||||
(lambda _
|
||||
(copy-file "Makefiles/Makefile_linux_shared"
|
||||
"Makefile")))
|
||||
(replace 'check
|
||||
;; There is no "check" traget. We must compile
|
||||
;; a "dtest" program and apply it on a data set.
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(install-file "libdds.so" "../test")
|
||||
(with-directory-excursion "../test"
|
||||
(copy-file "Makefiles/Makefile_linux"
|
||||
"Makefile")
|
||||
(substitute* "Makefile"
|
||||
(("-Werror") ""))
|
||||
(invoke "make")
|
||||
(invoke "./dtest" "-f" "../hands/list100.txt")))))
|
||||
(replace 'install
|
||||
;; "install" target merely moves ".so" file around
|
||||
;; the source directory. We install it in the store,
|
||||
;; along with all shipped documentation (which cannot
|
||||
;; be built from source unfortunately).
|
||||
(lambda _
|
||||
(install-file "libdds.so"
|
||||
(string-append #$output "/lib"))
|
||||
(let ((doc (string-append #$output
|
||||
"/share/doc/"
|
||||
#$name "-" #$version)))
|
||||
(install-file "../LICENSE" doc)
|
||||
(copy-recursively "../doc" doc)))))))
|
||||
(native-inputs
|
||||
(list gawk procps))
|
||||
(inputs
|
||||
(list boost))
|
||||
(home-page "https://privat.bahnhof.se/wb758135/")
|
||||
(synopsis "Double dummy solver for the bridge card game")
|
||||
(description "DDS is a double-dummy solver of bridge hands. It supports
|
||||
(let ((commit "d2bc4c2c703941664fc1d73e69caa5233cdeac18")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "dds")
|
||||
(version (git-version "2.9.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dds-bridge/dds")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ishbb69cvyv96xdxshnly0m5ydwljgdf8fwa1cr9rj2qj40q4rm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "src")))
|
||||
(replace 'configure
|
||||
;; Configuration is done by copying the appropriate
|
||||
;; make file in the working directory. There is no
|
||||
;; configure script.
|
||||
(lambda _
|
||||
(copy-file "Makefiles/Makefile_linux_shared"
|
||||
"Makefile")))
|
||||
(replace 'check
|
||||
;; There is no "check" traget. We must compile
|
||||
;; a "dtest" program and apply it on a data set.
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(install-file "libdds.so" "../test")
|
||||
(with-directory-excursion "../test"
|
||||
(copy-file "Makefiles/Makefile_linux"
|
||||
"Makefile")
|
||||
(substitute* "Makefile"
|
||||
(("-Werror") ""))
|
||||
(invoke "make")
|
||||
(invoke "./dtest" "-f" "../hands/list100.txt")))))
|
||||
(replace 'install
|
||||
;; "install" target merely moves ".so" file around
|
||||
;; the source directory. We install it in the store,
|
||||
;; along with all shipped documentation (which cannot
|
||||
;; be built from source unfortunately).
|
||||
(lambda _
|
||||
(install-file "libdds.so"
|
||||
(string-append #$output "/lib"))
|
||||
(let ((doc (string-append #$output
|
||||
"/share/doc/"
|
||||
#$name "-" #$version)))
|
||||
(install-file "../LICENSE" doc)
|
||||
(copy-recursively "../doc" doc)))))))
|
||||
(native-inputs
|
||||
(list gawk procps))
|
||||
(inputs
|
||||
(list boost))
|
||||
(home-page "https://privat.bahnhof.se/wb758135/")
|
||||
(synopsis "Double dummy solver for the bridge card game")
|
||||
(description "DDS is a double-dummy solver of bridge hands. It supports
|
||||
single-threading and multi-threading for improved performance. DDS
|
||||
offers a wide range of functions, including par-score calculations.")
|
||||
(license license:asl2.0)))
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public deutex
|
||||
(package
|
||||
|
@ -3269,16 +3271,16 @@ progresses the level, or you may regenerate tiles as the world changes.")
|
|||
(define-public bbcsdl
|
||||
(package
|
||||
(name "bbcsdl")
|
||||
(version "1.35a")
|
||||
(version "1.39a")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rtrussell/BBCSDL/")
|
||||
(commit "b9b2a3eb438cb799edb2766055b3c38e9518e3e3")))
|
||||
(commit "93b0ffae960f4c4f45fdc2202bc6e83ee5ca277c")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1d03xmhrl6ba6w0vwfk46mpyc9d0w3bixxj2d4irx7wl7bh3bfic"))))
|
||||
"03ga14k2hbhflnaynbyx9lwlbxlzx3rv6zqq21yhl183s6d4c0wa"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -3318,6 +3320,7 @@ progresses the level, or you may regenerate tiles as the world changes.")
|
|||
inputs (string-append "share/fonts/truetype/" font))
|
||||
(string-append opt "/lib/" font)))
|
||||
'("DejaVuSans.ttf" "DejaVuSansMono.ttf"
|
||||
"DejaVuSans-Oblique.ttf"
|
||||
"FreeSans.ttf" "FreeMono.ttf" "FreeSerif.ttf"))
|
||||
(mkdir bin)
|
||||
(symlink (string-append opt "/bbcsdl")
|
||||
|
|
|
@ -78,7 +78,8 @@
|
|||
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2023 Florian Pelz <pelzflorian@pelzflorian.de>
|
||||
;;; Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
|
||||
;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
|
||||
;;; Copyright © 2023, 2024 gemmaro <gemmaro.dev@gmail.com>
|
||||
;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -193,6 +194,7 @@
|
|||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-compression)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
|
@ -230,6 +232,7 @@
|
|||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system scons)
|
||||
#:use-module (guix build-system trivial)
|
||||
|
@ -2367,6 +2370,55 @@ Every puzzle has a complete solution, although there may be more than one.")
|
|||
"PrBoom+ is a Doom source port developed from the original PrBoom project.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public redeal
|
||||
(let ((commit "e2e81a477fd31ae548a340b5f0f380594d3d0ad6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "redeal")
|
||||
(version (git-version "0.2.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/anntzer/redeal")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vac36bg4ah9gs4hgmp745xq6nnmd7s71vsq99d72ng3sxap0wa3"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unbundle-dds
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "setup.py"
|
||||
(("cmdclass=.*") ""))
|
||||
(let ((libdds (search-input-file inputs "lib/libdds.so")))
|
||||
(substitute* "redeal/dds.py"
|
||||
((" and os.path.exists\\(dll_path\\)") "")
|
||||
(("dll = DLL\\(dll_path\\)")
|
||||
(format #f "dll = DLL(~s)" libdds))))))
|
||||
(add-after 'install 'install-examples
|
||||
(lambda _
|
||||
(let* ((doc (string-append #$output "/share/doc/"))
|
||||
(examples
|
||||
(string-append doc #$name "-" #$version "/examples")))
|
||||
(mkdir-p examples)
|
||||
(copy-recursively "examples" examples)))))))
|
||||
(inputs (list dds `(,python "tk")))
|
||||
(propagated-inputs (list python-colorama))
|
||||
(home-page "https://github.com/anntzer/redeal")
|
||||
(synopsis
|
||||
"Deal generator for bridge card game, written in Python")
|
||||
(description
|
||||
"Redeal is a deal generator written in Python. It outputs deals
|
||||
satisfying whatever conditions you specify --- deals with a double void, deals
|
||||
with a strong 2♣ opener opposite a yarborough, etc. Using Bo Haglund's double
|
||||
dummy solver, it can even solve the hands it has generated for you.")
|
||||
(license license:gpl3))))
|
||||
|
||||
(define-public retux
|
||||
(let ((release "1.6.1")
|
||||
(revision 0))
|
||||
|
@ -3385,25 +3437,29 @@ a C library, so they can easily be integrated into other programs.")
|
|||
(define-public taisei
|
||||
(package
|
||||
(name "taisei")
|
||||
(version "1.3.2")
|
||||
(version "1.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/taisei-project/"
|
||||
"taisei/releases/download/v" version
|
||||
"/taisei-v" version ".tar.xz"))
|
||||
"/taisei-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1g53fcyrlzmvlsb40pw90gaglysv6n1w42hk263iv61ibhdmzh6v"))))
|
||||
(base32 "1glrr99xiyz674d1izgvmk9w1zxanc94d34pacd0wya66bbml0nc"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:build-type "release" ;comment out for bug-reporting (and cheats)
|
||||
#:configure-flags
|
||||
(list "-Dr_default=gles30"
|
||||
"-Dr_gles20=true"
|
||||
"-Dr_gles30=true"
|
||||
"-Dshader_transpiler=true")))
|
||||
(list
|
||||
#:build-type "release" ;comment out for bug-reporting (and cheats)
|
||||
#:configure-flags #~(list "-Dr_default=gles30"
|
||||
"-Dr_gles20=true"
|
||||
"-Dr_gles30=true"
|
||||
"-Dshader_transpiler=true")))
|
||||
(native-inputs
|
||||
(list pkg-config python python-docutils python-pygments))
|
||||
(list pkg-config
|
||||
python
|
||||
python-docutils
|
||||
python-pygments
|
||||
python-zstandard))
|
||||
(inputs
|
||||
(list cglm
|
||||
freetype
|
||||
|
@ -3417,21 +3473,23 @@ a C library, so they can easily be integrated into other programs.")
|
|||
sdl2-mixer
|
||||
shaderc
|
||||
spirv-cross
|
||||
zlib))
|
||||
zlib
|
||||
(list zstd "lib")))
|
||||
(home-page "https://taisei-project.org/")
|
||||
(synopsis "Shoot'em up fangame and libre clone of Touhou Project")
|
||||
(description
|
||||
"The player controls a character (one of three: Good, Bad, and Dead),
|
||||
dodges the missiles (lots of it cover the screen, but the character's hitbox
|
||||
is very small), and shoot at the adversaries that keep appear on the screen.")
|
||||
(license (list ;;game
|
||||
license:expat
|
||||
;;resources/00-taisei.pkgdir/bgm/
|
||||
;;atlas/portraits/
|
||||
license:cc-by4.0
|
||||
;;miscellaneous
|
||||
license:cc0
|
||||
license:public-domain))))
|
||||
(license (list
|
||||
;; game
|
||||
license:expat
|
||||
;; resources/00-taisei.pkgdir/bgm/
|
||||
;; atlas/portraits/
|
||||
license:cc-by4.0
|
||||
;; miscellaneous
|
||||
license:cc0
|
||||
license:public-domain))))
|
||||
|
||||
(define-public cmatrix
|
||||
(package
|
||||
|
@ -3833,7 +3891,7 @@ for common mesh file formats, and collision detection.")
|
|||
(package
|
||||
(inherit irrlicht)
|
||||
(name "irrlicht-for-minetest")
|
||||
(version "1.9.0mt10")
|
||||
(version "1.9.0mt13")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -3843,7 +3901,7 @@ for common mesh file formats, and collision detection.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0y5vchz91khs8dmrkpgc7sqmvzx2yjj6svivvm80r4yppv7s03rw"))))
|
||||
"11pxg0yh50ym1hvh8va5jbbcjz5dsshj3xxvm3qhkgg96vpism06"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
;; No check target.
|
||||
|
@ -10115,6 +10173,36 @@ can be downloaded from @url{https://zero.sjeng.org/best-network}.")
|
|||
(home-page "https://github.com/bernds/q5Go")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public qcheckers
|
||||
(package
|
||||
(name "qcheckers")
|
||||
(version "0.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/portnov/qcheckers")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05wzql6abzdf6l0vdzki4rfy2zn31mcplh1wkw3ddk8w81pvaymw"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(invoke "qmake"
|
||||
(string-append "PREFIX=" #$output)))))))
|
||||
(inputs (list qtbase-5 qtsvg-5))
|
||||
(home-page "https://portnov.github.io/qcheckers/")
|
||||
(synopsis "Qt-based checkers boardgame")
|
||||
(description "QCheckers, formely known as KCheckers, is a is a Qt version
|
||||
of the classic boardgame checkers (also known as draughts).")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public xmoto
|
||||
(package
|
||||
(name "xmoto")
|
||||
|
@ -10415,6 +10503,31 @@ sunfish, but is written in C rather than Python. It also has TUI tools for
|
|||
using any UCI engine and also to connect UCI engines to Lichess.")
|
||||
(license license:agpl3+))))
|
||||
|
||||
(define-public morris
|
||||
(package
|
||||
(name "morris")
|
||||
(version "0.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/farindk/morris")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1kkcnpkzgybm7rqg7nafd7sqd5m4alns6l4j5zcf3p41jdc9s3iv"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(inputs (list automake autoconf pkg-config intltool
|
||||
gnu-gettext libtool glib gtk+-2 boost))
|
||||
(arguments `(#:tests? #f))
|
||||
(home-page "http://nine-mens-morris.net/downloads.html")
|
||||
(synopsis "Morris is an implementation of the board game Nine Men's Morris")
|
||||
(description "Morris is an implementation of the board game Nine Men's Morris.
|
||||
It supports not only the standard game, but also several rule-variants and different
|
||||
board layouts. You can play against the computer, or simply use the program to
|
||||
present the board, but play against another human opponent.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public barrage
|
||||
(package
|
||||
(name "barrage")
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2023 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015-2018, 2020-2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015-2018, 2020-2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2020, 2022 Marius Bakke <marius@gnu.org>
|
||||
|
@ -75,6 +75,9 @@ where the OS part is overloaded to denote a specific ABI---into GCC
|
|||
"--with-mode=thumb"
|
||||
"--with-fpu=neon"))
|
||||
|
||||
((string-match "x86_64-linux-gnux32" target)
|
||||
'("--with-abi=mx32"))
|
||||
|
||||
((and (string-suffix? "-gnu" target)
|
||||
(not (string-contains target "-linux")))
|
||||
;; Cross-compilation of libcilkrts in GCC 5.5.0 to GNU/Hurd fails
|
||||
|
|
|
@ -3228,3 +3228,31 @@ For maps, it can uses its own \"binfile\" map format, or Garmin map
|
|||
file format, and data from OpenStreetMap, Garmin maps, Marco Polo
|
||||
Grosser Reiseplaner, Routeplaner Europa 2007, Map + Route.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public laszip
|
||||
(package
|
||||
(name "laszip")
|
||||
(version "3.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/LASzip/LASzip")
|
||||
(commit "3.4.3")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "09lcsgxwv0jq50fhsgfhx0npbf1zcwn3hbnq6q78fshqksbxmz7m"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "-DLASZIP_BUILD_STATIC=NO")
|
||||
#:build-type "Release"
|
||||
;; No tests.
|
||||
#:tests? #f))
|
||||
(home-page "https://laszip.org/")
|
||||
(synopsis "Compression library for LAS files")
|
||||
(description
|
||||
"LASzip is a library for compressing @code{LAS} files and uncompressing
|
||||
@code{LAZ} files. The @code{LAS} format is a file format designed for the
|
||||
interchange and archiving of lidar point cloud data.")
|
||||
(license license:asl2.0)))
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
;;; Copyright © 2021, 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
|
||||
;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
|
||||
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -62,6 +62,7 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix hg-download)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system meson)
|
||||
|
@ -294,7 +295,7 @@ also known as DXTn or DXTC) for Mesa.")
|
|||
(define-public mesa
|
||||
(package
|
||||
(name "mesa")
|
||||
(version "23.2.1")
|
||||
(version "23.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -304,7 +305,7 @@ also known as DXTn or DXTC) for Mesa.")
|
|||
"mesa-" version ".tar.xz")))
|
||||
(sha256
|
||||
(base32
|
||||
"1k61pgw0vcjrlb4299q98cy7iqmk2r7jmb5ika91z01dzhb0dpk4"))))
|
||||
"1p4swrbmz3kb1805kdj973hf8virgmix4m9qprmcb2bgl4gviz1w"))))
|
||||
(build-system meson-build-system)
|
||||
(propagated-inputs
|
||||
;; The following are in the Requires.private field of gl.pc.
|
||||
|
@ -338,7 +339,8 @@ also known as DXTn or DXTC) for Mesa.")
|
|||
python-wrapper
|
||||
(@ (gnu packages base) which)
|
||||
(if (%current-target-system)
|
||||
(list pkg-config-for-build
|
||||
(list cmake-minimal-cross
|
||||
pkg-config-for-build
|
||||
wayland
|
||||
wayland-protocols)
|
||||
'())))
|
||||
|
@ -351,16 +353,16 @@ also known as DXTn or DXTC) for Mesa.")
|
|||
((target-aarch64?)
|
||||
;; TODO: Fix svga driver for non-Intel architectures.
|
||||
'("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,\
|
||||
panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl"))
|
||||
panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl,zink"))
|
||||
((target-arm32?)
|
||||
;; Freedreno FTBFS when built on a 64-bit machine.
|
||||
'("-Dgallium-drivers=etnaviv,kmsro,lima,nouveau,panfrost,\
|
||||
r300,r600,swrast,tegra,v3d,vc4,virgl"))
|
||||
r300,r600,swrast,tegra,v3d,vc4,virgl,zink"))
|
||||
((or (target-ppc64le?) (target-ppc32?) (target-riscv64?))
|
||||
'("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl"))
|
||||
'("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl,zink"))
|
||||
(else
|
||||
'("-Dgallium-drivers=crocus,iris,nouveau,r300,r600,radeonsi,\
|
||||
svga,swrast,virgl")))
|
||||
svga,swrast,virgl,zink")))
|
||||
;; Enable various optional features. TODO: opencl requires libclc,
|
||||
;; omx requires libomxil-bellagio
|
||||
"-Dplatforms=x11,wayland"
|
||||
|
@ -415,10 +417,13 @@ svga,swrast,virgl")))
|
|||
#~(modify-phases %standard-phases
|
||||
#$@(if (%current-target-system)
|
||||
#~((add-after 'unpack 'fix-cross-compiling
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; It isn't a problem to use the host's llvm-config.
|
||||
(setenv "LLVM_CONFIG"
|
||||
(search-input-file inputs "/bin/llvm-config")))))
|
||||
(lambda* (#:key native-inputs #:allow-other-keys)
|
||||
;; When cross compiling, we use cmake to find llvm, not
|
||||
;; llvm-config, because llvm-config cannot be executed
|
||||
;; see https://github.com/llvm/llvm-project/issues/58984
|
||||
(setenv "CMAKE"
|
||||
(search-input-file
|
||||
native-inputs "/bin/cmake")))))
|
||||
#~())
|
||||
(add-after 'unpack 'disable-failing-test
|
||||
(lambda _
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2021 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2015-2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015-2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
|
||||
;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
|
||||
;;; Copyright © 2016, 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
|
||||
|
@ -4781,12 +4781,15 @@ GLib and GObject, and integrates JSON with GLib data types.")
|
|||
(string-append #$output:doc
|
||||
"/share/gtk-doc"))))))))))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs json-glib-minimal)
|
||||
(prepend docbook-xml-4.3
|
||||
docbook-xsl
|
||||
gobject-introspection
|
||||
gtk-doc
|
||||
libxslt)))))
|
||||
(if (%current-target-system)
|
||||
;; No docs, no additional inputs.
|
||||
(package-native-inputs json-glib-minimal)
|
||||
(modify-inputs (package-native-inputs json-glib-minimal)
|
||||
(prepend docbook-xml-4.3
|
||||
docbook-xsl
|
||||
gobject-introspection
|
||||
gtk-doc
|
||||
libxslt))))))
|
||||
|
||||
(define-public libxklavier
|
||||
(package
|
||||
|
|
|
@ -1034,6 +1034,9 @@ variable defined below. It requires guile-json to be installed."
|
|||
(setenv "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE" "system")
|
||||
(setenv "MOZ_BUILD_DATE" #$%icecat-build-id) ; avoid timestamp
|
||||
|
||||
;; WM_CLASS (default is "$MOZ_APP_NAME-$MOZ_UPDATE_CHANNEL").
|
||||
(setenv "MOZ_APP_REMOTINGNAME" "Icecat")
|
||||
|
||||
;; XXX TODO: Fix this to work on systems other than x86_64-linux.
|
||||
(setenv "GUIX_PYTHONPATH"
|
||||
(string-append (getcwd)
|
||||
|
@ -1126,7 +1129,7 @@ variable defined below. It requires guile-json to be installed."
|
|||
(("NewWindow") "new-window")
|
||||
(("NewPrivateWindow") "new-private-window")
|
||||
(("StartupNotify=true")
|
||||
"StartupNotify=true\nStartupWMClass=Navigator"))
|
||||
"StartupNotify=true\nStartupWMClass=Icecat"))
|
||||
(install-file desktop-file applications))))
|
||||
(add-after 'install-desktop-entry 'install-icons
|
||||
(lambda _
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
|
||||
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -870,7 +871,7 @@ protocol.")
|
|||
(define-public go-github-com-hjson-hjson-go
|
||||
(package
|
||||
(name "go-github-com-hjson-hjson-go")
|
||||
(version "3.1.0")
|
||||
(version "4.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -879,7 +880,7 @@ protocol.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dfdiahimg6z9idg8jiqxwnlwjnmasbjccx8gnag49cz4yfqskaz"))))
|
||||
(base32 "138vmbnrwzxf64cia27k407clrydvs2jx927dlv6ziydiqyvy7m3"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/hjson/hjson-go"))
|
||||
|
|
|
@ -3959,11 +3959,11 @@ packages.")
|
|||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-sys
|
||||
(let ((commit "b60007cc4e6f966b1c542e343d026d06723e5653")
|
||||
(let ((commit "ca59edaa5a761e1d0ea91d6c07b063f85ef24f78")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-golang-org-x-sys")
|
||||
(version (git-version "0.4.0" revision commit))
|
||||
(version (git-version "0.8.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -3972,7 +3972,7 @@ packages.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fr2d6fnpbqx6n89sg9lsinqkdaw49y068kqj2g0cxlhbh69hzii"))))
|
||||
"1p81niiin8dwyrjl2xsc95136w3vdw4kmj0w3mlh0vh5v134s4xq"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -3989,24 +3989,6 @@ support for low-level interaction with the operating system.")
|
|||
(home-page "https://go.googlesource.com/sys")
|
||||
(license license:bsd-3))))
|
||||
|
||||
;; XXX: This version is required for "go-github-com-quic-go-qtls-go1-20".
|
||||
(define-public go-golang-org-x-sys-0.8
|
||||
(let ((commit "ca59edaa5a761e1d0ea91d6c07b063f85ef24f78")
|
||||
(revision "0"))
|
||||
(package
|
||||
(inherit go-golang-org-x-sys)
|
||||
(name "go-golang-org-x-sys")
|
||||
(version (git-version "0.8.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/sys")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1p81niiin8dwyrjl2xsc95136w3vdw4kmj0w3mlh0vh5v134s4xq")))))))
|
||||
|
||||
(define-public go-golang-org-x-text
|
||||
(package
|
||||
(name "go-golang-org-x-text")
|
||||
|
@ -7269,7 +7251,7 @@ implementation of generics.")
|
|||
#:import-path "github.com/quic-go/qtls-go1-20"
|
||||
#:go go-1.20))
|
||||
(propagated-inputs (list go-golang-org-x-crypto
|
||||
go-golang-org-x-sys-0.8))
|
||||
go-golang-org-x-sys))
|
||||
(synopsis "TLS 1.3 for QUIC")
|
||||
(description
|
||||
"Go standard library TLS 1.3 implementation, modified for QUIC. For
|
||||
|
@ -7330,21 +7312,17 @@ the Go standard library}.")
|
|||
#:tests? #f
|
||||
#:go go-1.20))
|
||||
(propagated-inputs
|
||||
(let ((p (package-input-rewriting
|
||||
`((,go-golang-org-x-sys . ,go-golang-org-x-sys-0.8))
|
||||
#:deep? #true)))
|
||||
(cons go-golang-org-x-sys-0.8
|
||||
(map p
|
||||
(list go-github-com-quic-go-qtls-go1-20
|
||||
go-github-com-quic-go-qpack
|
||||
go-golang-org-x-crypto
|
||||
go-github-com-cheekybits-genny
|
||||
go-github-com-marten-seemann-chacha20
|
||||
go-github-com-golang-protobuf-proto
|
||||
go-golang-org-x-crypto
|
||||
go-golang-org-x-exp
|
||||
go-golang-org-x-net
|
||||
go-golang-org-x-sync)))))
|
||||
(list go-github-com-quic-go-qtls-go1-20
|
||||
go-github-com-quic-go-qpack
|
||||
go-golang-org-x-crypto
|
||||
go-github-com-cheekybits-genny
|
||||
go-github-com-marten-seemann-chacha20
|
||||
go-github-com-golang-protobuf-proto
|
||||
go-golang-org-x-crypto
|
||||
go-golang-org-x-exp
|
||||
go-golang-org-x-net
|
||||
go-golang-org-x-sys
|
||||
go-golang-org-x-sync))
|
||||
(synopsis "QUIC in Go")
|
||||
(description "This package provides a Go language implementation of the QUIC
|
||||
network protocol.")
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017, 2018, 2019, 2020, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017-2024 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
|
||||
;;; Copyright © 2018, 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
|
@ -426,6 +426,48 @@ algorithm for community detection in large networks.")
|
|||
large networks.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-louvain-igraph
|
||||
(package
|
||||
(name "python-louvain-igraph")
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/vtraag/louvain-igraph")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1j2ybihvvzggwjb9zvm829aqb5b94q10h8bw6v0h42xd9w75z9sv"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'find-igraph
|
||||
(lambda _
|
||||
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)
|
||||
(substitute* "setup.py"
|
||||
(("/usr/include/igraph")
|
||||
(string-append #$(this-package-input "igraph")
|
||||
"/include/igraph"))))))))
|
||||
(propagated-inputs (list python-igraph))
|
||||
(inputs (list igraph))
|
||||
(native-inputs
|
||||
(list python-ddt
|
||||
python-setuptools-scm
|
||||
pkg-config))
|
||||
(home-page "https://github.com/vtraag/louvain-igraph")
|
||||
(synopsis "Implementation of the Louvain algorithm")
|
||||
(description "This package implements the Louvain algorithm for community
|
||||
detection in C++ and exposes it to Python. Besides the relative flexibility
|
||||
of the implementation, it also scales well, and can be run on graphs of
|
||||
millions of nodes (as long as they can fit in memory). The core function is
|
||||
@code{find_partition} which finds the optimal partition using the louvain
|
||||
algorithm for a number of different methods.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public faiss
|
||||
(package
|
||||
(name "faiss")
|
||||
|
@ -449,8 +491,8 @@ large networks.")
|
|||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "-DBUILD_WITH_GPU=OFF" ; thanks, but no thanks, CUDA.
|
||||
"-DBUILD_TUTORIAL=OFF") ; we don't need those
|
||||
(list "-DBUILD_WITH_GPU=OFF" ; thanks, but no thanks, CUDA.
|
||||
"-DBUILD_TUTORIAL=OFF") ; we don't need those
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'prepare-build
|
||||
|
@ -466,7 +508,7 @@ large networks.")
|
|||
'()))))))
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("-m64") "")
|
||||
(("-mpopcnt") "") ; only some architectures
|
||||
(("-mpopcnt") "") ; only some architectures
|
||||
(("-msse4")
|
||||
(string-append
|
||||
(string-join features)
|
||||
|
|
|
@ -195,7 +195,7 @@ structure and layout algorithms.")
|
|||
(define-public python-uqbar
|
||||
(package
|
||||
(name "python-uqbar")
|
||||
(version "0.5.6")
|
||||
(version "0.5.9")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -205,18 +205,12 @@ structure and layout algorithms.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ml3x2mf7nlnvrh9lari5yk0sz2mmg39jwsbjxnpzhnw4kcwpdrs"))))
|
||||
"0c573nzpm51qgz2g296f8pw8ys0i3r6daynxk06zagk5l5fgw9ar"))
|
||||
(patches (search-patches "python-uqbar-python3.10.patch"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
;; Latest versions of sphink-rtd-theme require npm to build.
|
||||
(("sphinx-rtd-theme >= 0.5.0") "sphinx-rtd-theme >= 0.2.4")
|
||||
(("black") "black >= 19.10b0"))
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
|
|
|
@ -1178,7 +1178,11 @@ application suites.")
|
|||
;; The unaligned-offscreen test fails for unknown reasons, also
|
||||
;; on different distributions (see:
|
||||
;; https://gitlab.gnome.org/GNOME/gtk/-/issues/4889).
|
||||
((" 'unaligned-offscreen',") ""))
|
||||
((" 'unaligned-offscreen',") "")
|
||||
;; This test, 'gtk:tools / validate', started failing for
|
||||
;; unknown reasons after updating mesa to 23.3.1 and xorgproto
|
||||
;; to 2023.2.
|
||||
((" 'validate',") ""))
|
||||
(substitute* "testsuite/reftests/meson.build"
|
||||
(("[ \t]*'label-wrap-justify.ui',") "")
|
||||
;; The inscription-markup.ui fails due to /etc/machine-id
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015, 2017, 2022 Christine Lemmer-Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
|
||||
|
@ -816,7 +816,8 @@ tables.")
|
|||
(base32
|
||||
"0wvdi4l58f9a5c9wi3cdc9l1bniscsixb6w2zj86mch7j7j814lc"))
|
||||
(patches
|
||||
(search-patches "guile-fibers-libevent-32-bit.patch"))))
|
||||
(search-patches "guile-fibers-libevent-32-bit.patch"
|
||||
"guile-fibers-libevent-timeout.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:make-flags
|
||||
|
@ -1839,6 +1840,33 @@ written in pure Scheme by using Guile's foreign function interface.")
|
|||
library}.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public guile-yamlpp
|
||||
(package
|
||||
(name "guile-yamlpp")
|
||||
(version "0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/yorgath/guile-yamlpp")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "14mlqi7hw7pi9scwk1g432issnqcn185pd8na2plijxq55cy0iq7"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list autoconf automake libtool pkg-config))
|
||||
(inputs (list guile-3.0 yaml-cpp))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUILE_EXTENSIONS_PATH")
|
||||
(files (list "lib/guile/3.0")))))
|
||||
(home-page "https://gitlab.com/yorgath/guile-yamlpp")
|
||||
(synopsis "Guile YAML reader/writer based on @code{yaml-cpp}")
|
||||
(description
|
||||
"A module for GNU Guile to read and write YAML files. It works using
|
||||
bindings to the @code{yaml-cpp} C++ library.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public guile-dbi
|
||||
(package
|
||||
(name "guile-dbi")
|
||||
|
@ -3565,6 +3593,80 @@ structures. This package re-uses the SRFI sample implementation.")
|
|||
;; contains ISC code from the SRFI sample implementation
|
||||
license:isc))))
|
||||
|
||||
(define-public guile-srfi-133
|
||||
(package
|
||||
(name "guile-srfi-133")
|
||||
(version "0.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/scheme-requests-for-implementation/srfi-133")
|
||||
(commit "db81a114cd3e23375f024baec15482614ec90453")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0a7srl72291yah0aj6rwddhj041v2spximhknjj7hczlparsrm7f"))))
|
||||
(build-system guile-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'move-create-and-delete-files
|
||||
(lambda _
|
||||
(rename-file "vectors" "srfi")
|
||||
(rename-file "srfi/vectors-test.scm" "srfi/srfi-test.scm")
|
||||
(rename-file "srfi/vectors-impl.scm" "srfi/srfi-impl.scm")
|
||||
(with-output-to-file "srfi/srfi-133.scm"
|
||||
(lambda ()
|
||||
(display "(define-module (srfi srfi-133)
|
||||
#:replace (;; Constructors
|
||||
vector-copy
|
||||
|
||||
;; Mutators
|
||||
vector-fill! vector-copy!
|
||||
|
||||
;; Conversion
|
||||
vector->list list->vector)
|
||||
#:export (;; Constructors
|
||||
vector-unfold vector-unfold-right vector-reverse-copy
|
||||
vector-append vector-concatenate vector-append-subvectors
|
||||
|
||||
;; Predicates
|
||||
vector-empty? vector=
|
||||
|
||||
;; Iteration
|
||||
vector-fold vector-fold-right vector-map vector-map!
|
||||
vector-for-each vector-count vector-cumulate
|
||||
|
||||
;; Searching
|
||||
vector-index vector-index-right vector-skip vector-skip-right
|
||||
vector-binary-search vector-any vector-every vector-partition
|
||||
|
||||
;; Mutators
|
||||
vector-swap! vector-reverse!
|
||||
vector-reverse-copy! vector-unfold! vector-unfold-right!
|
||||
|
||||
;; Conversion
|
||||
reverse-vector->list reverse-list->vector
|
||||
vector->string string->vector))
|
||||
|
||||
(include \"srfi-impl.scm\")")))
|
||||
(for-each (lambda (filename)
|
||||
(delete-file filename))
|
||||
'("tests/run.scm"
|
||||
"srfi/vectors.sld"
|
||||
"srfi/vectors.scm")))))))
|
||||
(native-inputs
|
||||
(list guile-3.0))
|
||||
(home-page "https://github.com/scheme-requests-for-implementation/srfi-133")
|
||||
(synopsis "R7RS-compatible vector library for Guile")
|
||||
(description
|
||||
"This package provides a Guile implementation of
|
||||
@uref{https://srfi.schemers.org/srfi-133/srfi-133.html, SRFI-133}, a
|
||||
comprehensive library of vector operations.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public guile-srfi-145
|
||||
(package
|
||||
(name "guile-srfi-145")
|
||||
|
@ -3766,6 +3868,56 @@ Either represents the concept of values which are either correct (Right)
|
|||
or errors (Left).")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public guile-srfi-232
|
||||
(package
|
||||
(name "guile-srfi-232")
|
||||
(version "0.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/scheme-requests-for-implementation/srfi-232")
|
||||
(commit "c3f580d220778cd71492aba4fdd0c7040968e705")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0lp4zcqjjj6hwfh3ix71wak1nffgg4npzsg7cdxfn9hf6iwf9xby"))))
|
||||
(build-system guile-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'move-and-delete-things
|
||||
(lambda _
|
||||
(let* ((srfi-directory (string-append #$output "/srfi")))
|
||||
(mkdir-p "srfi")
|
||||
(with-output-to-file "srfi/srfi-232.scm"
|
||||
(lambda ()
|
||||
(display "(define-library (srfi srfi-232)
|
||||
(export curried define-curried)
|
||||
(import (only (guile) import)
|
||||
(scheme base))
|
||||
(include \"../srfi-232.scm\"))")))
|
||||
(for-each (lambda (filename)
|
||||
(delete-file filename))
|
||||
'("test-body.scm"
|
||||
"test-chibi.scm"
|
||||
"test-srfi-64.scm"))))))))
|
||||
(native-inputs
|
||||
(list guile-3.0))
|
||||
(home-page "https://github.com/scheme-requests-for-implementation/srfi-232")
|
||||
(synopsis "Flexible curried procedures")
|
||||
(description
|
||||
" This package provides an implementation of
|
||||
@uref{https://srfi.schemers.org/srfi-232/srfi-232.html, SRFI-232}, which
|
||||
describes @code{curried}, a variant of @code{lambda} that creates true curried
|
||||
procedures which also behave just like ordinary Scheme procedures. They can
|
||||
be applied to their arguments one by one, all at once, or anywhere in between,
|
||||
without any novel syntax. @code{curried} also supports nullary and variadic
|
||||
procedures, and procedures created with it have predictable behavior when
|
||||
applied to surplus arguments.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public emacsy
|
||||
(package
|
||||
(name "emacsy")
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
|
||||
;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -38,6 +38,7 @@
|
|||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages libcanberra)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages markup)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
|
@ -54,6 +55,7 @@
|
|||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages vulkan)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages webkit)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xiph)
|
||||
|
@ -68,307 +70,33 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
|
||||
(define %jami-version "20230323.0")
|
||||
;;; We use nightlies as stable versions are a bit far in-between, and often
|
||||
;;; have bugs anyway. When the nightly version change, do not forget to
|
||||
;;; retrieve the associated daemon submodule commit and update it in
|
||||
;;; %jami-daemon-commit variable below.
|
||||
|
||||
(define %jami-sources
|
||||
;; Return an origin object of the tarball release sources archive of the
|
||||
;; Jami project.
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dl.jami.net/release/tarballs/jami-"
|
||||
%jami-version ".tar.gz"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete multiple MiBs of bundled tarballs. The daemon/contrib
|
||||
;; directory contains the custom patches for pjproject and other
|
||||
;; libraries used by Jami.
|
||||
'(delete-file-recursively "daemon/contrib/tarballs"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vjsjr37cb87j9hqbmipyxn4877k1wn3l0vzca3l3ldgknglz7v2"))
|
||||
(patches (search-patches "jami-disable-integration-tests.patch"
|
||||
"jami-libjami-headers-search.patch"))))
|
||||
|
||||
;; Jami maintains a set of patches for some key dependencies (currently
|
||||
;; pjproject and ffmpeg) of Jami that haven't yet been integrated upstream.
|
||||
;; This procedure simplifies the process of applying them.
|
||||
(define jami-apply-custom-patches
|
||||
#~(lambda* (#:key dep-name patches)
|
||||
(let ((patches-directory "patches"))
|
||||
(mkdir-p patches-directory)
|
||||
(invoke "tar" "-xvf" #$%jami-sources
|
||||
"-C" patches-directory
|
||||
"--strip-components=5"
|
||||
"--wildcards"
|
||||
(string-append "jami-*/daemon/contrib/src/" dep-name))
|
||||
(for-each (lambda (f)
|
||||
(invoke "patch" "--force" "--ignore-whitespace" "-p1" "-i"
|
||||
(string-append patches-directory "/" f ".patch")))
|
||||
patches))))
|
||||
|
||||
(define-public pjproject-jami
|
||||
(let ((commit "e4b83585a0bdf1523e808a4fc1946ec82ac733d0")
|
||||
(revision "3"))
|
||||
(package
|
||||
(inherit pjproject)
|
||||
(name "pjproject-jami")
|
||||
(version (git-version "2.12" revision commit))
|
||||
(source (origin
|
||||
(inherit (package-source pjproject))
|
||||
;; The Jami development team regularly issues patches to
|
||||
;; pjproject to extend the its functionality and fix bugs;
|
||||
;; they are submitted for inclusion upstream but larger
|
||||
;; patches take time to be reviewed and merged, hence this
|
||||
;; forked repository.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/savoirfairelinux/pjproject")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0gky5idyyqxhqk959lzys5l7x1i925db773lfdpvxxmkmfizdq21"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments pjproject)
|
||||
((#:phases phases '%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'apply-patches
|
||||
(lambda _
|
||||
(#$jami-apply-custom-patches
|
||||
#:dep-name "pjproject"
|
||||
#:patches
|
||||
;; This adds a config_site.h configuration file that sets
|
||||
;; constants such as PJ_ICE_MAX_CAND that cannot be
|
||||
;; configured at build time.
|
||||
'("0009-add-config-site")))))))))))
|
||||
|
||||
;; The following variables are configure flags used by ffmpeg-jami. They're
|
||||
;; from the jami/daemon/contrib/src/ffmpeg/rules.mak file. We try to keep it
|
||||
;; as close to the official Jami package as possible, to provide all the
|
||||
;; codecs and extra features that are expected (see:
|
||||
;; https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/rules.mak).
|
||||
;; An exception are the ffnvcodec-related switches, which is not packaged in
|
||||
;; Guix and would not work with Mesa.
|
||||
(define %ffmpeg-default-configure-flags
|
||||
'("--disable-everything"
|
||||
"--enable-zlib"
|
||||
"--enable-gpl"
|
||||
"--enable-swscale"
|
||||
"--enable-bsfs"
|
||||
"--disable-filters"
|
||||
"--disable-programs"
|
||||
"--disable-postproc"
|
||||
"--disable-protocols"
|
||||
"--enable-protocol=crypto"
|
||||
"--enable-protocol=file"
|
||||
"--enable-protocol=rtp"
|
||||
"--enable-protocol=srtp"
|
||||
"--enable-protocol=tcp"
|
||||
"--enable-protocol=udp"
|
||||
"--enable-protocol=unix"
|
||||
"--enable-protocol=pipe"
|
||||
|
||||
;; Enable muxers/demuxers.
|
||||
"--disable-demuxers"
|
||||
"--disable-muxers"
|
||||
"--enable-muxer=rtp"
|
||||
"--enable-muxer=g722"
|
||||
"--enable-muxer=g726"
|
||||
"--enable-muxer=g726le"
|
||||
"--enable-muxer=h263"
|
||||
"--enable-muxer=h264"
|
||||
"--enable-muxer=hevc"
|
||||
"--enable-muxer=matroska"
|
||||
"--enable-muxer=wav"
|
||||
"--enable-muxer=webm"
|
||||
"--enable-muxer=ogg"
|
||||
"--enable-muxer=pcm_s16be"
|
||||
"--enable-muxer=pcm_s16le"
|
||||
"--enable-demuxer=rtp"
|
||||
"--enable-demuxer=mjpeg"
|
||||
"--enable-demuxer=mjpeg_2000"
|
||||
"--enable-demuxer=mpegvideo"
|
||||
"--enable-demuxer=gif"
|
||||
"--enable-demuxer=image_jpeg_pipe"
|
||||
"--enable-demuxer=image_png_pipe"
|
||||
"--enable-demuxer=image_webp_pipe"
|
||||
"--enable-demuxer=matroska"
|
||||
"--enable-demuxer=m4v"
|
||||
"--enable-demuxer=mp3"
|
||||
"--enable-demuxer=ogg"
|
||||
"--enable-demuxer=flac"
|
||||
"--enable-demuxer=wav"
|
||||
"--enable-demuxer=ac3"
|
||||
"--enable-demuxer=g722"
|
||||
"--enable-demuxer=g723_1"
|
||||
"--enable-demuxer=g726"
|
||||
"--enable-demuxer=g726le"
|
||||
"--enable-demuxer=pcm_mulaw"
|
||||
"--enable-demuxer=pcm_alaw"
|
||||
"--enable-demuxer=pcm_s16be"
|
||||
"--enable-demuxer=pcm_s16le"
|
||||
"--enable-demuxer=h263"
|
||||
"--enable-demuxer=h264"
|
||||
"--enable-demuxer=hevc"
|
||||
|
||||
;; Enable parsers.
|
||||
"--enable-parser=h263"
|
||||
"--enable-parser=h264"
|
||||
"--enable-parser=hevc"
|
||||
"--enable-parser=mpeg4video"
|
||||
"--enable-parser=vp8"
|
||||
"--enable-parser=vp9"
|
||||
"--enable-parser=opus"
|
||||
|
||||
;; Encoders/decoders.
|
||||
"--enable-encoder=adpcm_g722"
|
||||
"--enable-decoder=adpcm_g722"
|
||||
"--enable-encoder=adpcm_g726"
|
||||
"--enable-decoder=adpcm_g726"
|
||||
"--enable-encoder=adpcm_g726le"
|
||||
"--enable-decoder=adpcm_g726le"
|
||||
"--enable-decoder=g729"
|
||||
"--enable-encoder=g723_1"
|
||||
"--enable-decoder=g723_1"
|
||||
"--enable-encoder=rawvideo"
|
||||
"--enable-decoder=rawvideo"
|
||||
"--enable-encoder=libx264"
|
||||
"--enable-decoder=h264"
|
||||
"--enable-encoder=pcm_alaw"
|
||||
"--enable-decoder=pcm_alaw"
|
||||
"--enable-encoder=pcm_mulaw"
|
||||
"--enable-decoder=pcm_mulaw"
|
||||
"--enable-encoder=mpeg4"
|
||||
"--enable-decoder=mpeg4"
|
||||
"--enable-encoder=libvpx_vp8"
|
||||
"--enable-decoder=vp8"
|
||||
"--enable-decoder=vp9"
|
||||
"--enable-encoder=h263"
|
||||
"--enable-encoder=h263p"
|
||||
"--enable-decoder=h263"
|
||||
"--enable-encoder=mjpeg"
|
||||
"--enable-decoder=mjpeg"
|
||||
"--enable-decoder=mjpegb"
|
||||
"--enable-libspeex"
|
||||
"--enable-libopus"
|
||||
"--enable-libvpx"
|
||||
"--enable-libx264"
|
||||
"--enable-encoder=libspeex"
|
||||
"--enable-decoder=libspeex"
|
||||
"--enable-encoder=libopus"
|
||||
"--enable-decoder=libopus"
|
||||
|
||||
;; Encoders/decoders for ringtones and audio streaming.
|
||||
"--enable-decoder=flac"
|
||||
"--enable-decoder=vorbis"
|
||||
"--enable-decoder=aac"
|
||||
"--enable-decoder=ac3"
|
||||
"--enable-decoder=eac3"
|
||||
"--enable-decoder=mp3"
|
||||
"--enable-decoder=pcm_u24le"
|
||||
"--enable-decoder=pcm_u32le"
|
||||
"--enable-decoder=pcm_u8"
|
||||
"--enable-decoder=pcm_f16le"
|
||||
"--enable-decoder=pcm_f32le"
|
||||
"--enable-decoder=pcm_f64le"
|
||||
"--enable-decoder=pcm_s16le"
|
||||
"--enable-decoder=pcm_s24le"
|
||||
"--enable-decoder=pcm_s32le"
|
||||
"--enable-decoder=pcm_s64le"
|
||||
"--enable-decoder=pcm_u16le"
|
||||
"--enable-encoder=pcm_u8"
|
||||
"--enable-encoder=pcm_f32le"
|
||||
"--enable-encoder=pcm_f64le"
|
||||
"--enable-encoder=pcm_s16le"
|
||||
"--enable-encoder=pcm_s32le"
|
||||
"--enable-encoder=pcm_s64le"
|
||||
|
||||
;; Encoders/decoders for images.
|
||||
"--enable-encoder=gif"
|
||||
"--enable-decoder=gif"
|
||||
"--enable-encoder=jpegls"
|
||||
"--enable-decoder=jpegls"
|
||||
"--enable-encoder=ljpeg"
|
||||
"--enable-decoder=jpeg2000"
|
||||
"--enable-encoder=png"
|
||||
"--enable-decoder=png"
|
||||
"--enable-encoder=bmp"
|
||||
"--enable-decoder=bmp"
|
||||
"--enable-encoder=tiff"
|
||||
"--enable-decoder=tiff"
|
||||
|
||||
;; Filters.
|
||||
"--enable-filter=scale"
|
||||
"--enable-filter=overlay"
|
||||
"--enable-filter=amix"
|
||||
"--enable-filter=amerge"
|
||||
"--enable-filter=aresample"
|
||||
"--enable-filter=format"
|
||||
"--enable-filter=aformat"
|
||||
"--enable-filter=fps"
|
||||
"--enable-filter=transpose"
|
||||
"--enable-filter=pad"))
|
||||
|
||||
(define %ffmpeg-linux-configure-flags
|
||||
'("--enable-pic"
|
||||
"--extra-cxxflags=-fPIC"
|
||||
"--extra-cflags=-fPIC"
|
||||
"--target-os=linux"
|
||||
"--enable-indev=v4l2"
|
||||
"--enable-indev=xcbgrab"
|
||||
"--enable-vdpau"
|
||||
"--enable-hwaccel=h264_vdpau"
|
||||
"--enable-hwaccel=mpeg4_vdpau"
|
||||
"--enable-vaapi"
|
||||
"--enable-hwaccel=h264_vaapi"
|
||||
"--enable-hwaccel=mpeg4_vaapi"
|
||||
"--enable-hwaccel=h263_vaapi"
|
||||
"--enable-hwaccel=vp8_vaapi"
|
||||
"--enable-hwaccel=mjpeg_vaapi"
|
||||
"--enable-hwaccel=hevc_vaapi"
|
||||
"--enable-encoder=h264_vaapi"
|
||||
"--enable-encoder=vp8_vaapi"
|
||||
"--enable-encoder=mjpeg_vaapi"
|
||||
"--enable-encoder=hevc_vaapi"))
|
||||
|
||||
(define (ffmpeg-compose-configure-flags)
|
||||
"Compose the configure flag lists of ffmpeg-jami."
|
||||
#~(append '#$%ffmpeg-default-configure-flags
|
||||
(if (string-contains #$(%current-system) "linux")
|
||||
'#$%ffmpeg-linux-configure-flags
|
||||
'())))
|
||||
|
||||
(define-public ffmpeg-jami
|
||||
(package
|
||||
(inherit ffmpeg)
|
||||
(name "ffmpeg-jami")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg)
|
||||
((#:configure-flags _ '())
|
||||
#~(cons* "--disable-static"
|
||||
"--enable-shared"
|
||||
"--disable-stripping"
|
||||
#$(ffmpeg-compose-configure-flags)))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'apply-patches
|
||||
(lambda _
|
||||
;; These patches come from:
|
||||
;; "jami-project/daemon/contrib/src/ffmpeg/rules.mak".
|
||||
(#$jami-apply-custom-patches
|
||||
#:dep-name "ffmpeg"
|
||||
#:patches '("remove-mjpeg-log"
|
||||
"change-RTCP-ratio"
|
||||
"rtp_ext_abs_send_time"
|
||||
"libopusdec-enable-FEC"
|
||||
"libopusenc-reload-packet-loss-at-encode"
|
||||
"screen-sharing-x11-fix"))))))))))
|
||||
;;; When updating Jami, make sure that the patches used for ffmpeg-jami are up
|
||||
;;; to date with those listed in
|
||||
;;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/rules.mak>.
|
||||
(define %jami-nightly-version "20231222.2")
|
||||
(define %jami-daemon-commit "317b7317dcda4afb733ddb9bd5b450d4635941ae")
|
||||
|
||||
(define-public libjami
|
||||
(package
|
||||
(name "libjami")
|
||||
(version %jami-version)
|
||||
(source %jami-sources)
|
||||
(version %jami-nightly-version)
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://review.jami.net/jami-daemon")
|
||||
(commit %jami-daemon-commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"16qx50xz2mkw894irjsvql82iw7wpc5xncxpvw1nqd2sxhgfiq0i"))
|
||||
(patches (search-patches
|
||||
"libjami-ac-config-files.patch"
|
||||
"jami-disable-integration-tests.patch"))))
|
||||
(outputs '("out" "bin" "debug")) ;"bin' contains jamid
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -378,13 +106,25 @@
|
|||
;; user scripts too, until more general purpose Scheme bindings are made
|
||||
;; available (see: test/agent/README.md).
|
||||
#:configure-flags #~(list "--enable-agent" "--enable-debug")
|
||||
#:make-flags #~(list "V=1") ;build verbosely
|
||||
#:make-flags
|
||||
#~(list
|
||||
"V=1" ;build verbosely
|
||||
;; The 'ut_media_player' is known to fail (see:
|
||||
;; https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/935).
|
||||
"XFAIL_TESTS=ut_media_player")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory/maybe
|
||||
(lambda _
|
||||
;; Allow building from the tarball or a git checkout.
|
||||
(false-if-exception (chdir "daemon"))))
|
||||
(add-after 'change-directory/maybe 'extend-scheduler-test-timeout
|
||||
(lambda _
|
||||
;; The ut_scheduler unit test may fail on slower machines (see:
|
||||
;; https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/939).
|
||||
(substitute* "test/unitTest/scheduler.cpp"
|
||||
(("std::chrono::seconds\\(3)")
|
||||
"std::chrono::seconds(30)"))))
|
||||
(add-after 'install 'delete-static-libraries
|
||||
;; Remove 100+ MiB of static libraries. "--disable-static" cannot
|
||||
;; be used as the test suite requires access to private symbols
|
||||
|
@ -409,14 +149,14 @@
|
|||
(inputs
|
||||
(list alsa-lib
|
||||
asio
|
||||
dbus-c++
|
||||
dhtnet
|
||||
eudev
|
||||
ffmpeg-jami
|
||||
guile-3.0
|
||||
jack-1
|
||||
jsoncpp
|
||||
libarchive
|
||||
libgit2
|
||||
libgit2-1.6
|
||||
libnatpmp
|
||||
libsecp256k1
|
||||
libupnp
|
||||
|
@ -424,6 +164,7 @@
|
|||
openssl
|
||||
pjproject-jami
|
||||
pulseaudio
|
||||
sdbus-c++
|
||||
speex
|
||||
speexdsp
|
||||
webrtc-audio-processing
|
||||
|
@ -447,18 +188,71 @@ service definitions.")
|
|||
(home-page "https://jami.net/")
|
||||
(license license:gpl3+)))
|
||||
|
||||
;;; Private package; this is used in source form: the project build system has
|
||||
;;; no install target.
|
||||
(define sortfilterproxymodel
|
||||
;; Use the latest commit available from the 'qt-6' branch.
|
||||
(let ((commit "6cc21205dbf36640613f0e6e67b2b13b1855c377")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sortfilterproxymodel")
|
||||
;; There are no recent release tag; the module version defined in the
|
||||
;; source is used (see:
|
||||
;; https://github.com/oKcerG/SortFilterProxyModel/blob/
|
||||
;; 5a930885b7ea99f7f41c25fce08bf8006ee54e3f/
|
||||
;; qqmlsortfilterproxymodel.cpp#L574C15-L574C15).
|
||||
(version (git-version "0.2" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
;; The upstream is
|
||||
;; https://github.com/oKcerG/SortFilterProxyModel, but
|
||||
;; it lacks Qt 6 support, so use this fork, which is the
|
||||
;; one used by Jami.
|
||||
(url "https://github.com/atraczyk/SortFilterProxyModel")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1n54jkimr3a818i3w7w3lnbqn47x72nnr5xi9vk0mdnbwri3viwy"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list #:qtbase qtbase ;use Qt 6
|
||||
#:tests? #f ;no test suite
|
||||
#:configure-flags #~(list "BUILD_SFPM_PIC=ON")))
|
||||
(inputs (list qtdeclarative))
|
||||
(home-page "https://github.com/oKcerG/SortFilterProxyModel")
|
||||
(synopsis "Improved QSortFilterProxyModel implementation for QML")
|
||||
(description "SortFilterProxyModel is an implementation of
|
||||
QSortFilterProxyModel conveniently exposed for QML.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public jami
|
||||
(package
|
||||
(name "jami")
|
||||
(version %jami-version)
|
||||
(source %jami-sources)
|
||||
(version %jami-nightly-version)
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://review.jami.net/jami-client-qt")
|
||||
(commit (string-append "nightly/" %jami-nightly-version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ypbbyqmq6x9zq4sr550k38v8pg7yq685bmwqmigqzhqgfazcg97"))
|
||||
(patches (search-patches
|
||||
"jami-libjami-headers-search.patch"
|
||||
"jami-qml-tests-discovery.patch"
|
||||
"jami-skip-tests-requiring-internet.patch"
|
||||
"jami-unbundle-dependencies.patch"))))
|
||||
(build-system qt-build-system)
|
||||
(outputs '("out" "debug"))
|
||||
(arguments
|
||||
(list
|
||||
#:qtbase qtbase
|
||||
#:configure-flags
|
||||
#~(list "-DENABLE_TESTS=ON"
|
||||
#~(list "-DWITH_DAEMON_SUBMODULE=OFF"
|
||||
"-DENABLE_TESTS=ON"
|
||||
;; Disable the webengine since it grows the closure size by
|
||||
;; about 450 MiB and requires more resources.
|
||||
"-DWITH_WEBENGINE=OFF"
|
||||
|
@ -467,11 +261,7 @@ service definitions.")
|
|||
"-DENABLE_LIBWRAP=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory/maybe
|
||||
(lambda _
|
||||
;; Allow building from the tarball or a git checkout.
|
||||
(false-if-exception (chdir "client-qt"))))
|
||||
(add-after 'change-directory/maybe 'fix-version-string
|
||||
(add-after 'unpack 'fix-version-string
|
||||
(lambda _
|
||||
(substitute* "src/app/version.h"
|
||||
(("VERSION_STRING")
|
||||
|
@ -480,6 +270,17 @@ service definitions.")
|
|||
(string-append "const char VERSION_STRING[] = \""
|
||||
#$version "\";\n"
|
||||
anchor)))))
|
||||
(add-after 'unpack 'copy-3rdparty-source-dependencies
|
||||
(lambda _
|
||||
(copy-recursively #$(package-source sortfilterproxymodel)
|
||||
"3rdparty/SortFilterProxyModel")))
|
||||
(add-before 'configure 'fake-x11-environment
|
||||
(lambda _
|
||||
;; This works around the lack of configuration for the X11
|
||||
;; push-to-talk feature, which is auto-detected via the
|
||||
;; XDG_SESSION_TYPE environment variable (see:
|
||||
;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1504).
|
||||
(setenv "XDG_SESSION_TYPE" "x11")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
|
@ -488,22 +289,13 @@ service definitions.")
|
|||
;; The tests require a writable HOME.
|
||||
(setenv "HOME" "/tmp")
|
||||
|
||||
(display "Running unittests...\n")
|
||||
(invoke "tests/unittests" "-mutejamid")
|
||||
(display "Running unit tests...\n")
|
||||
(invoke "tests/unit_tests")
|
||||
|
||||
;; XXX: There are currently multiple failures with the
|
||||
;; functional tests (see:
|
||||
;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/883),
|
||||
;; so the code below is disabled for now.
|
||||
;;
|
||||
;; XXX: The QML test suite fails, exiting with status code 1 (see:
|
||||
;; https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/883).
|
||||
;; (display "Running functional tests...\n")
|
||||
;; ;; This is to allow building from the source tarball or
|
||||
;; ;; directly from the git repository.
|
||||
;; (let ((tests-qml (if (file-exists? "../client-qt/tests")
|
||||
;; "../client-qt/tests/qml"
|
||||
;; "../tests/qml")))
|
||||
;; (invoke "tests/qml_tests" "-mutejamid"
|
||||
;; "-input" tests-qml))
|
||||
;; (invoke "tests/qml_tests")
|
||||
))))))
|
||||
(native-inputs
|
||||
(list googletest
|
||||
|
@ -518,6 +310,7 @@ service definitions.")
|
|||
libnotify
|
||||
libxcb
|
||||
libxkbcommon
|
||||
md4c
|
||||
network-manager
|
||||
qrencode
|
||||
qt5compat
|
||||
|
@ -526,6 +319,7 @@ service definitions.")
|
|||
qtnetworkauth
|
||||
qtpositioning
|
||||
qtsvg
|
||||
tidy-html ;used by src/app/htmlparser.h
|
||||
vulkan-loader))
|
||||
(home-page "https://jami.net")
|
||||
(synopsis "Qt Jami client")
|
||||
|
@ -538,8 +332,8 @@ P2P-DHT.")
|
|||
|
||||
(define-public jami-docs
|
||||
;; There aren't any tags, so use the latest commit.
|
||||
(let ((revision "1")
|
||||
(commit "ff466ebadb9b99a1672a814126793de670c3099b"))
|
||||
(let ((revision "2")
|
||||
(commit "a48997de84cc4933bd111fa93fbf6a58189b166d"))
|
||||
(package
|
||||
(name "jami-docs")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
|
@ -551,7 +345,7 @@ P2P-DHT.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1n8a9dk8mi617rk3ycz5jrzbwv9ybfynlci5faz1klckx0aqdf6q"))))
|
||||
"0a1kcflvk39aag2vk83cn4m0ifkgb3gvwkr8pbbvf0hcd2cj2j31"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -21,6 +21,7 @@
|
|||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public libsigsegv
|
||||
|
@ -40,21 +41,15 @@
|
|||
(arguments
|
||||
`(;; The shared library isn't built by default but some packages need it.
|
||||
#:configure-flags '("--enable-shared")
|
||||
|
||||
;; On MIPS, work around this error:
|
||||
;;
|
||||
;; In file included from fault-linux-mips-old.h:18:0,
|
||||
;; [...]
|
||||
;; linux-libre-headers-cross-mips64el-linux-gnu-3.3.8/include/asm/sigcontext.h:57:8: error: redefinition of 'struct sigcontext'
|
||||
,@(if (string-contains (or (%current-target-system) (%current-system))
|
||||
"mips64el")
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-before 'configure 'patch-mips-old-h
|
||||
(lambda _
|
||||
(substitute* "src/fault-linux-mips-old.h"
|
||||
(("#include <asm/sigcontext\\.h>") ""))
|
||||
#t))))
|
||||
'())))
|
||||
;; On some architectures 'struct sigcontext' gets redefined from
|
||||
;; %linux-libre-headers/include/asm/sigcontext.h
|
||||
,@(cond ((%current-target-system)
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-before 'configure 'patch-asm-sigcontext-h
|
||||
(lambda _
|
||||
(substitute* (find-files "src" "^fault-.*-old\\.h$")
|
||||
(("#include <asm/sigcontext\\.h>") "")))))))
|
||||
(else '()))))
|
||||
(description
|
||||
"GNU libsigsegv is a library to handle page faults, which occur when a
|
||||
program tries to access an unavailable region of memory, in user mode. By
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2023 dan <i@dan.games>
|
||||
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
|
||||
;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
|
||||
;;; Copyright © 2023, 2024 Wilko Meyer <w@wmeyer.eu>
|
||||
;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -494,17 +494,17 @@ 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.6-version "6.6.8")
|
||||
(define-public linux-libre-6.6-version "6.6.10")
|
||||
(define-public linux-libre-6.6-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.6
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-6.6-version
|
||||
linux-libre-6.6-gnu-revision
|
||||
(base32 "0g8m0rb15b0231dv8ji456s75a67szsaim71may3yprplycz6pav")
|
||||
(base32 "1hg3ck1j8288fhlhcvhgs1zzwh3i62nfvphw7x3vsaqr75kiwbjp")))
|
||||
(base32 "0kavbby960k7wg355p3hjb9v1c4gnk8dv3lkfhpz44ayhv7kihg5")))
|
||||
(define-public linux-libre-6.6-pristine-source
|
||||
(let ((version linux-libre-6.6-version)
|
||||
(hash (base32 "05i4ayj9wyjkd1s8ixx7bxwcyagqyx8rhj1zvbc3cjqyw4sc8djh")))
|
||||
(hash (base32 "0v2l0l90w7scv7bxkxxjgqnay0fjh678k9gdlgycgbh9q7j2grly")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.6)))
|
||||
|
@ -512,92 +512,92 @@ 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-6.1-version "6.1.69")
|
||||
(define-public linux-libre-6.1-version "6.1.71")
|
||||
(define-public linux-libre-6.1-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.1
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-6.1-version
|
||||
linux-libre-6.1-gnu-revision
|
||||
(base32 "1sf80f2i4vf888xjcn84ymn4w5ynn30ib9033zwmv7f09yvfhapy")
|
||||
(base32 "1hdibv43xbn1lv83i6qjgfmf1bvqxvq17fryfsq4r4sjgs9212js")))
|
||||
(base32 "1jg2v1nxd6i5x536vmd1l14xhpzrcimpmjfipb1zkrwil102y25f")))
|
||||
(define-public linux-libre-6.1-pristine-source
|
||||
(let ((version linux-libre-6.1-version)
|
||||
(hash (base32 "0hdm28k49kmy9r96hckps0bvvaq9m06l72n8ih305rccs6a2cgby")))
|
||||
(hash (base32 "0hghnwsa282js9hy4krhdbgrb4khjzslr05zgvjx9zzragfp9xrd")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.1)))
|
||||
|
||||
(define-public linux-libre-5.15-version "5.15.145")
|
||||
(define-public linux-libre-5.15-version "5.15.146")
|
||||
(define-public linux-libre-5.15-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.15
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-5.15-version
|
||||
linux-libre-5.15-gnu-revision
|
||||
(base32 "18ac30kxg2mf2f6gk3p935hzhz2qs110jy4xwk21kblnnkskbxj8")
|
||||
(base32 "1idjrn2w8jrixj8ifkk1awxyyq5042nc4p2mld4rda96azlnp948")))
|
||||
(base32 "14pw0yl0yxdgcdp01rpi91ylil9irwzxfq04kfvn3gg2abaq37bn")))
|
||||
(define-public linux-libre-5.15-pristine-source
|
||||
(let ((version linux-libre-5.15-version)
|
||||
(hash (base32 "086nssif66s86wkixz4yb7xilz1k49g32l0ib28r8fjzc23rv95j")))
|
||||
(hash (base32 "14nijbspmzd4r38l8cpl4vn9dhawzcfnhyc0gnaxl2m8l9gpm02s")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.15)))
|
||||
|
||||
(define-public linux-libre-5.10-version "5.10.205")
|
||||
(define-public linux-libre-5.10-version "5.10.206")
|
||||
(define-public linux-libre-5.10-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.10
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-5.10-version
|
||||
linux-libre-5.10-gnu-revision
|
||||
(base32 "1b33rkn32b923025iiz4xzxiy8y5ii9j5qk4021mg575890rl4ch")
|
||||
(base32 "0xrrnmb5kcc5r21bdm24aq0fnkk1imn367c1cxlj78b6l6gigx4b")))
|
||||
(base32 "0zmmqj5gyiy2q81f199c29b14isfiqbvl87y72k14yy0q5398276")))
|
||||
(define-public linux-libre-5.10-pristine-source
|
||||
(let ((version linux-libre-5.10-version)
|
||||
(hash (base32 "0qw8g0h4k0b4dyvspbj51cwr68ihwjzsi2b2261ipy3l1nl1fln5")))
|
||||
(hash (base32 "0ns8qxcrxj9i76b93xcghl002l8vbkg7ksd435sikig62qr62gf4")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.10)))
|
||||
|
||||
(define-public linux-libre-5.4-version "5.4.265")
|
||||
(define-public linux-libre-5.4-version "5.4.266")
|
||||
(define-public linux-libre-5.4-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.4
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-5.4-version
|
||||
linux-libre-5.4-gnu-revision
|
||||
(base32 "0xg5cz82k2cb0ikxvwv1hp5c3h377jkb5sd6aszvsk7hnabhk62v")
|
||||
(base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1")))
|
||||
(base32 "08wn4rjrmi8asmdkg92xbbm6v0sw44kackp69agbw57zy6fp2zys")))
|
||||
(define-public linux-libre-5.4-pristine-source
|
||||
(let ((version linux-libre-5.4-version)
|
||||
(hash (base32 "05cvvwjiznn7hfd02qklklalg0chahvh5v18w64lcva6kzj9kbjd")))
|
||||
(hash (base32 "1dmcn9i3nvf1gldm1a32gnl5ybwbk2lizb3wa4gc06g7dxz2y1ys")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.4)))
|
||||
|
||||
(define-public linux-libre-4.19-version "4.19.303")
|
||||
(define-public linux-libre-4.19-version "4.19.304")
|
||||
(define-public linux-libre-4.19-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.19
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-4.19-version
|
||||
linux-libre-4.19-gnu-revision
|
||||
(base32 "0pjal2cc2f99cvw8r4icb4l24j41k48jkj6bqk7pcahzcgx33ycb")
|
||||
(base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl")))
|
||||
(base32 "07j33w4pq319gaypfsym6v0i2xqc5jagm47nxyy2010zn8k6y8kd")))
|
||||
(define-public linux-libre-4.19-pristine-source
|
||||
(let ((version linux-libre-4.19-version)
|
||||
(hash (base32 "0dlbl47xs7z4yf9cxbxqzd7zs1f9070jr6ck231wgppa6lwwwb82")))
|
||||
(hash (base32 "165mljr8v1cf4vf4a4b44hx089rprkssvi2azq5wbxxg3basbind")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.19)))
|
||||
|
||||
(define-public linux-libre-4.14-version "4.14.334")
|
||||
(define-public linux-libre-4.14-version "4.14.335")
|
||||
(define-public linux-libre-4.14-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.14
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-4.14-version
|
||||
linux-libre-4.14-gnu-revision
|
||||
(base32 "1vbgykwzf7j0yjqcwn747cfhwj0rgw3s9h627q94wb9a19x9p0fr")
|
||||
(base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd")))
|
||||
(base32 "1ir96bbhw77xw6lmsnh42gi130nnzjklpgfyd46pxmqckrpydcvx")))
|
||||
(define-public linux-libre-4.14-pristine-source
|
||||
(let ((version linux-libre-4.14-version)
|
||||
(hash (base32 "0iaaqdkszmfarvjfszc9rf7y9zsv3w82934xmvmzmsbiz86547ca")))
|
||||
(hash (base32 "0aa0xi1sn4rw9ichgmvxp0s9hsi6rfzhzd9wgbvzvc90md2qfs19")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.14)))
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
;;; Copyright © 2020-2023 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2021, 2022 Aurora <rind38@disroot.org>
|
||||
;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
|
||||
;;; Copyright © 2021, 2022, 2023 André A. Gomes <andremegafone@gmail.com>
|
||||
;;; Copyright © 2021-2024 André A. Gomes <andremegafone@gmail.com>
|
||||
;;; Copyright © 2021, 2022, 2023 Cage <cage-dev@twistfold.it>
|
||||
;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com>
|
||||
;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
|
||||
|
@ -6126,6 +6126,38 @@ BTCPay, Paypal, and Stripe.")
|
|||
(define-public ecl-lisp-pay
|
||||
(sbcl-package->ecl-package sbcl-lisp-pay))
|
||||
|
||||
(define-public sbcl-stripe
|
||||
(let ((commit "b59631d21d63e101de6eb96b56941471504ba644")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-stripe")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/atlas-engineer/stripe")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-stripe" version))
|
||||
(sha256
|
||||
(base32 "00sfq2f6dnpwa6pf7rgw5hazbwx4yf1g0jrkfz9h4kq5zyxwk1cy"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-dexador
|
||||
sbcl-golden-utils
|
||||
sbcl-local-time
|
||||
sbcl-yason))
|
||||
(home-page "https://github.com/atlas-engineer/stripe")
|
||||
(synopsis "Stripe payment API client for Common Lisp")
|
||||
(description "A client for the Stripe payment API.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public cl-stripe
|
||||
(sbcl-package->cl-source-package sbcl-stripe))
|
||||
|
||||
(define-public ecl-stripe
|
||||
(sbcl-package->ecl-package sbcl-stripe))
|
||||
|
||||
(define-public sbcl-drakma
|
||||
(package
|
||||
(name "sbcl-drakma")
|
||||
|
@ -26284,43 +26316,45 @@ extra features like type inference.")
|
|||
(sbcl-package->cl-source-package sbcl-nclasses))
|
||||
|
||||
(define-public sbcl-prompter
|
||||
(package
|
||||
(name "sbcl-prompter")
|
||||
(version "0.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/atlas-engineer/prompter")
|
||||
(commit version)))
|
||||
(file-name (git-file-name "cl-prompter" version))
|
||||
(sha256
|
||||
(base32
|
||||
"008bq36siza9qwmz6b1pvpm53lxmzryahnhy372l18gl3180in03"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list
|
||||
sbcl-alexandria
|
||||
sbcl-calispel
|
||||
sbcl-cl-containers
|
||||
sbcl-cl-str
|
||||
sbcl-closer-mop
|
||||
sbcl-lparallel
|
||||
sbcl-moptilities
|
||||
sbcl-nclasses
|
||||
sbcl-serapeum
|
||||
sbcl-trivial-package-local-nicknames))
|
||||
(native-inputs
|
||||
(list sbcl-lisp-unit2))
|
||||
(home-page "https://github.com/atlas-engineer/prompter")
|
||||
(synopsis "Live-narrowing, fuzzy-matching, extensible prompt framework")
|
||||
(description
|
||||
"This prompter library is heavily inspired by Emacs' minibuffer and
|
||||
(let ((commit "7890ed5d02e70aba01ceb964c6ee4f40776e7dc0")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-prompter")
|
||||
(version (git-version "0.1.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/atlas-engineer/prompter")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-prompter" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0r15a6cagyp5x8aqx92ln2anni737h73bdshkvpzrac04ajss4md"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list
|
||||
sbcl-alexandria
|
||||
sbcl-calispel
|
||||
sbcl-cl-containers
|
||||
sbcl-cl-str
|
||||
sbcl-closer-mop
|
||||
sbcl-lparallel
|
||||
sbcl-moptilities
|
||||
sbcl-nclasses
|
||||
sbcl-serapeum
|
||||
sbcl-trivial-package-local-nicknames))
|
||||
(native-inputs
|
||||
(list sbcl-lisp-unit2))
|
||||
(home-page "https://github.com/atlas-engineer/prompter")
|
||||
(synopsis "Live-narrowing, fuzzy-matching, extensible prompt framework")
|
||||
(description
|
||||
"This prompter library is heavily inspired by Emacs' minibuffer and
|
||||
Helm (@url{https://emacs-helm.github.io/helm/}). It only deals with the
|
||||
backend side of things, it does not handle any display. Features include
|
||||
asynchronous suggestion computation, multiple sources, actions and resumable
|
||||
prompters.")
|
||||
(license license:bsd-3)))
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public cl-prompter
|
||||
(sbcl-package->cl-source-package sbcl-prompter))
|
||||
|
|
|
@ -1486,7 +1486,7 @@ includes a compiler as well as an interpreter.")
|
|||
|
||||
(define-public s7-bootstrap
|
||||
;; Need s7-bootstrap to build libc_s7.so (for the REPL) and run tests
|
||||
(let ((commit "a5b4bb49f8bcd7c33ae2366065fc8c254b734460") ;no releases
|
||||
(let ((commit "618de30e0f9851515724245e3ebbfa1be4de6906") ;no releases
|
||||
(revision "0"))
|
||||
(hidden-package
|
||||
(package
|
||||
|
@ -1500,7 +1500,7 @@ includes a compiler as well as an interpreter.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"03n1axdlypzmbgzrhlwfqwa1xiw36hi25j2hwc7vw77mz90cd9f8"))))
|
||||
"0kh1f49g24ppjpr16v1nc9lr7pvr5nzb82bpw8c6q8ll7pqalqaf"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;no tests in bootstrap
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
;;; Copyright © 2022 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
|
||||
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -2169,20 +2170,31 @@ using @code{clang-rename}.")))
|
|||
;; AMDGPU is needed by the vulkan drivers.
|
||||
#$(string-append "-DLLVM_TARGETS_TO_BUILD="
|
||||
(system->llvm-target) ";AMDGPU")
|
||||
#$@(if (%current-target-system)
|
||||
'("-DBUILD_SHARED_LIBS:BOOL=TRUE"
|
||||
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE")
|
||||
'())
|
||||
;; Skipping tools and utils decreases the output by ~100 MiB.
|
||||
"-DLLVM_BUILD_TOOLS=NO"
|
||||
(remove (cut string-match
|
||||
"-DLLVM_(TARGETS_TO_BUILD|INSTALL_UTILS).*" <>)
|
||||
(remove
|
||||
(cut string-match
|
||||
#$(if (%current-target-system)
|
||||
"-DLLVM_(LINK_LLVM_DYLIB|TARGETS_TO_BUILD|INSTALL_UTILS).*"
|
||||
"-DLLVM_(TARGETS_TO_BUILD|INSTALL_UTILS).*") <>)
|
||||
#$cf)))
|
||||
((#:phases phases '%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'install 'delete-static-libraries
|
||||
;; If these are just relocated then llvm-config can't find them.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(for-each delete-file
|
||||
(find-files (string-append
|
||||
(assoc-ref outputs "out") "/lib")
|
||||
"\\.a$"))))
|
||||
#$@(if (%current-target-system)
|
||||
'()
|
||||
#~((add-after 'install 'delete-static-libraries
|
||||
;; If these are just relocated then llvm-config
|
||||
;; can't find them.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(for-each delete-file
|
||||
(find-files
|
||||
(string-append
|
||||
(assoc-ref outputs "out") "/lib")
|
||||
"\\.a$"))))))
|
||||
;; llvm-config is how mesa and others find the various
|
||||
;; libraries and headers they use.
|
||||
(add-after 'install 'build-and-install-llvm-config
|
||||
|
|
|
@ -232,7 +232,7 @@ output in multiple windows in a terminal.")
|
|||
(list "-DSPDLOG_BUILD_BENCH=OFF"
|
||||
"-DSPDLOG_BUILD_SHARED=ON"
|
||||
"-DSPDLOG_BUILD_TESTS=ON")))
|
||||
(native-inputs (list catch2-3.3))
|
||||
(native-inputs (list catch2-3))
|
||||
(home-page "https://github.com/gabime/spdlog")
|
||||
(synopsis "Fast C++ logging library")
|
||||
(description "Spdlog is a very fast header-only/compiled C++ logging
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015-2024 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2020-2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
|
@ -21,6 +21,7 @@
|
|||
;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe>
|
||||
;;; Copyright © 2023 Navid Afkhami <navid.afkhami@mdc-berlin.de>
|
||||
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -812,6 +813,94 @@ SentencePiece allows us to make a purely end-to-end system that does not
|
|||
depend on language-specific pre- or post-processing.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-hopcroftkarp
|
||||
;; This commit fixes a broken import, but has not been released to PyPI.
|
||||
(let ((commit "2846e1dd3265d95d2bddb0cf4190b830cbb4efe6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "python-hopcroftkarp")
|
||||
(version (git-version "1.2.5" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sofiatolaosebikan/hopcroftkarp")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "018ilrp41fcclmb5lsml3aijwbmhbq3m7wy65hr1fryj0avic8fr"))))
|
||||
(build-system pyproject-build-system)
|
||||
(home-page "https://github.com/sofiatolaosebikan/hopcroftkarp")
|
||||
(synopsis "Implementation of the Hopcroft-Karp algorithm")
|
||||
(description
|
||||
"This package implements the Hopcroft-Karp algorithm, producing a maximum
|
||||
cardinality matching from a bipartite graph.")
|
||||
(license license:gpl3))))
|
||||
|
||||
(define-public python-persim
|
||||
(package
|
||||
(name "python-persim")
|
||||
(version "0.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "persim" version))
|
||||
(sha256
|
||||
(base32 "0q8wfakx8q4h3ryvw8cba0v6z7xn9139qkrzs3mi1ggyzacnx9d7"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-deprecated
|
||||
python-hopcroftkarp
|
||||
python-joblib
|
||||
python-matplotlib
|
||||
python-numpy
|
||||
python-scikit-learn
|
||||
python-scipy))
|
||||
(native-inputs (list python-pytest python-pytest-cov))
|
||||
(home-page "https://persim.scikit-tda.org")
|
||||
(synopsis "Tools for analyzing persistence diagrams in Python")
|
||||
(description
|
||||
"This package includes a variety of tools used to analyze persistence diagrams.
|
||||
It currently houses implementations of
|
||||
@itemize
|
||||
@item Persistence images
|
||||
@item Persistence landscapes
|
||||
@item Bottleneck distance
|
||||
@item Modified Gromov–Hausdorff distance
|
||||
@item Sliced Wasserstein kernel
|
||||
@item Heat kernel
|
||||
@item Diagram plotting
|
||||
@end itemize
|
||||
")
|
||||
(license license:expat))) ; MIT License
|
||||
|
||||
(define-public python-ripser
|
||||
(package
|
||||
(name "python-ripser")
|
||||
(version "0.6.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ripser" version))
|
||||
(sha256
|
||||
(base32 "1575nwsn6b29z7w1mjk23ri83bxq2b4ld979hpgm174642a3x6vs"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-numpy python-persim python-scikit-learn
|
||||
python-scipy))
|
||||
(native-inputs (list python-cython python-pytest))
|
||||
(home-page "https://ripser.scikit-tda.org")
|
||||
(synopsis "Persistent homology library for Python")
|
||||
(description
|
||||
"This package implements a variety of persistent homology algorithms. It
|
||||
provides an interface for
|
||||
@itemize
|
||||
@item computing persistence cohomology of sparse and dense data sets
|
||||
@item visualizing persistence diagrams
|
||||
@item computing lowerstar filtrations on images
|
||||
@item computing representative cochains
|
||||
@end itemize
|
||||
")
|
||||
(license license:expat))) ; MIT License
|
||||
|
||||
(define-public python-sacrebleu
|
||||
(package
|
||||
(name "python-sacrebleu")
|
||||
|
@ -1151,6 +1240,11 @@ in terms of new algorithms.")
|
|||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
;; Does this difference really matter?
|
||||
(substitute* "requirements.txt"
|
||||
(("3.20.1") "3.20.2"))))
|
||||
(add-before 'build 'pass-cmake-arguments
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Pass options to the CMake-based build process.
|
||||
|
@ -1235,7 +1329,13 @@ operators and standard data types.")
|
|||
'(begin
|
||||
(delete-file-recursively "third_party")
|
||||
(substitute* "onnx/backend/test/runner/__init__.py"
|
||||
(("urlretrieve\\(.*") "raise unittest.SkipTest('Skipping download')\n"))))))))
|
||||
(("urlretrieve\\(.*") "raise unittest.SkipTest('Skipping download')\n"))))))
|
||||
(arguments
|
||||
;; reuse build system tweaks
|
||||
(substitute-keyword-arguments (package-arguments onnx)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(delete 'relax-requirements)))))))
|
||||
|
||||
(define-public python-onnx
|
||||
;; This used to be called "python-onnx" because it provided nothing but
|
||||
|
@ -1262,7 +1362,12 @@ operators and standard data types.")
|
|||
(modules '((guix build utils)))
|
||||
(snippet '(delete-file-recursively "third_party"))))
|
||||
(build-system python-build-system)
|
||||
(arguments (package-arguments onnx)) ;reuse build system tweaks
|
||||
(arguments
|
||||
;; reuse build system tweaks
|
||||
(substitute-keyword-arguments (package-arguments onnx)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(delete 'relax-requirements)))))
|
||||
(native-inputs
|
||||
(list cmake python-pytest python-pytest-runner python-nbval
|
||||
python-coverage))
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
(define-public minetest
|
||||
(package
|
||||
(name "minetest")
|
||||
(version "5.7.0")
|
||||
(version "5.8.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -61,7 +61,7 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"008l44zwwsarwk4hn7wx2nj2m21b1iqsphl7g69rrlxj760zl0pl"))
|
||||
"1sww17h8z77w38jk19nsqxn8xcj27msq0glbil7pyj4i0ffprjrr"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -166,7 +166,7 @@ in different ways.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"02kbj1h6jsq6k8x4v2ir0njczdz7nyx6dbym85ixxp3mrqxiws61"))))
|
||||
"1pq4rm15lzwcqv6npgyz6v89hi3zj8zybw25n9i0d27qj786xc4z"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list #:install-plan
|
||||
|
|
|
@ -117,7 +117,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
|
|||
(define-public mpd
|
||||
(package
|
||||
(name "mpd")
|
||||
(version "0.23.14")
|
||||
(version "0.23.15")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -126,7 +126,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
|
|||
"/mpd-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lh9nn4a7ng6i08df7rbs8c4nbgmz883pss9p2gswa6m4rsadfc5"))))
|
||||
"06k60ych9crifyx6zfc98hdcihixq5nba1c9rwngib6ik8ik40am"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -162,6 +162,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
|
|||
boost
|
||||
chromaprint
|
||||
curl
|
||||
dbus
|
||||
elogind
|
||||
expat
|
||||
ffmpeg
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2018, 2019, 2021, 2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2019, 2021, 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
|
@ -71,6 +71,8 @@
|
|||
;; they produce different headers. We need shared.
|
||||
`("--disable-static"
|
||||
"--enable-shared"))
|
||||
((target-x32?)
|
||||
`("ABI=x32"))
|
||||
(else '())))
|
||||
;; Remove after core-updates merge.
|
||||
;; Workaround for gcc-7 transition breakage, -system and cross-build,
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
;;; Copyright © 2018, 2020-2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2018, 2020, 2021, 2022 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2019, 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2019 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
|
||||
|
@ -164,8 +164,10 @@
|
|||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages telephony)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages upnp)
|
||||
#:use-module (gnu packages valgrind)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
|
@ -1414,39 +1416,50 @@ files contain direct mappings of the abstractions provided by the ØMQ C API.")
|
|||
(license license:expat)))
|
||||
|
||||
(define-public libnatpmp
|
||||
(package
|
||||
(name "libnatpmp")
|
||||
(version "20230423")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://miniupnp.free.fr/files/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0w7wvf4yi8qv659dg9d3ndqvh3bqhgm21gd135spwhq6hhnfv106"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'check)) ; no tests
|
||||
#:make-flags
|
||||
(let* ((target ,(%current-target-system))
|
||||
(gcc (if target
|
||||
(string-append target "-gcc")
|
||||
"gcc")))
|
||||
(list
|
||||
(string-append "CC=" gcc)
|
||||
(string-append "INSTALLPREFIX=" (assoc-ref %outputs "out"))
|
||||
(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")))))
|
||||
(home-page "http://miniupnp.free.fr/libnatpmp.html")
|
||||
(synopsis "C library implementing NAT-PMP")
|
||||
(description
|
||||
"@code{libnatpmp} is a portable and asynchronous implementation of
|
||||
;; Install the latest commit as it provides a pkg-config (.pc) file.
|
||||
(let ((base-version "20230423")
|
||||
(commit "6a850fd2bd9b08e6edc886382a1dbae2a7df55ec")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "libnatpmp")
|
||||
(version (git-version base-version revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/miniupnp/libnatpmp")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"18hf9a3i3mncl3w80nzi1684iac3by86bv0hgmbm1v2w8gbfjyw0"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no test suite
|
||||
#:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-build-system
|
||||
;; Have CMake install the natpmp_declspec.h missing header file
|
||||
;; that is referenced by natpmp.h (see:
|
||||
;; https://github.com/miniupnp/libnatpmp/issues/41).
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("install\\(FILES natpmp.h")
|
||||
"install(FILES natpmp.h natpmp_declspec.h"))))
|
||||
(add-after 'unpack 'fix-version
|
||||
(lambda _
|
||||
(with-output-to-file "VERSION"
|
||||
(lambda ()
|
||||
(display #$base-version))))))))
|
||||
(native-inputs (list which))
|
||||
(home-page "https://miniupnp.tuxfamily.org/libnatpmp.html")
|
||||
(synopsis "C library implementing NAT-PMP")
|
||||
(description
|
||||
"@code{libnatpmp} is a portable and asynchronous implementation of
|
||||
the Network Address Translation - Port Mapping Protocol (NAT-PMP)
|
||||
written in the C programming language.")
|
||||
(license license:bsd-3)))
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public librdkafka
|
||||
(package
|
||||
|
@ -3382,14 +3395,14 @@ eight bytes) tools
|
|||
(define-public asio
|
||||
(package
|
||||
(name "asio")
|
||||
(version "1.22.2")
|
||||
(version "1.28.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/asio/asio/"
|
||||
version " (Stable)/asio-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0v5w9j4a02j2rkc7mrdj3ms0kfpqbgq2ipkixlz2l0p8xs0vfsvp"))))
|
||||
(base32 "0cp2c4v0kz0ln4bays0s3fr1mcxl527ay2lp7s14qbxx38vc5pfh"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list boost openssl))
|
||||
|
@ -3701,61 +3714,103 @@ communication over HTTP.")
|
|||
(license license:agpl3+)))
|
||||
|
||||
(define-public restinio
|
||||
;; Temporarily use an unreleased commit, which includes fixes to be able to
|
||||
;; run the test suite in the resolver-less Guix build environment.
|
||||
(let ((revision "0")
|
||||
(commit "eda471ec3a2815965ca02ec93a1124a342b7601d"))
|
||||
(package
|
||||
(name "restinio")
|
||||
(version (git-version "0.6.18" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Stiffstream/restinio")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0f4w7714r0ic7csgxydw2vzfh35ssk34pns9jycmc08dzc3r7whb"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "-DRESTINIO_FIND_DEPS=ON"
|
||||
"-DRESTINIO_INSTALL=ON"
|
||||
"-DRESTINIO_TEST=ON"
|
||||
"-DRESTINIO_USE_EXTERNAL_HTTP_PARSER=ON"
|
||||
"-DRESTINIO_USE_EXTERNAL_SOBJECTIZER=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory
|
||||
(lambda _
|
||||
(chdir "dev"))))))
|
||||
(native-inputs
|
||||
(list catch2
|
||||
clara
|
||||
json-dto))
|
||||
(inputs
|
||||
(list openssl
|
||||
sobjectizer))
|
||||
(propagated-inputs
|
||||
;; These are all #include'd by restinio's .hpp header files.
|
||||
(list asio
|
||||
fmt
|
||||
http-parser
|
||||
pcre
|
||||
pcre2
|
||||
zlib))
|
||||
(home-page "https://stiffstream.com/en/products/restinio.html")
|
||||
(synopsis "C++14 library that gives you an embedded HTTP/Websocket server")
|
||||
(description "RESTinio is a header-only C++14 library that gives you an embedded
|
||||
(package
|
||||
(name "restinio")
|
||||
(version "0.7.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Stiffstream/restinio")
|
||||
(commit (string-append "v." version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"06p9gcnzgynsgfxxa1lk58pq5755px7sn00x2xh21qjnspwld1sy"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-DRESTINIO_INSTALL=ON"
|
||||
"-DRESTINIO_TEST=ON"
|
||||
"-DRESTINIO_DEP_LLHTTP=system"
|
||||
"-DRESTINIO_DEP_FMT=system"
|
||||
"-DRESTINIO_DEP_EXPECTED_LITE=system"
|
||||
"-DRESTINIO_DEP_CATCH2=system"
|
||||
;; No support to use a system provided so_5
|
||||
;; (see:
|
||||
;; https://github.com/Stiffstream/restinio/issues/207).
|
||||
"-DRESTINIO_WITH_SOBJECTIZER=OFF")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory
|
||||
(lambda _
|
||||
(chdir "dev")))
|
||||
(add-after 'change-directory 'use-system-catch2
|
||||
;; It's not currently possible to select a system-provided catch2,
|
||||
;; so patch the build system (see:
|
||||
;; https://github.com/Stiffstream/restinio/issues/208).
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("add_subdirectory\\(catch2\\)")
|
||||
"find_package(Catch2 REQUIRED)")))))))
|
||||
(native-inputs
|
||||
(list catch2-3
|
||||
expected-lite
|
||||
json-dto))
|
||||
(inputs
|
||||
(list openssl
|
||||
sobjectizer))
|
||||
(propagated-inputs
|
||||
;; These are all #include'd by restinio's .hpp header files.
|
||||
(list asio
|
||||
fmt
|
||||
llhttp
|
||||
pcre
|
||||
pcre2
|
||||
zlib))
|
||||
(home-page "https://stiffstream.com/en/products/restinio.html")
|
||||
(synopsis "C++14 library that gives you an embedded HTTP/Websocket server")
|
||||
(description "RESTinio is a header-only C++14 library that gives you an embedded
|
||||
HTTP/Websocket server. It is based on standalone version of ASIO
|
||||
and targeted primarily for asynchronous processing of HTTP-requests.")
|
||||
(license license:bsd-3))))
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public restinio-0.6
|
||||
(package
|
||||
(inherit restinio)
|
||||
(name "restinio")
|
||||
(version "0.6.19")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Stiffstream/restinio")
|
||||
(commit (string-append "v." version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qrb1qr075r5059w984c4slgpsiwv94j6fmi9naa5l48dbi1p7jz"))))
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "-DRESTINIO_FIND_DEPS=ON"
|
||||
"-DRESTINIO_INSTALL=ON"
|
||||
"-DRESTINIO_TEST=ON"
|
||||
"-DRESTINIO_USE_EXTERNAL_HTTP_PARSER=ON"
|
||||
"-DRESTINIO_USE_EXTERNAL_SOBJECTIZER=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory
|
||||
(lambda _
|
||||
(chdir "dev"))))))
|
||||
(native-inputs (list catch2 clara json-dto))
|
||||
;; These are all #include'd by restinio's .hpp header files.
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs restinio)
|
||||
(replace "llhttp" http-parser)))))
|
||||
|
||||
(define-public opendht
|
||||
(package
|
||||
(name "opendht")
|
||||
(version "2.4.12")
|
||||
(version "3.1.7")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -3764,7 +3819,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0yji5pziqxfvyfizk3fn9j59bqlfdwfa1a0y9jjfknb2mmlwwb9w"))))
|
||||
"15jx62fm1frbbvpkxysvvwz1a8d605xi53aacf0bvp4mb1dzpddn"))))
|
||||
(outputs '("out" "python" "tools" "debug"))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -3792,6 +3847,14 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
|
|||
(substitute* "tests/Makefile.am"
|
||||
(("\\bdhtrunnertester\\.(h|cpp)\\b")
|
||||
""))))
|
||||
(add-after 'unupack 'relax-test-timeouts
|
||||
(lambda _
|
||||
;; At least the 'test_send_json' has been seen to fail
|
||||
;; non-deterministically, but it seems hard to reproducible that
|
||||
;; failure.
|
||||
(substitute* "tests/httptester.cpp"
|
||||
(("std::chrono::seconds\\(10)")
|
||||
"std::chrono::seconds(30)"))))
|
||||
(add-after 'unpack 'fix-python-installation-prefix
|
||||
;; Specify the installation prefix for the compiled Python module
|
||||
;; that would otherwise attempt to installs itself to Python's own
|
||||
|
@ -3835,8 +3898,8 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
|
|||
fmt
|
||||
readline))
|
||||
(propagated-inputs
|
||||
(list msgpack ;included in several installed headers
|
||||
restinio ;included in opendht/http.h
|
||||
(list msgpack-cxx ;included in several installed headers
|
||||
restinio-0.6 ;included in opendht/http.h
|
||||
;; The following are listed in the 'Requires.private' field of
|
||||
;; opendht.pc:
|
||||
argon2
|
||||
|
@ -3880,6 +3943,60 @@ A very simple IM client working over the DHT.
|
|||
@end table")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public dhtnet
|
||||
;; There is no tag nor release; use the latest available commit.
|
||||
(let ((revision "0")
|
||||
(commit "8b6e99fd34f150fde5f21f3a57e0e9f28174c70c"))
|
||||
(package
|
||||
(name "dhtnet")
|
||||
;; The base version is taken from the CMakeLists.txt file.
|
||||
(version (git-version "0.0.1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/savoirfairelinux/dhtnet")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yhygsimcl9j6hbww1b77am1kgbcriczslcrfb838nbfh18n1780"))))
|
||||
(outputs (list "out" "debug"))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "-DBUILD_DEPENDENCIES=OFF"
|
||||
"-DBUILD_SHARED_LIBS=ON"
|
||||
"-DBUILD_TESTING=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'delete-problematic-tests
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
;; The connectionManager test currently segfaults (see:
|
||||
;; https://git.jami.net/savoirfairelinux/dhtnet/-/issues/18).
|
||||
((".*tests_connectionManager.*") "")
|
||||
;; The fileutils test fail, asserting an unexpected returned
|
||||
;; value for the removeAll call when the directory to be
|
||||
;; removed is missing (see:
|
||||
;; https://git.jami.net/savoirfairelinux/dhtnet/-/issues/17).
|
||||
((".*tests_fileutils.*") "")))))))
|
||||
(native-inputs (list cppunit pkg-config))
|
||||
;; This library depends on the Jami fork of pjproject that adds ICE
|
||||
;; support.
|
||||
(inputs
|
||||
(list asio
|
||||
fmt
|
||||
msgpack-cxx
|
||||
opendht
|
||||
libupnp
|
||||
pjproject-jami
|
||||
readline))
|
||||
(home-page "https://github.com/savoirfairelinux/dhtnet/")
|
||||
(synopsis "OpenDHT network library for C++")
|
||||
(description "The @code{dhtnet} is a C++ library providing abstractions
|
||||
for interacting with an OpenDHT distributed network.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public frrouting
|
||||
(package
|
||||
(name "frrouting")
|
||||
|
@ -4445,36 +4562,32 @@ QUIC protocol.")
|
|||
"github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasilctl"
|
||||
"github.com/yggdrasil-network/yggdrasil-go/cmd/genkeys"))))))))
|
||||
(propagated-inputs
|
||||
(let ((p (package-input-rewriting
|
||||
`((,go-golang-org-x-sys . ,go-golang-org-x-sys-0.8))
|
||||
#:deep? #true)))
|
||||
(cons go-golang-org-x-sys-0.8
|
||||
(map p
|
||||
(list go-golang-zx2c4-com-wireguard
|
||||
go-golang-org-x-text
|
||||
go-golang-org-x-net
|
||||
go-golang-org-x-crypto
|
||||
go-golang-org-x-tools
|
||||
go-netns
|
||||
go-netlink
|
||||
go-github-com-bits-and-blooms-bitset
|
||||
go-github-com-bits-and-blooms-bloom
|
||||
go-github-com-quic-go-quic-go
|
||||
go-github-com-hjson-hjson-go
|
||||
go-github-com-olekukonko-tablewriter
|
||||
go-github-com-mitchellh-mapstructure
|
||||
go-github-com-mattn-go-runewidth
|
||||
go-github-com-mattn-go-isatty
|
||||
go-github-com-mattn-go-colorable
|
||||
go-github-com-kardianos-minwinsvc
|
||||
go-github-com-hjson-hjson-go
|
||||
go-github-com-hashicorp-go-syslog
|
||||
go-github-com-gologme-log
|
||||
go-github-com-fatih-color
|
||||
go-github-com-cheggaaa-pb-v3
|
||||
go-github-com-vividcortex-ewma
|
||||
go-github-com-arceliar-phony
|
||||
go-github-com-arceliar-ironwood)))))
|
||||
(list go-golang-zx2c4-com-wireguard
|
||||
go-golang-org-x-text
|
||||
go-golang-org-x-net
|
||||
go-golang-org-x-crypto
|
||||
go-golang-org-x-tools
|
||||
go-golang-org-x-sys
|
||||
go-netns
|
||||
go-netlink
|
||||
go-github-com-bits-and-blooms-bitset
|
||||
go-github-com-bits-and-blooms-bloom
|
||||
go-github-com-quic-go-quic-go
|
||||
go-github-com-hjson-hjson-go
|
||||
go-github-com-olekukonko-tablewriter
|
||||
go-github-com-mitchellh-mapstructure
|
||||
go-github-com-mattn-go-runewidth
|
||||
go-github-com-mattn-go-isatty
|
||||
go-github-com-mattn-go-colorable
|
||||
go-github-com-kardianos-minwinsvc
|
||||
go-github-com-hjson-hjson-go
|
||||
go-github-com-hashicorp-go-syslog
|
||||
go-github-com-gologme-log
|
||||
go-github-com-fatih-color
|
||||
go-github-com-cheggaaa-pb-v3
|
||||
go-github-com-vividcortex-ewma
|
||||
go-github-com-arceliar-phony
|
||||
go-github-com-arceliar-ironwood))
|
||||
(home-page "https://yggdrasil-network.github.io/blog.html")
|
||||
(synopsis
|
||||
"Experiment in scalable routing as an encrypted IPv6 overlay network")
|
||||
|
|
|
@ -64,14 +64,14 @@
|
|||
(define-public parallel
|
||||
(package
|
||||
(name "parallel")
|
||||
(version "20231122")
|
||||
(version "20231222")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/parallel/parallel-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "1qpa3dhmdddw7l5906y8ck8rnri66kqkxcbxhsnj058pmbw9qb42"))
|
||||
(base32 "1alvva2dlnlq5rbbklzc2a7l84mg550l1xc632zdgfx9dzf6sihr"))
|
||||
(snippet
|
||||
'(begin
|
||||
(use-modules (guix build utils))
|
||||
|
|
|
@ -5,10 +5,10 @@ must be called when no other threads exist).
|
|||
This fixes network functionality in rust:cargo, and probably removes the need
|
||||
for other future workarounds.
|
||||
===================================================================
|
||||
--- curl-7.66.0.orig/lib/easy.c 2020-01-02 15:43:11.883921171 +0100
|
||||
+++ curl-7.66.0/lib/easy.c 2020-01-02 16:18:54.691882797 +0100
|
||||
@@ -134,6 +134,9 @@
|
||||
# pragma warning(default:4232) /* MSVC extension, dllimport identity */
|
||||
--- curl-8.5.0.orig/lib/easy.c 2023-12-17 00:36:32.400468561 -0500
|
||||
+++ curl-8.5.0/lib/easy.c 2023-12-17 00:39:08.898612331 -0500
|
||||
@@ -137,6 +137,9 @@
|
||||
static char *leakpointer;
|
||||
#endif
|
||||
|
||||
+char * Curl_ssl_cert_dir = NULL;
|
||||
|
@ -17,8 +17,8 @@ for other future workarounds.
|
|||
/**
|
||||
* curl_global_init() globally initializes curl given a bitwise set of the
|
||||
* different features of what to initialize.
|
||||
@@ -155,6 +158,9 @@
|
||||
#endif
|
||||
@@ -163,6 +166,9 @@
|
||||
goto fail;
|
||||
}
|
||||
|
||||
+ Curl_ssl_cert_dir = curl_getenv("SSL_CERT_DIR");
|
||||
|
@ -26,16 +26,16 @@ for other future workarounds.
|
|||
+
|
||||
if(!Curl_ssl_init()) {
|
||||
DEBUGF(fprintf(stderr, "Error: Curl_ssl_init failed\n"));
|
||||
return CURLE_FAILED_INIT;
|
||||
@@ -260,6 +266,9 @@
|
||||
goto fail;
|
||||
@@ -287,6 +293,9 @@
|
||||
Curl_ssl_cleanup();
|
||||
Curl_resolver_global_cleanup();
|
||||
|
||||
+ free(Curl_ssl_cert_dir);
|
||||
+ free(Curl_ssl_cert_file);
|
||||
+
|
||||
#ifdef WIN32
|
||||
Curl_win32_cleanup(init_flags);
|
||||
#ifdef _WIN32
|
||||
Curl_win32_cleanup(easy_init_flags);
|
||||
#endif
|
||||
diff -ur curl-7.66.0.orig/lib/url.c curl-7.66.0/lib/url.c
|
||||
--- curl-7.66.0.orig/lib/url.c 2020-01-02 15:43:11.883921171 +0100
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
Taken from upstream:
|
||||
https://git.kernel.org/pub/scm/utils/dtc/dtc.git/commit/?id=32174a66efa4ad19fc6a2a6422e4af2ae4f055cb
|
||||
|
||||
From 32174a66efa4ad19fc6a2a6422e4af2ae4f055cb Mon Sep 17 00:00:00 2001
|
||||
From: David Gibson <david@gibson.dropbear.id.au>
|
||||
Date: Tue, 28 Feb 2023 10:33:58 +1100
|
||||
Subject: [PATCH] meson: Fix cell overflow tests when running from meson
|
||||
|
||||
Because meson always builds out-of-tree we need to reference things in the
|
||||
original source tree via $SRCDIR from run_tests.sh. We forgot a couple of
|
||||
cases for the cell overflow tests. Fix them.
|
||||
|
||||
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
|
||||
---
|
||||
tests/run_tests.sh | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
|
||||
index 91350ad3..f899d8cb 100755
|
||||
--- a/tests/run_tests.sh
|
||||
+++ b/tests/run_tests.sh
|
||||
@@ -519,8 +519,8 @@ libfdt_tests () {
|
||||
check_tests "$SRCDIR/phandle-args-overflow.dts" clocks_property
|
||||
|
||||
## https://github.com/dgibson/dtc/issues/74
|
||||
- run_dtc_test -I dts -O dtb -o cell-overflow-results.test.dtb cell-overflow-results.dts
|
||||
- run_dtc_test -I dts -O dtb -o cell-overflow.test.dtb cell-overflow.dts
|
||||
+ run_dtc_test -I dts -O dtb -o cell-overflow-results.test.dtb "$SRCDIR/cell-overflow-results.dts"
|
||||
+ run_dtc_test -I dts -O dtb -o cell-overflow.test.dtb "$SRCDIR/cell-overflow.dts"
|
||||
run_test dtbs_equal_ordered cell-overflow.test.dtb cell-overflow-results.test.dtb
|
||||
|
||||
# check full tests
|
|
@ -1,23 +0,0 @@
|
|||
From 9cc5520e1998d03f5dec0fbb1fe71b7cdec38b65 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Branham <alex.branham@gmail.com>
|
||||
Date: Wed, 6 Jan 2021 06:41:20 -0500
|
||||
Subject: [PATCH] Add required when to obsolete function alias
|
||||
|
||||
Closes #1085
|
||||
---
|
||||
lisp/ess-r-package.el | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lisp/ess-r-package.el b/lisp/ess-r-package.el
|
||||
index 260959955..397ce14e6 100644
|
||||
--- a/lisp/ess-r-package.el
|
||||
+++ b/lisp/ess-r-package.el
|
||||
@@ -577,7 +577,7 @@ package mode. Use this function if state of the buffer such as
|
||||
(error "As of ESS 16.04, `ess-developer' is deprecated. Use `ess-r-set-evaluation-env' instead"))
|
||||
|
||||
(defalias 'ess-toggle-developer 'ess-developer)
|
||||
-(define-obsolete-function-alias 'ess-r-devtools-check-package-buildwin 'ess-r-devtools-check-with-winbuilder)
|
||||
+(define-obsolete-function-alias 'ess-r-devtools-check-package-buildwin 'ess-r-devtools-check-with-winbuilder "18.04")
|
||||
(define-obsolete-function-alias 'ess-r-devtools-ask 'ess-r-devtools-execute-command "18.04")
|
||||
|
||||
(make-obsolete-variable 'ess-developer "Please use `ess-developer-select-package' and `ess-r-set-evaluation-env' instead." "16.04")
|
|
@ -0,0 +1,27 @@
|
|||
From a884b62c9e6f23b9f4369d724e25db2f42dad28d Mon Sep 17 00:00:00 2001
|
||||
From: Pierre LESPAGNOL <pierre.lespagnol@savoirfairelinux.com>
|
||||
Date: Tue, 28 May 2019 16:18:20 -0400
|
||||
Subject: [PATCH] Changement du ratio de 0.5% a 5%
|
||||
|
||||
---
|
||||
libavformat/rtp.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libavformat/rtp.h b/libavformat/rtp.h
|
||||
index 54512c6f71..16916ff86a 100644
|
||||
--- a/libavformat/rtp.h
|
||||
+++ b/libavformat/rtp.h
|
||||
@@ -78,8 +78,8 @@ enum AVCodecID ff_rtp_codec_id(const char *buf, enum AVMediaType codec_type);
|
||||
#define RTP_VERSION 2
|
||||
#define RTP_MAX_SDES 256 /**< maximum text length for SDES */
|
||||
|
||||
-/* RTCP packets use 0.5% of the bandwidth */
|
||||
-#define RTCP_TX_RATIO_NUM 5
|
||||
+/* RTCP packets use 2.5% of the bandwidth */
|
||||
+#define RTCP_TX_RATIO_NUM 25
|
||||
#define RTCP_TX_RATIO_DEN 1000
|
||||
|
||||
/* An arbitrary id value for RTP Xiph streams - only relevant to indicate
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -0,0 +1,127 @@
|
|||
diff --git a/libavcodec/libopusdec.c b/libavcodec/libopusdec.c
|
||||
index 9b9a610343..8ec5bfc1ad 100644
|
||||
--- a/libavcodec/libopusdec.c
|
||||
+++ b/libavcodec/libopusdec.c
|
||||
@@ -45,6 +45,8 @@ struct libopus_context {
|
||||
#ifdef OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST
|
||||
int apply_phase_inv;
|
||||
#endif
|
||||
+ int decode_fec;
|
||||
+ int64_t expected_next_pts;
|
||||
};
|
||||
|
||||
#define OPUS_HEAD_SIZE 19
|
||||
@@ -141,6 +143,8 @@ static av_cold int libopus_decode_init(AVCodecContext *avc)
|
||||
/* Decoder delay (in samples) at 48kHz */
|
||||
avc->delay = avc->internal->skip_samples = opus->pre_skip;
|
||||
|
||||
+ opus->expected_next_pts = AV_NOPTS_VALUE;
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -161,27 +165,82 @@ static int libopus_decode(AVCodecContext *avc, AVFrame *frame,
|
||||
int *got_frame_ptr, AVPacket *pkt)
|
||||
{
|
||||
struct libopus_context *opus = avc->priv_data;
|
||||
- int ret, nb_samples;
|
||||
+ uint8_t *outptr;
|
||||
+ int ret, nb_samples = 0, nb_lost_samples = 0, nb_samples_left;
|
||||
+
|
||||
+ // If FEC is enabled, calculate number of lost samples
|
||||
+ if (opus->decode_fec &&
|
||||
+ opus->expected_next_pts != AV_NOPTS_VALUE &&
|
||||
+ pkt->pts != AV_NOPTS_VALUE &&
|
||||
+ pkt->pts != opus->expected_next_pts) {
|
||||
+ // Cap at recovering 120 ms of lost audio.
|
||||
+ nb_lost_samples = pkt->pts - opus->expected_next_pts;
|
||||
+ nb_lost_samples = FFMIN(nb_lost_samples, MAX_FRAME_SIZE);
|
||||
+ }
|
||||
|
||||
- frame->nb_samples = MAX_FRAME_SIZE;
|
||||
+ frame->nb_samples = MAX_FRAME_SIZE + nb_lost_samples;
|
||||
if ((ret = ff_get_buffer(avc, frame, 0)) < 0)
|
||||
return ret;
|
||||
|
||||
+ outptr = frame->data[0];
|
||||
+ nb_samples_left = frame->nb_samples;
|
||||
+
|
||||
+ if (opus->decode_fec && nb_lost_samples) {
|
||||
+ // Try to recover the lost samples with FEC data from this one.
|
||||
+ // If there's no FEC data, the decoder will do loss concealment instead.
|
||||
+ if (avc->sample_fmt == AV_SAMPLE_FMT_S16)
|
||||
+ nb_samples = opus_multistream_decode(opus->dec, pkt->data, pkt->size,
|
||||
+ (opus_int16 *)outptr,
|
||||
+ nb_lost_samples, 1);
|
||||
+ else
|
||||
+ nb_samples = opus_multistream_decode_float(opus->dec, pkt->data, pkt->size,
|
||||
+ (float *)outptr,
|
||||
+ nb_lost_samples, 1);
|
||||
+
|
||||
+ if (nb_samples < 0) {
|
||||
+ av_log(avc, AV_LOG_ERROR, "Decoding error: %s\n",
|
||||
+ opus_strerror(nb_samples));
|
||||
+ return ff_opus_error_to_averror(nb_samples);
|
||||
+ }
|
||||
+
|
||||
+ av_log(avc, AV_LOG_WARNING, "Recovered %d samples with FEC/PLC\n",
|
||||
+ nb_samples);
|
||||
+
|
||||
+ outptr += nb_samples * avc->channels * av_get_bytes_per_sample(avc->sample_fmt);
|
||||
+ nb_samples_left -= nb_samples;
|
||||
+ if (pkt->pts != AV_NOPTS_VALUE) {
|
||||
+ pkt->pts -= nb_samples;
|
||||
+ frame->pts = pkt->pts;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // Decode the actual, non-lost data.
|
||||
if (avc->sample_fmt == AV_SAMPLE_FMT_S16)
|
||||
- nb_samples = opus_multistream_decode(opus->dec, pkt->data, pkt->size,
|
||||
- (opus_int16 *)frame->data[0],
|
||||
- frame->nb_samples, 0);
|
||||
+ ret = opus_multistream_decode(opus->dec, pkt->data, pkt->size,
|
||||
+ (opus_int16 *)outptr,
|
||||
+ nb_samples_left, 0);
|
||||
else
|
||||
- nb_samples = opus_multistream_decode_float(opus->dec, pkt->data, pkt->size,
|
||||
- (float *)frame->data[0],
|
||||
- frame->nb_samples, 0);
|
||||
+ ret = opus_multistream_decode_float(opus->dec, pkt->data, pkt->size,
|
||||
+ (float *)outptr,
|
||||
+ nb_samples_left, 0);
|
||||
|
||||
- if (nb_samples < 0) {
|
||||
+ if (ret < 0) {
|
||||
av_log(avc, AV_LOG_ERROR, "Decoding error: %s\n",
|
||||
- opus_strerror(nb_samples));
|
||||
- return ff_opus_error_to_averror(nb_samples);
|
||||
+ opus_strerror(ret));
|
||||
+ return ff_opus_error_to_averror(ret);
|
||||
}
|
||||
|
||||
+ nb_samples += ret;
|
||||
+
|
||||
+ if (opus->decode_fec)
|
||||
+ {
|
||||
+ // Calculate the next expected pts
|
||||
+ if (pkt->pts == AV_NOPTS_VALUE) {
|
||||
+ opus->expected_next_pts = AV_NOPTS_VALUE;
|
||||
+ } else {
|
||||
+ opus->expected_next_pts = pkt->pts + nb_samples;
|
||||
+ }
|
||||
+ }
|
||||
#ifndef OPUS_SET_GAIN
|
||||
{
|
||||
int i = avc->ch_layout.nb_channels * nb_samples;
|
||||
@@ -220,6 +279,7 @@ static const AVOption libopusdec_options[] = {
|
||||
#ifdef OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST
|
||||
{ "apply_phase_inv", "Apply intensity stereo phase inversion", OFFSET(apply_phase_inv), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, FLAGS },
|
||||
#endif
|
||||
+ { "decode_fec", "Decode FEC data or use PLC", OFFSET(decode_fec), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, FLAGS },
|
||||
{ NULL },
|
||||
};
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
diff --git a/libavcodec/libopusencc.c b/libavcodec/libopusencc.c
|
||||
index 2a97811d18..40ee7b8fec 100644
|
||||
--- a/libavcodec/libopusenc.c
|
||||
+++ b/libavcodec/libopusenc.c
|
||||
@@ -33,6 +33,7 @@
|
||||
typedef struct LibopusEncOpts {
|
||||
int vbr;
|
||||
int application;
|
||||
+ int enable_fec;
|
||||
int packet_loss;
|
||||
int complexity;
|
||||
float frame_duration;
|
||||
@@ -143,6 +144,13 @@
|
||||
"Unable to set constrained VBR: %s\n", opus_strerror(ret));
|
||||
|
||||
ret = opus_multistream_encoder_ctl(enc,
|
||||
+ OPUS_SET_INBAND_FEC(opts->enable_fec));
|
||||
+ if (ret != OPUS_OK)
|
||||
+ av_log(avctx, AV_LOG_WARNING,
|
||||
+ "Unable to set enable FEC flag percentage: %s\n",
|
||||
+ opus_strerror(ret));
|
||||
+
|
||||
+ ret = opus_multistream_encoder_ctl(enc,
|
||||
OPUS_SET_PACKET_LOSS_PERC(opts->packet_loss));
|
||||
if (ret != OPUS_OK)
|
||||
av_log(avctx, AV_LOG_WARNING,
|
||||
@@ -452,6 +460,15 @@
|
||||
int ret;
|
||||
int discard_padding;
|
||||
|
||||
+ // Reload packet loss setting
|
||||
+ ret = opus_multistream_encoder_ctl(opus->enc,
|
||||
+ OPUS_SET_PACKET_LOSS_PERC(opus->opts.packet_loss));
|
||||
+ if (ret != OPUS_OK)
|
||||
+ av_log(avctx, AV_LOG_WARNING,
|
||||
+ "Unable to set expected packet loss percentage: %s\n",
|
||||
+ opus_strerror(ret));
|
||||
+
|
||||
+
|
||||
if (frame) {
|
||||
ret = ff_af_queue_add(&opus->afq, frame);
|
||||
if (ret < 0)
|
||||
@@ -543,6 +560,7 @@
|
||||
{ "audio", "Favor faithfulness to the input", 0, AV_OPT_TYPE_CONST, { .i64 = OPUS_APPLICATION_AUDIO }, 0, 0, FLAGS, "application" },
|
||||
{ "lowdelay", "Restrict to only the lowest delay modes", 0, AV_OPT_TYPE_CONST, { .i64 = OPUS_APPLICATION_RESTRICTED_LOWDELAY }, 0, 0, FLAGS, "application" },
|
||||
{ "frame_duration", "Duration of a frame in milliseconds", OFFSET(frame_duration), AV_OPT_TYPE_FLOAT, { .dbl = 20.0 }, 2.5, 120.0, FLAGS },
|
||||
+ { "enable_fec", "Enable forward error correction", OFFSET(enable_fec), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, FLAGS },
|
||||
{ "packet_loss", "Expected packet loss percentage", OFFSET(packet_loss), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 100, FLAGS },
|
||||
{ "vbr", "Variable bit rate mode", OFFSET(vbr), AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 2, FLAGS, "vbr" },
|
||||
{ "off", "Use constant bit rate", 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, 0, 0, FLAGS, "vbr" },
|
|
@ -0,0 +1,44 @@
|
|||
From dba13d03bc8e827fededc20b0ab1f574a1500f2a Mon Sep 17 00:00:00 2001
|
||||
From: Philip-Dylan Gleonec <philip-dylan.gleonec@savoirfairelinux.com>
|
||||
Date: Thu, 11 Feb 2021 12:25:14 +0100
|
||||
Subject: [PATCH 2/2] avcodec/libopusenc: reload packet loss at encode
|
||||
|
||||
An estimation of packet loss is required by libopus to compute its FEC
|
||||
data. Currently, this estimation is constant, and can not be changed
|
||||
after configuration. This means an application using libopus through
|
||||
ffmpeg can not adapt the packet loss estimation when the network
|
||||
quality degrades.
|
||||
|
||||
This patch makes the encoder reload the packet_loss AVOption before
|
||||
encoding samples, if fec is enabled. This way an application can modify
|
||||
the packet loss estimation by changing the AVOption. Typical use-case
|
||||
is a RTP stream, where packet loss can be estimated from RTCP packets.
|
||||
|
||||
Signed-off-by: Philip-Dylan Gleonec <philip-dylan.gleonec@savoirfairelinux.com>
|
||||
---
|
||||
libavcodec/libopusenc.c | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/libavcodec/libopusenc.c b/libavcodec/libopusenc.c
|
||||
index 70d17f802b..c18e8ae7fa 100644
|
||||
--- a/libavcodec/libopusenc.c
|
||||
+++ b/libavcodec/libopusenc.c
|
||||
@@ -460,6 +460,15 @@ static int libopus_encode(AVCodecContext *avctx, AVPacket *avpkt,
|
||||
int ret;
|
||||
int discard_padding;
|
||||
|
||||
+ if (opus->opts.fec) {
|
||||
+ ret = opus_multistream_encoder_ctl(opus->enc,
|
||||
+ OPUS_SET_PACKET_LOSS_PERC(opus->opts.packet_loss));
|
||||
+ if (ret != OPUS_OK)
|
||||
+ av_log(avctx, AV_LOG_WARNING,
|
||||
+ "Unable to set expected packet loss percentage: %s\n",
|
||||
+ opus_strerror(ret));
|
||||
+ }
|
||||
+
|
||||
if (frame) {
|
||||
ret = ff_af_queue_add(&opus->afq, frame);
|
||||
if (ret < 0)
|
||||
--
|
||||
2.25.1
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
From c557a6211f5a29d89fc2ab561e0fb3d8878fb6ad Mon Sep 17 00:00:00 2001
|
||||
From: philippegorley <gorley.philippe@gmail.com>
|
||||
Date: Mon, 17 Dec 2018 15:27:57 -0500
|
||||
Subject: [PATCH] remove mjpeg log
|
||||
|
||||
---
|
||||
libavcodec/mjpegdec.c | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
|
||||
index d1dca84d36..4a26c23cd4 100644
|
||||
--- a/libavcodec/mjpegdec.c
|
||||
+++ b/libavcodec/mjpegdec.c
|
||||
@@ -2294,9 +2294,7 @@ int ff_mjpeg_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
|
||||
"restart marker: %d\n", start_code & 0x0f);
|
||||
/* APP fields */
|
||||
} else if (start_code >= APP0 && start_code <= APP15) {
|
||||
- if ((ret = mjpeg_decode_app(s)) < 0)
|
||||
- av_log(avctx, AV_LOG_ERROR, "unable to decode APP fields: %s\n",
|
||||
- av_err2str(ret));
|
||||
+ ret = mjpeg_decode_app(s);
|
||||
/* Comment */
|
||||
} else if (start_code == COM) {
|
||||
ret = mjpeg_decode_com(s);
|
||||
--
|
||||
2.17.1
|
|
@ -0,0 +1,71 @@
|
|||
diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c
|
||||
index 63047beccc..d59ec3dc8c 100644
|
||||
--- a/libavformat/rtpenc.c
|
||||
+++ b/libavformat/rtpenc.c
|
||||
@@ -28,6 +28,8 @@
|
||||
|
||||
#include "rtpenc.h"
|
||||
|
||||
+#define EXT_ABS_SEND_TIME
|
||||
+
|
||||
static const AVOption options[] = {
|
||||
FF_RTP_FLAG_OPTS(RTPMuxContext, flags),
|
||||
{ "payload_type", "Specify RTP payload type", offsetof(RTPMuxContext, payload_type), AV_OPT_TYPE_INT, {.i64 = -1 }, -1, 127, AV_OPT_FLAG_ENCODING_PARAM },
|
||||
@@ -146,7 +148,11 @@ static int rtp_write_header(AVFormatContext *s1)
|
||||
s1->pb->max_packet_size);
|
||||
} else
|
||||
s1->packet_size = s1->pb->max_packet_size;
|
||||
+#ifdef EXT_ABS_SEND_TIME
|
||||
+ if (s1->packet_size <= 20) {
|
||||
+#else
|
||||
if (s1->packet_size <= 12) {
|
||||
+#endif
|
||||
av_log(s1, AV_LOG_ERROR, "Max packet size %u too low\n", s1->packet_size);
|
||||
return AVERROR(EIO);
|
||||
}
|
||||
@@ -154,7 +160,11 @@ static int rtp_write_header(AVFormatContext *s1)
|
||||
if (!s->buf) {
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
+#ifdef EXT_ABS_SEND_TIME
|
||||
+ s->max_payload_size = s1->packet_size - 20;
|
||||
+#else
|
||||
s->max_payload_size = s1->packet_size - 12;
|
||||
+#endif
|
||||
|
||||
if (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) {
|
||||
avpriv_set_pts_info(st, 32, 1, st->codecpar->sample_rate);
|
||||
@@ -332,16 +342,34 @@ static void rtcp_send_sr(AVFormatContext *s1, int64_t ntp_time, int bye)
|
||||
void ff_rtp_send_data(AVFormatContext *s1, const uint8_t *buf1, int len, int m)
|
||||
{
|
||||
RTPMuxContext *s = s1->priv_data;
|
||||
+ uint64_t ntp64_time;
|
||||
+ uint32_t absoluteSendTime;
|
||||
|
||||
av_log(s1, AV_LOG_TRACE, "rtp_send_data size=%d\n", len);
|
||||
|
||||
/* build the RTP header */
|
||||
+#ifdef EXT_ABS_SEND_TIME
|
||||
+ avio_w8(s1->pb, RTP_VERSION << 6 | 0x10); // extention bit
|
||||
+#else
|
||||
avio_w8(s1->pb, RTP_VERSION << 6);
|
||||
+#endif
|
||||
avio_w8(s1->pb, (s->payload_type & 0x7f) | ((m & 0x01) << 7));
|
||||
avio_wb16(s1->pb, s->seq);
|
||||
avio_wb32(s1->pb, s->timestamp);
|
||||
avio_wb32(s1->pb, s->ssrc);
|
||||
|
||||
+#ifdef EXT_ABS_SEND_TIME
|
||||
+ avio_wb16(s1->pb, 0xBEDE); // magic word
|
||||
+ avio_wb16(s1->pb, 0x0001); // length=1
|
||||
+ avio_w8(s1->pb, 0x32); // ID=3 and lenght=2
|
||||
+ ntp64_time = ff_get_formatted_ntp_time(ff_ntp_time());
|
||||
+ absoluteSendTime = (uint32_t)((ntp64_time>> 14) & 0x00ffffff);
|
||||
+ av_log(s1, AV_LOG_TRACE, "ntp64:%lu, abs_time:%u\n", ntp64_time, absoluteSendTime);
|
||||
+ avio_w8(s1->pb, (uint8_t)(absoluteSendTime >> 16));
|
||||
+ avio_w8(s1->pb, (uint8_t)(absoluteSendTime >> 8 & 0xff));
|
||||
+ avio_w8(s1->pb, (uint8_t)(absoluteSendTime & 0xff));
|
||||
+#endif
|
||||
+
|
||||
avio_write(s1->pb, buf1, len);
|
||||
avio_flush(s1->pb);
|
|
@ -0,0 +1,302 @@
|
|||
From c1b210534b15188c964b31dc47e172f8ed4aca55 Mon Sep 17 00:00:00 2001
|
||||
From: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
|
||||
Date: Tue, 19 Jul 2022 13:35:19 -0300
|
||||
Subject: [PATCH] Screen sharing x11 fixes
|
||||
|
||||
+ We can now have a single stream in the x11grab, which can be updated to follow window resizing
|
||||
+ Due to stream reinit, shm may cause memory issues and was removed
|
||||
+ Adds one option (is_area) that defines if we are grabing a region of the display/window or the hole screen/window.
|
||||
|
||||
note: This is a custom patch for later rebase
|
||||
---
|
||||
libavdevice/xcbgrab.c | 186 ++++++++++--------------------------------
|
||||
1 file changed, 45 insertions(+), 141 deletions(-)
|
||||
|
||||
diff --git a/libavdevice/xcbgrab.c b/libavdevice/xcbgrab.c
|
||||
index 64a68ba497..76e654b424 100644
|
||||
--- a/libavdevice/xcbgrab.c
|
||||
+++ b/libavdevice/xcbgrab.c
|
||||
@@ -29,11 +29,6 @@
|
||||
#include <xcb/xfixes.h>
|
||||
#endif
|
||||
|
||||
-#if CONFIG_LIBXCB_SHM
|
||||
-#include <sys/shm.h>
|
||||
-#include <xcb/shm.h>
|
||||
-#endif
|
||||
-
|
||||
#if CONFIG_LIBXCB_SHAPE
|
||||
#include <xcb/shape.h>
|
||||
#endif
|
||||
@@ -53,9 +48,6 @@ typedef struct XCBGrabContext {
|
||||
xcb_connection_t *conn;
|
||||
xcb_screen_t *screen;
|
||||
xcb_window_t window;
|
||||
-#if CONFIG_LIBXCB_SHM
|
||||
- AVBufferPool *shm_pool;
|
||||
-#endif
|
||||
int64_t time_frame;
|
||||
AVRational time_base;
|
||||
int64_t frame_duration;
|
||||
@@ -72,10 +64,9 @@ typedef struct XCBGrabContext {
|
||||
int region_border;
|
||||
int centered;
|
||||
int select_region;
|
||||
+ int is_area;
|
||||
|
||||
const char *framerate;
|
||||
-
|
||||
- int has_shm;
|
||||
} XCBGrabContext;
|
||||
|
||||
#define FOLLOW_CENTER -1
|
||||
@@ -97,6 +88,7 @@ static const AVOption options[] = {
|
||||
{ "show_region", "Show the grabbing region.", OFFSET(show_region), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, D },
|
||||
{ "region_border", "Set the region border thickness.", OFFSET(region_border), AV_OPT_TYPE_INT, { .i64 = 3 }, 1, 128, D },
|
||||
{ "select_region", "Select the grabbing region graphically using the pointer.", OFFSET(select_region), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, D },
|
||||
+ { "is_area", "Define if we are grabing a region of the display/window.", OFFSET(is_area), AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 1, D },
|
||||
{ NULL },
|
||||
};
|
||||
|
||||
@@ -216,99 +208,6 @@ static int64_t wait_frame(AVFormatContext *s, AVPacket *pkt)
|
||||
return curtime;
|
||||
}
|
||||
|
||||
-#if CONFIG_LIBXCB_SHM
|
||||
-static int check_shm(xcb_connection_t *conn)
|
||||
-{
|
||||
- xcb_shm_query_version_cookie_t cookie = xcb_shm_query_version(conn);
|
||||
- xcb_shm_query_version_reply_t *reply;
|
||||
-
|
||||
- reply = xcb_shm_query_version_reply(conn, cookie, NULL);
|
||||
- if (reply) {
|
||||
- free(reply);
|
||||
- return 1;
|
||||
- }
|
||||
-
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
-static void free_shm_buffer(void *opaque, uint8_t *data)
|
||||
-{
|
||||
- shmdt(data);
|
||||
-}
|
||||
-
|
||||
-static AVBufferRef *allocate_shm_buffer(void *opaque, size_t size)
|
||||
-{
|
||||
- xcb_connection_t *conn = opaque;
|
||||
- xcb_shm_seg_t segment;
|
||||
- AVBufferRef *ref;
|
||||
- uint8_t *data;
|
||||
- int id;
|
||||
-
|
||||
- id = shmget(IPC_PRIVATE, size, IPC_CREAT | 0777);
|
||||
- if (id == -1)
|
||||
- return NULL;
|
||||
-
|
||||
- segment = xcb_generate_id(conn);
|
||||
- xcb_shm_attach(conn, segment, id, 0);
|
||||
- data = shmat(id, NULL, 0);
|
||||
- shmctl(id, IPC_RMID, 0);
|
||||
- if ((intptr_t)data == -1 || !data)
|
||||
- return NULL;
|
||||
-
|
||||
- ref = av_buffer_create(data, size, free_shm_buffer, (void *)(ptrdiff_t)segment, 0);
|
||||
- if (!ref)
|
||||
- shmdt(data);
|
||||
-
|
||||
- return ref;
|
||||
-}
|
||||
-
|
||||
-static int xcbgrab_frame_shm(AVFormatContext *s, AVPacket *pkt)
|
||||
-{
|
||||
- XCBGrabContext *c = s->priv_data;
|
||||
- xcb_shm_get_image_cookie_t iq;
|
||||
- xcb_shm_get_image_reply_t *img;
|
||||
- xcb_drawable_t drawable = c->window_id;
|
||||
- xcb_generic_error_t *e = NULL;
|
||||
- AVBufferRef *buf;
|
||||
- xcb_shm_seg_t segment;
|
||||
-
|
||||
- buf = av_buffer_pool_get(c->shm_pool);
|
||||
- if (!buf) {
|
||||
- av_log(s, AV_LOG_ERROR, "Could not get shared memory buffer.\n");
|
||||
- return AVERROR(ENOMEM);
|
||||
- }
|
||||
- segment = (xcb_shm_seg_t)(uintptr_t)av_buffer_pool_buffer_get_opaque(buf);
|
||||
-
|
||||
- iq = xcb_shm_get_image(c->conn, drawable,
|
||||
- c->x, c->y, c->width, c->height, ~0,
|
||||
- XCB_IMAGE_FORMAT_Z_PIXMAP, segment, 0);
|
||||
- img = xcb_shm_get_image_reply(c->conn, iq, &e);
|
||||
-
|
||||
- xcb_flush(c->conn);
|
||||
-
|
||||
- if (e) {
|
||||
- av_log(s, AV_LOG_ERROR,
|
||||
- "Cannot get the image data "
|
||||
- "event_error: response_type:%u error_code:%u "
|
||||
- "sequence:%u resource_id:%u minor_code:%u major_code:%u.\n",
|
||||
- e->response_type, e->error_code,
|
||||
- e->sequence, e->resource_id, e->minor_code, e->major_code);
|
||||
-
|
||||
- free(e);
|
||||
- av_buffer_unref(&buf);
|
||||
- return AVERROR(EACCES);
|
||||
- }
|
||||
-
|
||||
- free(img);
|
||||
-
|
||||
- pkt->buf = buf;
|
||||
- pkt->data = buf->data;
|
||||
- pkt->size = c->frame_size;
|
||||
-
|
||||
- return 0;
|
||||
-}
|
||||
-#endif /* CONFIG_LIBXCB_SHM */
|
||||
-
|
||||
#if CONFIG_LIBXCB_XFIXES
|
||||
static int check_xfixes(xcb_connection_t *conn)
|
||||
{
|
||||
@@ -462,14 +361,7 @@ static int xcbgrab_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
if (c->show_region)
|
||||
xcbgrab_update_region(s, win_x, win_y);
|
||||
|
||||
-#if CONFIG_LIBXCB_SHM
|
||||
- if (c->has_shm && xcbgrab_frame_shm(s, pkt) < 0) {
|
||||
- av_log(s, AV_LOG_WARNING, "Continuing without shared memory.\n");
|
||||
- c->has_shm = 0;
|
||||
- }
|
||||
-#endif
|
||||
- if (!c->has_shm)
|
||||
- ret = xcbgrab_frame(s, pkt);
|
||||
+ ret = xcbgrab_frame(s, pkt);
|
||||
pkt->dts = pkt->pts = pts;
|
||||
pkt->duration = c->frame_duration;
|
||||
|
||||
@@ -488,11 +380,8 @@ static av_cold int xcbgrab_read_close(AVFormatContext *s)
|
||||
{
|
||||
XCBGrabContext *ctx = s->priv_data;
|
||||
|
||||
-#if CONFIG_LIBXCB_SHM
|
||||
- av_buffer_pool_uninit(&ctx->shm_pool);
|
||||
-#endif
|
||||
-
|
||||
xcb_disconnect(ctx->conn);
|
||||
+ ctx->conn = NULL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -572,7 +461,15 @@ static int pixfmt_from_pixmap_format(AVFormatContext *s, int depth,
|
||||
static int create_stream(AVFormatContext *s)
|
||||
{
|
||||
XCBGrabContext *c = s->priv_data;
|
||||
- AVStream *st = avformat_new_stream(s, NULL);
|
||||
+
|
||||
+ // If we try to open another stream to x11grab, there is no reason
|
||||
+ // to keep more than one stream in the context.
|
||||
+ AVStream *st;
|
||||
+ if (!s->nb_streams) {
|
||||
+ st = avformat_new_stream(s, NULL);
|
||||
+ } else {
|
||||
+ st = s->streams[0];
|
||||
+ }
|
||||
xcb_get_geometry_cookie_t gc;
|
||||
xcb_get_geometry_reply_t *geo;
|
||||
int64_t frame_size_bits;
|
||||
@@ -594,11 +491,26 @@ static int create_stream(AVFormatContext *s)
|
||||
return AVERROR_EXTERNAL;
|
||||
}
|
||||
|
||||
+ // av_log(s, AV_LOG_ERROR, "Capture is_area %d\n", c->is_area);
|
||||
+ // Width and Height are not 0 only when we set a window area to share
|
||||
+ // This if may be valid only in the first call to create_stream
|
||||
if (!c->width || !c->height) {
|
||||
+ // av_log(s, AV_LOG_ERROR, "Capture area!\n");
|
||||
+ c->is_area = 0;
|
||||
+ c->width = geo->width;
|
||||
+ c->height = geo->height;
|
||||
+ }
|
||||
+ // If not a predefined area, then we should follow geometry changes
|
||||
+ // This can be valid only on the second call onwards
|
||||
+ if (!c->is_area && (c->width != geo->width || c->height != geo->height)) {
|
||||
c->width = geo->width;
|
||||
c->height = geo->height;
|
||||
}
|
||||
|
||||
+ // av_log(s, AV_LOG_ERROR, "Capture area %dx%d at position %d.%d\n",
|
||||
+ // c->width, c->height,
|
||||
+ // c->x, c->y);
|
||||
+
|
||||
if (c->x + c->width > geo->width ||
|
||||
c->y + c->height > geo->height) {
|
||||
av_log(s, AV_LOG_ERROR,
|
||||
@@ -628,13 +540,6 @@ static int create_stream(AVFormatContext *s)
|
||||
}
|
||||
c->frame_size = frame_size_bits / 8;
|
||||
|
||||
-#if CONFIG_LIBXCB_SHM
|
||||
- c->shm_pool = av_buffer_pool_init2(c->frame_size + AV_INPUT_BUFFER_PADDING_SIZE,
|
||||
- c->conn, allocate_shm_buffer, NULL);
|
||||
- if (!c->shm_pool)
|
||||
- return AVERROR(ENOMEM);
|
||||
-#endif
|
||||
-
|
||||
st->codecpar->codec_type = AVMEDIA_TYPE_VIDEO;
|
||||
st->codecpar->codec_id = AV_CODEC_ID_RAWVIDEO;
|
||||
st->codecpar->width = c->width;
|
||||
@@ -829,23 +734,26 @@ static av_cold int xcbgrab_read_header(AVFormatContext *s)
|
||||
sscanf(s->url, "+%d,%d", &c->x, &c->y);
|
||||
}
|
||||
|
||||
- c->conn = xcb_connect(display_name[0] ? display_name : NULL, &screen_num);
|
||||
- av_freep(&display_name);
|
||||
+ if (!c->conn || !c->screen) {
|
||||
+ xcbgrab_read_close(s);
|
||||
+ c->conn = xcb_connect(display_name[0] ? display_name : NULL, &screen_num);
|
||||
+ av_freep(&display_name);
|
||||
|
||||
- if ((ret = xcb_connection_has_error(c->conn))) {
|
||||
- av_log(s, AV_LOG_ERROR, "Cannot open display %s, error %d.\n",
|
||||
- s->url[0] ? s->url : "default", ret);
|
||||
- return AVERROR(EIO);
|
||||
- }
|
||||
+ if ((ret = xcb_connection_has_error(c->conn))) {
|
||||
+ av_log(s, AV_LOG_ERROR, "Cannot open display %s, error %d.\n",
|
||||
+ s->url[0] ? s->url : "default", ret);
|
||||
+ return AVERROR(EIO);
|
||||
+ }
|
||||
|
||||
- setup = xcb_get_setup(c->conn);
|
||||
+ setup = xcb_get_setup(c->conn);
|
||||
|
||||
- c->screen = get_screen(setup, screen_num);
|
||||
- if (!c->screen) {
|
||||
- av_log(s, AV_LOG_ERROR, "The screen %d does not exist.\n",
|
||||
- screen_num);
|
||||
- xcbgrab_read_close(s);
|
||||
- return AVERROR(EIO);
|
||||
+ c->screen = get_screen(setup, screen_num);
|
||||
+ if (!c->screen) {
|
||||
+ av_log(s, AV_LOG_ERROR, "The screen %d does not exist.\n",
|
||||
+ screen_num);
|
||||
+ xcbgrab_read_close(s);
|
||||
+ return AVERROR(EIO);
|
||||
+ }
|
||||
}
|
||||
|
||||
if (c->window_id == XCB_NONE)
|
||||
@@ -876,10 +784,6 @@ static av_cold int xcbgrab_read_header(AVFormatContext *s)
|
||||
return ret;
|
||||
}
|
||||
|
||||
-#if CONFIG_LIBXCB_SHM
|
||||
- c->has_shm = check_shm(c->conn);
|
||||
-#endif
|
||||
-
|
||||
#if CONFIG_LIBXCB_XFIXES
|
||||
if (c->draw_mouse) {
|
||||
if (!(c->draw_mouse = check_xfixes(c->conn))) {
|
||||
--
|
||||
2.34.1
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
commit 2ca397bfcca94c106380368b5b0ce920b0a62a95
|
||||
Author: Ludovic Courtès <ludo@gnu.org>
|
||||
Date: Sat Jan 6 16:22:45 2024 +0100
|
||||
|
||||
libevent: Fix computation of the timeout value.
|
||||
|
||||
diff --git a/extensions/libevent.c b/extensions/libevent.c
|
||||
index 134460a..62e50a3 100644
|
||||
--- a/extensions/libevent.c
|
||||
+++ b/extensions/libevent.c
|
||||
@@ -192,30 +192,27 @@ scm_primitive_resize (SCM lst, SCM eventsv)
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
-static uint64_t time_units_per_microsec;
|
||||
+static uint64_t time_units_per_microsec, microsec_per_time_units;
|
||||
|
||||
static void*
|
||||
run_event_loop (void *p)
|
||||
#define FUNC_NAME "primitive-event-loop"
|
||||
{
|
||||
- int ret = 0;
|
||||
- int microsec = 0;
|
||||
- struct timeval tv;
|
||||
-
|
||||
+ int ret;
|
||||
struct loop_data *data = p;
|
||||
|
||||
- if (data->timeout < 0)
|
||||
- microsec = -1;
|
||||
- else if (data->timeout >= 0)
|
||||
+ if (data->timeout >= 0)
|
||||
{
|
||||
- microsec = (time_units_per_microsec == 0)
|
||||
- ? 0 : data->timeout / time_units_per_microsec;
|
||||
- tv.tv_sec = 0;
|
||||
- tv.tv_usec = microsec;
|
||||
- }
|
||||
+ struct timeval tv;
|
||||
+
|
||||
+ tv.tv_sec = data->timeout / scm_c_time_units_per_second;
|
||||
+ tv.tv_usec =
|
||||
+ time_units_per_microsec > 0
|
||||
+ ? ((data->timeout % scm_c_time_units_per_second)
|
||||
+ / time_units_per_microsec)
|
||||
+ : ((data->timeout % scm_c_time_units_per_second)
|
||||
+ * microsec_per_time_units);
|
||||
|
||||
- if (microsec >= 0)
|
||||
- {
|
||||
ret = event_base_loopexit (data->base, &tv);
|
||||
if (ret == -1)
|
||||
SCM_MISC_ERROR ("event loop exit failed", SCM_EOL);
|
||||
@@ -307,6 +304,7 @@ void
|
||||
init_fibers_libevt (void)
|
||||
{
|
||||
time_units_per_microsec = scm_c_time_units_per_second / 1000000;
|
||||
+ microsec_per_time_units = 1000000 / scm_c_time_units_per_second;
|
||||
|
||||
scm_c_define_gsubr ("primitive-event-wake", 1, 0, 0,
|
||||
scm_primitive_event_wake);
|
|
@ -1,3 +1,5 @@
|
|||
This issue is tracked at https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/824.
|
||||
|
||||
From 3fd7acc6e5a8c316c366827956d7c06affdc9685 Mon Sep 17 00:00:00 2001
|
||||
From: Olivier Dion <olivier.dion@savoirfairelinux.com>
|
||||
Date: Fri, 7 Oct 2022 15:20:37 -0400
|
||||
|
@ -17,8 +19,8 @@ With file names adjusted for the source tarball.
|
|||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 27215d044..aaeef1c1b 100644
|
||||
--- a/daemon/configure.ac
|
||||
+++ b/daemon/configure.ac
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -40,6 +40,11 @@ AS_IF([test "x$enable_debug" = "xyes"],
|
||||
[DAEMONCFLAGS+=" -DNDEBUG=1 -O3"
|
||||
DAEMONCXXFLAGS+=" -DNDEBUG=1 -O3 -Wno-deprecated"])
|
||||
|
@ -33,8 +35,8 @@ index 27215d044..aaeef1c1b 100644
|
|||
[Build fuzzing tools]))
|
||||
diff --git a/test/unitTest/Makefile.am b/test/unitTest/Makefile.am
|
||||
index f2b0fd994..ab232ddb7 100644
|
||||
--- a/daemon/test/unitTest/Makefile.am
|
||||
+++ b/daemon/test/unitTest/Makefile.am
|
||||
--- a/test/unitTest/Makefile.am
|
||||
+++ b/test/unitTest/Makefile.am
|
||||
@@ -13,30 +13,6 @@ check_PROGRAMS =
|
||||
|
||||
####### Unit Test ########
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
Upstream status: https://review.jami.net/c/jami-client-qt/+/24273.
|
||||
It was applied, then reverted (by mistake?) in 4d2c55348bc014.
|
||||
|
||||
It's been resubmitted here:
|
||||
https://lists.gnu.org/archive/html/jami/2024-01/msg00005.html
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 8d71b84b..36729698 100644
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
Upstream status: https://review.jami.net/c/jami-client-qt/+/25640
|
||||
|
||||
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
|
||||
index d50908cf..587c9d15 100644
|
||||
--- a/tests/CMakeLists.txt
|
||||
+++ b/tests/CMakeLists.txt
|
||||
@@ -73,6 +73,8 @@ endif()
|
||||
|
||||
string(TOUPPER ${CMAKE_BUILD_TYPE} BUILD_TYPE)
|
||||
|
||||
+set(QUICK_TEST_SOURCE_DIR "${CMAKE_SOURCE_DIR}tests/qml/src")
|
||||
+
|
||||
set(QML_TESTS_SOURCE_FILES
|
||||
${CMAKE_SOURCE_DIR}/tests/qml/main.cpp
|
||||
${TEST_QML_RESOURCES}
|
|
@ -0,0 +1,51 @@
|
|||
Forwarded upstream: https://lists.gnu.org/archive/html/jami/2024-01/msg00010.html
|
||||
|
||||
From 1d3b044c85c32341cca392254fe8bbf34a4639e1 Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
Date: Tue, 9 Jan 2024 11:14:04 -0500
|
||||
Subject: [PATCH] tests: Skip tests that need Internet when there's none.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
* tests/unittests/messageparser_unittest.cpp (ALinkIsParsedCorrectly)
|
||||
(YoutubeLinkIsParsedCorrectly): Skip when there is no Internet.
|
||||
|
||||
Series-to: jami@gnu.org
|
||||
Series-cc: Sébastien Blin <sebastien.blin@savoirfairelinux.com>
|
||||
Fixes: <https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1507>
|
||||
Change-Id: I0a5b57cd82f93fd7edf3fbeb73fb3db5a04c628c
|
||||
---
|
||||
tests/unittests/messageparser_unittest.cpp | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/tests/unittests/messageparser_unittest.cpp b/tests/unittests/messageparser_unittest.cpp
|
||||
index c10b0d0b..df7a0692 100644
|
||||
--- a/tests/unittests/messageparser_unittest.cpp
|
||||
+++ b/tests/unittests/messageparser_unittest.cpp
|
||||
@@ -69,6 +69,9 @@ TEST_F(MessageParserFixture, TextIsParsedCorrectly)
|
||||
*/
|
||||
TEST_F(MessageParserFixture, ALinkIsParsedCorrectly)
|
||||
{
|
||||
+ if (!globalEnv.connectivityMonitor->isOnline())
|
||||
+ GTEST_SKIP() << "ALinkIsParsedCorrectly requires Internet connectivity";
|
||||
+
|
||||
auto linkColor = QColor::fromRgb(0, 0, 255);
|
||||
auto backgroundColor = QColor::fromRgb(0, 0, 255);
|
||||
|
||||
@@ -174,6 +177,9 @@ TEST_F(MessageParserFixture, FencedCodeIsParsedCorrectly)
|
||||
*/
|
||||
TEST_F(MessageParserFixture, YoutubeLinkIsParsedCorrectly)
|
||||
{
|
||||
+ if (!globalEnv.connectivityMonitor->isOnline())
|
||||
+ GTEST_SKIP() << "YoutubeLinkIsParsedCorrectly requires Internet connectivity";
|
||||
+
|
||||
auto url = "https://www.youtube.com/watch?v=1234567890";
|
||||
auto msg = "blah blah " + QString(url) + " blah blah";
|
||||
|
||||
|
||||
base-commit: a4300308dc8d03d59f620bb5fed753df5cf31ed9
|
||||
prerequisite-patch-id: 90a419e7de1f4fa5bb68bc58ad0da2817ed268e0
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
Forwarded here: https://lists.gnu.org/archive/html/jami/2024-01/msg00007.html
|
||||
|
||||
From a302dc0a0faf2778331745a1d01bc3071e182d4d Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
Date: Mon, 8 Jan 2024 16:07:05 -0500
|
||||
Subject: [PATCH] build: Allow using system-provided md4c and tidy libraries.
|
||||
|
||||
* CMakeLists.txt <md4c, tidy>: Search for libraries in the system
|
||||
first, falling back to bundled copies in case they aren't found.
|
||||
|
||||
Series-to: jami@gnu.org
|
||||
Fixes: <https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/1506>
|
||||
Change-Id: I637959fefce6a21b0ee73a793acb6c3c42dcdce0
|
||||
---
|
||||
CMakeLists.txt | 36 +++++++++++++++++++++++++-----------
|
||||
1 file changed, 25 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 38e7a4e2..3f1bd599 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -545,19 +545,33 @@ add_subdirectory(3rdparty/SortFilterProxyModel)
|
||||
set(SFPM_OBJECTS $<TARGET_OBJECTS:SortFilterProxyModel>)
|
||||
|
||||
# md4c
|
||||
-set(BUILD_SHARED_LIBS OFF CACHE BOOL "Don't build shared md4c library" FORCE)
|
||||
-add_subdirectory(3rdparty/md4c EXCLUDE_FROM_ALL)
|
||||
-list(APPEND CLIENT_LINK_DIRS ${MD4C_BINARY_DIR}/src)
|
||||
-list(APPEND CLIENT_INCLUDE_DIRS ${MD4C_SOURCE_DIR}/src)
|
||||
-list(APPEND CLIENT_LIBS md4c-html)
|
||||
+find_package(md4c)
|
||||
+if(md4c_FOUND)
|
||||
+ message(STATUS "Using system-provided md4c-html")
|
||||
+ list(APPEND CLIENT_LIBS md4c::md4c-html)
|
||||
+else()
|
||||
+ message("Using bundled md4c-html library")
|
||||
+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "Don't build shared md4c library" FORCE)
|
||||
+ add_subdirectory(3rdparty/md4c EXCLUDE_FROM_ALL)
|
||||
+ list(APPEND CLIENT_LINK_DIRS ${MD4C_BINARY_DIR}/src)
|
||||
+ list(APPEND CLIENT_INCLUDE_DIRS ${MD4C_SOURCE_DIR}/src)
|
||||
+ list(APPEND CLIENT_LIBS md4c-html)
|
||||
+endif()
|
||||
|
||||
# tidy-html5
|
||||
-set(BUILD_SHARED_LIB OFF CACHE BOOL "Don't build shared tidy library" FORCE)
|
||||
-set(SUPPORT_CONSOLE_APP OFF CACHE BOOL "Don't build tidy console app" FORCE)
|
||||
-add_subdirectory(3rdparty/tidy-html5 EXCLUDE_FROM_ALL)
|
||||
-list(APPEND CLIENT_LINK_DIRS ${tidy_BINARY_DIR}/Release)
|
||||
-list(APPEND CLIENT_INCLUDE_DIRS ${tidy_SOURCE_DIR}/include)
|
||||
-list(APPEND CLIENT_LIBS tidy-static)
|
||||
+pkg_check_modules(tidy IMPORTED_TARGET tidy)
|
||||
+if(tidy_FOUND)
|
||||
+ message(STATUS "Using system-provided tidy")
|
||||
+ list(APPEND CLIENT_LIBS PkgConfig::tidy)
|
||||
+else()
|
||||
+ message("Using bundled tidy library")
|
||||
+ set(BUILD_SHARED_LIB OFF CACHE BOOL "Don't build shared tidy library" FORCE)
|
||||
+ set(SUPPORT_CONSOLE_APP OFF CACHE BOOL "Don't build tidy console app" FORCE)
|
||||
+ add_subdirectory(3rdparty/tidy-html5 EXCLUDE_FROM_ALL)
|
||||
+ list(APPEND CLIENT_LINK_DIRS ${tidy_BINARY_DIR}/Release)
|
||||
+ list(APPEND CLIENT_INCLUDE_DIRS ${tidy_SOURCE_DIR}/include)
|
||||
+ list(APPEND CLIENT_LIBS tidy-static)
|
||||
+endif()
|
||||
|
||||
# common executable sources
|
||||
qt_add_executable(
|
||||
|
||||
base-commit: a4300308dc8d03d59f620bb5fed753df5cf31ed9
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
Forwarded here: https://lists.gnu.org/archive/html/jami/2024-01/msg00003.html
|
||||
|
||||
From 20a1702d881b381979d31c456f1b8cf5e0f728ad Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
Date: Sun, 7 Jan 2024 16:40:41 -0500
|
||||
Subject: [PATCH] configure.ac: Expand AC_CONFIG_FILES to fix a race.
|
||||
|
||||
The commands apparently run for each file listed, or something
|
||||
similar, leading to:
|
||||
|
||||
configure: creating ./config.status
|
||||
config.status: creating test/agent/Makefile
|
||||
chmod: cannot access 'test/agent/pre-inst-env': No such file or directory
|
||||
chmod: cannot access 'test/agent/scenarios/bulk-calls/run-scenario': No such file or directory
|
||||
config.status: creating test/agent/pre-inst-env
|
||||
chmod: cannot access 'test/agent/scenarios/bulk-calls/run-scenario': No such file or directory
|
||||
|
||||
* configure.ac [ENABLE_AGENT]: Separate AC_CONFIG_FILES uses per file.
|
||||
|
||||
Series-to: jami@gnu.org
|
||||
Series-postfix: daemon
|
||||
Change-Id: Ib283955b73540248e09bf31ef44ef3d178b216fa
|
||||
---
|
||||
configure.ac | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index cdea5ff1c..2ab96d817 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -61,11 +61,11 @@ AC_ARG_ENABLE([agent],
|
||||
[Build agent]))
|
||||
AM_CONDITIONAL([ENABLE_AGENT], [test "x$enable_agent" = "xyes"])
|
||||
AM_COND_IF([ENABLE_AGENT],
|
||||
- [AC_CONFIG_FILES([test/agent/Makefile
|
||||
- test/agent/pre-inst-env:test/agent/build-aux/pre-inst-env.in
|
||||
- test/agent/scenarios/bulk-calls/run-scenario],
|
||||
- [chmod +x test/agent/pre-inst-env
|
||||
- chmod +x test/agent/scenarios/bulk-calls/run-scenario])])
|
||||
+ [AC_CONFIG_FILES([test/agent/Makefile])
|
||||
+ AC_CONFIG_FILES([test/agent/pre-inst-env:test/agent/build-aux/pre-inst-env.in],
|
||||
+ [chmod +x test/agent/pre-inst-env])
|
||||
+ AC_CONFIG_FILES([test/agent/scenarios/bulk-calls/run-scenario],
|
||||
+ [chmod +x test/agent/scenarios/bulk-calls/run-scenario])])
|
||||
|
||||
AC_ARG_ENABLE([tracepoints], AS_HELP_STRING([--enable-tracepoints], [Enable tracepoints]))
|
||||
|
||||
|
||||
base-commit: e246fb2e090c9b3de55e2d455eee5a6f05a5b286
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
To ensure libiconv can be found by Guix, we need to link the library.
|
||||
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -81,8 +81,7 @@ else:
|
||||
libraries.extend(["m", "z"])
|
||||
_platform = sys.platform
|
||||
# Mac: iconv needs to be linked statically
|
||||
- if _platform.lower().startswith("darwin"):
|
||||
- libraries.append("iconv")
|
||||
+ libraries.append("iconv")
|
||||
|
||||
# Extensions
|
||||
sources.sort()
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
Since Python 3.10 the output of a CLI program created with argparse
|
||||
uses "options" instead of "optional arguments". This behaviour breaks
|
||||
the tests in python-uqbar.
|
||||
|
||||
--- a/tests/test_cli.py
|
||||
+++ b/tests/test_cli.py
|
||||
@@ -84,7 +84,7 @@ def test_call_help():
|
||||
|
||||
speak like a cat
|
||||
|
||||
- optional arguments:
|
||||
+ options:
|
||||
-h, --help show this help message and exit
|
||||
--version show program's version number and exit
|
||||
--loud be adamant
|
||||
@@ -101,6 +101,6 @@ def test_help():
|
||||
"""
|
||||
usage: vox-aggregator [-h] [--version] {help,list,birds,mammals} ...
|
||||
|
||||
- optional arguments:
|
||||
+ options:
|
||||
-h, --help show this help message and exit
|
||||
--version show program's version number and exit
|
|
@ -73,8 +73,8 @@ reconstruct a Plan 9 terminal-like experience from a non-Plan 9 system.")
|
|||
|
||||
(define-public plan9port
|
||||
;; no releases
|
||||
(let ((commit "cc4571fec67407652b03d6603ada6580de2194dc")
|
||||
(revision "0"))
|
||||
(let ((commit "f8681acb374fa0d5ed1568dbedb00a4abe1ca6f1")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "plan9port")
|
||||
(version (git-version "0.1.0" revision commit))
|
||||
|
@ -86,7 +86,7 @@ reconstruct a Plan 9 terminal-like experience from a non-Plan 9 system.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1g2kzlghcghs560na6xalfsjq5zwp015wv9wk8wxn26981zs759x"))
|
||||
"01343jvn8kr63i78h8xlgscn6wihdsr44xzh1cylvhigjbqw8n2x"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(for-each delete-file-recursively
|
||||
'("font/luc" ;nonfree
|
||||
|
@ -94,73 +94,69 @@ reconstruct a Plan 9 terminal-like experience from a non-Plan 9 system.")
|
|||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;no tests
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'setup
|
||||
(lambda _
|
||||
(delete-file "src/cmd/mk/mk.pdf")
|
||||
(substitute* "src/cmd/acme/acme.c"
|
||||
(("/lib/font/bit/lucsans/euro.8.font")
|
||||
(string-append #$output
|
||||
"/font/fixed/unicode.5x8.font"))
|
||||
(("/lib/font/bit/lucm/unicode.9.font")
|
||||
(string-append #$output
|
||||
"/font/fixed/unicode.6x9.font")))
|
||||
(substitute* (find-files "src")
|
||||
(("/lib/font/bit")
|
||||
(string-append #$output "/font")))
|
||||
(substitute* "bin/9c"
|
||||
(("which")
|
||||
(which "which")))
|
||||
(substitute* "src/cmd/fontsrv/freetyperules.sh"
|
||||
(("'\\$i'/freetype2")
|
||||
(string-append "-I"
|
||||
#$freetype
|
||||
"/include/freetype2")))
|
||||
(with-output-to-file "LOCAL.config"
|
||||
(lambda _
|
||||
(format #t "CC9=~a~%" #$(cc-for-target))
|
||||
(format #t "FONTSRV=fontsrv~%")))
|
||||
(setenv "X11"
|
||||
#$libx11)
|
||||
(setenv "PLAN9"
|
||||
(getcwd))
|
||||
(setenv "PLAN9_TARGET"
|
||||
#$output)))
|
||||
(delete 'configure) ;no configure
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "./INSTALL" "-b")))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(for-each (lambda (x)
|
||||
(let ((out (string-append #$output
|
||||
"/" x)))
|
||||
(mkdir-p out)
|
||||
(copy-recursively x out)))
|
||||
;; TODO: use external sky and dict packages
|
||||
'("bin" "face"
|
||||
"font"
|
||||
"include"
|
||||
"lib"
|
||||
"lp"
|
||||
"mail"
|
||||
"man"
|
||||
"ndb"
|
||||
"plumb"
|
||||
"tmac"
|
||||
"troff"
|
||||
"postscript"))
|
||||
(install-file "rcmain" #$output)))
|
||||
(add-after 'install 'wrap-executables
|
||||
(lambda _
|
||||
(for-each (lambda (exe)
|
||||
(wrap-program exe
|
||||
`("PLAN9" ":" prefix
|
||||
(,#$output))))
|
||||
(find-files
|
||||
(string-append #$output "/bin")))))
|
||||
;; Plan9 doesn't compress man pages
|
||||
(delete 'compress-documentation))))
|
||||
#:strip-directories #~'("plan9/bin")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'setup
|
||||
(lambda _
|
||||
(let ((dest (string-append #$output "/plan9")))
|
||||
(delete-file "src/cmd/mk/mk.pdf")
|
||||
(substitute* "src/cmd/acme/acme.c"
|
||||
(("/lib/font/bit/lucsans/euro.8.font")
|
||||
(string-append dest
|
||||
"/font/fixed/unicode.5x8.font"))
|
||||
(("/lib/font/bit/lucm/unicode.9.font")
|
||||
(string-append dest
|
||||
"/font/fixed/unicode.6x9.font")))
|
||||
(substitute* (find-files "src")
|
||||
(("/lib/font/bit")
|
||||
(string-append dest "/font")))
|
||||
(substitute* "bin/9c"
|
||||
(("which")
|
||||
(which "which")))
|
||||
(substitute* "src/cmd/fontsrv/freetyperules.sh"
|
||||
(("'\\$i'/freetype2")
|
||||
(string-append "-I"
|
||||
#$freetype
|
||||
"/include/freetype2")))
|
||||
(with-output-to-file "LOCAL.config"
|
||||
(lambda _
|
||||
(format #t "CC9=~a~%" #$(cc-for-target))
|
||||
(format #t "FONTSRV=fontsrv~%")))
|
||||
(setenv "X11" #$libx11)
|
||||
(setenv "PLAN9" (getcwd))
|
||||
(setenv "PLAN9_TARGET" dest))))
|
||||
(delete 'configure) ;no configure
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "./INSTALL" "-b")))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(invoke "./INSTALL" "-c")
|
||||
(let ((dest (getenv "PLAN9_TARGET")))
|
||||
(for-each (lambda (x)
|
||||
(let ((out (string-append dest "/" x)))
|
||||
(mkdir-p out)
|
||||
(copy-recursively x out)))
|
||||
;; TODO: use external sky and dict packages
|
||||
'("bin" "face"
|
||||
"font"
|
||||
"include"
|
||||
"lib"
|
||||
"lp"
|
||||
"mail"
|
||||
"man"
|
||||
"ndb"
|
||||
"plumb"
|
||||
"tmac"
|
||||
"troff"
|
||||
"postscript"))
|
||||
(install-file "rcmain" dest)
|
||||
(mkdir-p (string-append #$output "/bin"))
|
||||
(symlink (string-append dest "/bin/9")
|
||||
(string-append #$output "/bin/9")))))
|
||||
;; Plan9 doesn't compress man pages
|
||||
(delete 'compress-documentation))))
|
||||
(native-inputs (list perl which))
|
||||
(inputs (list bash-minimal ;for 'wrap-program'
|
||||
fontconfig libx11 libxext libxt))
|
||||
|
|
|
@ -209,7 +209,7 @@ satisfiability checking (SAT).")
|
|||
"unpool-ast-v2" "parse_term"
|
||||
"propagator" "propgator-sequence-mining"
|
||||
"symbol" "visitor"))))))))))
|
||||
(inputs (list catch2-3.3 clasp libpotassco))
|
||||
(inputs (list catch2-3 clasp libpotassco))
|
||||
(native-inputs (list mpark-variant
|
||||
pkg-config
|
||||
tl-optional
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020, 2022, 2023 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
|
||||
;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -416,6 +417,39 @@ the LZ4 frame format.")
|
|||
(description "Lz-string is a string compressor library for Python.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-python-snappy
|
||||
(package
|
||||
;; PyPI contains both `snappy' and `python-snappy' as completely distinct
|
||||
;; packages. To avoid a name collision in Guix, we use the variable name
|
||||
;; `python-python-snappy' for the package called `python-snappy' on PyPI.
|
||||
(name "python-python-snappy")
|
||||
(version "0.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "python-snappy" version))
|
||||
(sha256
|
||||
(base32 "0amv12w0ybn6n1lk36x70a3l8bdjv4mn7iflb59wqsi00smhg8dn"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "-k"
|
||||
;; CFFI is only supported for PyPy builds.
|
||||
(string-append "not test_snappy_cffi_enum "
|
||||
"and not test_snappy_all_cffi"))))))))
|
||||
(inputs (list snappy))
|
||||
(native-inputs (list python-pytest))
|
||||
(home-page "https://github.com/andrix/python-snappy")
|
||||
(synopsis "Python bindings for the Snappy compression library")
|
||||
(description
|
||||
"@code{python-python-snappy} provides bindings to the Snappy library and
|
||||
can be used to compress and decompress files and streams. It can also be used
|
||||
directly from the command line.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public bitshuffle
|
||||
(package
|
||||
(name "bitshuffle")
|
||||
|
|
|
@ -60,6 +60,7 @@
|
|||
;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
|
||||
;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
|
||||
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -201,6 +202,38 @@ scripting Launchpad via its the web service API.")
|
|||
reusable library for parsing, manipulating, and generating URIs.")
|
||||
(license license:lgpl3)))
|
||||
|
||||
(define-public python-portend
|
||||
(package
|
||||
(name "python-portend")
|
||||
(version "3.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "portend" version))
|
||||
(sha256
|
||||
(base32 "0wpvixicc3d0lack65554mvdrrckkn18p1xcgiv9v5cwq59a6l2j"))))
|
||||
(build-system pyproject-build-system)
|
||||
;; Do not test pyproject.toml with python-pytest-checkdocs as it tries to
|
||||
;; download dependencies.
|
||||
(arguments
|
||||
'(#:test-flags '("-k" "not project")))
|
||||
(propagated-inputs (list python-tempora))
|
||||
;; TODO: Add python-pytest-ruff to native-inputs once it has been packaged.
|
||||
(native-inputs (list python-pytest
|
||||
python-pytest-black
|
||||
python-pytest-checkdocs
|
||||
python-pytest-cov
|
||||
python-pytest-enabler
|
||||
python-pytest-mypy))
|
||||
(home-page "https://github.com/jaraco/portend")
|
||||
(synopsis "Monitor TCP ports for bound or unbound states")
|
||||
(description
|
||||
"@code{python-portend} can be used to monitor TCP ports for bound or
|
||||
unbound states. For example, waiting for a port to be occupied or freed
|
||||
within a set timeout. @code{python-portend} can also be used directly from
|
||||
the command line.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-prawcore
|
||||
(package
|
||||
(name "python-prawcore")
|
||||
|
@ -2595,6 +2628,32 @@ your Web app.")
|
|||
object to help create WSGI responses.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-zc-lockfile
|
||||
(package
|
||||
(name "python-zc-lockfile")
|
||||
(version "3.0.post1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "zc.lockfile" version))
|
||||
(sha256
|
||||
(base32 "1v41irj7azaag3f14xyviv3l8mvap74v5p3q274k68vakrnyxcmd"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(if tests?
|
||||
(invoke "zope-testrunner" "--test-path=src")
|
||||
(format #t "test suite not run~%")))))))
|
||||
(native-inputs (list python-zope-testing python-zope-testrunner))
|
||||
(home-page "https://github.com/zopefoundation/zc.lockfile")
|
||||
(synopsis "Interprocess locks using lock files")
|
||||
(description
|
||||
"This package provides an implementation of interprocess locks using lock
|
||||
files. These locks can also be used to mediate access to other files.")
|
||||
(license license:zpl2.1)))
|
||||
|
||||
(define-public python-zope-event
|
||||
(package
|
||||
(name "python-zope-event")
|
||||
|
|
|
@ -145,7 +145,7 @@
|
|||
;;; Copyright © c4droid <c4droid@foxmail.com>
|
||||
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
|
||||
;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
|
||||
;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -2250,25 +2250,21 @@ library.")
|
|||
(version "3.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "h5py" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0pyr6z4h2xqbp49yx2i1401gl6yqh03h771zslwcy0201hpxiskg"))))
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "h5py" version))
|
||||
(sha256
|
||||
(base32 "0pyr6z4h2xqbp49yx2i1401gl6yqh03h771zslwcy0201hpxiskg"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no test target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-hdf5-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "HDF5_DIR" (assoc-ref inputs "hdf5")))))))
|
||||
(propagated-inputs
|
||||
(list python-six python-numpy))
|
||||
(inputs
|
||||
(list hdf5-1.10))
|
||||
(native-inputs
|
||||
(list python-cython python-pkgconfig pkg-config))
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-hdf5-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "HDF5_DIR"
|
||||
(assoc-ref inputs "hdf5")))))))
|
||||
(propagated-inputs (list python-six python-numpy))
|
||||
(inputs (list hdf5-1.10))
|
||||
(native-inputs (list pkg-config python-cython python-ipython
|
||||
python-pkgconfig python-pytest))
|
||||
(home-page "https://www.h5py.org/")
|
||||
(synopsis "Read and write HDF5 files from Python")
|
||||
(description
|
||||
|
@ -2279,6 +2275,30 @@ access to HDF5 files, datasets and groups using established Python and NumPy
|
|||
concepts.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-hdf5storage
|
||||
(package
|
||||
(name "python-hdf5storage")
|
||||
(version "0.1.19")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "hdf5storage" version))
|
||||
(sha256
|
||||
(base32 "11pgxsqap9l7jsf52649q9mpj8a0w6p9im929lpr9s26ynnnn6ks"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-h5py python-numpy))
|
||||
(native-inputs (list python-nose))
|
||||
(home-page "https://github.com/frejanordsiek/hdf5storage")
|
||||
(synopsis "Read and write Python data types from and to HDF5 files")
|
||||
(description
|
||||
"This Python package provides high-level utilities to read and write a
|
||||
variety of Python types from and to @acronym{HDF5, Hierarchical Data Format}
|
||||
formatted files. This package also provides support for MATLAB MAT v7.3
|
||||
formatted files, which are HDF5 files with a different extension and some
|
||||
extra metadata. Because HDF5 and MAT files might need to be read from
|
||||
untrusted sources, pickling is avoided in this package.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public python-hjson
|
||||
;; Using commit from master branch as the PyPI version does not contain
|
||||
;; the hjson/tests/ directory.
|
||||
|
@ -9236,6 +9256,105 @@ converting, and viewing many of the proprietary file formats used to store
|
|||
experimental data and metadata at the Laboratory for Fluorescence Dynamics.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-av
|
||||
(package
|
||||
(name "python-av")
|
||||
(version "10.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "av" version))
|
||||
(sha256
|
||||
(base32 "01byqsjclkg65mhr6b4i2r2n4y7af9kdd2c35lxny27121b3vzca"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list
|
||||
;; Tests require outbound access to download data samples from
|
||||
;; http://fate.ffmpeg.org/fate-suite:
|
||||
;;
|
||||
;; E urllib.error.URLError: <urlopen error [Errno -3]
|
||||
;; Temporary failure in name resolution>
|
||||
;;
|
||||
"--ignore=tests/test_doctests.py"
|
||||
"--ignore=tests/test_timeout.py"
|
||||
"-k"
|
||||
(string-append
|
||||
"not test_data"
|
||||
" and not test_container_probing"
|
||||
" and not test_stream_probing"
|
||||
" and not test_transcode"
|
||||
" and not test_codec_tag"
|
||||
" and not test_parse"
|
||||
" and not test_decode_audio_sample_count"
|
||||
" and not test_decoded_motion_vectors"
|
||||
" and not test_decoded_motion_vectors_no_flag"
|
||||
" and not test_decoded_time_base"
|
||||
" and not test_decoded_video_frame_count"
|
||||
" and not test_encoding_aac"
|
||||
" and not test_encoding_dnxhd"
|
||||
" and not test_encoding_dvvideo"
|
||||
" and not test_encoding_h264"
|
||||
" and not test_encoding_mjpeg"
|
||||
" and not test_encoding_mp2"
|
||||
" and not test_encoding_mpeg1video"
|
||||
" and not test_encoding_mpeg4"
|
||||
" and not test_encoding_pcm_s24le"
|
||||
" and not test_encoding_png"
|
||||
" and not test_encoding_tiff"
|
||||
" and not test_encoding_xvid"
|
||||
" and not test_reading_from_buffer"
|
||||
" and not test_reading_from_buffer_no_seek"
|
||||
" and not test_reading_from_file"
|
||||
" and not test_reading_from_pipe_readonly"
|
||||
" and not test_reading_from_write_readonly"
|
||||
" and not test_writing_to_custom_io_dash"
|
||||
" and not test_writing_to_custom_io_image2"
|
||||
" and not test_decode_half"
|
||||
" and not test_seek_end"
|
||||
" and not test_seek_float"
|
||||
" and not test_seek_int64"
|
||||
" and not test_seek_middle"
|
||||
" and not test_seek_start"
|
||||
" and not test_stream_seek"
|
||||
" and not test_selection"
|
||||
" and not test_stream_tuples"
|
||||
" and not test_movtext"
|
||||
" and not test_vobsub"
|
||||
" and not test_roundtrip"
|
||||
" and not test_stream_probing"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'build-extensions
|
||||
(lambda _
|
||||
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
python-cython
|
||||
python-editorconfig
|
||||
python-numpy
|
||||
python-pillow
|
||||
python-pytest))
|
||||
(inputs
|
||||
;; XXX: Build is failing with FFmpeg 6.0, unresolved upstream.
|
||||
;; See https://github.com/PyAV-Org/PyAV/issues/1106
|
||||
(list ffmpeg-5))
|
||||
(home-page "https://github.com/PyAV-Org/PyAV")
|
||||
(synopsis "Pythonic bindings for FFmpeg's libraries")
|
||||
(description
|
||||
"PyAV is a Python library that allows for direct and precise manipulation
|
||||
of media through containers, streams, packets, codecs, and frames. It provides
|
||||
access to the powerful FFmpeg libraries while managing the complex details as
|
||||
much as possible.
|
||||
PyAV also facilitates data transformation and integration with
|
||||
other packages such as Numpy and Pillow. However, working with media is a
|
||||
challenging task and PyAV cannot abstract it away or make all the best decisions
|
||||
for you. If you can accomplish your tasks with the ffmpeg command, PyAV may not
|
||||
be necessary. Nonetheless, PyAV is an essential tool when working with media
|
||||
that requires its specific capabilities.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-ffmpeg-python
|
||||
;; The latest release (0.2.0) is old and its test suite crashs on Python 3.10.
|
||||
(let ((commit "df129c7ba30aaa9ffffb81a48f53aa7253b0b4e6") (revision "0"))
|
||||
|
@ -10275,6 +10394,67 @@ finding unresolved symbols in Python code and their corresponding imports.")
|
|||
class constructs.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-jaraco-collections
|
||||
(package
|
||||
(name "python-jaraco-collections")
|
||||
(version "5.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "jaraco.collections" version))
|
||||
(sha256
|
||||
(base32 "0s7y3jr7c173k38pck1b17kxnvx2fl0qh9m9gdf64pr9kz8fi00n"))))
|
||||
(build-system pyproject-build-system)
|
||||
;; Do not test pyproject.toml with python-pytest-checkdocs as it tries to
|
||||
;; download dependencies.
|
||||
(arguments
|
||||
'(#:test-flags '("-k" "not project")))
|
||||
(propagated-inputs (list python-jaraco-text))
|
||||
;; TODO: Add python-pytest-ruff to native-inputs once it has been
|
||||
;; packaged.
|
||||
(native-inputs (list python-pytest
|
||||
python-pytest-black
|
||||
python-pytest-checkdocs
|
||||
python-pytest-cov
|
||||
python-pytest-enabler
|
||||
python-pytest-mypy))
|
||||
(home-page "https://github.com/jaraco/jaraco.collections")
|
||||
(synopsis "Provides various collection objects")
|
||||
(description
|
||||
"This package provides models and classes to supplement the
|
||||
standard library @code{collections} module. Examples include
|
||||
@itemize
|
||||
@item
|
||||
RangeMap: A mapping that accepts a range of values for keys.
|
||||
@item
|
||||
Projection: A subset over an existing mapping.
|
||||
@item
|
||||
KeyTransformingDict: Generalized mapping with keys transformed by a function.
|
||||
@item
|
||||
FoldedCaseKeyedDict: A dict whose string keys are case-insensitive.
|
||||
@item
|
||||
BijectiveMap: A map where keys map to values and values back to their keys.
|
||||
@item
|
||||
ItemsAsAttributes: A mapping mix-in exposing items as attributes.
|
||||
@item
|
||||
IdentityOverrideMap: A map whose keys map by default to themselves unless overridden.
|
||||
@item
|
||||
FrozenDict: A hashable, immutable map.
|
||||
@item
|
||||
Enumeration: An object whose keys are enumerated.
|
||||
@item
|
||||
Everything: A container that contains all things.
|
||||
@item
|
||||
Least, Greatest: Objects that are always less than or greater than any other.
|
||||
@item
|
||||
pop_all: Return all items from the mutable sequence and remove them from that sequence.
|
||||
@item
|
||||
DictStack: A stack of dicts, great for sharing scopes.
|
||||
@item
|
||||
WeightedLookup: A specialized RangeMap for selecting an item by weights.
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
;;; Variant used to break a cycle with python-pytest-enabler.
|
||||
(define-public python-jaraco-context-bootstrap
|
||||
(hidden-package
|
||||
|
@ -10439,6 +10619,41 @@ releases.")
|
|||
(description "This package provides testing support by jaraco.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-jaraco-text
|
||||
(package
|
||||
(name "python-jaraco-text")
|
||||
(version "3.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "jaraco.text" version))
|
||||
(sha256
|
||||
(base32 "0b2rmx0sa61f75lkkr4nfaj3mkgmn3x9c1akpwarfbmksk42b7iq"))))
|
||||
(build-system pyproject-build-system)
|
||||
;; Do not test pyproject.toml with python-pytest-checkdocs as it tries to
|
||||
;; download dependencies.
|
||||
(arguments
|
||||
'(#:test-flags '("-k" "not project")))
|
||||
(propagated-inputs (list python-autocommand python-inflect
|
||||
python-jaraco-context python-jaraco-functools
|
||||
python-more-itertools))
|
||||
;; TODO: Add python-pytest-ruff to native-inputs once it has been
|
||||
;; packaged.
|
||||
(native-inputs (list python-pytest
|
||||
python-pytest-black
|
||||
python-pytest-checkdocs
|
||||
python-pytest-cov
|
||||
python-pytest-enabler
|
||||
python-pytest-mypy))
|
||||
(home-page "https://github.com/jaraco/jaraco.text")
|
||||
(synopsis "Provides various routines for text manipulation")
|
||||
(description
|
||||
"This package provides handy routines for dealing with text,
|
||||
such as wrapping, substitution, trimming, stripping, prefix and suffix
|
||||
removal, line continuation, indentation, comment processing, identifier
|
||||
processing, values parsing, case insensitive comparison, and more.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-simplegeneric
|
||||
(package
|
||||
(name "python-simplegeneric")
|
||||
|
@ -30176,6 +30391,45 @@ heterogeneous and multi-platform clusters (including clusters running other
|
|||
applications with variable CPU loads).")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-djitellopy
|
||||
(package
|
||||
(name "python-djitellopy")
|
||||
(version "2.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "djitellopy" version))
|
||||
(sha256
|
||||
(base32 "1kc0syb4hpn7fay0rxpazmczag6jw3pncrrc6v762jj0afiwkrps"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no test suite
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; OpenCV does not ship metadata files for its Python library, which
|
||||
;; makes it invisible to the sanity_check script (see:
|
||||
;; https://github.com/opencv/opencv/issues/24810).
|
||||
(delete 'sanity-check))))
|
||||
(propagated-inputs
|
||||
(list opencv ;for opencv-python
|
||||
python-av
|
||||
python-numpy
|
||||
python-pillow))
|
||||
(home-page "https://github.com/damiafuentes/DJITelloPy")
|
||||
(synopsis
|
||||
"DJI Tello drone video streaming, swarms and state packets library")
|
||||
(description
|
||||
"DJI Tello drone Python interface using the official Tello SDK and Tello
|
||||
EDU SDK. This library has the following features:
|
||||
@itemize
|
||||
@item Implementation of all tello commands
|
||||
@item Retrieve a video stream easily
|
||||
@item Receive and parse state packets
|
||||
@item Control a swarm of drones.
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-djvulibre
|
||||
(package
|
||||
(name "python-djvulibre")
|
||||
|
@ -31490,6 +31744,30 @@ graph can be output for rendering by GraphViz or yEd.")
|
|||
function implementations based on the types of the arguments.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-multimethod
|
||||
(package
|
||||
(name "python-multimethod")
|
||||
(version "1.10")
|
||||
(source
|
||||
(origin
|
||||
;; No tests in the PyPI tarball.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/coady/multimethod")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "07xv92q7f4bkp6dzkqvcv0zxr11729qdak4s3ldmbhdwgsf44g5h"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-pytest))
|
||||
(home-page "https://github.com/coady/multimethod")
|
||||
(synopsis "Python support for multiple argument dispatching")
|
||||
(description
|
||||
"This package provides a decorator for adding multiple argument
|
||||
dispatching to functions. The decorator creates a multimethod object as
|
||||
needed and registers the function with its annotations.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-logical-unification
|
||||
(package
|
||||
(name "python-logical-unification")
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
;;; Copyright © 2023 Alexey Abramov <levenson@mmer.org>
|
||||
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2023 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -219,8 +220,60 @@ such as compact binary encodings, XML, or JSON.")
|
|||
(list doxygen gcc-10
|
||||
(package-source cereal)))))
|
||||
|
||||
(define-public msgpack
|
||||
(define-public msgpack-c
|
||||
(package
|
||||
(name "msgpack-c")
|
||||
(version "6.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"https://github.com/msgpack/msgpack-c/releases/download/"
|
||||
"c-" version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1fmf08babfsjq5qkgw034wk2nw6mayxp1qlkm7h55p2jqvigam1n"))
|
||||
(snippet
|
||||
'(let ((p (open-file "msgpack-c.pc.in" "a")))
|
||||
(display "Requires: zlib\n" p)
|
||||
(close-output-port p)))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments (list #:configure-flags #~(list "-DMSGPACK_BUILD_TESTS=ON")))
|
||||
(native-inputs (list googletest))
|
||||
(propagated-inputs (list zlib)) ;zbuffer.h includes zlib.h
|
||||
(home-page "https://www.msgpack.org")
|
||||
(synopsis "Binary serialization library")
|
||||
(description "Msgpack is a library for C that implements binary
|
||||
serialization.")
|
||||
(license license:boost1.0)))
|
||||
|
||||
(define-public msgpack-cxx
|
||||
(package
|
||||
(inherit msgpack-c)
|
||||
(name "msgpack-cxx")
|
||||
(version "6.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"https://github.com/msgpack/msgpack-c/releases/download/"
|
||||
"cpp-" version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1rrrf3nskcv994z3pbq6a5z2021piz118rccmm1y7zlf7klygv93"))))
|
||||
(build-system cmake-build-system)
|
||||
(propagated-inputs (list boost zlib)) ;included in headers
|
||||
(description "Msgpack is a library for C++ that implements binary
|
||||
serialization.")))
|
||||
|
||||
;;; The msgpack package was split into msgpack-c and msgpack-cxx starting from
|
||||
;;; version 4.0.0.
|
||||
(define-public msgpack
|
||||
(deprecated-package "msgpack" msgpack-c))
|
||||
|
||||
(define-public msgpack-3
|
||||
(package
|
||||
(inherit msgpack-c)
|
||||
(name "msgpack")
|
||||
(version "3.3.0")
|
||||
(source
|
||||
|
@ -234,23 +287,13 @@ such as compact binary encodings, XML, or JSON.")
|
|||
'(let ((p (open-file "msgpack.pc.in" "a")))
|
||||
(display
|
||||
(string-append "Requires: " "zlib" "\n") p)
|
||||
(close-output-port p)
|
||||
#t))
|
||||
(close-output-port p)))
|
||||
(sha256
|
||||
(base32 "0yzhq50ijvwrfkr97knhvn54lj3f4hr3zy39yq8wpf6xll94s4bf"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list googletest-1.8 pkg-config))
|
||||
(propagated-inputs
|
||||
(list zlib)) ;; Msgpack installs two headers (zbuffer.h,
|
||||
;; zbuffer.hpp) which #include <zlib.h>. However, 'guix gc --references'
|
||||
;; does not detect a store reference to zlib since these headers are not
|
||||
;; compiled.
|
||||
(home-page "https://www.msgpack.org")
|
||||
(synopsis "Binary serialization library")
|
||||
(native-inputs (list googletest-1.8))
|
||||
(description "Msgpack is a library for C/C++ that implements binary
|
||||
serialization.")
|
||||
(license license:boost1.0)))
|
||||
serialization. This is the legacy version that predates the split into C and
|
||||
C++ specific packages.")))
|
||||
|
||||
(define-public libmpack
|
||||
(package
|
||||
|
|
|
@ -331,7 +331,7 @@ particularly in catching syntax errors.")
|
|||
(define-public grml-zsh-config
|
||||
(package
|
||||
(name "grml-zsh-config")
|
||||
(version "0.19.5")
|
||||
(version "0.19.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -339,7 +339,7 @@ particularly in catching syntax errors.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ifw490z3v9ljccbmm04adz39fj2dmx8mjgayxqj0a9ln90yfdc4"))))
|
||||
"1k1m2fbmvw73qy9mc6k2ygjg6zz8h7nn3d9pvj6jbjadnx4pz770"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
;;; Copyright © 2021 Frank Pursel <frank.pursel@gmail.com>
|
||||
;;; Copyright © 2022 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
|
||||
;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -6757,11 +6758,9 @@ Java package that provides routines for various statistical distributions.")
|
|||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-ess
|
||||
;; Latest release is old. This is not the latest commit either due to bug
|
||||
;; reported here: <https://github.com/emacs-ess/ESS/issues/987>.
|
||||
(let ((commit "24da603184ce39246611dd5b8602e769d7ebd5bf")
|
||||
(let ((commit "3691ecc642eab5d016887e42699648e0eeeef566")
|
||||
(version "18.10.2")
|
||||
(revision "0"))
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "emacs-ess")
|
||||
(version (git-version version revision commit))
|
||||
|
@ -6772,60 +6771,96 @@ Java package that provides routines for various statistical distributions.")
|
|||
(url "https://github.com/emacs-ess/ESS")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "0j98lv07nzwzd54d4dgcfz01wy5gj48m0mnirxzh5r45ik2myh1r"))
|
||||
(base32 "19p8djsbgvahpsx1w8i6h3qvpbdr4isjwm3wi82yk2648ri0qsq1"))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Stop ESS from trying to bundle an external julia-mode.el.
|
||||
(substitute* "lisp/Makefile"
|
||||
((" \\$\\(JULIAS)") "")
|
||||
(("\ttest.*julia-mode.*\\.el") ""))
|
||||
;; Only build docs in info format.
|
||||
(substitute* "doc/Makefile"
|
||||
(("all : info text")
|
||||
"all : info")
|
||||
(("install: install-info install-other-docs")
|
||||
"install: install-info"))
|
||||
;; Stop install-info from trying to update the info directory.
|
||||
(substitute* "doc/Makefile"
|
||||
((".*/dir.*") ""))
|
||||
;; Fix r-help-mode test.
|
||||
(substitute* "test/ess-test-r.el"
|
||||
(("\\(equal ess-help-object \"plot.default\")") "t"))
|
||||
;; Avoid generating ess-autoloads.el twice.
|
||||
(substitute* "Makefile"
|
||||
(("all: lisp doc etc autoloads")
|
||||
"all: lisp doc etc"))
|
||||
;; Install to correct directories.
|
||||
(substitute* "Makefile"
|
||||
(("mkdir -p \\$\\(ESSDESTDIR)")
|
||||
"$(MAKE) -C lisp install; $(MAKE) -C doc install")
|
||||
(("\\$\\(INSTALL) -R \\./\\* \\$\\(ESSDESTDIR)/")
|
||||
"$(MAKE) -C etc install"))
|
||||
#t))
|
||||
(patches
|
||||
(search-patches "emacs-ess-fix-obsolete-function-alias.patch"))))
|
||||
#~(begin
|
||||
;; Stop ESS from trying to bundle an external julia-mode.el.
|
||||
(substitute* "lisp/Makefile"
|
||||
((" \\$\\(JULIAS)") "")
|
||||
(("\ttest.*julia-mode.*\\.el") ""))
|
||||
;; Only build docs in info format.
|
||||
(substitute* "doc/Makefile"
|
||||
(("all : info text")
|
||||
"all : info")
|
||||
(("install: install-info install-other-docs")
|
||||
"install: install-info"))
|
||||
;; Stop install-info from trying to update the info directory.
|
||||
(substitute* "doc/Makefile"
|
||||
((".*/dir.*") ""))
|
||||
;; Fix r-help-mode test.
|
||||
(substitute* "test/ess-test-r.el"
|
||||
(("\\(equal ess-help-object \"plot.default\")") "t"))
|
||||
;; Avoid generating ess-autoloads.el twice.
|
||||
(substitute* "Makefile"
|
||||
(("all: lisp doc etc autoloads")
|
||||
"all: lisp doc etc"))
|
||||
;; Install to correct directories.
|
||||
(substitute* "Makefile"
|
||||
(("mkdir -p \\$\\(ESSDESTDIR)")
|
||||
"$(MAKE) -C lisp install; $(MAKE) -C doc install")
|
||||
(("\\$\\(INSTALL) -R \\./\\* \\$\\(ESSDESTDIR)/")
|
||||
"$(MAKE) -C etc install"))))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(let ((base-directory "/share/emacs/site-lisp"))
|
||||
`(#:make-flags (list (string-append "PREFIX=" %output)
|
||||
(string-append "ETCDIR=" %output
|
||||
,base-directory "/etc")
|
||||
(string-append "LISPDIR=" %output
|
||||
,base-directory)
|
||||
(string-append "INFODIR=" %output
|
||||
"/share/info"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'check
|
||||
(lambda _ (invoke "make" "test")))))))
|
||||
(list
|
||||
#:modules '((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(guix build emacs-utils))
|
||||
#:imported-modules `(,@%gnu-build-system-modules
|
||||
(guix build emacs-build-system)
|
||||
(guix build emacs-utils))
|
||||
#:make-flags
|
||||
#~(list (string-append "PREFIX=" #$output)
|
||||
(string-append "ETCDIR=" #$output #$base-directory "/etc")
|
||||
(string-append "LISPDIR=" #$output #$base-directory)
|
||||
(string-append "INFODIR=" #$output "/share/info"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-before 'check 'skip-failing-tests
|
||||
;; XXX: Skip 10 failing tests (out of 187).
|
||||
(lambda _
|
||||
(let-syntax
|
||||
((disable-tests
|
||||
(syntax-rules ()
|
||||
((_ file ())
|
||||
(syntax-error "test names list must not be empty"))
|
||||
((_ file (test-name ...))
|
||||
(substitute* file
|
||||
(((string-append "^\\(ert-deftest " test-name ".*")
|
||||
all)
|
||||
(string-append all "(skip-unless nil)\n"))
|
||||
...)))))
|
||||
(disable-tests (list "test/ess-test-inf.el"
|
||||
"test/ess-test-r.el")
|
||||
("ess--derive-connection-path"
|
||||
"ess-eval-line-test"
|
||||
"ess-eval-region-test"
|
||||
"ess-mock-remote-process"
|
||||
"ess-r-load-ESSR-github-fetch-no"
|
||||
"ess-r-load-ESSR-github-fetch-yes"
|
||||
"ess-set-working-directory-test"
|
||||
"ess-test-r-startup-directory")))
|
||||
;; The two tests below use a different syntax.
|
||||
(emacs-batch-edit-file "test/ess-test-r-eval.el"
|
||||
'(progn
|
||||
(mapc (lambda (test)
|
||||
(goto-char (point-min))
|
||||
(search-forward (format "etest-deftest %s " test))
|
||||
(beginning-of-line)
|
||||
(kill-sexp))
|
||||
'("ess-r-eval-ns-env-roxy-tracebug-test"
|
||||
"ess-r-eval-sink-freeze-test"))
|
||||
(basic-save-buffer)))))
|
||||
(replace 'check
|
||||
(lambda _ (invoke "make" "test")))))))
|
||||
(native-inputs
|
||||
(list perl r-roxygen2 texinfo))
|
||||
(inputs
|
||||
`(("emacs" ,emacs-minimal)
|
||||
("r-minimal" ,r-minimal)))
|
||||
(list emacs-minimal r-minimal))
|
||||
(propagated-inputs
|
||||
(list emacs-julia-mode))
|
||||
(home-page "https://ess.r-project.org/")
|
||||
|
@ -6885,6 +6920,50 @@ files, including Rmarkdown files.")
|
|||
popular stats packages like SAS, Stata and SPSS.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pyreadstat
|
||||
(package
|
||||
(name "python-pyreadstat")
|
||||
(version "1.2.4")
|
||||
;; No tests in the PyPI tarball.
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Roche/pyreadstat")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0zysrzixvqw2lwwykxqg5yj8a0zyv5s2bmk22x30f4rj2hgvq1pv"))
|
||||
(patches (search-patches "python-pyreadstat-link-libiconv.patch"))))
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(add-before 'check 'change-home-dir
|
||||
(lambda _
|
||||
;; test_sav_expand and test_sav_write_basic_expanduser need a
|
||||
;; home directory with write permissions.
|
||||
(setenv "HOME" "/tmp")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; The source also contains tests/test_version.py
|
||||
;; which checks the version in __init__.py against the
|
||||
;; one in setup.py. Since this requires texlive
|
||||
;; dependencies to run and is also not mentioned in
|
||||
;; how_to_test.md, this test is skipped.
|
||||
(invoke "python" "tests/test_basic.py")))))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs (list python-pandas))
|
||||
(inputs (list libiconv zlib))
|
||||
(native-inputs (list python-cython-3))
|
||||
(home-page "https://github.com/Roche/pyreadstat")
|
||||
(synopsis
|
||||
"Read and write SAS, SPSS and Stata files into/from Pandas DataFrames")
|
||||
(description
|
||||
"This Python package can be used to read and write SAS, SPSS and Stata
|
||||
files into/from Pandas DataFrames. It is a wrapper around the C library
|
||||
@code{readstat}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public r-quantpsyc
|
||||
(package
|
||||
(name "r-quantpsyc")
|
||||
|
|
|
@ -79,7 +79,7 @@ you tailor the wrapping process to suit your application.")
|
|||
(package
|
||||
(inherit swig)
|
||||
(name "swig")
|
||||
(version "4.1.1")
|
||||
(version "4.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/" name "/" name "/"
|
||||
|
@ -87,5 +87,5 @@ you tailor the wrapping process to suit your application.")
|
|||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16xc767gf5ip40jh698wbdrxrghli5v2c966bkdmrmpwv378mw1a"))))
|
||||
"15wwh9215rdkflpr85r7zxr2nmrib03jr4bvh5i0f9lyb3bs4716"))))
|
||||
(inputs (list pcre2))))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2016, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2022, 2024 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
|
||||
|
@ -51,31 +51,31 @@
|
|||
`(#:configure-flags
|
||||
'(,@(if (or (target-riscv64?)
|
||||
(target-ppc32?))
|
||||
'("-DTBB_TEST_LINK_FLAGS=-latomic")
|
||||
`())
|
||||
'("-DTBB_TEST_LINK_FLAGS=-latomic")
|
||||
`())
|
||||
,@(if (or (target-arm32?)
|
||||
(target-ppc32?))
|
||||
'("-DTBB_TEST_COMPILE_FLAGS=-DTBB_TEST_LOW_WORKLOAD")
|
||||
`())
|
||||
"-DTBB_STRICT=OFF") ;; Don't fail on warnings
|
||||
'("-DTBB_TEST_COMPILE_FLAGS=-DTBB_TEST_LOW_WORKLOAD")
|
||||
`())
|
||||
"-DTBB_STRICT=OFF") ;; Don't fail on warnings
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
,@(cond
|
||||
((target-arm32?)
|
||||
`((add-after 'unpack 'adjust-test-suite
|
||||
(lambda _
|
||||
(substitute* "test/CMakeLists.txt"
|
||||
;; Bus error, skipped on mips.
|
||||
((".*test_malloc_pools.*") ""))))))
|
||||
((target-ppc32?)
|
||||
`((add-after 'unpack 'adjust-test-suite
|
||||
(lambda _
|
||||
(substitute* "test/CMakeLists.txt"
|
||||
;; These tests hang forever.
|
||||
((".*test_function_node.*") "")
|
||||
((".*test_multifunction_node.*") "")
|
||||
((".*test_async_node.*") ""))))))
|
||||
(else '())))))
|
||||
((target-arm32?)
|
||||
`((add-after 'unpack 'adjust-test-suite
|
||||
(lambda _
|
||||
(substitute* "test/CMakeLists.txt"
|
||||
;; Bus error, skipped on mips.
|
||||
((".*test_malloc_pools.*") ""))))))
|
||||
((target-ppc32?)
|
||||
`((add-after 'unpack 'adjust-test-suite
|
||||
(lambda _
|
||||
(substitute* "test/CMakeLists.txt"
|
||||
;; These tests hang forever.
|
||||
((".*test_function_node.*") "")
|
||||
((".*test_multifunction_node.*") "")
|
||||
((".*test_async_node.*") ""))))))
|
||||
(else '())))))
|
||||
(home-page "https://www.threadingbuildingblocks.org")
|
||||
(synopsis "C++ library for parallel programming")
|
||||
(description
|
||||
|
@ -101,7 +101,9 @@ tasks, synchronization primitives, atomic operations, and more.")
|
|||
(lambda _
|
||||
(substitute* "python/CMakeLists.txt"
|
||||
(("\\$\\{PYTHON_BUILD_WORK_DIR\\}/build")
|
||||
#$output))
|
||||
#$output)
|
||||
(("install --prefix.*-f" m)
|
||||
(string-append m " --root=/")))
|
||||
(substitute* "python/setup.py"
|
||||
(("extra_link_args=tbb_flag,")
|
||||
(string-append "extra_link_args=['-Wl,-rpath="
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
|
||||
;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
|
||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||
|
@ -855,6 +855,75 @@ your calls and messages.")
|
|||
Initiation Protocol (SIP) and a multimedia framework.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public pjproject-jami
|
||||
(let ((commit "d044ad6c5b4221648c555da16196804e4721299c")
|
||||
(revision "0"))
|
||||
(package
|
||||
(inherit pjproject)
|
||||
(name "pjproject-jami")
|
||||
;; The version is taken from
|
||||
;; <https://raw.githubusercontent.com/savoirfairelinux/pjproject/master/version.mak>.
|
||||
(version (git-version "2.13.1" revision commit))
|
||||
(source (origin
|
||||
(inherit (package-source pjproject))
|
||||
;; The Jami development team regularly issues patches to
|
||||
;; pjproject to extend the its functionality and fix bugs;
|
||||
;; they are submitted for inclusion upstream but larger
|
||||
;; patches take time to be reviewed and merged, hence this
|
||||
;; forked repository.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/savoirfairelinux/pjproject")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0z4d7wdpa2mlaygb283k0j8n3l6q68gn0xqd62b5ngqvkhlaf775"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments pjproject)
|
||||
((#:configure-flags _ ''())
|
||||
;; This package is tailored for DhtNet; see how it is built for its
|
||||
;; CI in
|
||||
;; <https://git.jami.net/savoirfairelinux/dhtnet/-/raw/master/Dockerfile>.
|
||||
#~(list
|
||||
;; Some flags preserved flags from parent package.
|
||||
"--with-external-srtp"
|
||||
#$@(if (string-contains (or (%current-system)
|
||||
(%current-target-system)) "linux")
|
||||
#~("--enable-epoll")
|
||||
#~())
|
||||
"--with-gnutls" ;disable OpenSSL checks
|
||||
;; -DNDEBUG is set to prevent pjproject from raising
|
||||
;; assertions that aren't critical, crashing
|
||||
;; applications as the result.
|
||||
"CFLAGS=-DNDEBUG"
|
||||
;; Specify a runpath reference to itself, which is missing and
|
||||
;; causes the validate-runpath phase to fail.
|
||||
(string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")
|
||||
"--enable-shared"
|
||||
"--disable-libyuv" ;TODO: add missing package
|
||||
|
||||
;; These flags are specific to DhtNet.
|
||||
"--disable-sound"
|
||||
"--enable-video"
|
||||
"--enable-ext-sound"
|
||||
"--disable-speex-aec"
|
||||
"--disable-g711-codec"
|
||||
"--disable-l16-codec"
|
||||
"--disable-gsm-codec"
|
||||
"--disable-g722-codec"
|
||||
"--disable-g7221-codec"
|
||||
"--disable-speex-codec"
|
||||
"--disable-ilbc-codec"
|
||||
"--disable-opencore-amr"
|
||||
"--disable-silk"
|
||||
"--disable-sdl"
|
||||
"--disable-ffmpeg"
|
||||
"--disable-v4l2"
|
||||
"--disable-openh264"
|
||||
"--disable-resample"
|
||||
"--disable-libwebrtc")))))))
|
||||
|
||||
(define-public libtgvoip
|
||||
(package
|
||||
(name "libtgvoip")
|
||||
|
|
|
@ -1289,10 +1289,8 @@ that can be displayed terminal.")
|
|||
(base32
|
||||
"0x5c31yq7ansmiy20a0qf59wagba9v3pq97mlkxrqxn4n1gcc6vi"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list libevent libssh msgpack ncurses))
|
||||
(native-inputs
|
||||
(list autoconf automake pkg-config))
|
||||
(inputs (list libevent libssh msgpack-3 ncurses))
|
||||
(native-inputs (list autoconf automake pkg-config))
|
||||
(home-page "https://tmate.io/")
|
||||
(synopsis "Terminal sharing application")
|
||||
(description "tmate is a terminal sharing application that allows you to
|
||||
|
|
|
@ -996,13 +996,13 @@ and Cython.")
|
|||
(define-public txt2tags
|
||||
(package
|
||||
(name "txt2tags")
|
||||
(version "3.7")
|
||||
(version "3.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "txt2tags" version))
|
||||
(sha256
|
||||
(base32
|
||||
"12hpnvdy7dgarq6ini9jp7dp2zcmvpax04zbl3jb84kd423r75i7"))))
|
||||
"0ik7gpr3gymgxnj0p86k8768kyxncbncv93zq67sbak3dbdl8hky"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs (list python-tox))
|
||||
(home-page "https://txt2tags.org")
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2017, 2019, 2021-2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2019, 2021-2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
|
@ -15,7 +15,7 @@
|
|||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020, 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020, 2021, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
|
||||
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
|
@ -200,7 +200,7 @@ living in the same process.")
|
|||
(package
|
||||
(name "gnutls")
|
||||
(version "3.7.7")
|
||||
(replacement gnutls-3.8.1)
|
||||
(replacement gnutls-3.8.2)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; Note: Releases are no longer on ftp.gnu.org since the
|
||||
|
@ -305,11 +305,11 @@ required structures.")
|
|||
(define-deprecated/public-alias gnutls-latest gnutls)
|
||||
|
||||
;; Replacement for gnutls@3.7.7 to address GNUTLS-SA-2020-07-14 /
|
||||
;; CVE-2023-0361
|
||||
(define-public gnutls-3.8.1
|
||||
;; CVE-2023-0361 and GNUTLS-SA-2023-10-23 / CVE-2023-5981.
|
||||
(define gnutls-3.8.2
|
||||
(package
|
||||
(inherit gnutls)
|
||||
(version "3.8.1")
|
||||
(version "3.8.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/gnutls/v"
|
||||
|
@ -318,20 +318,7 @@ required structures.")
|
|||
(patches (search-patches "gnutls-skip-trust-store-test.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"1742jiigwsfhx7nj5rz7dwqr8d46npsph6b68j7siar0mqarx2xs"))))
|
||||
(arguments
|
||||
(if (target-hurd?)
|
||||
;; Fix reference to undefined 'PATH_MAX'. This is fixed in GnuTLS
|
||||
;; commit 3b6ec1e01de4e96d36276dfe34ee9e183f285264.
|
||||
(substitute-keyword-arguments (package-arguments gnutls)
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'set-path-max
|
||||
(lambda _
|
||||
(substitute* "lib/pathbuf.h"
|
||||
(("^#define GNUTLS_PATH_MAX PATH_MAX")
|
||||
"#define GNUTLS_PATH_MAX 8192\n")))))))
|
||||
(package-arguments gnutls)))))
|
||||
"0xzgmp1ck5ifvdki4jg29r278w2p1m3a0qz38g99v6zsdw0yarg7"))))))
|
||||
|
||||
(define-public gnutls/dane
|
||||
;; GnuTLS with build libgnutls-dane, implementing DNS-based
|
||||
|
@ -429,6 +416,8 @@ OpenSSL for TARGET."
|
|||
(cond
|
||||
((target-x86-32? target)
|
||||
"x86")
|
||||
((target-x32? target)
|
||||
"x32")
|
||||
((target-x86-64? target)
|
||||
"x86_64")
|
||||
((target-mips64el? target)
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
(define-public valgrind
|
||||
(package
|
||||
(name "valgrind")
|
||||
(version "3.20.0")
|
||||
(version "3.22.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append "https://sourceware.org/pub/valgrind"
|
||||
|
@ -48,7 +48,7 @@
|
|||
"/valgrind-" version ".tar.bz2")))
|
||||
(sha256
|
||||
(base32
|
||||
"1ipkp6yi202pml2r0qwflysmq86dkqd8iyi1y51d6y70vcqw0dl5"))))
|
||||
"0k1ddnzxfpbng2sp5r31jjxsmp35g977rx6a8jcp4prcvmddn4f8"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("doc" ;16 MB
|
||||
"out"))
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
|
||||
;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
|
||||
;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net>
|
||||
;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
|
||||
|
@ -823,6 +823,52 @@ on @command{git}, and use any regular Git hosting service.")
|
|||
to GitHub contributions calendar.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public xdiff
|
||||
(let ((revision "0")
|
||||
(commit "a137bc7ee6c76618ed1737c257548eaa10ac0089"))
|
||||
(package
|
||||
(name "xdiff")
|
||||
;; The base version is taken from the CMakeLists.txt file.
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/libgit2/xdiff")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rxzpag2pih64qlgq40xg1z6mz0bzvps4baxw7bmykyhjhc2gx75"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build cmake-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26))
|
||||
#:tests? #f ;no test suite
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'create-shared-library
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("add_library\\(xdiff STATIC")
|
||||
"add_library(xdiff SHARED"))))
|
||||
(replace 'install ;no install target
|
||||
(lambda _
|
||||
(with-directory-excursion "../source"
|
||||
(for-each (cute install-file <>
|
||||
(string-append #$output "/include"))
|
||||
(list "xdiff.h"
|
||||
"git-xdiff.h"))) ;included by xdiff.h
|
||||
(install-file "libxdiff.so"
|
||||
(string-append #$output "/lib")))))))
|
||||
(home-page "https://github.com/libgit2/xdiff")
|
||||
(synopsis "File differential library used by git")
|
||||
(description "@code{xdiff} is the file differential library used by git,
|
||||
which has been extracted into a standalone library for compatibility with
|
||||
other git-like projects such as @code{libgit2}.")
|
||||
(license license:lgpl2.1+))))
|
||||
|
||||
(define-public libgit2
|
||||
(package
|
||||
(name "libgit2")
|
||||
|
@ -1072,115 +1118,118 @@ collaboration using typical untrusted file hosts or services.")
|
|||
(license license:gpl3+)))
|
||||
|
||||
(define-public cgit
|
||||
(package
|
||||
(name "cgit")
|
||||
;; Update the ‘git-source’ input as well.
|
||||
(version "1.2.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://git.zx2c4.com/cgit/snapshot/cgit-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"193d990ym10qlslk0p8mjwp2j6rhqa7fq0y1iff65lvbyv914pss"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; XXX: fail to build the in-source git.
|
||||
#:test-target "test"
|
||||
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
|
||||
"SHELL_PATH=sh")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-git
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Unpack the source of git into the 'git' directory.
|
||||
(invoke "tar" "--strip-components=1" "-C" "git" "-xf"
|
||||
(assoc-ref inputs "git-source"))))
|
||||
(add-after 'unpack 'patch-absolute-file-names
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(define (quoted-file-name input path)
|
||||
(string-append "\"" input path "\""))
|
||||
(substitute* "ui-snapshot.c"
|
||||
(("\"gzip\"")
|
||||
(quoted-file-name (assoc-ref inputs "gzip") "/bin/gzip"))
|
||||
(("\"bzip2\"")
|
||||
(quoted-file-name (assoc-ref inputs "bzip2") "/bin/bzip2"))
|
||||
(("\"xz\"")
|
||||
(quoted-file-name (assoc-ref inputs "xz") "/bin/xz")))
|
||||
(let ((commit "793c420897e18eb3474c751d54cf4e0983f85433")
|
||||
(rev "1"))
|
||||
(package
|
||||
(name "cgit")
|
||||
;; Update the ‘git-source’ input as well.
|
||||
(version (git-version "1.2.3" rev commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.zx2c4.com/cgit")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1mhrm14wpqvralf9j33ih5ai6naiq3g2jg2z91gnw9dhh8f9ilwz"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; XXX: fail to build the in-source git.
|
||||
#:test-target "test"
|
||||
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
|
||||
"SHELL_PATH=sh")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-git
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Unpack the source of git into the 'git' directory.
|
||||
(invoke "tar" "--strip-components=1" "-C" "git" "-xf"
|
||||
(assoc-ref inputs "git-source"))))
|
||||
(add-after 'unpack 'patch-absolute-file-names
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(define (quoted-file-name input path)
|
||||
(string-append "\"" input path "\""))
|
||||
(substitute* "ui-snapshot.c"
|
||||
(("\"gzip\"")
|
||||
(quoted-file-name (assoc-ref inputs "gzip") "/bin/gzip"))
|
||||
(("\"bzip2\"")
|
||||
(quoted-file-name (assoc-ref inputs "bzip2") "/bin/bzip2"))
|
||||
(("\"xz\"")
|
||||
(quoted-file-name (assoc-ref inputs "xz") "/bin/xz")))
|
||||
|
||||
(substitute* "filters/about-formatting.sh"
|
||||
(("$\\(dirname $0\\)") (string-append (assoc-ref outputs "out")
|
||||
"/lib/cgit/filters"))
|
||||
(("\\| tr") (string-append "| " (which "tr"))))
|
||||
(substitute* "filters/about-formatting.sh"
|
||||
(("$\\(dirname $0\\)") (string-append (assoc-ref outputs "out")
|
||||
"/lib/cgit/filters"))
|
||||
(("\\| tr") (string-append "| " (which "tr"))))
|
||||
|
||||
(substitute* "filters/html-converters/txt2html"
|
||||
(("sed") (which "sed")))
|
||||
(substitute* "filters/html-converters/txt2html"
|
||||
(("sed") (which "sed")))
|
||||
|
||||
(substitute* "filters/html-converters/man2html"
|
||||
(("groff") (which "groff")))
|
||||
(substitute* "filters/html-converters/man2html"
|
||||
(("groff") (which "groff")))
|
||||
|
||||
(substitute* "filters/html-converters/rst2html"
|
||||
(("rst2html\\.py") (which "rst2html.py")))))
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'build 'build-man
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "doc-man" make-flags)))
|
||||
(replace 'install
|
||||
(lambda* (#:key make-flags outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(apply invoke
|
||||
"make" "install" "install-man"
|
||||
(string-append "prefix=" out)
|
||||
(string-append "CGIT_SCRIPT_PATH=" out "/share/cgit")
|
||||
make-flags)
|
||||
;; Move the platform-dependent 'cgit.cgi' into lib to get it
|
||||
;; stripped.
|
||||
(rename-file (string-append out "/share/cgit/cgit.cgi")
|
||||
(string-append out "/lib/cgit/cgit.cgi")))))
|
||||
(add-after 'install 'wrap-python-scripts
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(wrap-program (string-append (assoc-ref outputs "out")
|
||||
"/lib/cgit/filters/" file)
|
||||
`("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))))
|
||||
'("syntax-highlighting.py"
|
||||
"html-converters/md2html")))))))
|
||||
(native-inputs
|
||||
;; For building manpage.
|
||||
(list asciidoc))
|
||||
(inputs
|
||||
`(;; Building cgit requires a Git source tree.
|
||||
("git-source"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
;; cgit is tightly bound to git. Use GIT_VER from the Makefile,
|
||||
;; which may not match the current (package-version git).
|
||||
(uri "mirror://kernel.org/software/scm/git/git-2.25.4.tar.xz")
|
||||
(sha256
|
||||
(base32 "11am6s46wmn1yll5614smjhzlghbqq6gysgcs64igjr9y5wzpdxq"))))
|
||||
("bash-minimal" ,bash-minimal)
|
||||
("openssl" ,openssl)
|
||||
("python" ,python)
|
||||
("python-docutils" ,python-docutils)
|
||||
("python-markdown" ,python-markdown)
|
||||
("python-pygments" ,python-pygments)
|
||||
("zlib" ,zlib)
|
||||
;; bzip2, groff, gzip and xz are inputs (not native inputs)
|
||||
;; since they are actually substituted into cgit source and
|
||||
;; referenced by the built package output.
|
||||
("bzip2" ,bzip2)
|
||||
("groff" ,groff)
|
||||
("gzip" ,gzip)
|
||||
("xz" ,xz)))
|
||||
(home-page "https://git.zx2c4.com/cgit/")
|
||||
(synopsis "Web frontend for git repositories")
|
||||
(description
|
||||
"CGit is an attempt to create a fast web interface for the Git SCM, using
|
||||
(substitute* "filters/html-converters/rst2html"
|
||||
(("rst2html\\.py") (which "rst2html.py")))))
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'build 'build-man
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "doc-man" make-flags)))
|
||||
(replace 'install
|
||||
(lambda* (#:key make-flags outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(apply invoke
|
||||
"make" "install" "install-man"
|
||||
(string-append "prefix=" out)
|
||||
(string-append "CGIT_SCRIPT_PATH=" out "/share/cgit")
|
||||
make-flags)
|
||||
;; Move the platform-dependent 'cgit.cgi' into lib to get it
|
||||
;; stripped.
|
||||
(rename-file (string-append out "/share/cgit/cgit.cgi")
|
||||
(string-append out "/lib/cgit/cgit.cgi")))))
|
||||
(add-after 'install 'wrap-python-scripts
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(wrap-program (string-append (assoc-ref outputs "out")
|
||||
"/lib/cgit/filters/" file)
|
||||
`("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))))
|
||||
'("syntax-highlighting.py"
|
||||
"html-converters/md2html")))))))
|
||||
(native-inputs
|
||||
;; For building manpage.
|
||||
(list asciidoc))
|
||||
(inputs
|
||||
`( ;; Building cgit requires a Git source tree.
|
||||
("git-source"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
;; cgit is tightly bound to git. Use GIT_VER from the Makefile,
|
||||
;; which may not match the current (package-version git).
|
||||
(uri "mirror://kernel.org/software/scm/git/git-2.43.0.tar.xz")
|
||||
(sha256
|
||||
(base32 "1v3nkfm3gw8wr7595qy86qla8xyjvi85fmly4lfph4frfcz60ijl"))))
|
||||
("bash-minimal" ,bash-minimal)
|
||||
("openssl" ,openssl)
|
||||
("python" ,python)
|
||||
("python-docutils" ,python-docutils)
|
||||
("python-markdown" ,python-markdown)
|
||||
("python-pygments" ,python-pygments)
|
||||
("zlib" ,zlib)
|
||||
;; bzip2, groff, gzip and xz are inputs (not native inputs)
|
||||
;; since they are actually substituted into cgit source and
|
||||
;; referenced by the built package output.
|
||||
("bzip2" ,bzip2)
|
||||
("groff" ,groff)
|
||||
("gzip" ,gzip)
|
||||
("xz" ,xz)))
|
||||
(home-page "https://git.zx2c4.com/cgit/")
|
||||
(synopsis "Web frontend for git repositories")
|
||||
(description
|
||||
"CGit is an attempt to create a fast web interface for the Git SCM, using
|
||||
a built-in cache to decrease server I/O pressure.")
|
||||
(license license:gpl2)))
|
||||
(license license:gpl2))))
|
||||
|
||||
(define-public cgit-pink
|
||||
(package
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
|
||||
;;; Copyright © 2021, 2022, 2023 Andrew Tropin <andrew@trop.in>
|
||||
;;; Copyright © 2021 David Wilson <david@daviwil.com>
|
||||
;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021, 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
|
||||
;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com>
|
||||
|
@ -1047,14 +1047,14 @@ H.264 (MPEG-4 AVC) video streams.")
|
|||
(define-public mkvtoolnix
|
||||
(package
|
||||
(name "mkvtoolnix")
|
||||
(version "52.0.0")
|
||||
(version "80.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://mkvtoolnix.download/sources/"
|
||||
"mkvtoolnix-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "15y7ahlifsclnkl70wn5w34dil8nwcwcjnw3k2ydqc6dz4vb0j5s"))
|
||||
(base32 "1x9k9pmw7mzm2amvm251a45dlj9p9iqfank5p4w2fizxkapws25v"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
;; Delete bundled libraries.
|
||||
|
@ -1070,6 +1070,7 @@ H.264 (MPEG-4 AVC) video streams.")
|
|||
(outputs '("out" "gui")) ; "mkvtoolnix-gui" brings the closure size from ~300 MB to 1.5+ GB.
|
||||
(inputs
|
||||
(list boost
|
||||
gmp
|
||||
bzip2
|
||||
cmark
|
||||
libebml
|
||||
|
@ -1083,86 +1084,96 @@ H.264 (MPEG-4 AVC) video streams.")
|
|||
lzo
|
||||
pcre2
|
||||
pugixml
|
||||
qtbase-5
|
||||
qtmultimedia-5
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtsvg
|
||||
utfcpp
|
||||
zlib))
|
||||
(native-inputs
|
||||
`(("docbook-xsl" ,docbook-xsl)
|
||||
("gettext" ,gettext-minimal)
|
||||
("googletest" ,googletest)
|
||||
("libxslt" ,libxslt)
|
||||
("nlohmann-json" ,nlohmann-json)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)
|
||||
("po4a" ,po4a)
|
||||
("qttools-5" ,qttools-5)
|
||||
("ruby" ,ruby-2.7)))
|
||||
(list docbook-xsl
|
||||
gettext-minimal
|
||||
googletest
|
||||
libxslt
|
||||
nlohmann-json
|
||||
perl
|
||||
pkg-config
|
||||
po4a
|
||||
qttools
|
||||
ruby-3.2))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--with-boost="
|
||||
(assoc-ref %build-inputs "boost"))
|
||||
(string-append "--with-docbook-xsl-root="
|
||||
(assoc-ref %build-inputs "docbook-xsl")
|
||||
"/xml/xsl/docbook-xsl-"
|
||||
,(package-version docbook-xsl))
|
||||
"--enable-update-check=no"
|
||||
"--enable-precompiled-headers=no")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-utfcpp-include
|
||||
(lambda _
|
||||
(substitute* "src/common/strings/utf8.cpp"
|
||||
(("<utf8.h>")
|
||||
"<utf8cpp/utf8.h>"))))
|
||||
(add-after 'unpack 'patch-relative-file-names
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "src/mkvtoolnix-gui/util/settings.cpp"
|
||||
(("mkvmerge" match)
|
||||
(string-append out "/bin/" match)))
|
||||
#t)))
|
||||
(add-before 'configure 'add-googletest
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(symlink (search-input-directory inputs "/include/gtest")
|
||||
"lib/gtest")))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(let ((-j (list "-j" (number->string (parallel-job-count)))))
|
||||
(apply invoke "rake" -j))))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "rake" "tests/unit")))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(invoke "rake" "install")))
|
||||
(add-after 'install 'post-install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Move the Qt interface to "gui".
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(gui (assoc-ref outputs "gui"))
|
||||
(strip-store-dir (lambda (path)
|
||||
(substring path (string-prefix-length out path)))))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(mkdir-p (string-append gui (dirname file)))
|
||||
(rename-file (string-append out file)
|
||||
(string-append gui file)))
|
||||
(append '("/bin/mkvtoolnix-gui"
|
||||
"/share/applications/org.bunkus.mkvtoolnix-gui.desktop"
|
||||
"/share/metainfo/org.bunkus.mkvtoolnix-gui.appdata.xml"
|
||||
"/share/mime/packages/org.bunkus.mkvtoolnix-gui.xml")
|
||||
(map strip-store-dir (find-files out "\\.ogg$"))
|
||||
(map strip-store-dir (find-files out "mkvtoolnix-gui\\.png$"))
|
||||
(map strip-store-dir (find-files out "mkvtoolnix-gui\\.1"))))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(delete-file-recursively (string-append out file)))
|
||||
'("/share/applications"
|
||||
"/share/metainfo"
|
||||
"/share/mime"
|
||||
"/share/mkvtoolnix")))
|
||||
#t)))))
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list (string-append "--with-boost="
|
||||
#$(this-package-input "boost"))
|
||||
(string-append "--with-docbook-xsl-root="
|
||||
#$(this-package-native-input "docbook-xsl")
|
||||
"/xml/xsl/docbook-xsl-"
|
||||
#$(package-version
|
||||
(this-package-native-input "docbook-xsl")))
|
||||
"--enable-update-check=no"
|
||||
"--enable-precompiled-headers=no")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-utfcpp-include
|
||||
(lambda _
|
||||
(substitute* "src/common/strings/utf8.cpp"
|
||||
(("<utf8.h>")
|
||||
"<utf8cpp/utf8.h>"))))
|
||||
(add-after 'unpack 'patch-relative-file-names
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "src/mkvtoolnix-gui/util/settings.cpp"
|
||||
(("mkvmerge" match)
|
||||
(string-append out "/bin/" match))) #t)))
|
||||
(add-before 'configure 'add-googletest
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(symlink (search-input-directory inputs
|
||||
"/include/gtest")
|
||||
"lib/gtest")))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(let ((-j (list "-j"
|
||||
(number->string (parallel-job-count)))))
|
||||
(apply invoke "rake" -j))))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "rake" "tests/unit")))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(invoke "rake" "install")))
|
||||
(add-after 'install 'post-install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Move the Qt interface to "gui".
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(gui (assoc-ref outputs "gui"))
|
||||
(strip-store-dir (lambda (path)
|
||||
(substring path
|
||||
(string-prefix-length
|
||||
out path)))))
|
||||
(for-each (lambda (file)
|
||||
(mkdir-p (string-append gui
|
||||
(dirname
|
||||
file)))
|
||||
(rename-file (string-append out file)
|
||||
(string-append gui file)))
|
||||
(append '("/bin/mkvtoolnix-gui"
|
||||
"/share/applications/org.bunkus.mkvtoolnix-gui.desktop"
|
||||
"/share/metainfo/org.bunkus.mkvtoolnix-gui.appdata.xml"
|
||||
"/share/mime/packages/org.bunkus.mkvtoolnix-gui.xml")
|
||||
(map strip-store-dir
|
||||
(find-files out "\\.ogg$"))
|
||||
(map strip-store-dir
|
||||
(find-files out
|
||||
"mkvtoolnix-gui\\.png$"))
|
||||
(map strip-store-dir
|
||||
(find-files out
|
||||
"mkvtoolnix-gui\\.1"))))
|
||||
(for-each (lambda (file)
|
||||
(delete-file-recursively
|
||||
(string-append out file)))
|
||||
'("/share/applications"
|
||||
"/share/metainfo" "/share/mime"
|
||||
"/share/mkvtoolnix"))))))))
|
||||
(home-page "https://mkvtoolnix.download")
|
||||
(synopsis "Tools to create, alter and inspect Matroska files")
|
||||
(description
|
||||
|
@ -1505,14 +1516,14 @@ SMPTE 314M.")
|
|||
(define-public libmatroska
|
||||
(package
|
||||
(name "libmatroska")
|
||||
(version "1.6.3")
|
||||
(version "1.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dl.matroska.org/downloads/"
|
||||
"libmatroska/libmatroska-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "06h81sxyz2riic0gpzik6ffcnq32wrqphi8c6k55glcdymiimyfs"))))
|
||||
(base32 "1cqq61qgv6x3xjzjrw71dya7lbsbrsmi9raqm2k4hgfrp0rk0ajp"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list libebml))
|
||||
|
@ -1657,14 +1668,14 @@ operate properly.")
|
|||
(define-public ffmpeg
|
||||
(package
|
||||
(name "ffmpeg")
|
||||
(version "6.0")
|
||||
(version "6.1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10kh2f4y4isfqj4xpcqqnzk611jh89ywcjyjnq9c2jcv5p18ggjp"))))
|
||||
"0s7r2qv8gh2a3w568n9xxgcz0q8j5ww1jdsci1hm9f4l1yqg9146"))))
|
||||
(outputs '("out" "debug"))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
@ -1989,6 +2000,252 @@ audio/video codec library.")
|
|||
"--enable-static"))))
|
||||
(inputs '()))))
|
||||
|
||||
;;; Custom ffmpeg package used by Jami, which incorporates custom patches.
|
||||
(define-public ffmpeg-jami
|
||||
(package
|
||||
(inherit ffmpeg)
|
||||
(name "ffmpeg-jami")
|
||||
(source (let ((ffmpeg-origin (package-source ffmpeg)))
|
||||
(origin
|
||||
(inherit ffmpeg-origin)
|
||||
;; These patches originate come from
|
||||
;; <https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/ffmpeg/>.
|
||||
;; Make sure to keep them update and/or register any new ones
|
||||
;; here.
|
||||
(patches
|
||||
(append
|
||||
(origin-patches ffmpeg-origin)
|
||||
(search-patches
|
||||
"ffmpeg-jami-remove-mjpeg-log.patch"
|
||||
"ffmpeg-jami-change-RTCP-ratio.patch"
|
||||
"ffmpeg-jami-rtp_ext_abs_send_time.patch"
|
||||
"ffmpeg-jami-libopusdec-enable-FEC.patch"
|
||||
"ffmpeg-jami-libopusenc-reload-packet-loss-at-encode.patch"
|
||||
"ffmpeg-jami-screen-sharing-x11-fix.patch"))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg)
|
||||
((#:configure-flags _ '())
|
||||
#~(list "--disable-static"
|
||||
"--enable-shared"
|
||||
"--disable-stripping"
|
||||
;; The following variables are configure flags used by
|
||||
;; ffmpeg-jami. They're from the
|
||||
;; jami/daemon/contrib/src/ffmpeg/rules.mak file. We try to
|
||||
;; keep it as close to the official Jami package as possible,
|
||||
;; to provide all the codecs and extra features that are
|
||||
;; expected (see:
|
||||
;; https://review.jami.net/plugins/gitiles/jami-daemon/+/
|
||||
;; refs/heads/master/contrib/src/ffmpeg/rules.mak).
|
||||
;; An exception are the ffnvcodec-related switches, which is
|
||||
;; not packaged in Guix and would not work with Mesa.
|
||||
#$@(if (string-contains (%current-system) "linux")
|
||||
'("--enable-pic"
|
||||
"--extra-cxxflags=-fPIC"
|
||||
"--extra-cflags=-fPIC"
|
||||
"--target-os=linux"
|
||||
"--enable-indev=v4l2"
|
||||
"--enable-indev=xcbgrab"
|
||||
"--enable-vdpau"
|
||||
"--enable-hwaccel=h264_vdpau"
|
||||
"--enable-hwaccel=mpeg4_vdpau"
|
||||
"--enable-vaapi"
|
||||
"--enable-hwaccel=h264_vaapi"
|
||||
"--enable-hwaccel=mpeg4_vaapi"
|
||||
"--enable-hwaccel=h263_vaapi"
|
||||
"--enable-hwaccel=vp8_vaapi"
|
||||
"--enable-hwaccel=mjpeg_vaapi"
|
||||
"--enable-hwaccel=hevc_vaapi"
|
||||
"--enable-encoder=h264_vaapi"
|
||||
"--enable-encoder=vp8_vaapi"
|
||||
"--enable-encoder=mjpeg_vaapi"
|
||||
"--enable-encoder=hevc_vaapi")
|
||||
'())
|
||||
"--disable-everything"
|
||||
"--enable-zlib"
|
||||
"--enable-gpl"
|
||||
"--enable-swscale"
|
||||
"--enable-bsfs"
|
||||
"--disable-filters"
|
||||
"--disable-programs"
|
||||
"--disable-postproc"
|
||||
"--disable-protocols"
|
||||
"--enable-protocol=crypto"
|
||||
"--enable-protocol=file"
|
||||
"--enable-protocol=rtp"
|
||||
"--enable-protocol=srtp"
|
||||
"--enable-protocol=tcp"
|
||||
"--enable-protocol=udp"
|
||||
"--enable-protocol=unix"
|
||||
"--enable-protocol=pipe"
|
||||
|
||||
;; Enable muxers/demuxers.
|
||||
"--disable-demuxers"
|
||||
"--disable-muxers"
|
||||
"--enable-muxer=rtp"
|
||||
"--enable-muxer=g722"
|
||||
"--enable-muxer=g726"
|
||||
"--enable-muxer=g726le"
|
||||
"--enable-muxer=h263"
|
||||
"--enable-muxer=h264"
|
||||
"--enable-muxer=hevc"
|
||||
"--enable-muxer=matroska"
|
||||
"--enable-muxer=wav"
|
||||
"--enable-muxer=webm"
|
||||
"--enable-muxer=ogg"
|
||||
"--enable-muxer=pcm_s16be"
|
||||
"--enable-muxer=pcm_s16le"
|
||||
"--enable-demuxer=rtp"
|
||||
"--enable-demuxer=mjpeg"
|
||||
"--enable-demuxer=mjpeg_2000"
|
||||
"--enable-demuxer=mpegvideo"
|
||||
"--enable-demuxer=gif"
|
||||
"--enable-demuxer=image_jpeg_pipe"
|
||||
"--enable-demuxer=image_png_pipe"
|
||||
"--enable-demuxer=image_webp_pipe"
|
||||
"--enable-demuxer=matroska"
|
||||
"--enable-demuxer=m4v"
|
||||
"--enable-demuxer=mp3"
|
||||
"--enable-demuxer=ogg"
|
||||
"--enable-demuxer=flac"
|
||||
"--enable-demuxer=wav"
|
||||
"--enable-demuxer=ac3"
|
||||
"--enable-demuxer=g722"
|
||||
"--enable-demuxer=g723_1"
|
||||
"--enable-demuxer=g726"
|
||||
"--enable-demuxer=g726le"
|
||||
"--enable-demuxer=pcm_mulaw"
|
||||
"--enable-demuxer=pcm_alaw"
|
||||
"--enable-demuxer=pcm_s16be"
|
||||
"--enable-demuxer=pcm_s16le"
|
||||
"--enable-demuxer=h263"
|
||||
"--enable-demuxer=h264"
|
||||
"--enable-demuxer=hevc"
|
||||
|
||||
;; Enable parsers.
|
||||
"--enable-parser=h263"
|
||||
"--enable-parser=h264"
|
||||
"--enable-parser=hevc"
|
||||
"--enable-parser=mpeg4video"
|
||||
"--enable-parser=vp8"
|
||||
"--enable-parser=vp9"
|
||||
"--enable-parser=opus"
|
||||
|
||||
;; Encoders/decoders.
|
||||
"--enable-encoder=adpcm_g722"
|
||||
"--enable-decoder=adpcm_g722"
|
||||
"--enable-encoder=adpcm_g726"
|
||||
"--enable-decoder=adpcm_g726"
|
||||
"--enable-encoder=adpcm_g726le"
|
||||
"--enable-decoder=adpcm_g726le"
|
||||
"--enable-decoder=g729"
|
||||
"--enable-encoder=g723_1"
|
||||
"--enable-decoder=g723_1"
|
||||
"--enable-encoder=rawvideo"
|
||||
"--enable-decoder=rawvideo"
|
||||
"--enable-encoder=libx264"
|
||||
"--enable-decoder=h264"
|
||||
"--enable-encoder=pcm_alaw"
|
||||
"--enable-decoder=pcm_alaw"
|
||||
"--enable-encoder=pcm_mulaw"
|
||||
"--enable-decoder=pcm_mulaw"
|
||||
"--enable-encoder=mpeg4"
|
||||
"--enable-decoder=mpeg4"
|
||||
"--enable-encoder=libvpx_vp8"
|
||||
"--enable-decoder=vp8"
|
||||
"--enable-decoder=vp9"
|
||||
"--enable-encoder=h263"
|
||||
"--enable-encoder=h263p"
|
||||
"--enable-decoder=h263"
|
||||
"--enable-encoder=mjpeg"
|
||||
"--enable-decoder=mjpeg"
|
||||
"--enable-decoder=mjpegb"
|
||||
"--enable-libspeex"
|
||||
"--enable-libopus"
|
||||
"--enable-libvpx"
|
||||
"--enable-libx264"
|
||||
"--enable-encoder=libspeex"
|
||||
"--enable-decoder=libspeex"
|
||||
"--enable-encoder=libopus"
|
||||
"--enable-decoder=libopus"
|
||||
|
||||
;; Encoders/decoders for ringtones and audio streaming.
|
||||
"--enable-decoder=flac"
|
||||
"--enable-decoder=vorbis"
|
||||
"--enable-decoder=aac"
|
||||
"--enable-decoder=ac3"
|
||||
"--enable-decoder=eac3"
|
||||
"--enable-decoder=mp3"
|
||||
"--enable-decoder=pcm_u24le"
|
||||
"--enable-decoder=pcm_u32le"
|
||||
"--enable-decoder=pcm_u8"
|
||||
"--enable-decoder=pcm_f16le"
|
||||
"--enable-decoder=pcm_f32le"
|
||||
"--enable-decoder=pcm_f64le"
|
||||
"--enable-decoder=pcm_s16le"
|
||||
"--enable-decoder=pcm_s24le"
|
||||
"--enable-decoder=pcm_s32le"
|
||||
"--enable-decoder=pcm_s64le"
|
||||
"--enable-decoder=pcm_u16le"
|
||||
"--enable-encoder=pcm_u8"
|
||||
"--enable-encoder=pcm_f32le"
|
||||
"--enable-encoder=pcm_f64le"
|
||||
"--enable-encoder=pcm_s16le"
|
||||
"--enable-encoder=pcm_s32le"
|
||||
"--enable-encoder=pcm_s64le"
|
||||
|
||||
"--enable-decoder=pcm_s16be"
|
||||
"--enable-decoder=pcm_s16be_planar"
|
||||
"--enable-decoder=pcm_s16le_planar"
|
||||
"--enable-decoder=pcm_s24be"
|
||||
"--enable-decoder=pcm_s24le_planar"
|
||||
"--enable-decoder=pcm_s32be"
|
||||
"--enable-decoder=pcm_s32le_planar"
|
||||
"--enable-decoder=pcm_s64be"
|
||||
"--enable-decoder=pcm_s8"
|
||||
"--enable-decoder=pcm_s8_planar"
|
||||
"--enable-decoder=pcm_u16be"
|
||||
|
||||
;; Encoders/decoders for images.
|
||||
"--enable-encoder=gif"
|
||||
"--enable-decoder=gif"
|
||||
"--enable-encoder=jpegls"
|
||||
"--enable-decoder=jpegls"
|
||||
"--enable-encoder=ljpeg"
|
||||
"--enable-decoder=jpeg2000"
|
||||
"--enable-encoder=png"
|
||||
"--enable-decoder=png"
|
||||
"--enable-encoder=bmp"
|
||||
"--enable-decoder=bmp"
|
||||
"--enable-encoder=tiff"
|
||||
"--enable-decoder=tiff"
|
||||
|
||||
;; Filters.
|
||||
"--enable-filter=scale"
|
||||
"--enable-filter=overlay"
|
||||
"--enable-filter=amix"
|
||||
"--enable-filter=amerge"
|
||||
"--enable-filter=aresample"
|
||||
"--enable-filter=format"
|
||||
"--enable-filter=aformat"
|
||||
"--enable-filter=fps"
|
||||
"--enable-filter=transpose"
|
||||
"--enable-filter=pad"
|
||||
|
||||
"--enable-filter=afir"
|
||||
"--enable-filter=split"
|
||||
"--enable-filter=drawbox"
|
||||
"--enable-filter=drawtext"
|
||||
"--enable-filter=rotate"
|
||||
"--enable-filter=loop"
|
||||
"--enable-filter=setpts"
|
||||
"--enable-filter=movie"
|
||||
"--enable-filter=alphamerge"
|
||||
"--enable-filter=boxblur"
|
||||
"--enable-filter=lut"
|
||||
"--enable-filter=negate"
|
||||
"--enable-filter=colorkey"
|
||||
"--enable-filter=transpose"))))))
|
||||
|
||||
(define-public ffmpegthumbnailer
|
||||
(package
|
||||
(name "ffmpegthumbnailer")
|
||||
|
@ -3631,7 +3888,10 @@ be used for realtime video capture via Linux-specific APIs.")
|
|||
(lambda* _
|
||||
(let ((plugin-path (getenv "QT_PLUGIN_PATH")))
|
||||
(wrap-program (string-append #$output "/bin/obs")
|
||||
`("QT_PLUGIN_PATH" ":" prefix (,plugin-path)))))))))
|
||||
`("QT_PLUGIN_PATH" ":" prefix (,plugin-path))
|
||||
`("LD_LIBRARY_PATH" ":" prefix
|
||||
(,(string-append #$(this-package-input "vlc")
|
||||
"/lib"))))))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "OBS_PLUGINS_DIRECTORY")
|
||||
|
|
|
@ -884,6 +884,14 @@ refactor Vim in order to:
|
|||
'(#:tests? #false ;no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'help-cmake-find-msgpack-c
|
||||
(lambda _
|
||||
;; Patch the build system so that it can find the modern
|
||||
;; 'msgpack-c' named pkg-config file (see:
|
||||
;; https://github.com/jeanguyomarch/eovim/issues/73).
|
||||
(substitute* "cmake/Modules/FindMsgPack.cmake"
|
||||
(("MSGPACK QUIET msgpack")
|
||||
"MSGPACK QUIET msgpack-c msgpack"))))
|
||||
(add-after 'configure 'reference-nvim
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((nvim (search-input-file inputs "/bin/nvim")))
|
||||
|
@ -894,10 +902,8 @@ refactor Vim in order to:
|
|||
(string-append start nvim))))))
|
||||
(add-before 'build 'set-home
|
||||
(lambda _ (setenv "HOME" "/tmp"))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list efl msgpack neovim))
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list efl msgpack-c neovim))
|
||||
(home-page "https://github.com/jeanguyomarch/eovim/")
|
||||
(synopsis "EFL GUI for Neovim")
|
||||
(description "Graphical Neovim interface based on the @acronym{EFL, Enlightenment
|
||||
|
|
|
@ -587,7 +587,7 @@ driven and does not detract you from your daily work.")
|
|||
(define-public nyxt
|
||||
(package
|
||||
(name "nyxt")
|
||||
(version "3.10.0")
|
||||
(version "3.11.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -596,7 +596,7 @@ driven and does not detract you from your daily work.")
|
|||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"1rz2082kk3fdvszqmi3fgndrq205vbxl3i0x4qyli0jy3lpvjin8"))
|
||||
"0hzkpk8kshw7afz3pryi99xz2vg3v676day0mgji3hvaazfan39p"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020, 2021 Ryan Prior <rprior@protonmail.com>
|
||||
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
|
||||
;;; Copyright © 2021 la snesne <lasnesne@lagunposprasihopre.org>
|
||||
;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
|
||||
|
@ -6621,6 +6621,28 @@ Depending on your architecture, it only requires about 40 bytes of data per
|
|||
message stream (in a web server that is per connection).")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public llhttp
|
||||
(package
|
||||
(name "llhttp")
|
||||
(version "9.1.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nodejs/llhttp")
|
||||
(commit (string-append "release/v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1nkv64c5fs8x6n5f9f6g28w5hvg776p55cwa0f82ni548nx279s1"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments (list #:tests? #f)) ;FIXME: tests depend on node-mocha
|
||||
(home-page "https://github.com/nodejs/llhttp")
|
||||
(synopsis "Port of http_parser to llparse")
|
||||
(description "@code{llparse} is a port of @code{http_parser} to
|
||||
@code{llparse} which aims making it more maintainable, verifiable and
|
||||
efficient where possible.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-httpretty
|
||||
(package
|
||||
(name "python-httpretty")
|
||||
|
|
|
@ -787,7 +787,7 @@ desktop environment.")
|
|||
(define-public icewm
|
||||
(package
|
||||
(name "icewm")
|
||||
(version "3.4.4")
|
||||
(version "3.4.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -795,7 +795,7 @@ desktop environment.")
|
|||
version "/icewm-" version ".tar.lz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cdsb2d45dwcr2dm4jfh0z5g6pkb0ghd4jaybxqiz74mbw5rmjhv"))))
|
||||
"1wd5k0whh2b43a72223cy19pwc29fhrhd2dnc61fha2y5ndgw6ld"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list fontconfig
|
||||
|
|
|
@ -216,7 +216,7 @@ to share commonly used Xfce widgets among the Xfce applications.")
|
|||
(define-public catfish
|
||||
(package
|
||||
(name "catfish")
|
||||
(version "4.16.4")
|
||||
(version "4.18.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://archive.xfce.org/src/apps/"
|
||||
|
@ -224,7 +224,7 @@ to share commonly used Xfce widgets among the Xfce applications.")
|
|||
"/catfish-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1z5m9f4cj473n68rrhhbkq3x5df5k394qp4n27lqqyny6k2h2p3f"))))
|
||||
"16cbsnki7qragwhbfs3h0ja7xg8xlf59ajxhddqm0jkmrirrpbpx"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -270,7 +270,7 @@ it to your needs by using several command line options.")
|
|||
(define-public elementary-xfce-icon-theme
|
||||
(package
|
||||
(name "elementary-xfce-icon-theme")
|
||||
(version "0.17")
|
||||
(version "0.18")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
|
@ -280,7 +280,7 @@ it to your needs by using several command line options.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0jlawp6rg55w5cm4d7836r660i2pnc5gkzpdjsq7w5875i85arzm"))))
|
||||
"124bdgghkjkpcsfn9a2ad6zqy233pi9jqmv8w8a3ha6q3al2s11s"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no check target
|
||||
|
|
|
@ -245,14 +245,14 @@ which can be read by any architecture.")
|
|||
(define-public xorgproto
|
||||
(package
|
||||
(name "xorgproto")
|
||||
(version "2022.2")
|
||||
(version "2023.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://xorg/individual/proto"
|
||||
"/xorgproto-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17kbq1x68jl9mz69ays5c0w72lpkqi937raxk0im7y88pvrdn4sx"))))
|
||||
"0b4c27aq25w1fccks49p020avf9jzh75kaq5qwnww51bp1yvq7xn"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
;; To get util-macros in (almost?) all package inputs.
|
||||
|
@ -5250,7 +5250,7 @@ EGLStream families of extensions.")
|
|||
(define-public xorg-server-xwayland
|
||||
(package
|
||||
(name "xorg-server-xwayland")
|
||||
(version "21.1.3")
|
||||
(version "23.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -5258,7 +5258,7 @@ EGLStream families of extensions.")
|
|||
"/xserver/xwayland-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18pqvg76grbsyxa3mm3j06i1l8cwb28nbn2gcnqpsk7x75zpbhpb"))))
|
||||
"00p30yyikh7h9xsqgir66xb06pspgjlibv1mi0n42irc4fkrm7gb"))))
|
||||
(inputs (list font-dejavu
|
||||
dbus
|
||||
egl-wayland
|
||||
|
@ -5268,6 +5268,7 @@ EGLStream families of extensions.")
|
|||
libepoxy
|
||||
libgcrypt
|
||||
libtirpc
|
||||
libxcvt
|
||||
libxfont2
|
||||
libxkbfile
|
||||
pixman
|
||||
|
@ -5283,6 +5284,7 @@ EGLStream families of extensions.")
|
|||
wayland
|
||||
wayland-protocols)
|
||||
'())))
|
||||
(properties '((upstream-name . "xwayland")))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
@ -1798,9 +1798,9 @@ archive' public keys, with GUIX."
|
|||
(chroot-directories guix-configuration-chroot-directories ;list of file-like/strings
|
||||
(default '()))
|
||||
(max-silent-time guix-configuration-max-silent-time ;integer
|
||||
(default 0))
|
||||
(default 3600))
|
||||
(timeout guix-configuration-timeout ;integer
|
||||
(default 0))
|
||||
(default (* 3600 24)))
|
||||
(log-compression guix-configuration-log-compression
|
||||
(default 'gzip))
|
||||
(discover? guix-configuration-discover?
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2015, 2017-2020, 2022, 2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2017-2020, 2022-2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -857,39 +857,24 @@ string, you could instantiate a prosody service like this:
|
|||
;; on 'networking'.
|
||||
(requirement '(user-processes networking))
|
||||
|
||||
(start #~(if (defined? 'make-inetd-constructor)
|
||||
(start #~(make-inetd-constructor
|
||||
(list #$bitlbee* "-I" "-c" #$conf)
|
||||
(list (endpoint
|
||||
(addrinfo:addr
|
||||
(car (getaddrinfo #$interface
|
||||
#$(number->string port)
|
||||
(logior AI_NUMERICHOST
|
||||
AI_NUMERICSERV))))))
|
||||
#:requirements '#$requirement
|
||||
#:service-name-stem "bitlbee"
|
||||
#:user "bitlbee" #:group "bitlbee"
|
||||
|
||||
(make-inetd-constructor
|
||||
(list #$bitlbee* "-I" "-c" #$conf)
|
||||
(list (endpoint
|
||||
(addrinfo:addr
|
||||
(car (getaddrinfo #$interface
|
||||
#$(number->string port)
|
||||
(logior AI_NUMERICHOST
|
||||
AI_NUMERICSERV))))))
|
||||
#:requirements '#$requirement
|
||||
#:service-name-stem "bitlbee"
|
||||
#:user "bitlbee" #:group "bitlbee"
|
||||
|
||||
;; Allow 'bitlbee-purple' to use libpurple plugins.
|
||||
#:environment-variables
|
||||
(list (string-append "PURPLE_PLUGIN_PATH="
|
||||
#$plugins "/lib/purple-2")
|
||||
"GUIX_LOCPATH=/run/current-system/locale"))
|
||||
|
||||
(make-forkexec-constructor
|
||||
(list #$(file-append bitlbee "/sbin/bitlbee")
|
||||
"-n" "-F" "-u" "bitlbee" "-c" #$conf)
|
||||
|
||||
;; Allow 'bitlbee-purple' to use libpurple plugins.
|
||||
#:environment-variables
|
||||
(list (string-append "PURPLE_PLUGIN_PATH="
|
||||
#$plugins "/lib/purple-2"))
|
||||
|
||||
#:pid-file "/var/run/bitlbee.pid")))
|
||||
(stop #~(if (defined? 'make-inetd-destructor)
|
||||
(make-inetd-destructor)
|
||||
(make-kill-destructor)))))))))
|
||||
;; Allow 'bitlbee-purple' to use libpurple plugins.
|
||||
#:environment-variables
|
||||
(list (string-append "PURPLE_PLUGIN_PATH="
|
||||
#$plugins "/lib/purple-2")
|
||||
"GUIX_LOCPATH=/run/current-system/locale")))
|
||||
(stop #~(make-inetd-destructor))))))))
|
||||
|
||||
(define %bitlbee-accounts
|
||||
;; User group and account to run BitlBee.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013-2016, 2018-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013-2016, 2018-2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2018 Carlo Zancanaro <carlo@zancanaro.id.au>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
|
@ -183,7 +183,6 @@ DEFAULT is given, use it as the service's default value."
|
|||
(define %default-modules
|
||||
;; Default set of modules visible in a service's file.
|
||||
`((shepherd service)
|
||||
(oop goops)
|
||||
((guix build utils) #:hide (delete))
|
||||
(guix build syscalls)))
|
||||
|
||||
|
@ -300,10 +299,10 @@ stored."
|
|||
#~(begin
|
||||
(use-modules #$@(shepherd-service-modules service))
|
||||
|
||||
(make <service>
|
||||
#:docstring '#$(shepherd-service-documentation service)
|
||||
#:provides '#$(shepherd-service-provision service)
|
||||
#:requires '#$(shepherd-service-requirement service)
|
||||
(service
|
||||
'#$(shepherd-service-provision service)
|
||||
#:documentation '#$(shepherd-service-documentation service)
|
||||
#:requirement '#$(shepherd-service-requirement service)
|
||||
|
||||
;; The 'one-shot?' slot is new in Shepherd 0.6.0.
|
||||
;; Older versions ignore it.
|
||||
|
@ -313,7 +312,7 @@ stored."
|
|||
#:start #$(shepherd-service-start service)
|
||||
#:stop #$(shepherd-service-stop service)
|
||||
#:actions
|
||||
(make-actions
|
||||
(actions
|
||||
#$@(map (match-lambda
|
||||
(($ <shepherd-action> name proc doc)
|
||||
#~(#$name #$doc #$proc)))
|
||||
|
@ -338,7 +337,6 @@ and return the resulting '.go' file. SHEPHERD is used as shepherd package."
|
|||
|
||||
;; Do the same as the Shepherd's 'load-in-user-module'.
|
||||
(let ((env (make-fresh-user-module)))
|
||||
(module-use! env (resolve-interface '(oop goops)))
|
||||
(module-use! env (resolve-interface '(shepherd service)))
|
||||
(with-target #$(or target #~%host-type)
|
||||
(lambda _
|
||||
|
@ -371,17 +369,6 @@ as shepherd package."
|
|||
(use-modules (srfi srfi-34)
|
||||
(system repl error-handling))
|
||||
|
||||
(define (call-with-file file flags proc)
|
||||
(let ((port #f))
|
||||
(dynamic-wind
|
||||
(lambda ()
|
||||
(set! port (open file flags)))
|
||||
(lambda ()
|
||||
(proc port))
|
||||
(lambda ()
|
||||
(close-port port)
|
||||
(set! port #f)))))
|
||||
|
||||
;; There's code run from shepherd that uses 'call-with-input-file' &
|
||||
;; co.--e.g., the 'urandom-seed' service. Starting from Shepherd
|
||||
;; 0.9.2, users need to make sure not to leak non-close-on-exec file
|
||||
|
@ -389,12 +376,12 @@ as shepherd package."
|
|||
;; standard bindings with O_CLOEXEC variants.
|
||||
(set! call-with-input-file
|
||||
(lambda (file proc)
|
||||
(call-with-file file (logior O_RDONLY O_CLOEXEC)
|
||||
proc)))
|
||||
(call-with-port (open file (logior O_RDONLY O_CLOEXEC))
|
||||
proc)))
|
||||
(set! call-with-output-file
|
||||
(lambda (file proc)
|
||||
(call-with-file file (logior O_WRONLY O_CREAT O_CLOEXEC)
|
||||
proc)))
|
||||
(call-with-port (open file (logior O_WRONLY O_CREAT O_CLOEXEC))
|
||||
proc)))
|
||||
|
||||
;; Specify the default environment visible to all the services.
|
||||
;; Without this statement, all the environment variables of PID 1
|
||||
|
@ -412,25 +399,17 @@ as shepherd package."
|
|||
;; than a kernel panic.
|
||||
(call-with-error-handling
|
||||
(lambda ()
|
||||
(apply register-services
|
||||
(parameterize ((current-warning-port
|
||||
(%make-void-port "w")))
|
||||
(map load-compiled '#$(map scm->go files))))))
|
||||
(register-services
|
||||
(parameterize ((current-warning-port
|
||||
(%make-void-port "w")))
|
||||
(map load-compiled '#$(map scm->go files))))))
|
||||
|
||||
(format #t "starting services...~%")
|
||||
(let ((services-to-start
|
||||
'#$(append-map shepherd-service-provision
|
||||
(filter shepherd-service-auto-start?
|
||||
services))))
|
||||
(if (defined? 'start-in-the-background)
|
||||
(start-in-the-background services-to-start)
|
||||
(for-each (lambda (service) ;pre-0.9.0 compatibility
|
||||
(guard (c ((service-error? c)
|
||||
(format (current-error-port)
|
||||
"failed to start service '~a'~%"
|
||||
service)))
|
||||
(start service)))
|
||||
services-to-start))
|
||||
(start-in-the-background services-to-start)
|
||||
|
||||
;; Hang up stdin. At this point, we assume that 'start' methods
|
||||
;; that required user interaction on the console (e.g.,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014-2019, 2022, 2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014-2019, 2022-2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
|
@ -592,7 +592,10 @@ of user-name/file-like tuples."
|
|||
|
||||
(list (shepherd-service
|
||||
(documentation "OpenSSH server.")
|
||||
(requirement '(pam syslogd loopback))
|
||||
|
||||
;; On the Hurd, this can only be started after pfinet is up, hence
|
||||
;; the dependency on 'networking'.
|
||||
(requirement '(pam syslogd loopback networking))
|
||||
(provision '(ssh-daemon ssh sshd))
|
||||
|
||||
(start #~(if #$inetd-style?
|
||||
|
|
|
@ -981,6 +981,11 @@ argument.")))
|
|||
(lambda (pw)
|
||||
(string-append (passwd:dir pw) "/.guix-profile"))))
|
||||
|
||||
(define home-profile
|
||||
(and=> (getpw (getuid))
|
||||
(lambda (pw)
|
||||
(string-append (passwd:dir pw) "/.guix-home/profile"))))
|
||||
|
||||
;; If we are able to find the user's profile, we can add it to
|
||||
;; the search paths set below. We need to do this so that D-Bus
|
||||
;; can start services installed by the user. This allows
|
||||
|
@ -988,9 +993,13 @@ argument.")))
|
|||
;; 'evolution') to work even if those services are only available
|
||||
;; in the user's profile. See <https://bugs.gnu.org/35267>.
|
||||
(define profiles
|
||||
(if user-profile
|
||||
(list user-profile system-profile)
|
||||
(list system-profile)))
|
||||
(append (if home-profile
|
||||
(list home-profile)
|
||||
'())
|
||||
(if user-profile
|
||||
(list user-profile)
|
||||
'())
|
||||
(list system-profile)))
|
||||
|
||||
(setenv "XDG_CONFIG_DIRS"
|
||||
(string-join (map (cut string-append <> "/etc/xdg") profiles)
|
||||
|
|
|
@ -803,9 +803,7 @@ bookkeeping."
|
|||
%boot-service
|
||||
%hurd-startup-service
|
||||
%activation-service
|
||||
(service shepherd-root-service-type
|
||||
(shepherd-configuration
|
||||
(shepherd shepherd-0.8))) ;no Fibers
|
||||
(service shepherd-root-service-type)
|
||||
|
||||
(service user-processes-service-type)
|
||||
(account-service (append (operating-system-accounts os)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -70,7 +70,7 @@
|
|||
;; Note: the Shepherd comes before the Hurd, not just because its duty is to
|
||||
;; shepherd the herd, but also because we want its 'halt' and 'reboot'
|
||||
;; commands to take precedence.
|
||||
(list shepherd-0.8 hurd netdde bash coreutils file findutils grep sed
|
||||
(list shepherd-0.10 hurd netdde bash coreutils file findutils grep sed
|
||||
diffutils patch gawk tar gzip bzip2 xz lzip
|
||||
guile-3.0-latest guile-colorized guile-readline
|
||||
net-base nss-certs inetutils less procps shadow sudo which
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;; Copyright © 2022 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2023 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -686,7 +687,8 @@ returns an image record where the first partition's label is set to <label>."
|
|||
|
||||
(define* (system-docker-image image
|
||||
#:key
|
||||
(name "docker-image"))
|
||||
(name "docker-image")
|
||||
(archiver tar))
|
||||
"Build a docker image for IMAGE. NAME is the base name to use for the
|
||||
output file."
|
||||
(define boot-program
|
||||
|
@ -731,6 +733,7 @@ output file."
|
|||
(use-modules (guix docker)
|
||||
(guix build utils)
|
||||
(gnu build image)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-19)
|
||||
(guix build store-copy)
|
||||
(guix store database))
|
||||
|
@ -754,18 +757,30 @@ output file."
|
|||
#:register-closures? #$register-closures?
|
||||
#:deduplicate? #f
|
||||
#:system-directory #$os)
|
||||
(build-docker-image
|
||||
#$output
|
||||
(cons* image-root
|
||||
(map store-info-item
|
||||
(call-with-input-file #$graph
|
||||
read-reference-graph)))
|
||||
#$os
|
||||
#:entry-point '(#$boot-program #$os)
|
||||
#:compressor '(#+(file-append gzip "/bin/gzip") "-9n")
|
||||
#:creation-time (make-time time-utc 0 1)
|
||||
#:system #$image-target
|
||||
#:transformations `((,image-root -> ""))))))))
|
||||
(when #$(image-max-layers image)
|
||||
(setenv "PATH"
|
||||
(string-join (list #+(file-append archiver "/bin")
|
||||
#+(file-append gzip "/bin"))
|
||||
":")))
|
||||
(apply build-docker-image
|
||||
(append (list #$output
|
||||
(append (if #$(image-max-layers image)
|
||||
'()
|
||||
(list image-root))
|
||||
(map store-info-item
|
||||
(call-with-input-file #$graph
|
||||
read-reference-graph)))
|
||||
#$os
|
||||
#:entry-point '(#$boot-program #$os)
|
||||
#:compressor
|
||||
'(#+(file-append gzip "/bin/gzip") "-9n")
|
||||
#:creation-time (make-time time-utc 0 1)
|
||||
#:system #$image-target
|
||||
#:transformations `((,image-root -> "")))
|
||||
(if #$(image-max-layers image)
|
||||
(list #:root-system image-root
|
||||
#:max-layers #$(image-max-layers image))
|
||||
'()))))))))
|
||||
|
||||
(computed-file name builder
|
||||
;; Allow offloading so that this I/O-intensive process
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue