3
5
Fork 0
mirror of git://git.savannah.gnu.org/guix.git synced 2023-12-14 03:33:07 +01:00

Merge branch 'master' into mesa-updates

Change-Id: Ide02272218e76dfae6dc9f8748871c8d61704260
This commit is contained in:
John Kehayias 2023-11-26 11:12:59 -05:00
commit d15ffea6f4
No known key found for this signature in database
GPG key ID: 499097AE5EA815D9
74 changed files with 2397 additions and 838 deletions

View file

@ -22165,10 +22165,6 @@ signing and encryption keys are defined in @file{/etc/yggdrasil-private.conf}
@example
# sample content for /etc/yggdrasil-private.conf
@{
# Your public key. Your peers may ask you for this to put
# into their AllowedPublicKeys configuration.
PublicKey: 64277...
# Your private key. DO NOT share this with anyone!
PrivateKey: 5c750...
@}
@ -22207,14 +22203,8 @@ should be stored, which are necessary to specify if you don't want a
randomized address after each restart. Use @code{#f} to disable. Options
defined in this file take precedence over @code{json-config}. Use the output
of @code{yggdrasil -genconf} as a starting point. To configure a static
address, delete everything except these options:
address, delete everything except PrivateKey option.
@itemize
@item @code{EncryptionPublicKey}
@item @code{EncryptionPrivateKey}
@item @code{SigningPublicKey}
@item @code{SigningPrivateKey}
@end itemize
@end table
@end deftp
@ -35823,7 +35813,7 @@ guix shell tigervnc-client -- vncviewer localhost:5900
The default configuration (see @code{hurd-vm-configuration} below)
spawns a secure shell (SSH) server in your GNU/Hurd system, which QEMU
(the virtual machine emulator) redirects to port 10222 on the host.
(the virtual machine emulator) redirects to port 10022 on the host.
By default, the service enables @dfn{offloading} such that the host
@code{guix-daemon} automatically offloads GNU/Hurd builds to the
childhurd (@pxref{Daemon Offload Setup}). This is what happens when
@ -39560,6 +39550,137 @@ setuid-root (@pxref{Setuid Programs}) such that unprivileged users can invoke
@command{singularity run} and similar commands.
@end defvar
@cindex OCI-backed, Shepherd services
@subsubheading OCI backed services
Should you wish to manage your Docker containers with the same consistent
interface you use for your other Shepherd services,
@var{oci-container-service-type} is the tool to use: given an
@acronym{Open Container Initiative, OCI} container image, it will run it in a
Shepherd service. One example where this is useful: it lets you run services
that are available as Docker/OCI images but not yet packaged for Guix.
@defvar oci-container-service-type
This is a thin wrapper around Docker's CLI that executes OCI images backed
processes as Shepherd Services.
@lisp
(service oci-container-service-type
(list
(oci-container-configuration
(image "prom/prometheus")
(network "host")
(ports
'(("9000" . "9000")
("9090" . "9090"))))
(oci-container-configuration
(image "grafana/grafana:10.0.1")
(network "host")
(ports
'(("3000" . "3000")))
(volumes
'("/var/lib/grafana:/var/lib/grafana")))))
@end lisp
In this example two different Shepherd services are going be added to the
system. Each @code{oci-container-configuration} record translates to a
@code{docker run} invocation and its fields directly map to options. You can
refer to the
@url{https://docs.docker.com/engine/reference/commandline/run,upstream},
documentation for the semantics of each value. If the images are not found they
will be
@url{https://docs.docker.com/engine/reference/commandline/pull/,pulled}. The
spawned services are going to be attached to the host network and are supposed
to behave like other processes.
@end defvar
@c %start of fragment
@deftp {Data Type} oci-container-configuration
Available @code{oci-container-configuration} fields are:
@table @asis
@item @code{user} (default: @code{"oci-container"}) (type: string)
The user under whose authority docker commands will be run.
@item @code{group} (default: @code{"docker"}) (type: string)
The group under whose authority docker commands will be run.
@item @code{command} (default: @code{()}) (type: list-of-strings)
Overwrite the default command (@code{CMD}) of the image.
@item @code{entrypoint} (default: @code{""}) (type: string)
Overwrite the default entrypoint (@code{ENTRYPOINT}) of the image.
@item @code{environment} (default: @code{()}) (type: list)
Set environment variables. This can be a list of pairs or strings, even mixed:
@lisp
(list '("LANGUAGE" . "eo:ca:eu")
"JAVA_HOME=/opt/java")
@end lisp
String are passed directly to the Docker CLI. You can refer to the
@uref{https://docs.docker.com/engine/reference/commandline/run/#env,upstream}
documentation for semantics.
@item @code{image} (type: string)
The image used to build the container. Images are resolved by the
Docker Engine, and follow the usual format
@code{myregistry.local:5000/testing/test-image:tag}.
@item @code{provision} (default: @code{""}) (type: string)
Set the name of the provisioned Shepherd service.
@item @code{network} (default: @code{""}) (type: string)
Set a Docker network for the spawned container.
@item @code{ports} (default: @code{()}) (type: list)
Set the port or port ranges to expose from the spawned container. This can be a
list of pairs or strings, even mixed:
@lisp
(list '("8080" . "80")
"10443:443")
@end lisp
String are passed directly to the Docker CLI. You can refer to the
@uref{https://docs.docker.com/engine/reference/commandline/run/#publish,upstream}
documentation for semantics.
@item @code{volumes} (default: @code{()}) (type: list)
Set volume mappings for the spawned container. This can be a
list of pairs or strings, even mixed:
@lisp
(list '("/root/data/grafana" . "/var/lib/grafana")
"/gnu/store:/gnu/store")
@end lisp
String are passed directly to the Docker CLI. You can refer to the
@uref{https://docs.docker.com/engine/reference/commandline/run/#volume,upstream}
documentation for semantics.
@item @code{container-user} (default: @code{""}) (type: string)
Set the current user inside the spawned container. You can refer to the
@url{https://docs.docker.com/engine/reference/run/#user,upstream}
documentation for semantics.
@item @code{workdir} (default: @code{""}) (type: string)
Set the current working for the spawned Shepherd service.
You can refer to the
@url{https://docs.docker.com/engine/reference/run/#workdir,upstream}
documentation for semantics.
@end table
@end deftp
@c %end of fragment
@cindex Audit
@subsubheading Auditd Service

View file

@ -177,6 +177,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/chromium.scm \
%D%/packages/ci.scm \
%D%/packages/cinnamon.scm \
%D%/packages/clifm.scm \
%D%/packages/clojure.scm \
%D%/packages/cluster.scm \
%D%/packages/cmake.scm \
@ -919,6 +920,7 @@ dist_patch_DATA = \
%D%/packages/patches/aoflagger-use-system-provided-pybind11.patch \
%D%/packages/patches/apr-fix-atomics.patch \
%D%/packages/patches/apr-skip-getservbyname-test.patch \
%D%/packages/patches/aria2-unbundle-wslay.patch \
%D%/packages/patches/ark-skip-xar-test.patch \
%D%/packages/patches/arpack-ng-propagate-rng-state.patch \
%D%/packages/patches/asli-use-system-libs.patch \
@ -1342,6 +1344,7 @@ dist_patch_DATA = \
%D%/packages/patches/gobject-introspection-cc-1.72.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \
%D%/packages/patches/go-fix-script-tests.patch \
%D%/packages/patches/go-gopkg-in-yaml-v3-32bit.patch \
%D%/packages/patches/go-github-com-golang-snappy-32bit-test.patch \
%D%/packages/patches/go-github-com-urfave-cli-fix-tests.patch \
%D%/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch \

View file

@ -736,14 +736,14 @@ a C program.")
(define-public fftw
(package
(name "fftw")
(version "3.3.8")
(version "3.3.10")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.fftw.org/pub/fftw/fftw-"
version".tar.gz"))
(sha256
(base32
"00z3k8fq561wq2khssqg0kallk0504dzlx989x3vvicjdqpjc4v1"))))
"0rv4w90b65b2kvjpj8g9bdkl4xqc42q20f5bzpxdrkajk1a35jan"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View file

@ -398,14 +398,14 @@ dictionaries, including personal ones.")
(define-public ispell
(package
(name "ispell")
(version "3.4.05")
(version "3.4.06")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.cs.hmc.edu/~geoff/tars/ispell-"
version ".tar.gz"))
(sha256
(base32 "00jni7gvdswjd9sdwip5ixnvjg2qzv56mn3m8gdgl9gxwgnns36g"))))
(base32 "19pbhg3pbnykkk9hla2kfhfanm7wcdja2qria365l1y8shridj8p"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f

View file

@ -6320,7 +6320,7 @@ and DSD streams.")
(define-public qpwgraph
(package
(name "qpwgraph")
(version "0.5.3")
(version "0.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -6329,7 +6329,7 @@ and DSD streams.")
(file-name (git-file-name name version))
(sha256
(base32
"1i9p8gqm9swa2szr7i8rf3dhqxlaqjslb6yd5s9z1rs1jdb9lhp7"))))
"17jl347rwagdyx6pgnp83l1ffhlyfl0s4jf7ii2i1j3s1m9sz7y0"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f)) ; no tests

View file

@ -104,34 +104,32 @@
(define-public duplicity
(package
(name "duplicity")
(version "0.8.21")
(version "2.1.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://code.launchpad.net/duplicity/"
(version-major+minor version)
"-series/" version "/+download/duplicity-"
version ".tar.gz"))
(sha256
(base32 "0ld4bhsi6iv4bvy99pblbr7vlwy9jbgfd6flyvb8qwbl8rvadzjp"))))
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/duplicity/duplicity")
(commit (string-append "rel." version))))
(file-name (git-file-name name version))
(sha256
(base32 "14x5brpq1l400i9l2hnyqmbn19cc1hnbmj5fn8cs8zzwzbgrfxng"))))
(build-system python-build-system)
(native-inputs
`(("gettext" ,gettext-minimal) ; for msgfmt
("util-linux" ,util-linux) ; setsid command, for the tests
("par2cmdline" ,par2cmdline)
("python-fasteners" ,python-fasteners)
("python-future" ,python-future) ; for tests
("python-paramiko" ,python-paramiko)
("python-pexpect" ,python-pexpect)
("python-pytest" ,python-pytest)
("python-pytest-runner" ,python-pytest-runner)
("python-setuptools-scm" ,python-setuptools-scm)
("tzdata" ,tzdata-for-tests)
("mock" ,python-mock)))
(list gettext-minimal ; for msgfmt
util-linux ; setsid command, for the tests
par2cmdline
python-fasteners
python-future ; for tests
python-paramiko
python-pexpect
python-pytest
python-pytest-runner
python-setuptools-scm
tzdata-for-tests
python-mock))
(propagated-inputs
`(("lockfile" ,python-lockfile)
("pygobject" ,python-pygobject)
("urllib3" ,python-urllib3)))
(list python-lockfile python-pygobject python-urllib3))
(inputs
(list dbus ; dbus-launch (Gio backend)
librsync
@ -139,30 +137,41 @@
gnupg ; gpg executable needed
util-linux)) ; for setsid
(arguments
`(#:test-target "test"
#:phases
(modify-phases %standard-phases
(add-before 'build 'use-store-file-names
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "duplicity/gpginterface.py"
(("self.call = u'gpg'")
(string-append "self.call = '" (assoc-ref inputs "gnupg") "/bin/gpg'")))
(substitute* "duplicity/backends/giobackend.py"
(("subprocess.Popen\\(\\[u'dbus-launch'\\]")
(string-append "subprocess.Popen([u'"
(assoc-ref inputs "dbus")
"/bin/dbus-launch']")))
(substitute* '("testing/functional/__init__.py"
"testing/overrides/bin/lftp")
(("/bin/sh") (which "sh")))))
(add-before 'check 'set-up-tests
(lambda* (#:key inputs #:allow-other-keys)
(setenv "HOME" (getcwd)) ; gpg needs to write to $HOME
(setenv "TZDIR" ; some timestamp checks need TZDIR
(search-input-directory inputs "share/zoneinfo"))
;; Some things respect TMPDIR, others hard-code /tmp, and the
;; defaults don't match up, breaking test_restart. Fix it.
(setenv "TMPDIR" "/tmp"))))))
(list #:test-target "test"
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'use-store-file-names
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "duplicity/gpginterface.py"
(("self.call = u'gpg'")
(string-append "self.call = '"
(search-input-file inputs
"/bin/gpg")
"'")))
(substitute* "duplicity/backends/giobackend.py"
(("subprocess.Popen\\(\\[u'dbus-launch'\\]")
(string-append "subprocess.Popen([u'"
(search-input-file inputs
"/bin/dbus-launch") "']")))
(substitute* '("testing/functional/__init__.py"
"testing/overrides/bin/lftp")
(("/bin/sh")
(which "sh")))))
(add-before 'build 'fix-version
(lambda _
(substitute* "duplicity/__init__.py"
(("\\$version")
#$(package-version this-package)))))
(add-before 'check 'set-up-tests
(lambda* (#:key inputs #:allow-other-keys)
(setenv "HOME"
(getcwd)) ; gpg needs to write to $HOME
(setenv "TZDIR" ; some timestamp checks need TZDIR
(search-input-directory inputs
"share/zoneinfo"))
;; Some things respect TMPDIR, others hard-code /tmp, and the
;; defaults don't match up, breaking test_restart. Fix it.
(setenv "TMPDIR" "/tmp"))))))
(home-page "https://duplicity.gitlab.io/duplicity-web/")
(synopsis "Encrypted backup using rsync algorithm")
(description

View file

@ -1512,6 +1512,11 @@ command.")
(delete 'build))))) ; nothing to build
(supported-systems %hurd-systems)))
(define-public glibc-utf8-locales/hurd
;; Locales for the libc version used on GNU/Hurd.
(hidden-package
(make-glibc-utf8-locales glibc/hurd)))
(define* (libc-for-target #:optional
(target (or (%current-target-system)
(%current-system))))

View file

@ -78,6 +78,7 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages xml))
(define-public transmission
@ -285,7 +286,7 @@ Transmission BitTorrent daemon.")
(define-public aria2
(package
(name "aria2")
(version "1.36.0")
(version "1.37.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/aria2/aria2/releases/"
@ -293,7 +294,12 @@ Transmission BitTorrent daemon.")
"/aria2-" version ".tar.xz"))
(sha256
(base32
"1987x4ywnnrhhfs9hi2h820c200d7nas9nd35414yh0jiihfglaq"))))
"0sxng4pynhj2qinranpv6wyzys3d42kz1gg2nrn63sw5f2nj1930"))
(patches (search-patches "aria2-unbundle-wslay.patch"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "deps")
(delete-file "configure")))))
(build-system gnu-build-system)
(arguments
(list
@ -312,7 +318,11 @@ Transmission BitTorrent daemon.")
(("CPPUNIT_TEST_SUITE_REGISTRATION\\(LpdMessageReceiverTest\\);" text)
(string-append "// " text))))))))
(native-inputs
(list cppunit ; for the tests
(list autoconf ; since we adjusted configure.ac
automake
gettext-minimal
libtool
cppunit ; for the tests
pkg-config))
(inputs
(list c-ares
@ -322,6 +332,7 @@ Transmission BitTorrent daemon.")
libxml2
nettle
sqlite
wslay
zlib))
(home-page "https://aria2.github.io/")
(synopsis "Utility for parallel downloading files")

View file

@ -42,7 +42,7 @@
(define-public book-sparc
(package
(name "book-sparc")
(version "1.0.1")
(version "1.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -50,12 +50,11 @@
(commit (string-append "v" version))))
(sha256
(base32
"0dswwwkb3h88cl3mhiy79s8i7sa9lmw6fxaj782vxgif795lcpxs"))
"0k1miyrnh5362qy50jzp5j3ww0c8hr7wk3y5kg6xlqgk9f8msvag"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(begin
(delete-file "sparc.pdf")
(substitute* "version.tex.in"
(("@COMMIT@") ""))
(substitute* "Makefile"
@ -86,6 +85,7 @@
texlive-collection-langcyrillic
texlive-fontspec
texlive-glossaries
texlive-glossaries-english
texlive-glossaries-extra
texlive-koma-script
texlive-lilyglyphs

View file

@ -15,7 +15,7 @@
;;; Copyright © 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2022, 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
@ -295,6 +295,71 @@ menu to select one of the installed operating systems.")
#t))))))))
(define-public grub-coreboot
(package
(inherit grub)
(name "grub-coreboot")
(synopsis "GRand Unified Boot loader (Coreboot payload version)")
(arguments
`(,@(substitute-keyword-arguments (package-arguments grub)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(add-before 'check 'disable-broken-tests
(lambda _
(setenv "DISABLE_HARD_ERRORS" "1")
(setenv
"XFAIL_TESTS"
(string-join
;; TODO: All the tests below use grub shell
;; (tests/util/grub-shell.in), and here grub-shell uses
;; QEMU and a Coreboot image to run the tests. Since we
;; don't have a Coreboot package in Guix yet these tests
;; are disabled. See the Guix bug #64667 for more details
;; (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64667).
(list
"pata_test"
"ahci_test"
"uhci_test"
"ehci_test"
"example_grub_script_test"
"ohci_test"
"grub_script_eval"
"grub_script_echo1"
"grub_script_test"
"grub_script_leading_whitespace"
"grub_script_echo_keywords"
"grub_script_vars1"
"grub_script_for1"
"grub_script_while1"
"grub_script_if"
"grub_script_comments"
"grub_script_functions"
"grub_script_continue"
"grub_script_break"
"grub_script_shift"
"grub_script_blockarg"
"grub_script_return"
"grub_script_setparams"
"grub_cmd_date"
"grub_cmd_sleep"
"grub_cmd_regexp"
"grub_script_not"
"grub_cmd_echo"
"grub_script_expansion"
"grub_script_gettext"
"grub_script_escape_comma"
"help_test"
"grub_script_strcmp"
"test_sha512sum"
"grub_cmd_tr"
"test_unset"
"file_filter_test")
" "))))))
((#:configure-flags flags
''())
`(cons* "--with-platform=coreboot"
,flags)))))))
(define-public grub-efi
(package
(inherit grub)

View file

@ -59,11 +59,11 @@
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR)))
(define-public cuirass
(let ((commit "eb3f539dc95de705c89b07258efe4663e76f7dab")
(revision "0"))
(let ((commit "bdc1f9f304a3f5931ec507dcfe0b91b185b70708")
(revision "1"))
(package
(name "cuirass")
(version "1.2.0")
(version (git-version "1.2.0" revision commit))
(source
(origin
(method git-fetch)
@ -73,7 +73,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0rvzcsm0zwwv8rb5z0jdgc7adzzx0cin9n2hhclp5d0kqn582hny"))))
"031vv3rk7vzal611iq8sgq5yackp78kdpz8qn78j561pl9bip80n"))))
(build-system gnu-build-system)
(arguments
(list #:modules `((guix build utils)

62
gnu/packages/clifm.scm Normal file
View file

@ -0,0 +1,62 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Rodion Goritskov <rodion.goritskov@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages clifm)
#:use-module (guix packages)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages readline)
#:use-module (gnu packages acl)
#:use-module (gnu packages linux))
(define-public clifm
(package
(name "clifm")
(version "1.15")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/leo-arch/clifm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1r9pxlyn8jg0wmzbmbc71l42098lz5k32k6yid09yz6d0gaax7g1"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "CC="
,(cc-for-target))
(string-append "PREFIX="
(assoc-ref %outputs "out")))
#:phases (modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(delete 'check))))
(inputs (list readline acl libcap))
(home-page "https://github.com/leo-arch/clifm")
(synopsis "Command-line file manager")
(description "Clifm a shell-like, text-based terminal file manager that
sits on the command line.
It is built with command line principles in mind: instead of navigating
through a big menu of files, it lets you type, exactly as you do in your
regular shell, but easier and faster.")
(license license:gpl2+)))

View file

@ -3365,6 +3365,16 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
`(("glibc" ,glibc-final)
("gzip" ,(with-boot4 gzip))))))
(define-public glibc-utf8-locales-final/hurd
;; Locales for the libc version used on GNU/Hurd.
(package
(inherit glibc-utf8-locales/hurd)
(properties `((hidden? . #t)
,@(package-properties glibc-utf8-locales/hurd)))
(native-inputs
`(("glibc" ,glibc-final)
("gzip" ,(with-boot4 gzip))))))
(define-public ld-wrapper
;; The final 'ld' wrapper, which uses the final Guile and Binutils.
(make-ld-wrapper "ld-wrapper"
@ -3383,7 +3393,9 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; Now with UTF-8 locales. Remember that the bootstrap binaries were built
;; with an older libc, which cannot load the new locale format. See
;; <https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00737.html>.
`(("locales" ,glibc-utf8-locales-final)
`(("locales" ,(if (target-hurd?)
glibc-utf8-locales-final/hurd
glibc-utf8-locales-final))
,@(%boot4-inputs)))
(define with-boot5
@ -3484,7 +3496,9 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
("gcc" ,gcc-final)
("libc" ,glibc-final)
("libc:static" ,glibc-final "static")
("locales" ,glibc-utf8-locales-final))))))
("locales" ,(if (target-hurd? (%current-system))
glibc-utf8-locales-final/hurd
glibc-utf8-locales-final)))))))
(define-public canonical-package
(let ((name->package (mlambda (system)

View file

@ -2,7 +2,7 @@
;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2019, 2023 Vasile Dumitrascu <va511e@yahoo.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -40,7 +40,7 @@
(package
(name "conky")
(home-page "https://github.com/brndnmtthws/conky")
(version "1.19.4")
(version "1.19.6")
(source
(origin
(method git-fetch)
@ -49,7 +49,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03zzssdg1qdv83p4c3dbjgr0g1n0spc0ndk9bds1rd2n82i6g6sy"))))
(base32 "02mdqsizc36v3zqhxnyv2mch9w0gqnl4a25yxishka9yv5ni5iig"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags

View file

@ -42,6 +42,7 @@
#:use-module (gnu packages texinfo)
#:use-module (guix build-system dune)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
@ -285,6 +286,32 @@ multi-precision arithmetic. It also supports efficient numerical computations
inside Coq.")
(license license:lgpl3+)))
;; Union of coq and coq-ide-server as vim-coqtail expects coqc and coqidetop
;; to be in the same bin folder, when vim-coqtail is installed coqc and
;; coqidetop will be in the "same" bin folder in the profile, so this is only
;; required for testing the package.
;;
;; This is deeply ingrained in the internals of vim-coqtail so this is why
;; it's necessary.
(define-public coq-for-coqtail
(hidden-package
(package
(inherit coq)
(name "coq-for-coqtail")
(source #f)
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build union))
#:builder
(begin
(use-modules (ice-9 match)
(guix build union))
(match %build-inputs
(((names . directories) ...)
(union-build (assoc-ref %outputs "out")
directories))))))
(inputs (list coq coq-ide-server)))))
(define-public coq-gappa
(package
(name "coq-gappa")

View file

@ -1397,7 +1397,7 @@ standard GNU style syntax for options.")
(define-public folly
(package
(name "folly")
(version "2022.10.31.00")
(version "2023.11.06.00")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1406,7 +1406,7 @@ standard GNU style syntax for options.")
(file-name (git-file-name name version))
(sha256
(base32
"06r9xnj8ilghc0vv6r17k5apl3w19iwd76nr02svnv96c74bz2aa"))))
"0z0jhkma2qacc2kc27qsiwqwqkv07i9mwpc4vwcbawyzdajq6hd0"))))
(build-system cmake-build-system)
(arguments
'(;; Tests must be explicitly enabled

View file

@ -6,6 +6,7 @@
;;; Copyright © 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -444,28 +445,26 @@ better with a poor hash function.")
(license license:expat)))
(define-public zix
(let ((commit "a13ae5ad9dc70075740f11139f1db96cc79faa59")
(revision "0"))
(package
(name "zix")
(version (git-version "0.3.3" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/drobilla/zix.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1njyb8lz1d5qzf0k14pb3rq13xkxnddwbz090dj69138ymz1xgyl"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags #~(list "-Ddocs=disabled"))) ;needs "sphinxygen"
(native-inputs (list pkg-config))
(home-page "https://gitlab.com/drobilla/zix")
(synopsis "C library of portability wrappers and data structures")
(description
"Zix is a C library of portability wrappers and data structures. It
(package
(name "zix")
(version "0.4.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/drobilla/zix.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"07pbq4bi64iv39swldfbcp7131b5n4hs64pgd417gqlwv8qvgjcw"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags #~(list "-Ddocs=disabled"))) ;needs "sphinxygen"
(native-inputs (list pkg-config))
(home-page "https://gitlab.com/drobilla/zix")
(synopsis "C library of portability wrappers and data structures")
(description
"Zix is a C library of portability wrappers and data structures. It
provides the following components:
@table @code
@item ZixAllocator A customizable allocator.
@ -480,4 +479,4 @@ provides the following components:
zix/filesystem.h Functions for working with filesystems.
@item zix/path.h Functions for working with filesystem paths lexically.
@end table")
(license license:isc))))
(license license:isc)))

View file

@ -43,23 +43,17 @@
(define-public radicale
(package
(name "radicale")
(version "3.1.7")
(version "3.1.8")
(source
(origin
;; There are no tests in the PyPI tarball.
(method git-fetch)
(uri (git-reference
(url "https://github.com/Kozea/Radicale")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1mv1w9qazbis9ir5shr1ybsfn4cxd3rmxa3ns6kbk23yramlzwhg"))))
(base32 "1qy2azn02bw772yhzgqvyf1pyl0ijj9ccvl1078w9icl261yljap"))))
(build-system python-build-system)
(arguments
(list
;; TODO: enable again when https://github.com/Kozea/Radicale/issues/1184
;; is fixed
#:tests? #f))
(native-inputs
(list python-pytest
python-pytest-cov

View file

@ -74,7 +74,7 @@
(define-public diffoscope
(package
(name "diffoscope")
(version "251")
(version "252")
(source
(origin
(method git-fetch)
@ -83,7 +83,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1200kzwqyw2m298z8rfbiiziprz4s1n176z42xyziwc6mbx8m09z"))))
(base32 "1hnsnqpr0v9siqja1wxm64wv0vjacg6j9ph9n4xsiaarpndj1b4r"))))
(build-system python-build-system)
(arguments
(list

View file

@ -26,6 +26,7 @@
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Disseminate Dissent <disseminatedissent@protonmail.com>
;;; Copyright © 2023 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2023 Morgan Smith <Morgan.J.Smith@outlook.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -61,6 +62,7 @@
#:use-module (gnu packages file-systems)
#:use-module (gnu packages file)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@ -71,6 +73,7 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages hurd)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nss)
@ -102,6 +105,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix build-system scons)
@ -343,6 +347,61 @@ fdisk. fdisk is used for the creation and manipulation of disk partition
tables, and it understands a variety of different formats.")
(license license:gpl3+)))
(define-public findimagedupes
(package
(name "findimagedupes")
(version "2.20.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jhnc/findimagedupes")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1zfxmc6c1z4hzsq3k85xxida1v291frq4wbmxv9cg4jmw0ddk5ic"))))
(build-system perl-build-system)
(arguments
(list
#:tests? #f
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(replace 'install
;; There's no make install target.
(lambda* (#:key outputs #:allow-other-keys)
(install-file "findimagedupes"
(string-append #$output "/bin"))))
(add-after 'unpack 'use-image-magick
;; TODO: package perl-graphics-magick and switch this out
(lambda _
(substitute* "findimagedupes"
(("Graphics::Magick")
"Image::Magick"))))
(add-after 'unpack 'set-inline-dir
(lambda _
(substitute* "findimagedupes"
(("/usr/local")
#$output))))
(add-after 'install 'inline-generation
(lambda _
(mkdir-p (string-append #$output "/lib/findimagedupes"))
(invoke (string-append #$output "/bin/findimagedupes"))))
(add-after 'install 'wrap-findimagedupes
(lambda* (#:key outputs #:allow-other-keys)
(wrap-program (string-append #$output
"/bin/findimagedupes")
`("PERL5LIB" ":" prefix
(,(getenv "PERL5LIB") ,(string-append #$output
"/lib/perl5/site_perl")))))))))
(inputs (list bash-minimal perl-db-file perl-file-mimeinfo
perl-image-magick perl-inline-c))
(home-page "https://github.com/jhnc/findimagedupes")
(synopsis "Find visually similar or duplicate images")
(description "findimagedupes compares a list of files for visual
similarity.")
(license license:gpl3+)))
(define-public gpart
;; The latest (0.3) release is from 2015 and is missing a crash fix.
(let ((commit "ec03350a01ad69708b5a3e2d47b8e002b0eba6c9")

View file

@ -135,6 +135,7 @@
;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr>
;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
;;; Copyright © 2023 Thanos Apollo <public@thanosapollo.com>
;;; Copyright © 2023 Ian Eure <ian@retrospec.tv>
;;;
;;; This file is part of GNU Guix.
;;;
@ -3294,6 +3295,29 @@ immediately activated. Also filtering can be applied so selection can be
incrementally confined in Isearch manner.")
(license license:gpl3+)))
(define-public emacs-dnt
(let ((commit "d28d232d682094ab79cfa78c97668c6ebd327c8c")
(revision "1"))
(package
(name "emacs-dnt")
(version (git-version "0.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/emacs-weirdware/dnt.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1bls9j1ibw0npjapslbrh6nmlbn3d4ajhjygsqlf6h9qg12sxm3r"))))
(inputs (list emacs-s))
(build-system emacs-build-system)
(home-page "https://codeberg.org/emacs-weirdware/dnt")
(synopsis "Strip trackers from URLs")
(description "This package provides a series of rules and helper functions
to prevent advertisers from tracking you when you open URLs (or listen to
podcasts) in Emacs.")
(license (list license:gpl3+)))))
;;;
@ -5022,6 +5046,28 @@ written in the Go programming language.")
directly inside Emacs. It requires a Google Map Static API key to function.")
(license license:gpl3+))))
(define-public emacs-geoclue
(let ((commit "f409b544be4d2cfd848f4658618374b0bc76cb3c")
(revision "1"))
(package
(name "emacs-geoclue")
(version (git-version "0.8.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/emacs-weirdware/geoclue.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1ggyn9rvc6si3xy1rrw2f2hyw6cys4bgb9v0ah0qq65y3dnziq6m"))))
(build-system emacs-build-system)
(home-page "https://codeberg.org/emacs-weirdware/geoclue")
(synopsis "Determine your current location using GeoClue2 over D-Bus")
(description "This package provides an Emacs library which lets you
determine your current location using GeoClue2 over D-Bus.")
(license (list license:gpl3+)))))
(define-public emacs-nominatim
(let ((revision "0")
(commit "f814e16f8f4e2cfd633f52b29699a009ab704fbf"))
@ -9771,6 +9817,52 @@ interacting with the sbt shell and Scala console, compiling code and
navigation to errors.")
(license license:gpl3+)))
(define-public emacs-9lc-mode
(let ((commit "7871476488fc7b66e05714797a9a5b8275988662")
(revision "1"))
(package
(name "emacs-9lc-mode")
(version (git-version "0.7" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/emacs-weirdware/9lc-mode.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1kmx0c413yvvaq33v7lf3gzdjpxkr5faa1wj2j0m25lyyz8dsdm7"))))
(build-system emacs-build-system)
(home-page "https://codeberg.org/emacs-weirdware/geoclue")
(synopsis "Major mode for editing Fluke 9000 scripts")
(description
"This package provides a major mode for editing Fluke 9010a \"9LC\" files.")
(license (list license:gpl3+)))))
(define-public emacs-tl1-mode
(let ((commit "48d12893cc81d7f92dc7b603d3751d8512ed0eb0")
(revision "1"))
(package
(name "emacs-tl1-mode")
(version (git-version "1.3" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/emacs-weirdware/tl1-mode.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1mf0wqbn9h0353hkhcykzrm2dk1jvyijqs4hsvgj3kwp1whws7br"))))
(build-system emacs-build-system)
(home-page "https://codeberg.org/emacs-weirdware/geoclue")
(synopsis "Major mode for editing Fluke 9100 TL/1 source code")
(description
"This package provides a major mode for editing Fluke TL/1 source code.
TL/1 is a language used to control Flukes 9100 series of testing and
troubleshooting mainframes.")
(license (list license:gpl3+)))))
(define-public emacs-scheme-complete
;; Upstream does not provide tags. The commit below corresponds to the
;; exact version update. Version is extracted from main file.
@ -17747,6 +17839,29 @@ in Org buffers and displays matching entries.")
information inside the Dired buffer.")
(license license:gpl3+))))
(define-public emacs-diss
(let ((commit "8a99a1b34de4575087da49fe1e19bcf33ac49f46")
(revision "1"))
(package
(name "emacs-diss")
(version (git-version "1.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/emacs-weirdware/diss.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "06xvl85dkp3c2cw41f2gy7db2d7fy5pv5w1wr7vd7ccdlg3fq4gc"))))
(build-system emacs-build-system)
(home-page "https://codeberg.org/emacs-weirdware/diss")
(synopsis "Dired Image Slideshow")
(description "Diss is a full-featured image slideshow for Emacs, based
on Dired and image-mode.")
(license (list license:gpl3+)))))
(define-public emacs-dired-toggle-sudo
(let ((commit "13bbe52c54893f5aa3e56228450ffdd0c9e1d169")
(revision "0"))
@ -31182,6 +31297,29 @@ generating a temp buffer in which any useful Emacs utilities and modes can be
invoked.")
(license license:gpl3+))))
(define-public emacs-exwm-mff
(let ((commit "89206f2e3189f589c27c56bd2b6203e906ee7100")
(revision "1"))
(package
(name "emacs-exwm-mff")
(version (git-version "1.2.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/emacs-weirdware/exwm-mff.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0ipmapyd4jmpnk34wk9kfbvqnl04x74yg2pmj298wqa61ylw1n9j"))))
(build-system emacs-build-system)
(home-page "https://codeberg.org/emacs-weirdware/exwm-mff")
(synopsis "Mouse follows focus for EXWM")
(description "This package provides a minor mode to automatically warp
the mouse pointer to the center of a focused window, as well as a command to
warp it to the currently selected window.")
(license (list license:gpl3+)))))
(define-public emacs-exwm-modeline
(package
(name "emacs-exwm-modeline")
@ -31203,6 +31341,78 @@ invoked.")
workspaces.")
(license license:gpl3+)))
(define-public emacs-exwm-firefox-core
(let ((commit "e2fe2a895e8f973307ef52f8c9976b26e701cbd0")
(revision "1"))
(package
(name "emacs-exwm-firefox-core")
(version (git-version "1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/walseb/exwm-firefox-core.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0k5jkjzx6f8nfmbkc61raj585p9pymycgzv7rr3fhv2drgkaa4yi"))))
(inputs (list emacs-exwm))
(build-system emacs-build-system)
(home-page "https://github.com/walseb/exwm-firefox-core")
(synopsis "Control Firefox with EXWM")
(description
"This package contains functions that execute exwm
keypresses mapped in firefox to the action described in the function name.")
(license (list license:gpl3+)))))
(define-public emacs-exwm-firefox
(let ((commit "7390c3bc425894aeda3c12c23f61a234bb71a2d9")
(revision "1"))
(package
(name "emacs-exwm-firefox")
(version (git-version "0.4" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/emacs-weirdware/exwm-firefox.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0xmgij04h4cbcgqafyyf9qajf0wp6mxpfpwjm6gi1jgisrql882d"))))
(build-system emacs-build-system)
(inputs (list emacs-exwm-firefox-core emacs-s emacs-exwm))
(home-page "https://codeberg.org/emacs-weirdware/exwm-firefox")
(synopsis "Enhanced support for Firefox under EXWM")
(description
"This package adds enhanced support for Firefox (and forks
based on Firefox) under EXWM. Keybindings intentionally mirror other Emacs
navigation controls.")
(license (list license:gpl3+)))))
(define-public emacs-exwm-ss
(let ((commit "b11d3df7a50c39b4e1b92ef8a6685cf80b53912c")
(revision "1"))
(package
(name "emacs-exwm-ss")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/emacs-weirdware/exwm-ss.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "045b0cjycf7nf52ap89w5dz16l1qyh940qxwvdi76v6al78amrap"))))
(build-system emacs-build-system)
(inputs (list emacs-exwm))
(home-page "https://codeberg.org/emacs-weirdware/exwm-ss")
(synopsis "Automatically inhibit screensaver activation in EXWM")
(description "This package provides a global minor mode to inhibit
screensaver activation in EXWM.")
(license (list license:gpl3+)))))
(define-public emacs-ert-async
(package
(name "emacs-ert-async")
@ -34680,6 +34890,52 @@ on removable volumes in Linux.")
(home-page "https://github.com/Akirak/helm-linux-disks")
(license license:gpl3+))))
(define-public emacs-debase
(let ((commit "0b6fc2af3440d68798e3a85d4c889341aae07936")
(revision "1"))
(package
(name "emacs-debase")
(version (git-version "0.7" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/emacs-weirdware/debase.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "112vk1svnc6516vhs47sx5jw6bg8lwrc15l99dxj0sc313lxjy3k"))))
(build-system emacs-build-system)
(inputs (list))
(home-page "https://codeberg.org/emacs-weirdware/debase")
(synopsis "D-Bus convenience layer for Emacs")
(description
"Debase provides a higher-level API for using and implementing D-Bus
services inside Emacs.")
(license (list license:gpl3+)))))
(define-public emacs-discomfort
(let ((commit "873eea833bbae7196b92bb1102494b8bf5dc5df6")
(revision "1"))
(package
(name "emacs-discomfort")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/emacs-weirdware/discomfort.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "01p4bfiasqxfmp9x1bxdc7763bh712d3vlp2014y8pzrwb1jqdaq"))))
(build-system emacs-build-system)
(inputs (list emacs-debase))
(home-page "https://codeberg.org/emacs-weirdware/discomfort")
(synopsis "User interface to mount & unmount disks in Emacs.")
(description "Discomfort is an interface to mount and unmount disks in Emacs, using UDisks2.")
(license (list license:gpl3+)))))
(define-public emacs-psession
(let ((commit "3e97267c92b164584e06a6c70ee7491714c7c12c")
(revision "1"))
@ -36209,6 +36465,80 @@ easily. Four pre-set options are: @samp{shell}, @samp{terminal},
you use some other configuration.")
(license license:gpl3+))))
(define-public emacs-shell-here
(let ((commit "eeb437ff26d62a5009046b1b3b4503b768e3131a")
(revision "1"))
(package
(name "emacs-shell-here")
(version (git-version "1.3" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/emacs-weirdware/shell-here.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0x8lnybxj7k6wj941lgqmm57f3qqnmb0gc7573l1fxwfhf39fl20"))))
(build-system emacs-build-system)
(home-page "https://codeberg.org/emacs-weirdware/shell-here")
(synopsis "Launch a shell relative to default-directory")
(description
"This package provides commands to open a shell buffer in (or relative
to) the default-directory or using projectile or find-file-in-project a
project root.")
(license (list license:gpl3+)))))
(define-public emacs-hyperspace
(let ((commit "f574d07fd8715e806ba4f0487b73c699963baed3")
(revision "1"))
(package
(name "emacs-hyperspace")
(version (git-version "0.8.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/emacs-weirdware/hyperspace.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "19h3d12a99i7a92k3iw4zmjmw3dazsgnkc6j4965h033r1s40amx"))))
(build-system emacs-build-system)
(inputs (list emacs-s))
(home-page "https://codeberg.org/emacs-weirdware/hyperspace")
(synopsis "Get there from here")
(description
"Hyperspace is a way to get nearly anywhere from wherever
you are, whether that's within Emacs or on the web. It's somewhere in between
Quicksilver and keyword URLs, giving you a single, consistent interface to get
directly where you want to go. Its for things that you use often, but not
often enough to justify a dedicated binding.")
(license (list license:gpl3+)))))
(define-public emacs-nssh
(let ((commit "74d43738565749af680e4d1388e0c2f88e93498d")
(revision "1"))
(package
(name "emacs-nssh")
(version (git-version "0.9.12" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/emacs-weirdware/nssh.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0i2nnrg7xv7b2bbby6idszs9byk2jd83q7vqj6lxgn80w94i56nn"))))
(build-system emacs-build-system)
(home-page "https://codeberg.org/emacs-weirdware/nssh")
(synopsis "SSH mode for Emacs")
(description "This package provides an SSH mode for Emacs, built on
top of Tramp and shell mode. It keeps a history of previously connected
hosts and supports auto-completion of known hosts.")
(license (list license:gpl3+)))))
(define-public emacs-tshell
;; XXX: Upstream has no tagged release. Version is extracted from keyword
;; in main file.
@ -37335,10 +37665,10 @@ execute code split into cells according to certain magic comments.")
(define-public emacs-ein
;; XXX: Upstream doesn't make any release, and didn't set any version.
(let ((commit "b2410dc96f61aa806a7934099d8f1e40c8f6ca18"))
(let ((commit "998ba22660be2035cd23bed1555e47748c4da8a2"))
(package
(name "emacs-ein")
(version "20220911")
(version "20230826")
(source
(origin
(method git-fetch)
@ -37349,7 +37679,7 @@ execute code split into cells according to certain magic comments.")
(file-name (git-file-name name version))
(sha256
(base32
"02392bxl0msda58cls0i79mzqjs73x39czx0mlb0sg2vxp84gy15"))))
"09qbswzz6kbxc74dmdgagrk5wgbm89sabf0bfy76j4qlcg6550mx"))))
(build-system emacs-build-system)
(arguments
(list

View file

@ -1592,7 +1592,7 @@ handling communication with eBUS devices connected to a 2-wire bus system
(define-public ucsim
(package
(name "ucsim")
(version "0.8.0")
(version "0.8.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -1601,7 +1601,7 @@ handling communication with eBUS devices connected to a 2-wire bus system
"ucsim_" version "_orig.tar.gz"))
(sha256
(base32
"0qyrrna2ssvwla15al183r9zqnqdxxlqawyhx9c86a10m8q8qqlz"))))
"1zdvzfhdsbydyyjy5rf2934bn06skdlnky6l9ngbp2k645g0ynlh"))))
(build-system gnu-build-system)
(arguments
(list

View file

@ -20,6 +20,7 @@
;;; Copyright © 2023 c4droid <c4droid@foxmail.com>
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
;;; Copyright © 2023 Hendursaga <hendursaga@aol.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -111,7 +112,8 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python))
#:use-module (guix build-system python)
#:use-module (guix build-system qt))
(define-public vice
(package
@ -2492,6 +2494,29 @@ on a Commodore C64, C128 etc.")
;; zlib license with an (non-)advertising clause.
(license license:zlib)))
(define-public qtrvsim
(package
(name "qtrvsim")
(version "0.9.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cvut/qtrvsim")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1zi39q8ajkzl8d47sacj0dk1a2n5jmfgr29x9iby59v792g7p8ac"))
(modules '((guix build utils)))
(snippet #~(begin (delete-file-recursively "external/libelf")))))
(build-system qt-build-system)
(inputs (list libelf qtbase-5))
(home-page "https://github.com/cvut/qtrvsim")
(synopsis "RISC-V CPU simulator for education purposes")
(description "RISC-V CPU simulator for education purposes with pipeline and
cache visualization. Developed at FEE CTU for computer architecture classes.")
(license license:gpl3+)))
(define-public cc65
(package
(name "cc65")

View file

@ -29,6 +29,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages anthy)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages enchant)
@ -87,7 +88,7 @@ client.")
(define-public fcitx5
(package
(name "fcitx5")
(version "5.1.0")
(version "5.1.5")
(source
(origin
(method url-fetch)
@ -95,7 +96,7 @@ client.")
"https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-"
version "_dict.tar.xz"))
(sha256
(base32 "1a1d3bcxddv3hsmffgf608arhamia17bq82q932sy5zl9j8s423y"))))
(base32 "108a8561wh01vl5gqp2rnmnrh9qq3v8md3410dw46lx705a1wy4r"))))
(arguments
(list #:configure-flags #~(list "-DUSE_SYSTEMD=OFF")))
(build-system cmake-build-system)
@ -138,7 +139,7 @@ client.")
(define-public fcitx5-lua
(package
(name "fcitx5-lua")
(version "5.0.10")
(version "5.0.11")
(source
(origin
(method url-fetch)
@ -146,7 +147,7 @@ client.")
"https://download.fcitx-im.org/fcitx5/fcitx5-lua/fcitx5-lua-"
version ".tar.xz"))
(sha256
(base32 "13vh6i7pap3h9jrjri3cfi7pcjwhlkw9g24ibfh0aykdhd8d7p99"))))
(base32 "1hc1vhaycfp9bjvch7qrvza5gdimr30rvwavbwqd27lrh36910yc"))))
(build-system cmake-build-system)
(arguments
(list
@ -164,19 +165,19 @@ client.")
(define-public libime
(package
(name "libime")
(version "1.1.0")
(version "1.1.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.fcitx-im.org/fcitx5/libime/libime-"
version "_dict.tar.xz"))
(sha256
(base32 "0jqr9riwygr3c9qzs8hx46smhgys68bf6m70fmam819903a9gpf0"))))
(base32 "0c1zn4bi71a84jh7x0fly3xqrsjm08ja3sglxrkfm9snk0x6ybhf"))))
(build-system cmake-build-system)
(inputs
(list fcitx5 boost))
(list fcitx5 boost (list zstd "lib")))
(native-inputs
(list extra-cmake-modules python)) ;needed to run test
(list extra-cmake-modules pkg-config))
(home-page "https://github.com/fcitx/libime")
(synopsis "Library for implementing generic input methods")
(description "Libime is a library for implementing various input method
@ -304,7 +305,7 @@ IM module for GTK+3 applications.
(define-public fcitx5-qt
(package
(name "fcitx5-qt")
(version "5.1.0")
(version "5.1.3")
(source
(origin
(method url-fetch)
@ -312,7 +313,7 @@ IM module for GTK+3 applications.
"/fcitx5-qt/fcitx5-qt-"
version ".tar.xz"))
(sha256
(base32 "02gnzwf0mlshmh1hw8c1866643qmdqazwjz339jq0c3ll61f8m7h"))))
(base32 "0wyzq91fcqhv655fjhzfjmlj0xr365sl5cjgck75xaj08gj3mw61"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@ -339,7 +340,7 @@ for Qt based application.")
(define-public fcitx5-anthy
(package
(name "fcitx5-anthy")
(version "5.1.0")
(version "5.1.2")
(source
(origin
(method url-fetch)
@ -347,7 +348,7 @@ for Qt based application.")
"/fcitx5-anthy/fcitx5-anthy-"
version ".tar.xz"))
(sha256
(base32 "0hzk3v36ph6f2nnlqqyw08w3qakbcb71y572ff09cy5b20vb29dp"))))
(base32 "0a1x1b7y5n1a9clb9j9mryhx2fnd5l5rwb74f38c0s93rxx8fhpf"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;; no tests
@ -363,7 +364,7 @@ the Anthy input method.")
(define-public fcitx5-chinese-addons
(package
(name "fcitx5-chinese-addons")
(version "5.1.0")
(version "5.1.2")
(source
(origin
(method url-fetch)
@ -371,7 +372,7 @@ the Anthy input method.")
"/fcitx5-chinese-addons/fcitx5-chinese-addons-"
version "_dict.tar.xz"))
(sha256
(base32 "1akf4qqvck7m93i0183ffb7jfsz0rq4f3bkf89vfxlqp4i7lfw5l"))))
(base32 "13na8qvz0vh43gmxa81jn96xpp6maz71ga039z6lqr069hzsx1vc"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@ -427,7 +428,7 @@ including input methods previous bundled inside Fcitx 4:
(define-public fcitx5-configtool
(package
(name "fcitx5-configtool")
(version "5.1.0")
(version "5.1.2")
(source
(origin
(method url-fetch)
@ -435,7 +436,7 @@ including input methods previous bundled inside Fcitx 4:
"https://download.fcitx-im.org/fcitx5"
"/fcitx5-configtool/fcitx5-configtool-" version ".tar.xz"))
(sha256
(base32 "0xv5kckm6bsbavw0s2iqg128fv7j8sh49lpwc0acqrdmwj49x1pz"))))
(base32 "1k6101wjl5j9qb174j75g5nbvz7hvh0cj01w6b9n65pqcv4hsf6c"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@ -537,7 +538,7 @@ for Fcitx 5 with following color variants:
(define-public fcitx5-rime
(package
(name "fcitx5-rime")
(version "5.1.1")
(version "5.1.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.fcitx-im.org/fcitx5"
@ -545,7 +546,7 @@ for Fcitx 5 with following color variants:
".tar.xz"))
(sha256
(base32
"1h6vh5pkak8l528l2d2nw5gy6zqa2sy3ris3xzkakb8kmgyjd3da"))))
"0cs3zq69fpasch6sq9yar2qw8403rxr2g4hjxn7mmshi1h1j6nm8"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ;no tests

View file

@ -1957,13 +1957,13 @@ that allows you to run services and through them access the Bitcoin Cash network
(define-public beancount
(package
(name "beancount")
(version "2.3.5")
(version "2.3.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "beancount" version))
(sha256
(base32 "0sn3x6c5vwvdfak1qm0y4vv284izrc4dly31mqyd9jz9l8jmdqql"))
(base32 "0nj7sdh7wxc0hv8wxwqhw9v1zgx1sn4w92368ci2wzdmssz967w0"))
(patches (search-patches "beancount-disable-googleapis-fonts.patch"))))
(build-system python-build-system)
(arguments

View file

@ -580,7 +580,7 @@ formats, and can perform many different manipulations.")
(define-public uuu
(package
(name "uuu")
(version "1.4.165")
(version "1.5.125")
(source
(origin
(method git-fetch)
@ -590,7 +590,7 @@ formats, and can perform many different manipulations.")
(file-name (git-file-name name version))
(sha256
(base32
"0k309lp27d4k6x4qq0badbk8i47xsc6f3fffz73650iyfs4hcniw"))))
"02nyax1z2qkcxs764lj5cpazv8n957hv9ipd9b5rqpgi9pgnvlvz"))))
(arguments
`(#:tests? #f ; no tests
#:modules ((guix build utils)
@ -618,7 +618,8 @@ formats, and can perform many different manipulations.")
(native-inputs
(list pkg-config))
(inputs
(list libusb bzip2 zlib libzip openssl))
(list libusb bzip2 zlib libzip openssl
`(,zstd "lib")))
(home-page "https://github.com/NXPmicro/mfgtools")
(synopsis "Freescale/NXP I.MX chip image deploy tools")
(description "@code{uuu} is a command line tool, evolved out of MFGTools.

View file

@ -1952,7 +1952,7 @@ 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.1")
(version "0.42.6")
(source
(origin
(method url-fetch)
@ -1960,7 +1960,7 @@ weights and five widths in both Roman and Italic, plus variable fonts.")
"/releases/download/v" version
"/sarasa-gothic-ttc-" version ".7z"))
(sha256
(base32 "0lrhipis21cafpsf8wsrdavlblfgzz424r23rj78ik8npbws1a3v"))))
(base32 "0czx10yph2lxg2k4w6qjnil73zb2pgg3g400apm9gay41m04990v"))))
(build-system font-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -3159,7 +3159,7 @@ and readability. This package bundles those icons into a font.")
(define-public font-lxgw-wenkai
(package
(name "font-lxgw-wenkai")
(version "1.310")
(version "1.311")
(source (origin
(method url-fetch)
(uri (string-append
@ -3167,7 +3167,7 @@ and readability. This package bundles those icons into a font.")
version "/lxgw-wenkai-v" version ".tar.gz"))
(sha256
(base32
"10z8ilcpfxmll6j6ck4yj90x48vh3c7ck0lm61qjangpw9fcgfb1"))))
"0f5fnqcwp8kicrbkncn5j1w06cil771jfdcjf2w48vl62m4gmf27"))))
(build-system font-build-system)
(home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/")
(synopsis "Simplified Chinese Imitation Song typeface")
@ -3181,7 +3181,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
(package
(inherit font-lxgw-wenkai)
(name "font-lxgw-wenkai-tc")
(version "1.010")
(version "1.011")
(source (origin
(method url-fetch)
(uri (string-append
@ -3189,7 +3189,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
version "/lxgw-wenkai-tc-v" version ".tar.gz"))
(sha256
(base32
"1yppqrfmynai1canlq0hksl3yaj8kflbnj41ljl4lxwaz6q9i1ly"))))
"0x83a7zg1w82bpilk84ajlisccf90kl01gz89fipgqji9nii71bv"))))
(home-page "https://github.com/lxgw/LxgwWenKaitc")
(synopsis "Traditional Chinese Imitation Song typeface")
(description

View file

@ -30,7 +30,7 @@
;;; Copyright © 2017, 2020, 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2018, 2023 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
@ -8635,7 +8635,10 @@ Cisco's AnyConnect SSL VPN.")
libsecret
network-manager
openfortivpn
ppp))
;; ppp < 2.5.0 is currently required:
;; https://gitlab.gnome.org/GNOME/NetworkManager-fortisslvpn/-/commit/084ef529c5fb816927ca54866f66b340265aa9f6
ppp-2.4.9))
(home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
(synopsis "Fortinet SSLVPN plug-in for NetworkManager")
(description
@ -8669,7 +8672,7 @@ to virtual private networks (VPNs) via Fortinet SSLVPN.")
(define-public network-manager-applet
(package
(name "network-manager-applet")
(version "1.32.0")
(version "1.34.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/network-manager-applet/"
@ -8677,7 +8680,7 @@ to virtual private networks (VPNs) via Fortinet SSLVPN.")
"network-manager-applet-" version ".tar.xz"))
(sha256
(base32
"0f5sxxi9rywg8mhglcyk3sqmgv5wwl4vxzar56847b852pxazdd2"))))
"1a55mf4ww06lqacs6zndp29ayyby5f8rgg1lp341y5kb1x3qwdmb"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t

View file

@ -41,6 +41,7 @@
;;; Copyright © 2022 Christopher Howard <christopher@librehacker.com>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -3988,6 +3989,23 @@ the official package.")
(home-page "https://go.googlesource.com/net")
(license license:bsd-3))))
(define-public go-golang-org-x-net-0.17
(let ((commit "b225e7ca6dde1ef5a5ae5ce922861bda011cfabd")
(revision "0"))
(package
(inherit go-golang-org-x-net)
(name "go-golang-org-x-net")
(version (git-version "0.17.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://go.googlesource.com/net")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"17zhim2m0r8nyy18g2lsawxm4rawix2qbjyn80x9vc6jc8fv05m9")))))))
(define-public go-golang-org-x-net-html
(package
(inherit go-golang-org-x-net)
@ -4091,6 +4109,24 @@ 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")
@ -5577,7 +5613,8 @@ values.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn"))))
(base32 "01b0wjb7yzv8wzzz2iim8mjpkwjnykcanrwiq06pkl89lr6gv8hn"))
(patches (search-patches "go-gopkg-in-yaml-v3-32bit.patch"))))
(build-system go-build-system)
(arguments
'(#:import-path "gopkg.in/yaml.v3"))
@ -7691,35 +7728,110 @@ implementation of generics.")
(home-page "https://github.com/cheekybits/genny/")
(license license:expat)))
(define-public go-github-com-lucas-clemente-quic-go
(define-public go-github-com-quic-go-qtls-go1-20
(package
(name "go-github-com-lucas-clemente-quic-go")
(version "0.14.4")
(name "go-github-com-quic-go-qtls-go1-20")
(version "0.3.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/quic-go/qtls-go1-20")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0fl3yv1w8cygag3lav45vvzb4k9i72p92x13wcq0xn13wxirzirn"))))
(build-system go-build-system)
(arguments
(list
#: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))
(synopsis "TLS 1.3 for QUIC")
(description
"Go standard library TLS 1.3 implementation, modified for QUIC. For
Go 1.20.")
(home-page "https://github.com/quic-go/qtls-go1-20")
(license license:expat)))
(define-public go-github-com-quic-go-qpack
(package
(name "go-github-com-quic-go-qpack")
(version "0.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/quic-go/qpack")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "00mjz445hhx4yar5l8p21bpp4d06jyg2ajw0ax7bh64d37l4kx39"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/quic-go/qpack"
;; Tests require ginkgo v2.
#:tests? #f
#:go go-1.20))
(propagated-inputs (list go-github-com-onsi-gomega
go-github-com-onsi-ginkgo
go-golang-org-x-net))
(synopsis "Minimal QPACK (RFC 9204) implementation for Go")
(description
"A minimal QPACK (RFC 9204) implementation in Go. It is minimal in the sense
that it doesn't use the dynamic table at all, but just the static table and (Huffman
encoded) string literals. Wherever possible, it reuses code from the
@url{https://github.com/golang/net/tree/master/http2/hpack, HPACK implementation in
the Go standard library}.")
(home-page "https://github.com/quic-go/qpack")
(license license:expat)))
(define-public go-github-com-quic-go-quic-go
(package
(name "go-github-com-quic-go-quic-go")
(version "0.39.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lucas-clemente/quic-go")
(url "https://github.com/quic-go/quic-go")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"04l3gqbc3gh079n8vgnrsf8ypgv8sl63xjf28jqfrb45v2l73vyz"))))
"0acabl3cz48nxpggc5s7fwxpmr5amyi09jygn5m5xxkkbhqs2cxq"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/lucas-clemente/quic-go"
;; XXX More packages required...
#:tests? #f))
(list #:import-path "github.com/quic-go/quic-go"
;; XXX More packages required...
#:tests? #f
#:go go-1.20))
(propagated-inputs
(list go-golang-org-x-crypto go-github-com-cheekybits-genny
go-github-com-marten-seemann-chacha20
go-github-com-marten-seemann-qtls
go-github-com-golang-protobuf-proto))
(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)))))
(synopsis "QUIC in Go")
(description "This package provides a Go language implementation of the QUIC
network protocol.")
(home-page "https://github.com/lucas-clemente/quic-go")
(home-page "https://github.com/quic-go/quic-go")
(license license:expat)))
(define-public go-github-com-lucas-clemente-quic-go
(deprecated-package "go-github-com-lucas-clemente-quic-go" go-github-com-quic-go-quic-go))
(define-public go-github-com-lunixbochs-vtclean
(package
(name "go-github-com-lunixbochs-vtclean")
@ -8635,45 +8747,48 @@ directories. It is optimized for filewalking.")
@code{database/sql}.")
(license license:expat)))
(define-public go-github-com-willf-bitset
(define-public go-github-com-bits-and-blooms-bitset
(package
(name "go-github-com-willf-bitset")
(version "1.1.10")
(name "go-github-com-bits-and-blooms-bitset")
(version "1.11.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/willf/bitset")
(commit (string-append "v" version))))
(url "https://github.com/bits-and-blooms/bitset")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0wpaxg6va3qwd0hq0b8rpb1hswvzzbfm2h8sjmcsdpbkydjjx9zg"))))
"1ialciixmr98p10rh61rnnkxpqi1j9hycbkv9rnjl0vnmsnpy0cy"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/willf/bitset"))
'(#:import-path "github.com/bits-and-blooms/bitset"))
(synopsis "Bitsets in Go")
(description "This package provides a Go implementation of bitsets, which
are a mapping between non-negative integers and boolean values focused on
efficient space usage.")
(home-page "https://github.com/willf/bitset")
(home-page "https://github.com/bits-and-blooms/bitset")
(license license:bsd-3)))
(define-public go-github-com-willf-bloom
(define-public go-github-com-willf-bitset
(deprecated-package "go-github-com-willf-bitset" go-github-com-bits-and-blooms-bitset))
(define-public go-github-com-bits-and-blooms-bloom
(package
(name "go-github-com-willf-bloom")
(version "2.0.3")
(name "go-github-com-bits-and-blooms-bloom")
(version "3.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/willf/bloom")
(commit (string-append "v" version))))
(url "https://github.com/bits-and-blooms/bloom")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0ygan8pgcay7wx3cs3ja8rdqj7nly7v3and97ddcc66020jxchzg"))))
"02rpjlgl7k3755qnlsk519xazgqlk73b8wvkpqlvccywms5w77bq"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/willf/bloom"
'(#:import-path "github.com/bits-and-blooms/bloom"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-import-path
@ -8681,17 +8796,20 @@ efficient space usage.")
;; See 'go.mod' in the source distribution of Syncthing 1.5.0 for
;; more information.
;; <https://github.com/spaolacci/murmur3/issues/29>
(substitute* "src/github.com/willf/bloom/bloom.go"
(substitute* "src/github.com/bits-and-blooms/bloom/bloom.go"
(("spaolacci") "twmb"))
#t)))))
(propagated-inputs
(list go-github-com-twmb-murmur3 go-github-com-willf-bitset))
(list go-github-com-twmb-murmur3 go-github-com-bits-and-blooms-bitset))
(synopsis "Bloom filters in Go")
(description "This package provides a Go implementation of bloom filters,
based on murmurhash.")
(home-page "https://github.com/willf/bloom")
(home-page "https://github.com/bits-and-blooms/bitset")
(license license:bsd-2)))
(define-public go-github-com-willf-bloom
(deprecated-package "go-github-com-willf-bloom" go-github-com-bits-and-blooms-bloom))
(define-public go-golang-org-rainycape-unidecode
(let ((commit "cb7f23ec59bec0d61b19c56cd88cee3d0cc1870c")
(revision "1"))
@ -11959,7 +12077,7 @@ dependencies and a simple API.")
(define-public go-github-com-arceliar-ironwood
(package
(name "go-github-com-arceliar-ironwood")
(version "0.0.0-20221115123222-ec61cea2f439")
(version "v0.0.0-20231028101932-ceac99571f43")
(source
(origin
(method git-fetch)
@ -11969,7 +12087,7 @@ dependencies and a simple API.")
(file-name (git-file-name name version))
(sha256
(base32
"0jdfhsr1yci0a4fpf2pmh9n4d7iryjx12y3549gv9nfjf91rs225"))))
"1shxpmi847jf7rfa5mb0m4nflwmlg65hjgjm9v7ynjvcp0licsi4"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/Arceliar/ironwood"

View file

@ -1373,6 +1373,31 @@ non-mutating insert, delete, and search operations, with support for
convenient nested tree operations.")
(license license:gpl3+)))
(define-public guile-algorithms
(package
(name "guile-algorithms")
(version "0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git@git.sr.ht/~filiplajszczak/guile-algorithms")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1a4ffnnhw92gqphjji5ajy3xfaqzww7xv3h8p82gkawx0rqvj5ni"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake pkg-config texinfo))
(inputs (list guile-3.0))
(synopsis "Guile port of racket-algorithms")
(description
"Guile port of @url{https://docs.racket-lang.org/algorithms/index.html,
racket-algorithms}, a package containing useful algorithms borrowed from other
programming languages).")
(home-page "https://guile-algorithms.lajszczak.dev/")
(license license:gpl3+)))
(define-public guile-aws
(let ((commit "f32bea12333e1054b97ab50e58a72636edabb5b7")
(revision "1"))
@ -4593,7 +4618,7 @@ according to Bitorrent BEP003.")
(define-public guile-ts
(package
(name "guile-ts")
(version "0.1.0")
(version "0.2.0")
(source (origin (method git-fetch)
(uri (git-reference
(url
@ -4602,7 +4627,7 @@ according to Bitorrent BEP003.")
(file-name (git-file-name name version))
(sha256
(base32
"0xmq2d3mv921m0g1hqw6bjzh4m622g2c7pal11ks7vjn0m8d4bxj"))))
"1iqbr9rcpmq2f1zxxvl36ajwm81rkp38rrp42ixr4q59154r5513"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags #~(list "GUILE_AUTO_COMPILE=0")

View file

@ -85,7 +85,9 @@
`(#:tests? #f ; FIXME - When Python's bindings are enabled, tests do not
; pass.
#:make-flags
,#~(list (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
,#~(list
(string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")
"DISTSETUPOPTS=--single-version-externally-managed") ;no .egg files
#:configure-flags
'("--enable-debug-info"
"--enable-man-pages"
@ -95,11 +97,9 @@
(modify-phases %standard-phases
;; These are recommended in the project's README for a development
;; build configuration.
(add-before 'configure 'set-environment-variables
(add-after 'unpack 'reconfigure
(lambda _
(setenv "BABELTRACE_DEV_MODE" "1")
(setenv "BABELTRACE_MINIMAL_LOG_LEVEL" "TRACE")
(invoke "autoreconf" "-vfi"))))))
(delete-file "configure"))))))
(inputs
(list glib))
;; NOTE - elfutils is used for the LTTng debug information filter
@ -141,6 +141,21 @@ LTTng and barectf. This package provides a library with a C API, Python 3
bindings, and the command-line tool @command{babeltrace2}.")
(license license:expat)))
(define-public babeltrace/dev
(package/inherit babeltrace
;; This dev variant of the package babeltrace is slower but allows better
;; development of plugins as recommended by the authors.
(name "babeltrace-dev")
(synopsis "Trace manipulation toolkit (variant for plugin developers)")
(arguments
(substitute-keyword-arguments (package-arguments babeltrace)
((#:phases phases)
`(modify-phases ,phases
(add-before 'configure 'set-environment-variables
(lambda _
(setenv "BABELTRACE_DEV_MODE" "1")
(setenv "BABELTRACE_MINIMAL_LOG_LEVEL" "TRACE")))))))))
(define-public barectf
(package
(name "barectf")

View file

@ -854,7 +854,7 @@ noun phrases, verb phrases, etc.).")
(define-public praat
(package
(name "praat")
(version "6.3.10")
(version "6.4")
(source (origin
(method git-fetch)
(uri (git-reference
@ -863,7 +863,7 @@ noun phrases, verb phrases, etc.).")
(file-name (git-file-name name version))
(sha256
(base32
"0kwv0p2bn2x5h0c61rymm87icqqwnbj699awgc5afl4qp53azci8"))))
"1rabv4175r1kbgb6n5xbir4j9ldpfr3wr6xa8jakzgny3dwlmsbg"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags #~(list (string-append "CC="

View file

@ -493,7 +493,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
(define-public linux-libre-6.6-version "6.6.1")
(define-public linux-libre-6.6-version "6.6.2")
(define-public linux-libre-6.6-gnu-revision "gnu")
(define deblob-scripts-6.6
(linux-libre-deblob-scripts
@ -503,12 +503,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1hg3ck1j8288fhlhcvhgs1zzwh3i62nfvphw7x3vsaqr75kiwbjp")))
(define-public linux-libre-6.6-pristine-source
(let ((version linux-libre-6.6-version)
(hash (base32 "0d42b1hbvv9w3y3q4wydr6il0g5a823n54a06p4p5vcpgkadf7ns")))
(hash (base32 "0zmpk5ls6282j88xpnymkr8z5hxpk2495hjjxm0jmb6ninnzdm3k")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.6)))
(define-public linux-libre-6.5-version "6.5.11")
(define-public linux-libre-6.5-version "6.5.12")
(define-public linux-libre-6.5-gnu-revision "gnu")
(define deblob-scripts-6.5
(linux-libre-deblob-scripts
@ -518,7 +518,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "066z5lw5vrfayhv23hpfcm6fh6b7zmn2v13kfv1g3z3jl1wblhfh")))
(define-public linux-libre-6.5-pristine-source
(let ((version linux-libre-6.5-version)
(hash (base32 "06dmb4hbwrms0lp4axphwgj8wbnzsym70sx55lxr501b53wlmqif")))
(hash (base32 "17rmkzxszp2jg1zx2mmdcy30ffrsd0qms513sxd14klp5k9w2saa")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.5)))
@ -526,7 +526,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-6.1-version "6.1.62")
(define-public linux-libre-6.1-version "6.1.63")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
@ -536,12 +536,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1hdibv43xbn1lv83i6qjgfmf1bvqxvq17fryfsq4r4sjgs9212js")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
(hash (base32 "1v453q4sf0j8708ivs1zmdf645hgimqvxfc8xz7czgnnmipn3zdr")))
(hash (base32 "13bmy22mi4ybl21kr3hdy6qiaawiqz2jgl2gl9hwqkyx04xh97f2")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
(define-public linux-libre-5.15-version "5.15.138")
(define-public linux-libre-5.15-version "5.15.139")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
@ -551,12 +551,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1idjrn2w8jrixj8ifkk1awxyyq5042nc4p2mld4rda96azlnp948")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "1ajaxy97gx0c9cdxiyxa49ykfsykir22i9abfrcizh71ci0yb15g")))
(hash (base32 "0kh4v1224a7p7ib64pnmc1qid3d1lvg3c14l5s4rpr8qzq6w2s4w")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.200")
(define-public linux-libre-5.10-version "5.10.201")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@ -566,12 +566,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0xrrnmb5kcc5r21bdm24aq0fnkk1imn367c1cxlj78b6l6gigx4b")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "012i41bj8rcqn0vhfxrwq3gg82nb6pp2cwq8n146wj47pwgrcbcx")))
(hash (base32 "0642y6qj2d4aww6jcki81ba53pvjyfazjxgzgj8brqx8ixchdz3a")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.260")
(define-public linux-libre-5.4-version "5.4.261")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@ -581,12 +581,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "1zpbaipd2j3idj8h9iznlj0ywcq5nkhwj707a1f9ixf82h3q4c4q")))
(hash (base32 "1hsgnv2vcziflhzrrxiny2yp88ybdqda48fm60xhpaphhs0cgfii")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.298")
(define-public linux-libre-4.19-version "4.19.299")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
@ -596,12 +596,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "0mhgq6hdcls1af7nj999x1mds5b37s7vwin8nsb4q0lnx2y1da4x")))
(hash (base32 "12p431p2jqjfsf0all3fgn47z9fr2cdqyxipfrf4s4mlw4hpbyy6")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.329")
(define-public linux-libre-4.14-version "4.14.330")
(define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
@ -611,7 +611,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "1dvb4xf0b7snabznl7bg7gga7ffdmywy8vr8q65pzl9yf6fnhdny")))
(hash (base32 "0rwgzyfmrns6zir0dpxkwz2hm3z8c0af3wy11lmxamaa5i2wq3k7")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))

View file

@ -1149,3 +1149,32 @@ on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
(define-public ecl-xlunit
(sbcl-package->ecl-package sbcl-xlunit))
(define-public sbcl-lisp-critic
(let ((commit "ea19f82a168a6119ac1b10d0f457c01a7119602f")
(revision "1"))
(package
(name "sbcl-lisp-critic")
(version (git-version "1.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/g000001/lisp-critic")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "15zg05pqfs2dhc5j7gfkwjmxawaizjpyb0p7386mpl4w93l9h84l"))))
(build-system asdf-build-system/sbcl)
(synopsis "Common Lisp linter")
(description "The Lisp Critic scans your code for instances of bad
Lisp programming practice.")
(home-page
"https://courses.cs.northwestern.edu/325/exercises/critic.html#critic")
(license license:expat))))
(define-public cl-lisp-critic
(sbcl-package->cl-source-package sbcl-lisp-critic))
(define-public ecl-lisp-critic
(sbcl-package->ecl-package sbcl-lisp-critic))

View file

@ -601,13 +601,13 @@ output), and Binutils.")
'(("14.0.6" . "14f8nlvnmdkp9a9a79wv67jbmafvabczhah8rwnqrgd5g3hfxxxx")
("15.0.7" . "12sggw15sxq1krh1mfk3c1f07h895jlxbcifpwk3pznh4m1rjfy2")
("16.0.6" . "0jxmapg7shwkl88m4mqgfjv4ziqdmnppxhjz6vz51ycp2x4nmjky")
("17.0.3" . "1fhrnsv87if7kbqmrsxy2r7ykx3gnr9lmbmvkhvycc91ii4ihybx")))
("17.0.5" . "149flpr96vcn7a1ckya6mm93m9yp85l47w156fjd0r99ydxrw5kv")))
(define %llvm-patches
'(("14.0.6" . ("clang-14.0-libc-search-path.patch"))
("15.0.7" . ("clang-15.0-libc-search-path.patch"))
("16.0.6" . ("clang-16.0-libc-search-path.patch"))
("17.0.3" . ("clang-17.0-libc-search-path.patch"))))
("17.0.5" . ("clang-17.0-libc-search-path.patch"))))
(define (llvm-monorepo version)
(origin
@ -1500,7 +1500,7 @@ Library.")
(define-public llvm-17
(package
(inherit llvm-15)
(version "17.0.3")
(version "17.0.5")
(source (llvm-monorepo version))))
(define-public clang-runtime-17
@ -1516,7 +1516,7 @@ Library.")
(package-version llvm-17)))
(sha256
(base32
"0an16xdc8rgrdf0dcq3sdg82ajyb00h4bff9n0gm7gqf48ds0da8")))))
"12dbp10bhq25a44qnvz978mf9y6pdycwpp7sgq8a93by0fpgb72r")))))
(define-public libomp-17
(package

View file

@ -1269,6 +1269,39 @@ simplicity, and reach of Lua with the flexibility of a Lisp syntax and macro
system.")
(license license:expat)))
(define-public antifennel
(package
(version "0.2.0")
(name "antifennel")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~technomancy/antifennel")
(commit version)))
(sha256
(base32 "1hd9h17q31b3gg88c657zq4han4air2ag55rrakbmcpy6n8acsqc"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs (list luajit))
(arguments
(list
#:phases #~(modify-phases %standard-phases
(delete 'configure)
;; Tests pass after the fix introduced by the commit
;; ecd2169fcad1fa6616fdf6e6a8569f5b866601e5
(delete 'check)
(replace 'install
(lambda _
(install-file "antifennel"
(string-append #$output "/bin")))))))
(home-page "https://git.sr.ht/~technomancy/antifennel")
(synopsis "Turn Lua code into Fennel code")
(description
"This package provides a way to turn Lua code into Fennel code.
This compiler does the opposite of what the Fennel compiler does.")
(license license:expat)))
(define-public fnlfmt
(package
(name "fnlfmt")

View file

@ -1206,14 +1206,14 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
(define-public mu
(package
(name "mu")
(version "1.10.7")
(version "1.10.8")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/djcb/mu/releases/download/v"
version "/mu-" version ".tar.xz"))
(sha256
(base32 "089w1m6sd0nk9l9j40d357fjym8kxmz7kwh3bclk58jxa6xckapa"))))
(base32 "129m6rz8vbd7370c3h3ma66bxqdkm6wsdix5qkmv1vm7sanxh4bb"))))
(build-system meson-build-system)
(native-inputs
(list pkg-config
@ -1221,7 +1221,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
gnupg ; for tests
texinfo))
(inputs
(list glib gmime xapian))
(list glib gmime guile-3.0 xapian))
(arguments
(list
#:modules '((guix build meson-build-system)
@ -1229,6 +1229,8 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
(guix build utils))
#:imported-modules `(,@%meson-build-system-modules
(guix build emacs-utils))
#:configure-flags
#~(list (format #f "-Dguile-extension-dir=~a/lib" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-bin-references
@ -1241,6 +1243,11 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
(substitute* '("lib/tests/bench-indexer.cc"
"lib/utils/mu-test-utils.cc")
(("/bin/rm") (which "rm")))))
(add-after 'install 'fix-ffi
(lambda _
(substitute* (find-files #$output "mu.scm")
(("\"libguile-mu\"")
(format #f "\"~a/lib/libguile-mu\"" #$output)))))
(add-after 'install 'install-emacs-autoloads
(lambda* (#:key outputs #:allow-other-keys)
(emacs-generate-autoloads
@ -4908,11 +4915,12 @@ remote SMTP server.")
(string-append
"\"" (search-input-file inputs "bin/sh")
"\"")))
(substitute* "commands/z.go"
(("\"zoxide\"")
(string-append
"\"" (search-input-file inputs "bin/zoxide")
"\"")))
(when (assoc-ref inputs "zoxide")
(substitute* "commands/z.go"
(("\"zoxide\"")
(string-append
"\"" (search-input-file inputs "bin/zoxide")
"\""))))
(substitute* (list "lib/crypto/gpg/gpg.go"
"lib/crypto/gpg/gpg_test.go"
"lib/crypto/gpg/gpgbin/keys.go"
@ -4932,45 +4940,49 @@ remote SMTP server.")
(invoke "make" "CC=gcc" "install" "-C"
(string-append "src/" import-path)
(string-append "PREFIX=" #$output)))))))
(inputs (list gnupg
go-github-com-zenhack-go-notmuch
go-golang-org-x-oauth2
go-github-com-xo-terminfo
go-github-com-stretchr-testify
go-github-com-riywo-loginshell
go-github-com-pkg-errors
go-github-com-mitchellh-go-homedir
go-github-com-miolini-datacounter
go-github-com-mattn-go-runewidth
go-github-com-mattn-go-isatty
go-github-com-lithammer-fuzzysearch
go-github-com-kyoh86-xdg
go-github-com-imdario-mergo
go-github-com-google-shlex
go-github-com-go-ini-ini
go-github-com-gdamore-tcell-v2
go-github-com-gatherstars-com-jwz
go-github-com-fsnotify-fsnotify
go-github-com-emersion-go-smtp
go-github-com-emersion-go-sasl
go-github-com-emersion-go-pgpmail
go-github-com-emersion-go-message
go-github-com-emersion-go-maildir
go-github-com-emersion-go-imap-sortthread
go-github-com-emersion-go-imap
go-github-com-emersion-go-msgauth
go-github-com-emersion-go-mbox
go-github-com-ddevault-go-libvterm
go-github-com-danwakefield-fnmatch
go-github-com-creack-pty
go-github-com-arran4-golang-ical
go-github-com-protonmail-go-crypto
go-github-com-syndtr-goleveldb-leveldb
go-git-sr-ht-sircmpwn-getopt
go-git-sr-ht-rockorager-tcell-term
python
python-vobject
zoxide))
(inputs
(append
(list gnupg
go-github-com-zenhack-go-notmuch
go-golang-org-x-oauth2
go-github-com-xo-terminfo
go-github-com-stretchr-testify
go-github-com-riywo-loginshell
go-github-com-pkg-errors
go-github-com-mitchellh-go-homedir
go-github-com-miolini-datacounter
go-github-com-mattn-go-runewidth
go-github-com-mattn-go-isatty
go-github-com-lithammer-fuzzysearch
go-github-com-kyoh86-xdg
go-github-com-imdario-mergo
go-github-com-google-shlex
go-github-com-go-ini-ini
go-github-com-gdamore-tcell-v2
go-github-com-gatherstars-com-jwz
go-github-com-fsnotify-fsnotify
go-github-com-emersion-go-smtp
go-github-com-emersion-go-sasl
go-github-com-emersion-go-pgpmail
go-github-com-emersion-go-message
go-github-com-emersion-go-maildir
go-github-com-emersion-go-imap-sortthread
go-github-com-emersion-go-imap
go-github-com-emersion-go-msgauth
go-github-com-emersion-go-mbox
go-github-com-ddevault-go-libvterm
go-github-com-danwakefield-fnmatch
go-github-com-creack-pty
go-github-com-arran4-golang-ical
go-github-com-protonmail-go-crypto
go-github-com-syndtr-goleveldb-leveldb
go-git-sr-ht-sircmpwn-getopt
go-git-sr-ht-rockorager-tcell-term
python
python-vobject)
(if (supported-package? zoxide)
(list zoxide)
'())))
(native-inputs (list scdoc))
(home-page "https://git.sr.ht/~rjarry/aerc")
(synopsis "Email client for the terminal")

View file

@ -11,6 +11,7 @@
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -428,13 +429,13 @@ additions.")))
(base32 "1jm7lhnzjx4q7gcwlkvsbffcy0zppywyh50d71ami6dnq182vvcc"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "CC=gcc"
(string-append "PREFIX="
(assoc-ref %outputs "out")))
#:tests? #f ; no tests included
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(list #:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
#:tests? #f ; no tests included
#:phases
#~(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://github.com/Gottox/smu")
(synopsis "Simple markup")
(description

View file

@ -58,6 +58,7 @@
;;; Copyright © 2022, 2023 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2022 Maximilian Heisinger <mail@maxheisinger.at>
;;; Copyright © 2022 Akira Kyle <akira@akirakyle.com>
;;; Copyright © 2022, 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com>
;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com>
;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
@ -103,6 +104,7 @@
#:use-module (gnu packages algebra)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
@ -9529,7 +9531,7 @@ computation is supported via MPI.")
(define-public scilab
(package
(name "scilab")
(version "2023.1.0")
(version "2024.0.0")
(source
(origin
(method git-fetch)
@ -9539,10 +9541,9 @@ computation is supported via MPI.")
(file-name (git-file-name name version))
(sha256
(base32
"0hbqsnc67b4f8zc690kl79bwhjaasykjlmqbln8iymnjcn3l5ypd"))
"08nyfli3x7gd396ffd1a8zn9fj3gm6a8yw0ggm547c09sp2rgvl7"))
(modules '((guix build utils)
(ice-9 ftw)))
(patches (search-patches "scilab-hdf5-1.8-api.patch"))
(snippet
#~(begin
;; Delete everything except for scilab itself:
@ -9559,7 +9560,8 @@ computation is supported via MPI.")
(for-each delete-file-recursively
'("scilab"
"config"
"libs/GetWindowsVersion"))
"libs/GetWindowsVersion"
"Visual-Studio-settings"))
(for-each delete-file
(cons* "aclocal.m4"
"configure"
@ -9571,22 +9573,23 @@ computation is supported via MPI.")
"m4/ltversion.m4"
"m4/lt~obsolete.m4"
"m4/pkg.m4"
"Scilab.sln"
(find-files "." "^Makefile\\.in$")))
;; And finally some files in the modules directory:
(for-each
(lambda (file)
(delete-file
(string-append "modules/dynamic_link/src/scripts/" file)))
'("aclocal.m4"
"configure"
"compile"
"config.guess"
"config.sub"
"ltmain.sh"
"depcomp"
"install-sh"
"missing"))
(lambda (file)
(delete-file
(string-append "modules/dynamic_link/src/scripts/" file)))
'("aclocal.m4"
"configure"
"compile"
"config.guess"
"config.sub"
"ltmain.sh"
"depcomp"
"install-sh"
"missing"))
(delete-file-recursively "modules/dynamic_link/src/scripts/m4")
(for-each delete-file
'("modules/ast/src/cpp/parse/scanscilab.cpp"
@ -9595,7 +9598,7 @@ computation is supported via MPI.")
"modules/ast/src/cpp/parse/parsescilab.cpp"))))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
(list autoconf-2.71
autoconf-archive
automake
bison
@ -9612,8 +9615,9 @@ computation is supported via MPI.")
curl
fftw
gettext-minimal
hdf5-1.14
hdf5-1.10
lapack
libarchive
libx11
libxml2
matio
@ -9624,83 +9628,125 @@ computation is supported via MPI.")
tcl
tk))
(arguments
(list
;; The tests require java code.
#:tests? #f
#:configure-flags
#~(list
"--enable-relocatable"
"--disable-static-system-lib"
"--enable-build-parser"
;; Disable all java code.
"--without-gui"
"--without-javasci"
"--disable-build-help"
"--with-external-scirenderer"
;; Tcl and Tk library locations.
(string-append "--with-tcl-include="
(dirname
(search-input-file %build-inputs "include/tcl.h")))
(string-append "--with-tcl-library="
(dirname
(search-input-directory %build-inputs "lib/tcl8")))
(string-append "--with-tk-include="
(dirname
(search-input-file %build-inputs "include/tk.h")))
(string-append "--with-tk-library="
(dirname
(search-input-directory %build-inputs "lib/tk8.6")))
(string-append "--with-eigen-include="
(search-input-directory %build-inputs "include/eigen3"))
;; Find and link to the OCaml Num package
"OCAMLC=ocamlfind ocamlc -package num"
"OCAMLOPT=ocamlfind ocamlopt -package num -linkpkg"
;; There are some 2018-fortran errors that are ignored
;; with this fortran compiler flag.
"FFLAGS=-fallow-argument-mismatch")
#:phases
#~(modify-phases %standard-phases
;; The Num library is specified with the OCAMLC and
;; OCAMLOPT variables above.
(add-after 'unpack 'fix-ocaml-num
(lambda _
(substitute*
'("modules/scicos/Makefile.modelica.am"
"modules/scicos/src/translator/makefile.mak"
"modules/scicos/src/modelica_compiler/makefile.mak")
(("nums\\.cmx?a") ""))))
;; Install only scilab-cli.desktop
(add-after 'unpack 'remove-desktop-files
(lambda _
(substitute* "desktop/Makefile.am"
(("desktop_DATA =")
"desktop_DATA = scilab-cli.desktop\nDUMMY ="))))
;; These generated files are assumed to be present during
;; the build.
(add-after 'bootstrap 'bootstrap-dynamic_link-scripts
(lambda _
(with-directory-excursion "modules/dynamic_link/src/scripts"
((assoc-ref %standard-phases 'bootstrap)))))
(add-before 'build 'pre-build
(lambda* (#:key inputs #:allow-other-keys)
;; Fix scilab script.
(substitute* "bin/scilab"
(("\\/bin\\/ls")
(search-input-file inputs "bin/ls")))
;; Fix core.start.
(substitute* "modules/core/etc/core.start"
(("'SCI/modules")
"SCI+'/modules"))
;; Set SCIHOME to /tmp before macros compilation.
(setenv "SCIHOME" "/tmp")))
;; Prevent race condition
(add-after 'pre-build 'build-parsers
(lambda* (#:key (make-flags #~'()) #:allow-other-keys)
(with-directory-excursion "modules/ast"
(apply invoke "make"
"src/cpp/parse/parsescilab.cpp"
"src/cpp/parse/scanscilab.cpp"
make-flags)))))))
(let* ((tcl (this-package-input "tcl"))
(tk (this-package-input "tk")))
(list
#:configure-flags
#~(list
"--enable-relocatable"
"--disable-static-system-lib"
"--enable-build-parser"
;; Disable all java code.
"--without-gui"
"--without-javasci"
"--disable-build-help"
"--with-external-scirenderer"
;; Tcl and Tk library locations.
(string-append "--with-tcl-include=" #$tcl "/include")
(string-append "--with-tcl-library=" #$tcl "/lib")
(string-append "--with-tk-include=" #$tk "/include")
(string-append "--with-tk-library=" #$tk "/lib")
(string-append "--with-eigen-include="
(search-input-directory %build-inputs "include/eigen3"))
;; Find and link to the OCaml Num package
"OCAMLC=ocamlfind ocamlc -package num"
"OCAMLOPT=ocamlfind ocamlopt -package num -linkpkg")
#:phases
#~(modify-phases %standard-phases
;; The Num library is specified with the OCAMLC and
;; OCAMLOPT variables above.
(add-after 'unpack 'fix-ocaml-num
(lambda _
(substitute*
'("modules/scicos/Makefile.modelica.am"
"modules/scicos/src/translator/makefile.mak"
"modules/scicos/src/modelica_compiler/makefile.mak")
(("nums\\.cmx?a") ""))))
(add-after 'unpack 'fix-linking
(lambda _
(substitute* "modules/Makefile.am"
(("libscilab_cli_la_LDFLAGS = .*\\)" all)
(string-append all " -lcurl")))))
(add-after 'unpack 'set-version
(lambda _
(substitute* "modules/core/includes/version.h.in"
(("scilab-branch-main") ; version
(string-append
"scilab-"
#$(version-major+minor (package-version this-package)))))))
(add-after 'unpack 'restrain-to-scilab-cli
(lambda _
;; Install only scilab-cli.desktop
(substitute* "desktop/Makefile.am"
(("desktop_DATA =")
"desktop_DATA = scilab-cli.desktop\nDUMMY ="))
;; Replace scilab with scilab-cli for tests.
(substitute* "Makefile.incl.am"
(("scilab-bin") "scilab-cli-bin")
(("scilab -nwni") "scilab-cli")
;; Do not install tests, demos and examples.
;; This saves up to 140 Mo in the final output.
(("(TESTS|DEMOS|EXAMPLES)_DIR=.*" all kind)
(string-append kind "_DIR=")))))
(add-before 'check 'disable-failing-tests
(lambda _
(substitute* "Makefile"
(("TESTS = .*")
"TESTS =\n"))
(substitute* "modules/functions_manager/Makefile"
(("check:.*")
"check:\n"))
(substitute* "modules/types/Makefile"
(("\\$\\(MAKE\\) \\$\\(AM_MAKEFLAGS\\) check-am")
""))))
;; These generated files are assumed to be present during
;; the build.
(add-after 'bootstrap 'bootstrap-dynamic_link-scripts
(lambda _
(with-directory-excursion "modules/dynamic_link/src/scripts"
((assoc-ref %standard-phases 'bootstrap)))))
(add-before 'build 'pre-build
(lambda* (#:key inputs #:allow-other-keys)
;; Fix scilab script.
(substitute* "bin/scilab"
(("/bin/ls")
(search-input-file inputs "bin/ls")))
;; Fix core.start.
(substitute* "modules/core/etc/core.start"
(("'SCI/modules")
"SCI+'/modules"))))
;; Prevent race condition
(add-after 'pre-build 'build-parsers
(lambda* (#:key (make-flags #~'()) #:allow-other-keys)
(with-directory-excursion "modules/ast"
(apply invoke "make"
"src/cpp/parse/parsescilab.cpp"
"src/cpp/parse/scanscilab.cpp"
make-flags))))
;; The startup script is mostly there to define the following env
;; variables properly. We can do this with guix directly.
(add-after 'install 'rewrap-scilab-cli
(lambda _
(define (bin path) (string-append #$output "/bin/" path))
(delete-file (bin "scilab-cli"))
(wrap-program (bin "scilab-cli-bin")
`("SCI" = (,(string-append #$output "/share/scilab")))
`("LD_LIBRARY_PATH" ":" prefix
(,(string-append #$output "/lib/scilab")))
`("TCL_LIBRARY" = (,(string-append #$tcl "/lib")))
`("TK_LIBRARY" = (,(string-append #$tk "/lib"))))
(copy-file (bin "scilab-cli-bin") (bin "scilab-cli"))
(copy-file (bin ".scilab-cli-bin-real") (bin "scilab-cli-bin"))
(delete-file (bin ".scilab-cli-bin-real"))
(substitute* (bin "scilab-cli")
;; Also set SCIHOME to sensible XDG base dirs value.
(("\\.scilab-cli-bin-real\"")
(string-append
"scilab-cli-bin\" -scihome "
"\"${XDG_STATE_HOME:-$HOME/.local/state}/scilab/"
#$(package-version this-package) "\""))
(("export SCI=")
"unset LANGUAGE\nexport SCI="))))))))
(home-page "https://www.scilab.org/")
(synopsis "Software for engineers and scientists")
(description "This package provides the non-graphical version of the Scilab

View file

@ -57,6 +57,7 @@
#:use-module (gnu packages libusb)
#:use-module (gnu packages lua)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
@ -116,7 +117,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
(define-public mpd
(package
(name "mpd")
(version "0.23.13")
(version "0.23.14")
(source (origin
(method url-fetch)
(uri
@ -125,7 +126,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
"/mpd-" version ".tar.xz"))
(sha256
(base32
"06fmy68lfrsi5y03l53dnwcynqhwh5f5vhdpbsr8lzmvzgk02sx9"))))
"1lh9nn4a7ng6i08df7rbs8c4nbgmz883pss9p2gswa6m4rsadfc5"))))
(build-system meson-build-system)
(arguments
(list
@ -622,7 +623,7 @@ mpdevil loads all tags and covers on demand.")
(define-public mympd
(package
(name "mympd")
(version "12.1.1")
(version "13.0.5")
(source (origin
(method git-fetch)
(uri (git-reference
@ -631,22 +632,29 @@ mpdevil loads all tags and covers on demand.")
(file-name (git-file-name name version))
(sha256
(base32
"1bal31xmdmq46bi0qmia07sqcwy695vcz5y5hxwkz71rcfywbsf9"))))
"1ly3iw4irybfxyafgrldldwc28a879wwnd1pg32m2sgrwyhr0czm"))))
(outputs '("out" "doc"))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list "-DMYMPD_BUILD_TESTING=ON"
;; Handled by 'strip' phase.
"-DMYMPD_STRIP_BINARY=OFF")
#~(list "-DCMAKE_INSTALL_LOCALSTATEDIR=/var"
"-DMYMPD_BUILD_TESTING=ON"
"-DMYMPD_DOC_HTML=ON")
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; The following test requires network connectivity.
(invoke "ctest" "--exclude-regex" "test_http_client")))))))
(native-inputs (list jq perl pkg-config))
(invoke "ctest" "--exclude-regex" "test_http_client"))))
(add-after 'install 'move-doc
(lambda _
(let ((old (string-append #$output "/share/doc"))
(new (string-append #$output:doc "/share/doc")))
(mkdir-p (dirname new))
(rename-file old new)))))))
(native-inputs (list jekyll jq perl pkg-config))
(inputs (list flac libid3tag lua openssl pcre2))
(home-page "https://jcorporation.github.io/")
(synopsis "Web-based MPD client")

View file

@ -60,6 +60,7 @@
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -127,6 +128,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libidn)
#:use-module (gnu packages libusb)
@ -326,42 +328,26 @@ Unix Domain Sockets, SCTP for both IPv4 and IPv6.")
(define-public lcsync
(package
(name "lcsync")
(version "0.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/librecast/lcsync")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0bsd3dkir2i647nmrmyb7skbv16v0f6f3gfwkpxz8g42978dlms5"))))
(version "0.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/librecast/lcsync")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rhk80ybd2zranay76z1ysifnnm786lg9kiiijcwv76qy95in9ks"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f
#:configure-flags
(list
(string-append "--prefix="
(assoc-ref %outputs "out")))
#:configure-flags (list (string-append "--prefix="
(assoc-ref %outputs "out")))
#:make-flags (let ((target ,(%current-target-system)))
(list ,(string-append "CC="
(cc-for-target))))
#:test-target "test"
#:phases (modify-phases %standard-phases
(add-after 'unpack 'use-prefix-from-configure-in-doc-makefile
;; Use prefix from configure. Fixed upstream:
;; https://codeberg.org/librecast/lcsync/commit/4ba00f6
;; XXX: Remove for 0.2.2+
(lambda _
(substitute* "doc/Makefile.in"
(("PREFIX .= /usr/local") "PREFIX ?= @prefix@"))))
(add-before 'build 'add-library-paths
(lambda* (#:key inputs #:allow-other-keys)
(let* ((librecast (assoc-ref inputs "librecast")))
(substitute* (list "./src/Makefile" "./test/Makefile")
(("-llibrecast")
(string-append "-L" librecast "/lib -llibrecast")))))))))
(inputs (list lcrq librecast libsodium))
#:test-target "test"))
(inputs (list lcrq librecast libsodium libbsd))
(home-page "https://librecast.net/lcsync.html")
(synopsis "Librecast file and data syncing tool")
(description
@ -522,16 +508,16 @@ GLib-based library, libnice, as well as GStreamer elements to use it.")
(define-public librecast
(package
(name "librecast")
(version "0.7.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/librecast/librecast")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0y0km0fv39m3i227pyg7fcr7d94gbji51fkcywqyrjgmk4j1hp1n"))))
(version "0.8.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/librecast/librecast")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01m0q4n2hy3csbzil8ivjyzb1mh4w9jlh9iiv6z53kasl7aas27i"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f
@ -541,7 +527,7 @@ GLib-based library, libnice, as well as GStreamer elements to use it.")
(string-append "PREFIX="
(assoc-ref %outputs "out"))))
#:test-target "test"))
(inputs (list libsodium lcrq))
(inputs (list libsodium lcrq libbsd))
(synopsis "IPv6 multicast library")
(description "Librecast is a C library which supports IPv6 multicast
networking.")
@ -4422,7 +4408,7 @@ QUIC protocol.")
(define-public yggdrasil
(package
(name "yggdrasil")
(version "0.4.7")
(version "0.5.2")
(source
(origin
(method git-fetch)
@ -4433,8 +4419,8 @@ QUIC protocol.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "01mllfrsr55lnfivxwa57cfrjas6w4shsvx9k81pw8jixc124myk"))
(patches (search-patches "yggdrasil-extra-config.patch"))))
(base32 "0ahgb94s30sq1wwyc8h53mjj3j43ifr0aanj8262rsm6rqk04kzq"))
(patches (search-patches "yggdrasil-extra-config.patch"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/yggdrasil-network/yggdrasil-go"
@ -4460,32 +4446,37 @@ QUIC protocol.")
(list "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasil"
"github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasilctl"
"github.com/yggdrasil-network/yggdrasil-go/cmd/genkeys"))))))))
;; https://github.com/kardianos/minwinsvc is windows only
(propagated-inputs
(list ;;("go-golang-zx2c4-com-wireguard-windows"
;; ,go-golang-zx2c4-com-wireguard-windows)
go-golang-zx2c4-com-wireguard
go-golang-org-x-text
go-golang-org-x-sys
go-golang-org-x-net
go-golang-org-x-crypto
go-golang-org-x-tools
go-netns
go-netlink
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))
(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)))))
(home-page "https://yggdrasil-network.github.io/blog.html")
(synopsis
"Experiment in scalable routing as an encrypted IPv6 overlay network")

View file

@ -1510,8 +1510,8 @@ environments.")
"0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
(define-public guix-build-coordinator
(let ((commit "c226d48d97ce3a248cf2d814c9b4c4f48e67511e")
(revision "91"))
(let ((commit "78df0b3a9f4f27df8341da36d4dfa8e49dfad900")
(revision "92"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@ -1522,7 +1522,7 @@ environments.")
(commit commit)))
(sha256
(base32
"0ig9hq483q2ir26gj6m9kj13a9hmq6sw18q0fiqvbvn31p4c8zvn"))
"06xp38k6yfvsvl20hrqvmarpysd07nkbj53an729lqr50qdd4jcq"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@ -1754,8 +1754,8 @@ in an isolated environment, in separate namespaces.")
(license license:gpl3+)))
(define-public nar-herder
(let ((commit "bf539aa08edfe8010606a31c00e0296c3d400319")
(revision "22"))
(let ((commit "5ccd6cbbdf5fc41e43a491d3414c1663e1fba64d")
(revision "23"))
(package
(name "nar-herder")
(version (git-version "0" revision commit))
@ -1766,7 +1766,7 @@ in an isolated environment, in separate namespaces.")
(commit commit)))
(sha256
(base32
"1i9q7ys26r6y2xa4qqy21bcxlqiynxp3p1wl5gmyj33jnb9ryjby"))
"1lid5k4wgghl9lzhazx1c473qv18yxp0xxrvj04b33pdvxnaawl8"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments

View file

@ -64,14 +64,14 @@
(define-public parallel
(package
(name "parallel")
(version "20231022")
(version "20231122")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
(base32 "1316ydijavz41078c99mbrbaddnshspbs8nsbm5qlyah317vkwlk"))
(base32 "1qpa3dhmdddw7l5906y8ck8rnri66kqkxcbxhsnj058pmbw9qb42"))
(snippet
'(begin
(use-modules (guix build utils))

View file

@ -0,0 +1,54 @@
This patch causes aria2 to depend on an external wslay.
The wslay version was copied from the configure.ac in deps/wslay
configure still needs to be deleted to update the script
deps/wslay is no longer necessary and can also be removed
diff --git a/Makefile.am b/Makefile.am
index afe70a2..8c4d058 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = po lib deps src doc test
+SUBDIRS = po lib src doc test
ACLOCAL_AMFLAGS = -I m4 --install
RST2HTML = @RST2HTML@
diff --git a/configure.ac b/configure.ac
index 14b340f..74d5937 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1001,15 +1001,18 @@ if test "x$have_option_const_name" = "xyes"; then
fi
if test "x$enable_websocket" = "xyes"; then
- AC_CONFIG_SUBDIRS([deps/wslay])
+ PKG_CHECK_MODULES([WSLAY], [libwslay >= 1.1.1], [have_wslay=yes], [have_wslay=no])
enable_websocket=yes
AC_DEFINE([ENABLE_WEBSOCKET], [1],
[Define 1 if WebSocket support is enabled.])
- # $(top_srcdir) for `make distcheck`
- WSLAY_CFLAGS="-I\$(top_builddir)/deps/wslay/lib/includes -I\$(top_srcdir)/deps/wslay/lib/includes"
- WSLAY_LIBS="\$(top_builddir)/deps/wslay/lib/libwslay.la"
- AC_SUBST([WSLAY_CFLAGS])
- AC_SUBST([WSLAY_LIBS])
+ if test "x$have_wslay" = "xyes"; then
+ WSLAY_CFLAGS="$WSLAY_CFLAGS"
+ WSLAY_LIBS="$WSLAY_LIBS"
+ AC_SUBST([WSLAY_CFLAGS])
+ AC_SUBST([WSLAY_LIBS])
+ else
+ ARIA2_DEP_NOT_MET([wslay])
+ fi
fi
AM_CONDITIONAL([ENABLE_WEBSOCKET], [test "x$enable_websocket" = "xyes"])
@@ -1071,8 +1074,7 @@ AC_CONFIG_FILES([Makefile
doc/manual-src/ru/Makefile
doc/manual-src/ru/conf.py
doc/manual-src/pt/Makefile
- doc/manual-src/pt/conf.py
- deps/Makefile])
+ doc/manual-src/pt/conf.py])
AC_OUTPUT
AC_MSG_NOTICE([summary of build options:

View file

@ -0,0 +1,50 @@
https://sources.debian.org/src/golang-gopkg-yaml.v3/3.0.1-3/debian/patches/0001-Fix-0b-on-32-bit-systems.patch/
From: Shengjing Zhu <zhsj@debian.org>
Date: Fri, 16 Apr 2021 00:40:09 +0800
Subject: Fix -0b on 32-bit systems
Origin: backport, https://github.com/go-yaml/yaml/pull/442
---
decode_test.go | 7 ++++---
resolve.go | 2 +-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/decode_test.go b/decode_test.go
index 51f5070..9cac74c 100644
--- a/decode_test.go
+++ b/decode_test.go
@@ -175,9 +175,6 @@ var unmarshalTests = []struct {
}, {
"bin: -0b101010",
map[string]interface{}{"bin": -42},
- }, {
- "bin: -0b1000000000000000000000000000000000000000000000000000000000000000",
- map[string]interface{}{"bin": -9223372036854775808},
}, {
"decimal: +685_230",
map[string]int{"decimal": 685230},
@@ -357,6 +354,10 @@ var unmarshalTests = []struct {
"int64_min: -9223372036854775808",
map[string]int64{"int64_min": math.MinInt64},
},
+ {
+ "int64_min_base2: -0b1000000000000000000000000000000000000000000000000000000000000000",
+ map[string]int64{"int64_min_base2": math.MinInt64},
+ },
{
"int64_neg_base2: -0b111111111111111111111111111111111111111111111111111111111111111",
map[string]int64{"int64_neg_base2": -math.MaxInt64},
diff --git a/resolve.go b/resolve.go
index 64ae888..1b7d8c3 100644
--- a/resolve.go
+++ b/resolve.go
@@ -223,7 +223,7 @@ func resolve(tag string, in string) (rtag string, out interface{}) {
} else if strings.HasPrefix(plain, "-0b") {
intv, err := strconv.ParseInt("-"+plain[3:], 2, 64)
if err == nil {
- if true || intv == int64(int(intv)) {
+ if intv == int64(int(intv)) {
return intTag, int(intv)
} else {
return intTag, intv

View file

@ -1,71 +0,0 @@
This patch fixes the compilation with hdf5 version >= 1.10. Adapted from
https://aur.archlinux.org/cgit/aur.git/plain/hdf5_18_api.patch?h=scilab-git.
diff -ur a/scilab/modules/hdf5/includes/HDF5Objects.h b/scilab/modules/hdf5/includes/HDF5Objects.h
--- a/scilab/modules/hdf5/includes/HDF5Objects.h
+++ b/scilab/modules/hdf5/includes/HDF5Objects.h
@@ -16,14 +16,12 @@
#ifndef __HDF5OBJECTS_H__
#define __HDF5OBJECTS_H__
-#define H5_NO_DEPRECATED_SYMBOLS
#undef H5_USE_16_API
+#define H5_USE_18_API
-#define H5Eset_auto_vers 2
#include <hdf5.h>
#include <hdf5_hl.h>
-#undef H5_NO_DEPRECATED_SYMBOLS
//#define __HDF5OBJECTS_DEBUG__
//#define __HDF5ERROR_PRINT__
diff -ur a/scilab/modules/hdf5/Makefile.am b/scilab/modules/hdf5/Makefile.am
--- a/scilab/modules/hdf5/Makefile.am
+++ b/scilab/modules/hdf5/Makefile.am
@@ -104,8 +104,7 @@
-DH5Gopen_vers=2 \
-DH5Tget_array_dims_vers=2 \
-DH5Acreate_vers=2 \
- -DH5Rdereference_vers=2 \
- -DNO_DEPRECATED_SYMBOLS
+ -DH5Rdereference_vers=2
libscihdf5_la_CPPFLAGS = \
diff -ur a/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp b/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp
--- a/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp
+++ b/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp
@@ -13,6 +13,8 @@
*
*/
+#define H5_USE_18_API
+
#include <vector>
#include "function.hxx"
#include "string.hxx"
diff -ur a/scilab/modules/hdf5/src/c/h5_readDataFromFile.c b/scilab/modules/hdf5/src/c/h5_readDataFromFile.c
--- a/scilab/modules/hdf5/src/c/h5_readDataFromFile.c
+++ b/scilab/modules/hdf5/src/c/h5_readDataFromFile.c
@@ -13,7 +13,7 @@
*
*/
-#define H5_NO_DEPRECATED_SYMBOLS
+#define H5_USE_18_API
#ifndef _MSC_VER
#include <sys/time.h>
diff -ur a/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c b/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c
--- a/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c
+++ b/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c
@@ -13,7 +13,7 @@
*
*/
-#define H5_NO_DEPRECATED_SYMBOLS
+#define H5_USE_18_API
#ifndef _MSC_VER
#include <sys/time.h>

View file

@ -1,108 +1,62 @@
From 779f980451d20079b34812f7006f2d7230738ad0 Mon Sep 17 00:00:00 2001
From: csepp <raingloom@riseup.net>
Date: Wed, 3 Nov 2021 21:14:54 +0100
From 5aeabc1a8a8c5ecea3f5d0b7bcfa0aa0767ac92d Mon Sep 17 00:00:00 2001
Message-ID: <5aeabc1a8a8c5ecea3f5d0b7bcfa0aa0767ac92d.1699726745.git.avityazev@posteo.org>
From: Aleksandr Vityazev <avityazev@posteo.org>
Date: Sat, 11 Nov 2023 19:50:46 +0300
Subject: [PATCH] add extra config file option to yggdrasil command
This is useful in Guix and Nix, because one config file can come
from the world-readable store and another can be placed directly
into /etc with much stricter permissions.
---
cmd/yggdrasil/main.go | 29 ++++++++++++++++++++++-------
1 file changed, 22 insertions(+), 7 deletions(-)
cmd/yggdrasil/main.go | 12 ++++++++++++
src/config/config.go | 2 +-
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/cmd/yggdrasil/main.go b/cmd/yggdrasil/main.go
index 58b8230..b9df98a 100644
index a225755..3f53dda 100644
--- a/cmd/yggdrasil/main.go
+++ b/cmd/yggdrasil/main.go
@@ -43,11 +43,12 @@ type node struct {
admin *admin.AdminSocket
}
-func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf bool) *config.NodeConfig {
+func readConfig(log *log.Logger, useconf bool, useconffile string, extraconffile string, normaliseconf bool) *config.NodeConfig {
// Use a configuration file. If -useconf, the configuration will be read
// from stdin. If -useconffile, the configuration will be read from the
// filesystem.
var conf []byte
+ var extraconf []byte
var err error
if useconffile != "" {
// Read the file from the filesystem
@@ -59,6 +60,21 @@ func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf
if err != nil {
panic(err)
}
+ if extraconffile != "" {
+ extraconf, err = os.ReadFile(extraconffile);
+ }
+ if err != nil {
+ panic(err)
+ }
+ // Generate a new configuration - this gives us a set of sane defaults -
+ // then parse the configuration we loaded above on top of it. The effect
+ // of this is that any configuration item that is missing from the provided
+ // configuration will use a sane default.
+ cfg := defaults.GenerateConfig()
+ var confs [2][]byte
+ confs[0]=conf
+ confs[1]=extraconf
+ for _, conf := range confs { if len(conf)>0 {
// If there's a byte order mark - which Windows 10 is now incredibly fond of
// throwing everywhere when it's converting things into UTF-16 for the hell
// of it - remove it and decode back down into UTF-8. This is necessary
@@ -72,11 +88,6 @@ func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf
panic(err)
}
}
- // Generate a new configuration - this gives us a set of sane defaults -
- // then parse the configuration we loaded above on top of it. The effect
- // of this is that any configuration item that is missing from the provided
- // configuration will use a sane default.
- cfg := defaults.GenerateConfig()
var dat map[string]interface{}
if err := hjson.Unmarshal(conf, &dat); err != nil {
panic(err)
@@ -136,6 +147,7 @@ func readConfig(log *log.Logger, useconf bool, useconffile string, normaliseconf
if err = mapstructure.Decode(dat, &cfg); err != nil {
panic(err)
}
+ }}
return cfg
}
@@ -192,6 +204,7 @@ type yggArgs struct {
getaddr bool
getsnet bool
useconffile string
+ extraconffile string
logto string
loglevel string
}
@@ -200,6 +213,7 @@ func getArgs() yggArgs {
@@ -42,6 +42,7 @@ func main() {
genconf := flag.Bool("genconf", false, "print a new config to stdout")
useconf := flag.Bool("useconf", false, "read HJSON/JSON config from stdin")
useconffile := flag.String("useconffile", "", "read HJSON/JSON config from specified file path")
+ extraconffile := flag.String("extraconffile", "", "extra (usually private) HJSON/JSON config from specified file path")
normaliseconf := flag.Bool("normaliseconf", false, "use in combination with either -useconf or -useconffile, outputs your configuration normalised")
exportkey := flag.Bool("exportkey", false, "use in combination with either -useconf or -useconffile, outputs your private key in PEM format")
confjson := flag.Bool("json", false, "print configuration from -genconf or -normaliseconf as JSON instead of HJSON")
autoconf := flag.Bool("autoconf", false, "automatic mode (dynamic IP, peer with IPv6 neighbors)")
@@ -213,6 +227,7 @@ func getArgs() yggArgs {
genconf: *genconf,
useconf: *useconf,
useconffile: *useconffile,
+ extraconffile: *extraconffile,
normaliseconf: *normaliseconf,
confjson: *confjson,
autoconf: *autoconf,
@@ -265,7 +280,7 @@ func run(args yggArgs, ctx context.Context, done chan struct{}) {
cfg = defaults.GenerateConfig()
case args.useconffile != "" || args.useconf:
// Read the configuration from either stdin or from the filesystem
- cfg = readConfig(logger, args.useconf, args.useconffile, args.normaliseconf)
+ cfg = readConfig(logger, args.useconf, args.useconffile, args.extraconffile, args.normaliseconf)
// If the -normaliseconf option was specified then remarshal the above
// configuration and print it back to stdout. This lets the user update
// their configuration file with newly mapped names (like above) or to
--
2.33.1
@@ -137,6 +138,17 @@ func main() {
return
}
+ if *extraconffile !="" {
+ f, err := os.Open(*extraconffile)
+ if err != nil {
+ panic(err)
+ }
+ if _, err := cfg.ReadFrom(f); err != nil {
+ panic(err)
+ }
+ _ = f.Close()
+ }
+
privateKey := ed25519.PrivateKey(cfg.PrivateKey)
publicKey := privateKey.Public().(ed25519.PublicKey)
diff --git a/src/config/config.go b/src/config/config.go
index e899a35..76b9ec8 100644
--- a/src/config/config.go
+++ b/src/config/config.go
@@ -112,7 +112,7 @@ func (cfg *NodeConfig) ReadFrom(r io.Reader) (int64, error) {
// then parse the configuration we loaded above on top of it. The effect
// of this is that any configuration item that is missing from the provided
// configuration will use a sane default.
- *cfg = *GenerateConfig()
+ // *cfg = *GenerateConfig()
if err := cfg.UnmarshalHJSON(conf); err != nil {
return n, err
}
base-commit: b759683b76985665b5218346abab35f08d9f4d38
--
2.41.0

View file

@ -221,6 +221,28 @@ satisfiability checking (SAT).")
(description "Clingo computes answer sets for a given logic program.")
(license license:expat)))
(define-public clingo-dl
(package
(name "clingo-dl")
(version "1.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/potassco/clingo-dl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0dncwj63vdm6958vb7355d5j9mdr7hm037j4z82yz6l77jg3sipw"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f ; no tests
#:configure-flags #~`("-DPYCLINGODL_ENABLE=off")))
(inputs (list clingo))
(home-page "https://github.com/potassco/clingo-dl")
(synopsis "Solver for answer set programs modulo difference constraints")
(description "Clingo-DL is an extension to Clingo that models constraints
over difference logic.")
(license license:expat)))
(define-public emacs-pasp-mode
(let ((commit "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92")
(revision "1"))

View file

@ -8,6 +8,7 @@
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -156,8 +157,11 @@ data in motion, or as a file format for data at rest.")
(install-file file slib)
(delete-file file))
(find-files lib "\\.a$"))))))))
(native-inputs (list googletest))
(inputs (list zlib))
(native-inputs (append (if (%current-target-system)
(list this-package)
'())
(list googletest)))
(inputs (list zlib googletest))
(home-page "https://github.com/protocolbuffers/protobuf")
(synopsis "Data encoding for remote procedure calls (RPCs)")
(description

View file

@ -32496,13 +32496,13 @@ Psycopg 2 is both Unicode and Python 3 friendly.")
(define-public python-pyfuse3
(package
(name "python-pyfuse3")
(version "3.2.1")
(version "3.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyfuse3" version))
(sha256
(base32 "0cvybynv9igssfa4l13q09gb6m7afmwk34wsbq8jk14sqpd4dl92"))))
(base32 "1gbkwmk7gpyy70cqj9226qvwrx13xlwxfz86l86n5ybr4i0zwc9b"))))
(build-system python-build-system)
(native-inputs (list pkg-config))
(inputs (list fuse))

View file

@ -507,6 +507,38 @@ and IPV6 and the protocols layered above them, such as TCP and UDP.")
license:gpl2+
license:public-domain))))
(define-public ppp-2.4.9
(package
(inherit ppp)
(name "ppp")
(version "2.4.9")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ppp-project/ppp")
(commit (string-append "ppp-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1bhhksdclsnkw54a517ndrw55q5zljjbh9pcqz1z4a2z2flxpsgk"))))
(arguments
(list #:tests? #f ;; No "check" target
#:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'patch-Makefile
(lambda* (#:key inputs #:allow-other-keys)
(let ((openssl (assoc-ref inputs "openssl"))
(libpcap (assoc-ref inputs "libpcap")))
(substitute* "pppd/Makefile.linux"
(("/usr/include/openssl")
(string-append openssl "/include"))
(("-DPPP_FILTER")
(string-append "-DPPP_FILTER -I" libpcap "/include")))
(substitute* "pppd/pppcrypt.h"
(("des\\.h") "openssl/des.h")))
#t)))))))
(define-public wsdd
(package
(name "wsdd")

View file

@ -156,32 +156,27 @@ less to gain, as only the helper process is running with privileges (e.g.,
(package
(name "tilda")
(version "1.5.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lanoxx/tilda")
(commit (string-append "tilda-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0q2i9ny8sh7zjzgvkx8vcvk593wcvchjc4xq4nrlqdd377r7cg5q"))))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lanoxx/tilda")
(commit (string-append "tilda-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0q2i9ny8sh7zjzgvkx8vcvk593wcvchjc4xq4nrlqdd377r7cg5q"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'make-po-writable
(lambda _
(for-each make-file-writable (find-files "po" "."))
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(inputs
(list libconfuse vte))
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'make-po-writable
(lambda _
(for-each make-file-writable
(find-files "po" ".")) #t)))))
(native-inputs (list autoconf automake gettext-minimal pkg-config))
(inputs (list libconfuse vte))
(synopsis "GTK+-based drop-down terminal")
(description "Tilda is a terminal emulator similar to normal terminals like
(description
"Tilda is a terminal emulator similar to normal terminals like
gnome-terminal (GNOME) or Konsole (KDE), with the difference that it drops down
from the edge of a screen when a certain configurable hotkey is pressed. This
is similar to the built-in consoles in some applications. Tilda is highly
@ -189,6 +184,29 @@ configurable through a graphical wizard.")
(home-page "https://github.com/lanoxx/tilda")
(license license:gpl2+)))
(define-public tilda-dbus
(package
(inherit tilda)
(name "tilda")
(version "1.6-alpha")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lanoxx/tilda")
(commit "51a980a55ad6d750daa21d43a66d44577dad277b")))
(file-name (git-file-name name version))
(sha256
(base32 "1pdarmlxkap9v689s88b89l5hi4vspsrrysh7pbm9rhdjmzk5m2c"))))
(synopsis "GTK+-based drop-down terminal with experimental D-Bus support")
(description
"Tilda is a terminal emulator similar to normal terminals like
gnome-terminal (GNOME) or Konsole (KDE), with the difference that it drops down
from the edge of a screen when a certain configurable hotkey is pressed. This
is similar to the built-in consoles in some applications. Tilda is highly
configurable through a graphical wizard. This version enables D-Bus support
which is necessary for using Tilda on Wayland.")))
(define-public termite
(package
(name "termite")

View file

@ -27,6 +27,7 @@
;;; Copyright © 2022 Gabriel Wicki <gabriel@erlikon.ch>
;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1129,13 +1130,13 @@ documents into plain text.")
"0im3kzvhxkjlx57w6h13mc9584c74ma1dyymgvpq2y61av3gc35v"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no make check
#:make-flags (list "CC=gcc"
(string-append "DESTDIR=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
;; no configure script
(delete 'configure))))
(list #:tests? #f ; no make check
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
(string-append "DESTDIR=" #$output))
#:phases
#~(modify-phases %standard-phases
;; no configure script
(delete 'configure))))
(inputs
(list zlib))
(home-page "https://github.com/dstosberg/odt2txt/")
@ -1289,13 +1290,14 @@ Mainland China, Taiwan, and Hong-Kong.")
"0anw0knr1iy4p9w3d3b3pbwzh1c43p1i2q4c28kw9zviw8kx2rly"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; test for perl module
#:make-flags (list "CC=gcc" "CFLAGS=-O2 -Wall -pedantic"
(string-append "prefix=" %output)
"MKDIR=mkdir -p")
#:phases
(modify-phases %standard-phases
(delete 'configure)))) ; No ./configure script
(list #:tests? #f ; test for perl module
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
"CFLAGS=-O2 -Wall -pedantic"
(string-append "prefix=" #$output)
"MKDIR=mkdir -p")
#:phases
#~(modify-phases %standard-phases
(delete 'configure)))) ; No ./configure script
(home-page "https://ja.osdn.net/projects/nkf/")
(synopsis "Network Kanji Filter")
(description "Nkf is yet another kanji code converter among networks,

View file

@ -5,6 +5,7 @@
;;; Copyright © 2019, 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -70,6 +71,7 @@
(search-input-file inputs
(string-append "bin/" cmd)))))))))
(inputs (list bash-minimal coreutils sed
diffutils
fmt gmp))
(native-inputs (list pkg-config))
(home-page "https://gitlab.com/lilyp/daikichi")

View file

@ -66,6 +66,7 @@
;;; Copyright © 2023 Ott Joon <oj@vern.cc>
;;; Copyright © 2023 Dominik Delgado Steuter <dds@disroot.org>
;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2683,7 +2684,7 @@ YouTube.com and many more sites.")
(define-public yt-dlp
(package/inherit youtube-dl
(name "yt-dlp")
(version "2023.09.24")
(version "2023.10.13")
(source
(origin
(method git-fetch)
@ -2692,7 +2693,7 @@ YouTube.com and many more sites.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "15ngsg3cadf2bv700fa1k5az5xpsm0wqr0cixbz8fcbhwdflfq6f"))))
(base32 "1cy8cpqwq6yfsbrnln3qqp9lsjckn20m6w7b890ha7jahyir5m1n"))))
(arguments
(substitute-keyword-arguments (package-arguments youtube-dl)
((#:tests? _) (not (%current-target-system)))
@ -3618,18 +3619,15 @@ and JACK.")
(define-public obs-looking-glass
(package
(name "obs-looking-glass")
(version "B5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gnif/LookingGlass")
(commit version)
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32
"09mn544x5hg1z31l92ksk7fi7yj9r8xdk0dcl9fk56ivcr452ylm"))))
(version "B6")
(source (origin
(method url-fetch)
(uri (string-append "https://looking-glass.io/artifact/" version
"/source"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"15d7wwbzfw28yqbz451b6n33ixy50vv8acyzi8gig1mq5a8gzdib"))))
(build-system cmake-build-system)
(arguments
(list

View file

@ -14,6 +14,8 @@
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2022, 2023 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
;;; Copyright © 2023 Charles Jackson <charles.b.jackson@protonmail.com>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2023 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -38,6 +40,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
@ -48,7 +51,9 @@
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages code)
#:use-module (gnu packages coq)
#:use-module (gnu packages enlightenment)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gawk)
@ -448,6 +453,65 @@ trouble using them, because you do not have to remember each snippet name.")
(home-page "https://github.com/Shougo/context_filetype.vim")
(license license:expat)))) ; ??? check again
(define-public vim-coqtail
(let ((commit "dfe3939c9caff69d9af76bfd74f1a40fb7dc5609")
(revision "0"))
(package
(name "vim-coqtail")
(version (git-version "1.7.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/whonore/Coqtail")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0av2m075n6z05ah9ndrgnp9s16yrz6n2lj0igd9fh3c5k41x5xks"))))
(build-system vim-build-system)
(arguments
'(#:plugin-name "coqtail"
#:phases
(modify-phases %standard-phases
(add-before 'install 'check
(lambda* (#:key inputs native-inputs tests? #:allow-other-keys)
(when tests?
(display "Running Python unit tests.\n")
(setenv "PYTHONPATH" (string-append (getcwd) "/python"))
(invoke "pytest" "-q" "tests/unit")
(display "Running Python Coq tests.\n")
(invoke "pytest" "-q" "tests/coq")
(display "Running Vim unit tests.\n")
(let* ((vim-vader (assoc-ref (or native-inputs inputs)
"vim-vader"))
(vader-path (string-append
vim-vader
"/share/vim/vimfiles/pack/guix/start/vader")))
(with-directory-excursion "tests/vim"
(setenv "VADER_PATH" vader-path)
(invoke (string-append
(assoc-ref (or native-inputs inputs) "vim-full")
"/bin/vim")
"-E" "-Nu" "vimrc"
"-c" "Vader! *.vader")))
;; Remove __pycache__ files generated during testing so that
;; they don't get installed.
(delete-file-recursively "python/__pycache__")))))))
(native-inputs
`(("coq-for-coqtail" ,coq-for-coqtail)
("python-pytest" ,python-pytest)
("vim-full" ,vim-full) ; Plugin needs Python 3.
("vim-vader" ,vim-vader)))
(propagated-inputs (list coq coq-ide-server))
(synopsis "Interactive Coq proofs in Vim")
(description "Coqtail enables interactive Coq proof development in Vim
similar to CoqIDE or ProofGeneral.")
(home-page "https://github.com/whonore/Coqtail")
(license license:expat))))
(define-public vim-fugitive
(package
(name "vim-fugitive")
@ -1423,3 +1487,92 @@ files for reading or editing, and perform basic file system operations.")
operations and styles which are invoked via key mappings and a menu. These
operations are available for most filetypes.")
(license license:cc0)))
(define-public vim-vader
(let ((revision "0")
(commit "6fff477431ac3191c69a3a5e5f187925466e275a"))
(package
(name "vim-vader")
(version (git-version "0.4.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/junegunn/vader.vim")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"179dbbqdyl6qf6jdb6kdazn3idz17m1h2n88rlggb1wnly74vjin"))))
(build-system vim-build-system)
(arguments
'(#:plugin-name "vader"
#:phases
(modify-phases %standard-phases
(add-before 'install 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; FIXME: suite1.vader fails with an unknown reason,
;; lang-if.vader requires Python and Ruby.
(substitute* "test/vader.vader"
(("Include.*feature/suite1.vader.*$") "")
(("Include.*feature/lang-if.vader.*$") ""))
(display "Running Vim tests\n")
(with-directory-excursion "test"
(setenv "VADER_TEST_VIM" "vim -E")
(invoke "bash" "./run-tests.sh"))))))))
(native-inputs (list vim))
(home-page "https://github.com/junegunn/vader.vim")
(synopsis "Test framework for Vimscript")
(description "Vader is a test framework for Vimscript designed to
simplify the process of writing and running unit tests. Vader.vim provides an
intuitive test syntax for defining test cases and expectations, it also can
be integrated with @acronym{CI, Continuous Integration} pipelines to
automate testing and is compatible with Vim and Neovim.")
(license license:expat)))) ;; Specified in README.md.
(define-public vim-jedi-vim
(package
(name "vim-jedi-vim")
(version "0.11.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/davidhalter/jedi-vim")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03fj7f5cpchrdmz9szal6fdg05wdwb0j6260nnyp37nmpcpn13yc"))))
(build-system vim-build-system)
(arguments (list #:plugin-name "jedi-vim"))
(propagated-inputs (list python-jedi))
(home-page "https://github.com/davidhalter/jedi-vim")
(synopsis "Jedi autocompletion library for Vim")
(description
"@code{jedi-vim} is a VIM binding to the autocompletion library Jedi.")
(license license:expat)))
(define-public vim-srcery-vim
(package
(name "vim-srcery-vim")
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/srcery-colors/srcery-vim")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0nwk81y9j5ljjm3k19kf1zmscdxiis4mwan026wv7cqp7f9qhxlr"))))
(build-system vim-build-system)
(arguments
(list #:plugin-name "srcery"
#:mode "opt"))
(home-page "https://srcery.sh")
(synopsis "Dark colorscheme for gvim and vim")
(description
"Srcery is a color scheme with clearly defined contrasting colors
and a slightly earthy tone.")
(license license:expat)))

View file

@ -825,7 +825,9 @@ others.")
(native-inputs
(list autoconf automake pkg-config))
(inputs
(list openssl ppp))
;; ppp < 2.5.0 is required due to
;; <https://github.com/adrienverge/openfortivpn/pull/1148>.
(list openssl ppp-2.4.9))
(home-page "https://github.com/adrienverge/openfortivpn")
(synopsis "Client for PPP+SSL VPN tunnel services")
(description "Openfortivpn is a client for PPP+SSL VPN tunnel services. It

View file

@ -4956,8 +4956,8 @@ Cloud.")
(license license:expat)))
(define-public guix-data-service
(let ((commit "37a07c2d6e8285877ad0440a7e4ae286b7b65177")
(revision "43"))
(let ((commit "e13febc81706fbfb7f073bc4e9ce73fbc80d5180")
(revision "44"))
(package
(name "guix-data-service")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@ -4969,7 +4969,7 @@ Cloud.")
(file-name (git-file-name name version))
(sha256
(base32
"0h83j10bq7dyda2idbqh5y6dcvmbl3xgc147yq4pk6bkh10y29y6"))))
"0pk86b44zg2yn73sxlcd9pqbz8xwprwzaib2npnq80y3yzc6qc22"))))
(build-system gnu-build-system)
(arguments
(list

View file

@ -1732,7 +1732,7 @@ less if you are working in front of the screen at night.")
(define-public xscreensaver
(package
(name "xscreensaver")
(version "6.04")
(version "6.08")
(source
(origin
(method url-fetch)
@ -1740,7 +1740,7 @@ less if you are working in front of the screen at night.")
(string-append "https://www.jwz.org/xscreensaver/xscreensaver-"
version ".tar.gz"))
(sha256
(base32 "0lmiyvp3qs2gngd53f191jmlizs9l04i2gnrqbn96mqckyr18w3q"))
(base32 "18vnbs2ns42cgnnsvwn0zh98wcfzxf2k9mib5x5zkv6f4njjpxaw"))
(modules '((guix build utils)))
(snippet
;; 'configure.ac' checks for $ac_unrecognized_opts and exits if it's
@ -1787,14 +1787,13 @@ less if you are working in front of the screen at night.")
libjpeg-turbo
linux-pam
pango
gdk-pixbuf-xlib
gtk+
perl
cairo
bc
libxrandr
glu
glib))
`(,glib "bin")))
(home-page "https://www.jwz.org/xscreensaver/")
(synopsis "Classic screen saver suite supporting screen locking")
(description
@ -3225,6 +3224,7 @@ initialize programs.")
(build-system gnu-build-system)
(native-inputs
(list autoconf automake
dbus-glib ;; for dbus-binding-tool
`(,glib "bin") pkg-config))
(inputs
(list dbus-glib glib libx11))

View file

@ -6090,7 +6090,7 @@ Conventions Manual) and some of the @dfn{EWMH}
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config autoconf automake))
(list util-macros pkg-config autoconf automake))
(inputs
(list libx11
libxext

View file

@ -20,6 +20,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages zig)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix git-download)
@ -29,10 +30,10 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages llvm))
(define-public zig-0.10
(define-public zig-0.9
(package
(name "zig")
(version "0.10.1")
(version "0.9.1")
(source
(origin
(method git-fetch)
@ -41,57 +42,66 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1sh5xjsksl52i4cfv1qj36sz5h0ln7cq4pdhgs3960mk8a90im7b"))
(patches (search-patches "zig-do-not-link-against-librt.patch"))))
(base32 "0nfvgg23sw50ksy0z0ml6lkdsvmd0278mq29m23dbb2jsirkhry7"))
(patches (search-patches "zig-0.9-riscv-support.patch"
"zig-use-system-paths.patch"
"zig-do-not-link-against-librt.patch"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list #$@(if (%current-target-system)
(list (string-append "-DZIG_TARGET_TRIPLE="
(%current-target-system)))
'()))
#:out-of-source? #f ; for tests
;; There are too many unclear test failures.
#:tests? (not (or (target-riscv64?)
(%current-target-system)))
#:phases
#~(modify-phases %standard-phases
#$@(if (target-riscv64?)
;; It is unclear why all these tests fail to build.
`((add-after 'unpack 'adjust-tests
(lambda _
(substitute* "build.zig"
((".*addRuntimeSafetyTests.*") "")
((".*addRunTranslatedCTests.*") ""))
(substitute* "test/standalone.zig"
;; These tests fail to build on riscv64-linux.
;; They both contain 'exe.linkSystemLibrary("c");'
((".*shared_library.*") "")
((".*mix_o_files.*") "")
;; ld.lld: error: undefined symbol: __tls_get_addr
;; Is this symbol x86 only in glibc?
((".*link_static_lib_as_system_lib.*") "")))))
'())
(add-after 'configure 'set-cache-dir
(lambda _
;; Set cache dir, otherwise Zig looks for `$HOME/.cache'.
(setenv "ZIG_GLOBAL_CACHE_DIR"
(string-append (getcwd) "/zig-cache"))))
(delete 'check)
(add-after 'install 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke (string-append #$output "/bin/zig")
;; Testing the standard library takes >7.5GB RAM, and
;; will fail if it is OOM-killed. The 'test-toolchain'
;; target skips standard library and doc tests.
"build" "test-toolchain"
;; Stage 2 is experimental, not what we run with `zig',
"-Dskip-stage2-tests"
;; Non-native tests try to link and execute non-native
;; binaries.
"-Dskip-non-native")))))))
(inputs
(list clang-15 ; Clang propagates llvm.
lld-15
zlib
(list zstd "lib")))
(list clang-13 ;Clang propagates llvm.
lld-13))
;; Zig compiles fine with GCC, but also needs native LLVM libraries.
(native-inputs
(list llvm-15))
(arguments
`(#:configure-flags
(list ,@(if (%current-target-system)
'(string-append "-DZIG_TARGET_TRIPLE="
(%current-target-system))
'())
(string-append "-DZIG_TARGET_MCPU=baseline")
"-DZIG_SHARED_LLVM=ON"
(string-append "-DZIG_LIB_DIR=" (assoc-ref %outputs "out")
"/lib/zig"))
#:validate-runpath? #f ; TODO: zig binary can't find ld-linux.
#:out-of-source? #f ; for tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'set-env-variables
(lambda* (#:key inputs native-inputs #:allow-other-keys)
;; Set CC, since the stage 2 zig relies on it to find the libc
;; installation, and otherwise silently links against its own.
(setenv "CC" ,(cc-for-target))
;; Set cache dir, otherwise Zig looks for `$HOME/.cache'.
(setenv "ZIG_GLOBAL_CACHE_DIR"
(string-append (getcwd) "/zig-cache"))))
(add-after 'patch-source-shebangs 'patch-more-shebangs
(lambda* (#:key inputs #:allow-other-keys)
;; Zig uses information about /usr/bin/env to determine the
;; version of glibc and other data.
(substitute* "lib/std/zig/system/NativeTargetInfo.zig"
(("/usr/bin/env") (search-input-file inputs "/bin/env")))))
(delete 'check)
(add-after 'install 'check
(lambda* (#:key outputs tests? #:allow-other-keys)
(when tests?
(invoke (string-append (assoc-ref outputs "out") "/bin/zig")
"build" "test"
;; We're not testing the compiler bootstrap chain.
"-Dskip-stage1"
"-Dskip-stage2-tests"
;; Non-native tests try to link and execute non-native
;; binaries.
"-Dskip-non-native")))))))
(list llvm-13))
(native-search-paths
(list
(search-path-specification
@ -122,11 +132,11 @@ toolchain. Among other features it provides
(properties `((max-silent-time . 9600)))
(license license:expat)))
(define-public zig-0.9
(define-public zig-0.10
(package
(inherit zig-0.10)
(inherit zig-0.9)
(name "zig")
(version "0.9.1")
(version "0.10.1")
(source
(origin
(method git-fetch)
@ -135,63 +145,52 @@ toolchain. Among other features it provides
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0nfvgg23sw50ksy0z0ml6lkdsvmd0278mq29m23dbb2jsirkhry7"))
(patches (search-patches "zig-0.9-riscv-support.patch"
"zig-use-system-paths.patch"
"zig-do-not-link-against-librt.patch"))))
(inputs
(list clang-13 ; Clang propagates llvm.
lld-13))
;; Zig compiles fine with GCC, but also needs native LLVM libraries.
(native-inputs
(list llvm-13))
(base32 "1sh5xjsksl52i4cfv1qj36sz5h0ln7cq4pdhgs3960mk8a90im7b"))
(patches (search-patches "zig-do-not-link-against-librt.patch"))))
(arguments
`(#:configure-flags
(list ,@(if (%current-target-system)
(string-append "-DZIG_TARGET_TRIPLE="
(%current-target-system))
'()))
#:out-of-source? #f ; for tests
;; There are too many unclear test failures.
#:tests? ,(not (or (target-riscv64?)
(%current-target-system)))
#:phases
(modify-phases %standard-phases
(add-after 'configure 'set-cache-dir
(lambda _
;; Set cache dir, otherwise Zig looks for `$HOME/.cache'.
(setenv "ZIG_GLOBAL_CACHE_DIR"
(string-append (getcwd) "/zig-cache"))))
,@(if (target-riscv64?)
;; It is unclear why all these tests fail to build.
`((add-after 'unpack 'adjust-tests
(lambda _
(substitute* "build.zig"
((".*addRuntimeSafetyTests.*") "")
((".*addRunTranslatedCTests.*") ""))
(substitute* "test/standalone.zig"
;; These tests fail to build on riscv64-linux.
;; They both contain 'exe.linkSystemLibrary("c");'
((".*shared_library.*") "")
((".*mix_o_files.*") "")
;; ld.lld: error: undefined symbol: __tls_get_addr
;; Is this symbol x86 only in glibc?
((".*link_static_lib_as_system_lib.*") "")))))
'())
(delete 'check)
(add-after 'install 'check
(lambda* (#:key outputs tests? #:allow-other-keys)
(when tests?
(invoke (string-append (assoc-ref outputs "out") "/bin/zig")
;; Testing the standard library takes >7.5GB RAM, and
;; will fail if it is OOM-killed. The 'test-toolchain'
;; target skips standard library and doc tests.
"build" "test-toolchain"
;; Stage 2 is experimental, not what we run with `zig',
;; and stage 2 tests require a lot of RAM.
"-Dskip-stage2-tests"
;; Non-native tests try to link and execute non-native
;; binaries.
"-Dskip-non-native")))))))))
(substitute-keyword-arguments (package-arguments zig-0.9)
((#:configure-flags flags ''())
#~(cons* "-DZIG_TARGET_MCPU=baseline"
"-DZIG_SHARED_LLVM=ON"
(string-append "-DZIG_LIB_DIR=" #$output "/lib/zig")
#$flags))
;; TODO: zig binary can't find ld-linux.
((#:validate-runpath? _ #t) #f)
((#:tests? _ #t) #t)
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
#$@(if (target-riscv64?)
`((delete 'adjust-tests))
'())
(add-after 'unpack 'set-CC
(lambda _
;; Set CC, since the stage 2 zig relies on it to find the libc
;; installation, and otherwise silently links against its own.
(setenv "CC" #$(cc-for-target))))
(add-after 'patch-source-shebangs 'patch-more-shebangs
(lambda* (#:key inputs #:allow-other-keys)
;; Zig uses information about /usr/bin/env to determine the
;; version of glibc and other data.
(substitute* "lib/std/zig/system/NativeTargetInfo.zig"
(("/usr/bin/env") (search-input-file inputs "/bin/env")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke (string-append #$output "/bin/zig")
"build" "test"
;; We're not testing the compiler bootstrap chain.
"-Dskip-stage1"
"-Dskip-stage2-tests"
;; Non-native tests try to link and execute non-native
;; binaries.
"-Dskip-non-native"))))))))
(inputs
(modify-inputs (package-inputs zig-0.9)
(prepend zlib `(,zstd "lib"))
(replace "clang" clang-15)
(replace "lld" lld-15)))
(native-inputs
(modify-inputs (package-native-inputs zig-0.9)
(replace "llvm" llvm-15)))))
(define-public zig zig-0.10)

View file

@ -5,6 +5,7 @@
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -29,15 +30,36 @@
#:use-module (gnu services shepherd)
#:use-module (gnu system setuid)
#:use-module (gnu system shadow)
#:use-module (gnu packages admin) ;shadow
#:use-module (gnu packages docker)
#:use-module (gnu packages linux) ;singularity
#:use-module (guix records)
#:use-module (guix diagnostics)
#:use-module (guix gexp)
#:use-module (guix i18n)
#:use-module (guix packages)
#:use-module (srfi srfi-1)
#:use-module (ice-9 format)
#:use-module (ice-9 match)
#:export (docker-configuration
docker-service-type
singularity-service-type))
singularity-service-type
oci-container-configuration
oci-container-configuration?
oci-container-configuration-fields
oci-container-configuration-user
oci-container-configuration-group
oci-container-configuration-command
oci-container-configuration-entrypoint
oci-container-configuration-environment
oci-container-configuration-image
oci-container-configuration-provision
oci-container-configuration-network
oci-container-configuration-ports
oci-container-configuration-volumes
oci-container-service-type
oci-container-shepherd-service))
(define-configuration docker-configuration
(docker
@ -216,3 +238,239 @@ bundles in Docker containers.")
(service-extension activation-service-type
(const %singularity-activation))))
(default-value singularity)))
;;;
;;; OCI container.
;;;
(define (oci-sanitize-pair pair delimiter)
(define (valid? member)
(or (string? member)
(gexp? member)
(file-like? member)))
(match pair
(((? valid? key) . (? valid? value))
#~(string-append #$key #$delimiter #$value))
(_
(raise
(formatted-message
(G_ "pair members must contain only strings, gexps or file-like objects
but ~a was found")
pair)))))
(define (oci-sanitize-mixed-list name value delimiter)
(map
(lambda (el)
(cond ((string? el) el)
((pair? el) (oci-sanitize-pair el delimiter))
(else
(raise
(formatted-message
(G_ "~a members must be either a string or a pair but ~a was
found!")
name el)))))
value))
(define (oci-sanitize-environment value)
;; Expected spec format:
;; '(("HOME" . "/home/nobody") "JAVA_HOME=/java")
(oci-sanitize-mixed-list "environment" value "="))
(define (oci-sanitize-ports value)
;; Expected spec format:
;; '(("8088" . "80") "2022:22")
(oci-sanitize-mixed-list "ports" value ":"))
(define (oci-sanitize-volumes value)
;; Expected spec format:
;; '(("/mnt/dir" . "/dir") "/run/current-system/profile:/java")
(oci-sanitize-mixed-list "volumes" value ":"))
(define-maybe/no-serialization string)
(define-configuration/no-serialization oci-container-configuration
(user
(string "oci-container")
"The user under whose authority docker commands will be run.")
(group
(string "docker")
"The group under whose authority docker commands will be run.")
(command
(list-of-strings '())
"Overwrite the default command (@code{CMD}) of the image.")
(entrypoint
(maybe-string)
"Overwrite the default entrypoint (@code{ENTRYPOINT}) of the image.")
(environment
(list '())
"Set environment variables. This can be a list of pairs or strings, even
mixed:
@lisp
(list '(\"LANGUAGE\" . \"eo:ca:eu\")
\"JAVA_HOME=/opt/java\")
@end lisp
String are passed directly to the Docker CLI. You can refer to the
@url{https://docs.docker.com/engine/reference/commandline/run/#env,upstream}
documentation for semantics."
(sanitizer oci-sanitize-environment))
(image
(string)
"The image used to build the container. Images are resolved by the Docker
Engine, and follow the usual format
@code{myregistry.local:5000/testing/test-image:tag}.")
(provision
(maybe-string)
"Set the name of the provisioned Shepherd service.")
(network
(maybe-string)
"Set a Docker network for the spawned container.")
(ports
(list '())
"Set the port or port ranges to expose from the spawned container. This can
be a list of pairs or strings, even mixed:
@lisp
(list '(\"8080\" . \"80\")
\"10443:443\")
@end lisp
String are passed directly to the Docker CLI. You can refer to the
@url{https://docs.docker.com/engine/reference/commandline/run/#publish,upstream}
documentation for semantics."
(sanitizer oci-sanitize-ports))
(volumes
(list '())
"Set volume mappings for the spawned container. This can be a
list of pairs or strings, even mixed:
@lisp
(list '(\"/root/data/grafana\" . \"/var/lib/grafana\")
\"/gnu/store:/gnu/store\")
@end lisp
String are passed directly to the Docker CLI. You can refer to the
@url{https://docs.docker.com/engine/reference/commandline/run/#volume,upstream}
documentation for semantics."
(sanitizer oci-sanitize-volumes))
(container-user
(maybe-string)
"Set the current user inside the spawned container. You can refer to the
@url{https://docs.docker.com/engine/reference/run/#user,upstream}
documentation for semantics.")
(workdir
(maybe-string)
"Set the current working for the spawned Shepherd service.
You can refer to the
@url{https://docs.docker.com/engine/reference/run/#workdir,upstream}
documentation for semantics."))
(define oci-container-configuration->options
(lambda (config)
(let ((entrypoint
(oci-container-configuration-entrypoint config))
(network
(oci-container-configuration-network config))
(user
(oci-container-configuration-user config))
(workdir
(oci-container-configuration-workdir config)))
(apply append
(filter (compose not unspecified?)
`(,(if (maybe-value-set? entrypoint)
`("--entrypoint" ,entrypoint)
'())
,(append-map
(lambda (spec)
(list "--env" spec))
(oci-container-configuration-environment config))
,(if (maybe-value-set? network)
`("--network" ,network)
'())
,(if (maybe-value-set? user)
`("--user" ,user)
'())
,(if (maybe-value-set? workdir)
`("--workdir" ,workdir)
'())
,(append-map
(lambda (spec)
(list "-p" spec))
(oci-container-configuration-ports config))
,(append-map
(lambda (spec)
(list "-v" spec))
(oci-container-configuration-volumes config))))))))
(define (oci-container-shepherd-service config)
(define (guess-name name image)
(if (maybe-value-set? name)
name
(string-append "docker-"
(basename (car (string-split image #\:))))))
(let* ((docker-command (file-append docker-cli "/bin/docker"))
(user (oci-container-configuration-user config))
(group (oci-container-configuration-group config))
(command (oci-container-configuration-command config))
(provision (oci-container-configuration-provision config))
(image (oci-container-configuration-image config))
(options (oci-container-configuration->options config))
(name (guess-name provision image)))
(shepherd-service (provision `(,(string->symbol name)))
(requirement '(dockerd user-processes))
(respawn? #f)
(documentation
(string-append
"Docker backed Shepherd service for image: " image))
(start
#~(make-forkexec-constructor
;; docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
(list #$docker-command "run" "--rm"
"--name" #$name
#$@options #$image #$@command)
#:user #$user
#:group #$group))
(stop
#~(lambda _
(invoke #$docker-command "rm" "-f" #$name)))
(actions
(list
(shepherd-action
(name 'pull)
(documentation
(format #f "Pull ~a's image (~a)."
name image))
(procedure
#~(lambda _
(invoke #$docker-command "pull" #$image)))))))))
(define %oci-container-accounts
(list (user-account
(name "oci-container")
(comment "OCI services account")
(group "docker")
(system? #t)
(home-directory "/var/empty")
(shell (file-append shadow "/sbin/nologin")))))
(define (configs->shepherd-services configs)
(map oci-container-shepherd-service configs))
(define oci-container-service-type
(service-type (name 'oci-container)
(extensions (list (service-extension profile-service-type
(lambda _ (list docker-cli)))
(service-extension account-service-type
(const %oci-container-accounts))
(service-extension shepherd-root-service-type
configs->shepherd-services)))
(default-value '())
(extend append)
(compose concatenate)
(description
"This service allows the management of Docker and OCI
containers as Shepherd services.")))

View file

@ -88,7 +88,8 @@
(compile-flags %compile-flags)
(imported-modules %guile-build-system-modules)
(modules '((guix build guile-build-system)
(guix build utils))))
(guix build utils)))
(substitutable? #t))
"Build SOURCE using Guile taken from the native inputs, and with INPUTS."
(define builder
(with-imported-modules imported-modules
@ -114,6 +115,7 @@
#:system system
#:target #f
#:graft? #f
#:substitutable? substitutable?
#:guile-for-build guile)))
(define* (guile-cross-build name
@ -133,7 +135,8 @@
(compile-flags %compile-flags)
(imported-modules %guile-build-system-modules)
(modules '((guix build guile-build-system)
(guix build utils))))
(guix build utils)))
(substitutable? #t))
(define builder
(with-imported-modules imported-modules
#~(begin
@ -173,6 +176,7 @@
#:system system
#:target target
#:graft? #f
#:substitutable? substitutable?
#:guile-for-build guile)))
(define guile-build-system

View file

@ -182,6 +182,7 @@ TRIPLET."
(imported-modules %meson-build-system-modules)
(modules '((guix build meson-build-system)
(guix build utils)))
(substitutable? #t)
allowed-references
disallowed-references)
"Build SOURCE using MESON, and with INPUTS, assuming that SOURCE
@ -266,6 +267,7 @@ has a 'meson.build' file."
(imported-modules %meson-build-system-modules)
(modules '((guix build meson-build-system)
(guix build utils)))
(substitutable? #t)
allowed-references
disallowed-references)
"Cross-build SOURCE for TARGET using MESON, and with INPUTS, assuming that

View file

@ -106,6 +106,13 @@
(install-plan ''())
(phases '(@ (guix build vim-build-system) %standard-phases))
(outputs '("out"))
(out-of-source? #t)
(tests? #t)
(validate-runpath? #t)
(patch-shebangs? #t)
(strip-binaries? #t)
(strip-flags %strip-flags)
(strip-directories %strip-directories)
(search-paths '())
(system (%current-system))
(substitutable? #t)
@ -135,8 +142,14 @@
#:search-paths '#$(sexp->gexp
(map search-path-specification->sexp
search-paths))
#:inputs
%build-inputs)))))
#:inputs %build-inputs
#:out-of-source? #$out-of-source?
#:tests? #$tests?
#:validate-runpath? #$validate-runpath?
#:patch-shebangs? #$patch-shebangs?
#:strip-binaries? #$strip-binaries?
#:strip-flags #$strip-flags
#:strip-directories #$strip-directories)))))
(mlet %store-monad
((guile (package->derivation (or guile (default-guile))

View file

@ -2338,18 +2338,24 @@ always a positive integer."
(terminal-dimension window-size-rows port (const 25)))
(define terminal-string-width
(let ((mbstowcs (syscall->procedure int "mbstowcs" (list '* '* size_t)))
(wcswidth (syscall->procedure int "wcswidth" (list '* size_t))))
(lambda (str)
"Return the width of a string as it would be printed on the terminal.
(let ((mbstowcs (and=> (false-if-exception
(dynamic-func "mbstowcs" (dynamic-link)))
(cute pointer->procedure int <> (list '* '* size_t))))
(wcswidth (and=> (false-if-exception
(dynamic-func "wcswidth" (dynamic-link)))
(cute pointer->procedure int <> (list '* size_t)))))
(if (and mbstowcs wcswidth)
(lambda (str)
"Return the width of a string as it would be printed on the terminal.
This procedure accounts for characters that have a different width than 1, such
as CJK double-width characters."
(let ((wchar (make-bytevector (* (+ (string-length str) 1) 4))))
(mbstowcs (bytevector->pointer wchar)
(string->pointer str)
(string-length str))
(wcswidth (bytevector->pointer wchar)
(string-length str))))))
(let ((wchar (make-bytevector (* (+ (string-length str) 1) 4))))
(mbstowcs (bytevector->pointer wchar)
(string->pointer str)
(string-length str))
(wcswidth (bytevector->pointer wchar)
(string-length str))))
string-length))) ;using a statically-linked Guile
(define openpty
(let ((proc (syscall->procedure int "openpty" '(* * * * *)

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
@ -29,7 +29,7 @@
#:use-module (guix cache)
#:use-module (gcrypt hash)
#:use-module ((guix build utils)
#:select (mkdir-p delete-file-recursively))
#:select (mkdir-p delete-file-recursively invoke/quiet))
#:use-module (guix store)
#:use-module (guix utils)
#:use-module (guix records)
@ -38,8 +38,9 @@
#:use-module (guix gexp)
#:autoload (guix git-download)
(git-reference-url git-reference-commit git-reference-recursive?)
#:autoload (guix config) (%git)
#:use-module (guix sets)
#:use-module ((guix diagnostics) #:select (leave warning))
#:use-module ((guix diagnostics) #:select (leave warning info))
#:use-module (guix progress)
#:autoload (guix swh) (swh-download commit-id?)
#:use-module (rnrs bytevectors)
@ -430,6 +431,35 @@ could not be fetched from Software Heritage~%")
(rename-file directory trashed)
(delete-file-recursively trashed)))
(define (packs-in-git-repository directory)
"Return the number of pack files under DIRECTORY, a Git checkout."
(catch 'system-error
(lambda ()
(let ((directory (opendir (in-vicinity directory ".git/objects/pack"))))
(let loop ((count 0))
(match (readdir directory)
((? eof-object?)
(closedir directory)
count)
(str
(loop (if (string-suffix? ".pack" str)
(+ 1 count)
count)))))))
(const 0)))
(define (maybe-run-git-gc directory)
"Run 'git gc' in DIRECTORY if needed."
;; XXX: As of libgit2 1.3.x (used by Guile-Git), there's no support for GC.
;; Each time a checkout is pulled, a new pack is created, which eventually
;; takes up a lot of space (lots of small, poorly-compressed packs). As a
;; workaround, shell out to 'git gc' when the number of packs in a
;; repository has become "too large", potentially wasting a lot of space.
;; See <https://issues.guix.gnu.org/65720>.
(when (> (packs-in-git-repository directory) 25)
(info (G_ "compressing cached Git repository at '~a'...~%")
directory)
(invoke/quiet %git "-C" directory "gc")))
(define* (update-cached-checkout url
#:key
(ref '())
@ -517,6 +547,9 @@ it unchanged."
seconds seconds
nanoseconds nanoseconds))))
;; Run 'git gc' if needed.
(maybe-run-git-gc cache-directory)
;; When CACHE-DIRECTORY is a sub-directory of the default cache
;; directory, remove expired checkouts that are next to it.
(let ((parent (dirname cache-directory)))

View file

@ -21,8 +21,7 @@
(define-module (guix progress)
#:use-module (guix records)
#:use-module ((guix build syscalls)
#:select (terminal-string-width))
#:autoload (guix build syscalls) (terminal-string-width)
#:use-module (srfi srfi-19)
#:use-module (rnrs io ports)
#:use-module (rnrs bytevectors)

View file

@ -330,6 +330,7 @@ expressions and blanks that were read."
('add-after '(((modify-phases) . 3)))
('add-before '(((modify-phases) . 3)))
('replace '(((modify-phases) . 2))) ;different from 'modify-inputs'
('parameterize 2)
('substitute* 2)
('substitute-keyword-arguments 2)
('call-with-input-file 2)

View file

@ -399,9 +399,16 @@ return #f and #f."
((('nesting? . #t) . rest)
(loop rest system file (append specs '("nested guix"))))
((('load . ('package candidate)) . rest)
;; This is 'guix shell -D -f guix.scm'.
(if (and (not file) (null? specs))
(loop rest system candidate specs)
(values #f #f)))
((('load . ('ad-hoc-package candidate)) . rest)
;; When running 'guix shell -f guix.scm', one typically expects
;; 'guix.scm' to be evaluated every time because it may contain
;; references like (local-file "." #:recursive? #t). Thus, disable
;; caching.
(values #f #f))
((('manifest . candidate) . rest)
(if (and (not file) (null? specs))
(loop rest system candidate specs)

View file

@ -625,6 +625,8 @@ Update package definitions to the latest style.\n"))
opts)))
(unless (eq? format-package-definition style)
(warning (G_ "'--styling' option has no effect in whole-file mode~%")))
(when (null? files)
(warning (G_ "no files specified, nothing to do~%")))
(for-each format-whole-file files))
(let ((packages (filter-map (match-lambda
(('argument . spec)

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021-2022 Maxime Devos <maximedevos@telenet.be>
;;;
;;; This file is part of GNU Guix.
@ -826,38 +826,39 @@
(call-with-output-file (string-append #$output "/two")
(lambda (port)
(display "This is the second one." port))))))
(build-drv #~(begin
(use-modules (guix build store-copy)
(guix build utils)
(srfi srfi-1))
(build-drv
(with-imported-modules '((guix build store-copy)
(guix build syscalls)
(guix progress)
(guix records)
(guix sets)
(guix build utils))
#~(begin
(use-modules (guix build store-copy)
(guix build utils)
(srfi srfi-1))
(define (canonical-file? file)
;; Copied from (guix tests).
(let ((st (lstat file)))
(or (not (string-prefix? (%store-directory) file))
(eq? 'symlink (stat:type st))
(and (= 1 (stat:mtime st))
(zero? (logand #o222 (stat:mode st)))))))
(define (canonical-file? file)
;; Copied from (guix tests).
(let ((st (lstat file)))
(or (not (string-prefix? (%store-directory) file))
(eq? 'symlink (stat:type st))
(and (= 1 (stat:mtime st))
(zero? (logand #o222 (stat:mode st)))))))
(mkdir #$output)
(populate-store '("graph") #$output
#:deduplicate? #f)
(mkdir #$output)
(populate-store '("graph") #$output
#:deduplicate? #f)
;; Check whether 'populate-store' canonicalizes
;; permissions and timestamps.
(unless (every canonical-file? (find-files #$output))
(error "not canonical!" #$output)))))
;; Check whether 'populate-store' canonicalizes
;; permissions and timestamps.
(unless (every canonical-file? (find-files #$output))
(error "not canonical!" #$output))))))
(mlet* %store-monad ((one (gexp->derivation "one" build-one))
(two (gexp->derivation "two" (build-two one)))
(drv (gexp->derivation "store-copy" build-drv
#:references-graphs
`(("graph" ,two))
#:modules
'((guix build store-copy)
(guix progress)
(guix records)
(guix sets)
(guix build utils))))
`(("graph" ,two))))
(ok? (built-derivations (list drv)))
(out -> (derivation->output-path drv)))
(let ((one (derivation->output-path one))

View file

@ -173,6 +173,11 @@ expressions."
'odd)
(else #f))")
(test-pretty-print "\
(parameterize ((a 1)
(b 2))
(call f g h))")
(test-pretty-print "\
#~(string-append #$coreutils \"/bin/uname\")")

View file

@ -583,11 +583,13 @@
(test-assert "terminal-rows"
(> (terminal-rows) 0))
(test-assert "terminal-string-width English"
(= (terminal-string-width "hello") 5))
(test-equal "terminal-string-width English"
5
(terminal-string-width "hello"))
(test-assert "terminal-string-width Japanese"
(= (terminal-string-width "今日は") 6))
(test-equal "terminal-string-width Japanese"
6
(terminal-string-width "今日は"))
(test-assert "openpty"
(let ((head inferior (openpty)))