forked from tribes/guix
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7b5f2d456b | |||
| e1e28adb79 | |||
| ea66f97ff3 | |||
| 76ac03cb0b | |||
| f88a63b636 |
@@ -13,6 +13,7 @@ gnu/packages/fluidplug\.scm @guix/audio
|
||||
gnu/packages/music\.scm @guix/audio
|
||||
gnu/packages/xiph\.scm @guix/audio
|
||||
|
||||
gnu/packages/beam-.+\.scm$ @guix/beam
|
||||
gnu/packages/elixir(-.+|)\.scm$ @guix/beam
|
||||
guix/build/mix-build-system\.scm @guix/beam
|
||||
guix/build-system/mix\.scm @guix/beam
|
||||
@@ -20,7 +21,12 @@ gnu/packages/erlang(-.+|)\.scm$ @guix/beam
|
||||
guix/build/rebar-build-system\.scm @guix/beam
|
||||
guix/build-system/rebar\.scm @guix/beam
|
||||
guix/import/hexpm\.scm @guix/beam
|
||||
guix/import/mix\.scm @guix/beam
|
||||
guix/import/mix/mix-lock\.scm @guix/beam
|
||||
guix/scripts/import/hexpm\.scm @guix/beam
|
||||
guix/scripts/import/mix\.scm @guix/beam
|
||||
tests/import/hexpm\.scm @guix/beam
|
||||
tests/import/mix\.scm @guix/beam
|
||||
|
||||
gnu/packages/bioinformatics\.scm @guix/bioinformatics
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
# Copyright © 2024 gemmaro <gemmaro.dev@gmail.com>
|
||||
# Copyright © 2025 Brice Waegeneire <brice@waegenei.re>
|
||||
# Copyright © 2025 Florian Pelz <pelzflorian@pelzflorian.de>
|
||||
# Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -320,6 +321,8 @@ MODULES = \
|
||||
guix/import/launchpad.scm \
|
||||
guix/import/luanti.scm \
|
||||
guix/import/minetest.scm \
|
||||
guix/import/mix.scm \
|
||||
guix/import/mix/mix-lock.scm \
|
||||
guix/import/nuget.scm \
|
||||
guix/import/npm-binary.scm \
|
||||
guix/import/opam.scm \
|
||||
@@ -377,6 +380,7 @@ MODULES = \
|
||||
guix/scripts/import/json.scm \
|
||||
guix/scripts/import/luanti.scm \
|
||||
guix/scripts/import/minetest.scm \
|
||||
guix/scripts/import/mix.scm \
|
||||
guix/scripts/import/npm-binary.scm \
|
||||
guix/scripts/import/nuget.scm \
|
||||
guix/scripts/import/opam.scm \
|
||||
@@ -577,6 +581,7 @@ SCM_TESTS = \
|
||||
tests/import/hackage.scm \
|
||||
tests/import/hexpm.scm \
|
||||
tests/import/luanti.scm \
|
||||
tests/import/mix.scm \
|
||||
tests/import/npm-binary.scm \
|
||||
tests/import/nuget.scm \
|
||||
tests/import/opam.scm \
|
||||
|
||||
@@ -18,7 +18,6 @@ Please send Guix bug reports to bug-guix@gnu.org.
|
||||
** Distribution
|
||||
*** GNOME updated to version 48
|
||||
*** New service for Fossil SCM
|
||||
*** TeX Live updated to 2026.1
|
||||
|
||||
* Changes in 1.5.0 (since 1.4.0)
|
||||
** Package management
|
||||
|
||||
@@ -29,6 +29,7 @@ Copyright @copyright{} 2025 45mg@*
|
||||
Copyright @copyright{} 2023 Marek Felšöci@*
|
||||
Copyright @copyright{} 2023 Konrad Hinsen@*
|
||||
Copyright @copyright{} 2023 Philippe Swartvagher@*
|
||||
Copyright @copyright{} 2026 Igorj Gorjaĉev@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
@@ -140,6 +141,7 @@ Programmable and automated package definition
|
||||
Packaging Workflows
|
||||
|
||||
* Packaging Rust Crates::
|
||||
* Packaging Elixir Applications::
|
||||
|
||||
Packaging Rust Crates
|
||||
|
||||
@@ -1632,6 +1634,7 @@ systems, serving as extensions to the concise packaging guidelines
|
||||
|
||||
@menu
|
||||
* Packaging Rust Crates::
|
||||
* Packaging Elixir Applications::
|
||||
@end menu
|
||||
|
||||
@node Packaging Rust Crates
|
||||
@@ -1987,6 +1990,108 @@ method, one of the most popular choices for Traditional Chinese users.")
|
||||
(license license:lgpl2.1+)))
|
||||
@end lisp
|
||||
|
||||
@node Packaging Elixir Applications
|
||||
@subsection Packaging Elixir Applications
|
||||
|
||||
In preparation, add the following packages to your environment:
|
||||
|
||||
@example
|
||||
$ guix shell elixir elixir-depscheck elixir-mix-audit
|
||||
@end example
|
||||
|
||||
In this example, we package @uref{https://livebook.dev, livebook},
|
||||
which is an interactive, web-based notebook environment for writing,
|
||||
running, and sharing Elixir code with rich documentation and
|
||||
visualizations.
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
We retrieve the @code{livebook} source code with the latest version
|
||||
from the corresponding @code{git} repository:
|
||||
|
||||
@example
|
||||
$ git clone --branch v0.18.2 --depth 1 \
|
||||
https://github.com/livebook-dev/livebook
|
||||
@end example
|
||||
|
||||
We should prepare the following definiton for this package (the suggested
|
||||
location for this definition should be @code{gnu/packages/beam-packages.scm}
|
||||
or up to your mind):
|
||||
|
||||
@lisp
|
||||
(define-public livebook
|
||||
(package
|
||||
(name "livebook")
|
||||
(version "0.18.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/livebook-dev/livebook")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1pq227nabslr7gh4qvg24wj4320djc0vrh6x6l23g3468x6znxjm"))))
|
||||
(build-system mix-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; TODO: make them work a little bit later
|
||||
#:vendorize? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(copy-recursively "_build/prod/rel/livebook/"
|
||||
out)))))))
|
||||
(inputs (mix-inputs 'livebook))
|
||||
(synopsis "Web application for writing code notebooks")
|
||||
(description "This package provides @code{Livebook}, a web application
|
||||
for writing interactive and collaborative code notebooks.")
|
||||
(home-page "https://livebook.dev/")
|
||||
(license license:asl2.0)))
|
||||
@end lisp
|
||||
|
||||
The identifier used to invoke @code{mix-inputs}, in this case the scheme
|
||||
symbol @code{'livebook}, must be unique, usually matching the variable name
|
||||
of the package.
|
||||
|
||||
@item
|
||||
Navigate to the unpacked directory, then run the following commands:
|
||||
|
||||
@example
|
||||
$ mix deps.get
|
||||
$ mix deps.audit
|
||||
$ mix depscheck --verbose
|
||||
@end example
|
||||
|
||||
@command{mix deps.audit} checks known vulnerabilities and @command{mix
|
||||
depscheck --verbose} checks licenses, for all the dependencies. We must
|
||||
have an acceptable output (i.e. message ``No vulnerabilities found.'') of
|
||||
@command{mix deps.audit} and ensure all dependencies are licensed with our
|
||||
supported licenses (@pxref{Defining Packages,,, guix, GNU Guix Reference Manual}).
|
||||
|
||||
@item
|
||||
Import dependencies from the lockfile:
|
||||
|
||||
@example
|
||||
$ guix import --insert=gnu/packages/beam-packages.scm \
|
||||
mix --lockfile=/path/to/mix.lock livebook
|
||||
|
||||
# or:
|
||||
$ guix import -i gnu/packages/beam-packages.scm \
|
||||
mix -f /path/to/mix.lock livebook
|
||||
@end example
|
||||
|
||||
After that the package could be build by using the following command:
|
||||
|
||||
@example
|
||||
$ guix build livebook
|
||||
@end example
|
||||
|
||||
@end enumerate
|
||||
|
||||
|
||||
@c *********************************************************************
|
||||
@node System Configuration
|
||||
|
||||
+26
-57
@@ -151,6 +151,7 @@ Copyright @copyright{} 2025 Noé Lopez@*
|
||||
Copyright @copyright{} 2026 David Elsing@*
|
||||
Copyright @copyright{} 2026 Nguyễn Gia Phong@*
|
||||
Copyright @copyright{} 2026 Yarl Baudig@*
|
||||
Copyright @copyright{} 2026 Igorj Gorjaĉev@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
@@ -15388,6 +15389,31 @@ Additional options include:
|
||||
Traverse the dependency graph of the given upstream package recursively
|
||||
and generate package expressions for all those packages that are not yet
|
||||
in Guix.
|
||||
@item --mix-inputs
|
||||
@itemx -m
|
||||
Use vendored @code{mix-inputs} for @code{input} field instead of common
|
||||
dependencies.
|
||||
@end table
|
||||
|
||||
@item mix
|
||||
@cindex mix
|
||||
Import metadata from the @file{mix.lock}, Elixir's
|
||||
@uref{https://hexdocs.pm/elixir/introduction-to-mix.html, mix} lock file,
|
||||
as in this example:
|
||||
|
||||
@example
|
||||
guix import mix -f mix.lock yourapp
|
||||
@end example
|
||||
|
||||
Mandatory options are:
|
||||
|
||||
@table @code
|
||||
@item --lockfile=@var{file}
|
||||
@itemx -f @var{file}
|
||||
@option{--lockfile} must be a @file{mix.lock} file.
|
||||
|
||||
@xref{Packaging Elixir Applications,,, guix-cookbook, GNU Guix Cookbook}, for
|
||||
packaging workflow utilizing it.
|
||||
@end table
|
||||
@end table
|
||||
|
||||
@@ -51663,63 +51689,6 @@ phone-number = 0
|
||||
is-married = true
|
||||
@end example
|
||||
|
||||
@subsubsection Serializing to environment variables
|
||||
@cindex environment variables, serialization of configuration records
|
||||
|
||||
There are services which expect their configuration as environment variables.
|
||||
The @code{(gnu services configuration environment-variables)} module provides
|
||||
facilities to serialize configuration records from
|
||||
@code{(gnu services configuration)} to list of pairs representing environment
|
||||
variables.
|
||||
|
||||
For example this configuration record:
|
||||
|
||||
@lisp
|
||||
(define-configuration/no-serialization server
|
||||
(ssh-port
|
||||
(number 22)
|
||||
"The public SSH port of the server.")
|
||||
(fqdn
|
||||
(maybe-string)
|
||||
"The fully qualified domain name of the server.")
|
||||
(active?
|
||||
(boolean #f)
|
||||
"Whether or not the server should be activated."))
|
||||
|
||||
(define my-server
|
||||
(server
|
||||
(ssh-port 20022)
|
||||
(active? #t)))
|
||||
@end lisp
|
||||
|
||||
with this call:
|
||||
|
||||
@lisp
|
||||
(serialize-environment-variables my-server server-fields
|
||||
#:true-value "1"
|
||||
#:false-value "0")
|
||||
@end lisp
|
||||
|
||||
would yield:
|
||||
|
||||
@lisp
|
||||
'(("SSH_PORT" . "20022")
|
||||
("ACTIVE" . "1"))
|
||||
@end lisp
|
||||
|
||||
@anchor{serialize-environment-variables-procedure}
|
||||
@deffn {Procedure} serialize-environment-variables @var{config} @var{fields} @
|
||||
[@var{selection} #f] [@var{negate?} #f] [#:prefix #f] @
|
||||
[#:true-value "true"] [#:false-value "false"]
|
||||
Serializes the fields whose name is included in SELECTION from CONFIG, a
|
||||
configuration from @code{(gnu services configuration)}, and FIELDS, the
|
||||
list of its field records, to a list of pairs. When NEGATE? is #t all services
|
||||
not included in SELECTION will be serialized. Each pair represents an
|
||||
environment variable. The first element of each pair is the variable name, the
|
||||
second is the value. When PREFIX is a string it is prepended to the variable
|
||||
name. TRUE-VALUE and FALSE-VALUE will be used as a representation for
|
||||
respectfully @code{#t} and @code{#f}.
|
||||
@end deffn
|
||||
|
||||
@c *********************************************************************
|
||||
@cindex troubleshooting, Guix System
|
||||
|
||||
+9
-3
@@ -482,15 +482,21 @@ already exists. Lookup team IDs among CURRENT-TEAMS."
|
||||
#:name "Erlang/Elixir/BEAM team"
|
||||
#:description "The virtual machine at the core of the Erlang Open
|
||||
Telecom Platform (OTP), Erlang and Elxir languages and packages, development
|
||||
of Rebar and Mix build systems and Hex.pm importer."
|
||||
#:scope (list (make-regexp* "^gnu/packages/elixir(-.+|)\\.scm$")
|
||||
of Rebar and Mix build systems, Hex.pm and Mix importers."
|
||||
#:scope (list (make-regexp* "^gnu/packages/beam-.+\\.scm$")
|
||||
(make-regexp* "^gnu/packages/elixir(-.+|)\\.scm$")
|
||||
"guix/build/mix-build-system.scm"
|
||||
"guix/build-system/mix.scm"
|
||||
(make-regexp* "^gnu/packages/erlang(-.+|)\\.scm$")
|
||||
"guix/build/rebar-build-system.scm"
|
||||
"guix/build-system/rebar.scm"
|
||||
"guix/import/hexpm.scm"
|
||||
"guix/scripts/import/hexpm.scm")))
|
||||
"guix/import/mix.scm"
|
||||
"guix/import/mix/mix-lock.scm"
|
||||
"guix/scripts/import/hexpm.scm"
|
||||
"guix/scripts/import/mix.scm"
|
||||
"tests/import/hexpm.scm"
|
||||
"tests/import/mix.scm")))
|
||||
|
||||
(define-team bioinformatics
|
||||
(team 'bioinformatics
|
||||
|
||||
+5
-6
@@ -56,7 +56,6 @@
|
||||
# Copyright © 2022 Alex Griffin <a@ajgrf.com>
|
||||
# Copyright © 2022 ( <paren@disroot.org>
|
||||
# Copyright © 2022, 2026 jgart <jgart@dismail.de>
|
||||
# Copyright © 2022-2023, 2025-2026 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
# Copyright © 2023-2025 Zheng Junjie <z572@z572.online>
|
||||
# Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
|
||||
# Copyright © 2023 Andy Tai <atai@atai.org>
|
||||
@@ -76,6 +75,7 @@
|
||||
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
|
||||
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
|
||||
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
|
||||
# Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -176,6 +176,9 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/bash.scm \
|
||||
%D%/packages/batik.scm \
|
||||
%D%/packages/bdw-gc.scm \
|
||||
%D%/packages/beam-apps.scm \
|
||||
%D%/packages/beam-packages.scm \
|
||||
%D%/packages/beam-sources.scm \
|
||||
%D%/packages/benchmark.scm \
|
||||
%D%/packages/bioconductor.scm \
|
||||
%D%/packages/bioinformatics.scm \
|
||||
@@ -217,7 +220,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/convmv.scm \
|
||||
%D%/packages/codex.scm \
|
||||
%D%/packages/coq.scm \
|
||||
%D%/packages/coreboot.scm \
|
||||
%D%/packages/cpio.scm \
|
||||
%D%/packages/cpp.scm \
|
||||
%D%/packages/cppi.scm \
|
||||
@@ -740,8 +742,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/services/cgit.scm \
|
||||
%D%/services/ci.scm \
|
||||
%D%/services/configuration.scm \
|
||||
%D%/services/configuration/environment-variables.scm \
|
||||
%D%/services/configuration/utils.scm \
|
||||
%D%/services/containers.scm \
|
||||
%D%/services/cuirass.scm \
|
||||
%D%/services/cups.scm \
|
||||
@@ -1039,7 +1039,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/azr3.patch \
|
||||
%D%/packages/patches/azr3-remove-lash.patch \
|
||||
%D%/packages/patches/barony-fix-textures.patch \
|
||||
%D%/packages/patches/bam-python3-compat.patch \
|
||||
%D%/packages/patches/bash-completion-directories.patch \
|
||||
%D%/packages/patches/bash-linux-pgrp-pipe.patch \
|
||||
%D%/packages/patches/basis-universal-unbundle-libs.patch \
|
||||
@@ -1233,6 +1232,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/elfutils-tests-ptrace.patch \
|
||||
%D%/packages/patches/elixir-httpoison-tag-network-dependent-test-cases.patch \
|
||||
%D%/packages/patches/elixir-path-length.patch \
|
||||
%D%/packages/patches/elixir-vendoring-support.patch \
|
||||
%D%/packages/patches/elm-ghc9.2.patch \
|
||||
%D%/packages/patches/exaile-gstreamer-1.28.patch \
|
||||
%D%/packages/patches/python-treelib-remove-python2-compat.patch \
|
||||
@@ -1983,7 +1983,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/nheko-0-12-1-fix-rendering-replies.patch \
|
||||
%D%/packages/patches/nix-dont-build-html-doc.diff \
|
||||
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
|
||||
%D%/packages/patches/neovim-tree-sitter-grammar-path.patch \
|
||||
%D%/packages/patches/network-manager-plugin-ownership.patch \
|
||||
%D%/packages/patches/network-manager-plugin-path.patch \
|
||||
%D%/packages/patches/newlib-getentropy.patch \
|
||||
|
||||
+160
-12
@@ -1,4 +1,9 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2019, 2021 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2026 Anderson Torres <anderson.torres.8519@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@@ -17,20 +22,163 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages adns)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (guix deprecation))
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
|
||||
(define-deprecated/public-alias adns
|
||||
(@ (gnu packages dns) adns))
|
||||
(define-public adns
|
||||
(package
|
||||
(name "adns")
|
||||
(version "1.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "git://git.chiark.greenend.org.uk/~ianmdlvl/adns.git")
|
||||
(commit (string-append "adns-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ln3l5j7wb1xazrzl76p9xar52p6l2k1cwy7jazxw1acl71k9h5n"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; INFO: Tests expect real name resolution to work.
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; Make sure the programs under bin/ find libadns.so.
|
||||
(string-append "LDFLAGS=-Wl,-rpath -Wl,"
|
||||
#$output:out
|
||||
"/lib"))))
|
||||
(native-inputs
|
||||
(list m4))
|
||||
(home-page "https://www.gnu.org/software/adns/")
|
||||
(synopsis "Asynchronous DNS client library and utilities")
|
||||
(description
|
||||
"GNU adns is a C library that provides easy-to-use @acronym{DNS, Domain
|
||||
Name System} resolution functionality. The library is asynchronous, allowing
|
||||
several concurrent calls. The package also includes several command-line
|
||||
utilities for use in scripts.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-deprecated/public-alias c-ares
|
||||
(@ (gnu packages dns) c-ares))
|
||||
(define-public c-ares
|
||||
(package
|
||||
(name "c-ares")
|
||||
(version "1.34.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/c-ares/c-ares/releases/download/v"
|
||||
version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0br2msk3bpl5myhjp9vr5j2scpspvbg2fpnz69dcrr4ycpnxnf7s"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'filter-live-tests
|
||||
(lambda _
|
||||
;; Filter tests that require internet access.
|
||||
(setenv "GTEST_FILTER" "-*.Live*:*.FamilyV4*")))
|
||||
#$@(if (system-hurd?)
|
||||
#~((add-after 'unpack 'skip-tests
|
||||
(lambda _
|
||||
(substitute* "test/ares-test-main.cc"
|
||||
(("(^| )main *\\(.*" all)
|
||||
(string-append all " exit (77);\n")))))
|
||||
(add-after 'filter-live-tests 'filter-hurd-tests
|
||||
(lambda _
|
||||
(setenv "GTEST_FILTER"
|
||||
(string-append
|
||||
(getenv "GTEST_FILTER")
|
||||
":.*Basic/2"
|
||||
":.*CancelImmediate/2"
|
||||
":.*CancelImmediateGetHostByAddr/2"
|
||||
":.*CancelLater/1"
|
||||
":.*FamilyUnspecified/2"
|
||||
":.*FamilyV6/2"
|
||||
":.*GetAddrInfoParallelLookups/1"
|
||||
":.*GetHostByAddrDestroy/2"
|
||||
":.*GetHostByNameCNAMENoData/2"
|
||||
":.*GetHostByNameDestroyAbsolute/2"
|
||||
":.*GetHostByNameDestroyRelative/2"
|
||||
":.*GetHostByNameParallelLookups/1"
|
||||
":.*HostAlias/2"
|
||||
":.*HostAliasMissing/2"
|
||||
":.*HostAliasMissingFile/2"
|
||||
":.*NotImplResponse/2"
|
||||
":.*RefusedResponse/2"
|
||||
":.*Resend/1"
|
||||
":.*RetryWithoutEDNS/2"
|
||||
":.*SearchDomains/2"
|
||||
":.*SearchDomainsBare/2"
|
||||
":.*SearchDomainsServFailOnAAAA/2"
|
||||
":.*SearchDomainsWithResentReply/1"
|
||||
":.*SearchHighNdots/2"
|
||||
":.*SearchNoDataThenFail/2"
|
||||
":.*SearchNoDataThenNoDataBare/2"
|
||||
":.*SearchNoDataThenSuccess/2"
|
||||
":.*ServFailResponse/2"
|
||||
":.*SimpleQuery/2"
|
||||
":.*SockCallback/2"
|
||||
":.*SockConfigureCallback/2"
|
||||
":.*SortListV4/2"
|
||||
":.*SortListV6/2"
|
||||
":.*ThirdServer/2"
|
||||
":.*TruncationRetry/1"
|
||||
":.*UnspecifiedFamilyCname6A4/2"
|
||||
":.*UnspecifiedFamilyV4/2"
|
||||
":.*UnspecifiedFamilyV6/2")))))
|
||||
#~()))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(home-page "https://c-ares.haxx.se/")
|
||||
(synopsis "C library for asynchronous DNS requests")
|
||||
(description
|
||||
"C-ares is a C library that performs DNS requests and name resolution
|
||||
asynchronously. It is intended for applications which need to perform DNS
|
||||
queries without blocking, or need to perform multiple DNS queries in parallel.
|
||||
The primary examples of such applications are servers which communicate with
|
||||
multiple clients and programs with graphical user interfaces.")
|
||||
(license (license:x11-style "https://c-ares.haxx.se/license.html"))))
|
||||
|
||||
(define-deprecated/public-alias c-ares-for-node-lts
|
||||
(@ (gnu packages dns) c-ares-for-node-lts))
|
||||
(define-public c-ares-for-node-lts
|
||||
(hidden-package c-ares))
|
||||
|
||||
(define-deprecated/public-alias c-ares-for-node-bootstrap
|
||||
(@ (gnu packages dns) c-ares-for-node-bootstrap))
|
||||
(define-public c-ares-for-node-bootstrap
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit c-ares)
|
||||
(version "1.18.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://c-ares.haxx.se/download/c-ares-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kxviskwsaa7dcgscvssxa8ps88pdq7kq4z93gxvz7sam2l54z8s")))))))
|
||||
|
||||
(define-deprecated/public-alias c-ares/cmake
|
||||
(@ (gnu packages dns) c-ares/cmake))
|
||||
;; gRPC requires a c-ares built with CMake in order to get the .cmake modules.
|
||||
;; We can not build c-ares itself with CMake because that would introduce a
|
||||
;; circular dependency through nghttp2.
|
||||
;; XXX: It would be nice if we could extract the modules somehow and make them
|
||||
;; work with the "normal" c-ares package instead of building a whole new library.
|
||||
(define-public c-ares/cmake
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit c-ares)
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(;; XXX: Tests require name resolution (the normal variant runs no tests).
|
||||
#:tests? #f)))))
|
||||
|
||||
@@ -370,7 +370,7 @@ This package includes the following programs:
|
||||
libjpeg-turbo
|
||||
perl
|
||||
python
|
||||
v4l-utils))
|
||||
v4l-utils-minimal))
|
||||
(propagated-inputs
|
||||
;; These are in 'requires' field of .pc files.
|
||||
(list glib gtk+))
|
||||
|
||||
@@ -33,8 +33,9 @@
|
||||
;; The URI does not appear to be easily guessable. For
|
||||
;; example, you cannot download version "9100g" simply
|
||||
;; by replacing "9100h" in the URI.
|
||||
(uri (string-append "https://ftp.jaist.ac.jp/pub/Linux/Gentoo/"
|
||||
"distfiles/31/anthy-9100h.tar.gz"))
|
||||
(uri (list (string-append "https://ftp.jaist.ac.jp/pub/Linux/Gentoo/"
|
||||
"distfiles/31/anthy-9100h.tar.gz")
|
||||
"https://osdn.dl.osdn.net/anthy/37536/anthy-9100h.tar.gz"))
|
||||
(sha256
|
||||
(base32 "0ism4zibcsa5nl77wwi12vdsfjys3waxcphn1p5s7d0qy1sz0mnj"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
@@ -19,11 +19,9 @@
|
||||
(define-module (gnu packages appimage)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages file-systems)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix gexp)
|
||||
@@ -32,9 +30,9 @@
|
||||
#:use-module (guix utils))
|
||||
|
||||
(define-public appimage-type2-runtime
|
||||
(let ((revision "1")
|
||||
(let ((revision "0")
|
||||
;; No releases, just the latest commit.
|
||||
(commit "caf24f9f712084686bfc24a70b75e50df0aefb9c"))
|
||||
(commit "47b665594856b4e8928f8932adcf6d13061d8c30"))
|
||||
(package
|
||||
(name "appimage-type2-runtime")
|
||||
(version (git-version "continuous" revision commit))
|
||||
@@ -46,16 +44,16 @@
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "17z0byws3dp375wcyq5xwy5npqy7hslqw21n677dp38z4f940nzv"))))
|
||||
(base32 "0954crhlbapxis96g1s0vfpf78ybr64zvjalak387ksxj560g44x"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; No tests
|
||||
#:make-flags
|
||||
#~(list "-Csrc/runtime" "runtime"
|
||||
#~(list "-Csrc/runtime" "runtime-fuse3"
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append
|
||||
"CFLAGS=" "-I" #$(this-package-input "fuse") "/include/fuse3/"
|
||||
"CFLAGS=" "-I" #$(this-package-input "fuse") "/include/fuse/"
|
||||
" -DGIT_COMMIT='\"" "guix-" #$version "\"'"
|
||||
" -D_FILE_OFFSET_BITS=64"
|
||||
" -static"
|
||||
@@ -66,22 +64,17 @@
|
||||
(ice-9 binary-ports))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-pkgconfig-flags
|
||||
(lambda _
|
||||
(substitute* "src/runtime/Makefile"
|
||||
(("-lmimalloc")
|
||||
"$(pkg-config --cflags mimalloc)"))))
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "src/runtime/runtime"
|
||||
(install-file "src/runtime/runtime-fuse3"
|
||||
(string-append #$output "/bin"))))
|
||||
;; Must be after all elf reliant phases. Used to identify the
|
||||
;; executable as an AppImage as per the specification.
|
||||
(add-after 'make-dynamic-linker-cache 'set-magic-bytes
|
||||
(lambda _
|
||||
(let ((port (open (string-append #$output
|
||||
"/bin/runtime")
|
||||
"/bin/runtime-fuse3")
|
||||
(logior O_WRONLY))))
|
||||
(seek port 8 SEEK_SET)
|
||||
(put-bytevector port #vu8(#x41 #x49 #x02))
|
||||
@@ -91,12 +84,9 @@
|
||||
(this-package-input "fuse")
|
||||
(gexp-input (this-package-input "zstd") "static")
|
||||
(gexp-input (this-package-input "zlib") "static"))))
|
||||
(native-inputs (list pkg-config))
|
||||
;; Only needed at build time.
|
||||
(inputs (list `(,fuse "out")
|
||||
`(,fuse "static")
|
||||
mimalloc
|
||||
squashfuse-for-appimage
|
||||
(inputs (list squashfuse-for-appimage
|
||||
fuse-for-appimage
|
||||
`(,zstd "static")
|
||||
`(,zlib "static")))
|
||||
(synopsis "Runtime for executing AppImages")
|
||||
|
||||
@@ -3438,7 +3438,7 @@ from being able to mix multiple JACK audio streams.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0fvnvr74q5khxlj5sylfnkblydmwgdbvj04mhdqw0zzmfqwignhd"))))
|
||||
(base32 "08ji4lg24flzi6g3yaavfq8hz3kr98q2ripk5m4qk9z172qxbbc9"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
|
||||
;;;
|
||||
;;; 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 beam-apps)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system mix))
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2026 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -16,20 +16,28 @@
|
||||
;;; 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 services configuration utils)
|
||||
#:use-module (ice-9 string-fun)
|
||||
#:export (uglify-snake-case))
|
||||
(define-module (gnu packages beam-packages)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system mix)
|
||||
#:use-module (gnu packages beam-sources)
|
||||
#:export (lookup-mix-inputs))
|
||||
|
||||
(define (uglify-snake-case field-name)
|
||||
"Serializes FIELD-NAME, a field name from @code{(gnu services configuration)},
|
||||
to a downcased, snake case string representation of the field name. Trailing
|
||||
@code{?} in the name are dropped and dashes are replaced with underscores.
|
||||
;;;
|
||||
;;; This file is managed by ‘guix import’. Do NOT add definitions manually.
|
||||
;;;
|
||||
;;; BEAM libraries fetched from hex.pm.
|
||||
;;;
|
||||
|
||||
For example the procedure would convert @code{'A-Field?} to @code{\"a_field\"}."
|
||||
(define str (symbol->string field-name))
|
||||
(string-downcase
|
||||
(string-replace-substring
|
||||
(if (string-suffix? "?" str)
|
||||
(string-drop-right str 1)
|
||||
str)
|
||||
"-" "_")))
|
||||
(define aaaa-separator 'begin-of-beam-packages)
|
||||
|
||||
(define cccc-separator 'end-of-beam-packages)
|
||||
|
||||
|
||||
;;;
|
||||
;;; Mix inputs.
|
||||
;;;
|
||||
|
||||
(define-mix-inputs lookup-mix-inputs)
|
||||
@@ -0,0 +1,29 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
|
||||
;;;
|
||||
;;; 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 beam-sources)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system mix))
|
||||
|
||||
;;;
|
||||
;;; BEAM libraries requiring modification.
|
||||
;;; These packages are hidden, as they are not interesting to users.
|
||||
;;;
|
||||
@@ -944,20 +944,7 @@ configurable through a set of options.")
|
||||
#~(list (string-append
|
||||
"CC=" #$(this-package-input "openmpi") "/bin/mpicc")
|
||||
(string-append
|
||||
"CXX=" #$(this-package-input "openmpi") "/bin/mpicxx"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; OSU installs its binaries to /libexec. Have a symlink in /bin to
|
||||
;; improve user experience.
|
||||
(add-after 'install 'symlink-binaries-in-bin
|
||||
(lambda _
|
||||
(mkdir-p (string-append #$output "/bin"))
|
||||
(for-each (lambda (file)
|
||||
(symlink file
|
||||
(string-append #$output "/bin/"
|
||||
(basename file))))
|
||||
(find-files (string-append #$output
|
||||
"/libexec"))))))))
|
||||
"CXX=" #$(this-package-input "openmpi") "/bin/mpicxx"))))
|
||||
(home-page "https://mvapich.cse.ohio-state.edu/benchmarks/")
|
||||
(synopsis "Benchmarking suite from the MVAPICH project")
|
||||
(description
|
||||
|
||||
@@ -18335,6 +18335,44 @@ following the assay and produces a file detailing peaks of significant
|
||||
enrichment.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public mantis
|
||||
;; This is an arbitrary commit as a year has passed since 0.1 was tagged.
|
||||
(let ((commit "b6979a269172a45201c8366680d8b889f889432b")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "mantis")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/splatlab/mantis")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0dq8a785hnaxx5kq757m5czs8xpcjpcph1inq2nm8h6zfvqyj8xs"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; there are none
|
||||
#:configure-flags (list "-DNH=ON"))) ; do not use SSE4.2 instructions
|
||||
(inputs
|
||||
(list sdsl-lite openssl zlib))
|
||||
(native-inputs
|
||||
(list gcc-7))
|
||||
(home-page "https://github.com/splatlab/mantis")
|
||||
(synopsis "Large-scale sequence-search index data structure")
|
||||
(description "Mantis is a space-efficient data structure that can be
|
||||
used to index thousands of raw-read genomics experiments and facilitate
|
||||
large-scale sequence searches on those experiments. Mantis uses counting
|
||||
quotient filters instead of Bloom filters, enabling rapid index builds and
|
||||
queries, small indexes, and exact results, i.e., no false positives or
|
||||
negatives. Furthermore, Mantis is also a colored de Bruijn graph
|
||||
representation, so it supports fast graph traversal and other topological
|
||||
analyses in addition to large-scale sequence-level searches.")
|
||||
;; uses __uint128_t and inline assembly
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public sjcount
|
||||
;; There is no tag for version 3.2, nor is there a release archive.
|
||||
(let ((commit "292d3917cadb3f6834c81e509c30e61cd7ead6e5")
|
||||
|
||||
+33
-33
@@ -41,16 +41,32 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages bittorrent)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module ((guix licenses) #:prefix l:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
@@ -60,9 +76,8 @@
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
@@ -71,30 +86,15 @@
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cmake)
|
||||
#: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 pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
|
||||
#:use-module (guix utils))
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public transmission
|
||||
(package
|
||||
@@ -194,7 +194,7 @@ DHT, µTP, PEX and Magnet Links.")
|
||||
;; or any future license endorsed by Mnemosyne LLC.
|
||||
;;
|
||||
;; A few files files carry an MIT/X11 license header.
|
||||
(license (list license:gpl2 license:gpl3))))
|
||||
(license (list l:gpl2 l:gpl3))))
|
||||
|
||||
(define-public transmission-remote-gtk
|
||||
(package
|
||||
@@ -224,7 +224,7 @@ DHT, µTP, PEX and Magnet Links.")
|
||||
(description "transmission-remote-gtk is a GTK client for remote management
|
||||
of the Transmission BitTorrent client, using its HTTP RPC protocol.")
|
||||
(home-page "https://github.com/transmission-remote-gtk/transmission-remote-gtk")
|
||||
(license license:gpl2+)))
|
||||
(license l:gpl2+)))
|
||||
|
||||
(define-public stig
|
||||
(package
|
||||
@@ -267,7 +267,7 @@ of the Transmission BitTorrent client, using its HTTP RPC protocol.")
|
||||
"Stig is a @acronym{TUI, Text User Interface} and @acronym{CLI, Command
|
||||
Line Interface} client for the BitTorrent client Transmission.")
|
||||
(home-page "https://github.com/rndusr/stig")
|
||||
(license license:gpl3)))
|
||||
(license l:gpl3)))
|
||||
|
||||
(define-public libtorrent
|
||||
(package
|
||||
@@ -291,7 +291,7 @@ Line Interface} client for the BitTorrent client Transmission.")
|
||||
with the BitTorrent client rtorrent. It is written in C++ with emphasis on
|
||||
speed and efficiency.")
|
||||
(home-page "https://github.com/rakshasa/libtorrent")
|
||||
(license license:gpl2+)))
|
||||
(license l:gpl2+)))
|
||||
|
||||
(define-public rtorrent
|
||||
(package
|
||||
@@ -320,7 +320,7 @@ speed and efficiency.")
|
||||
full encryption, DHT, PEX, and Magnet Links. It can also be controlled via
|
||||
XML-RPC over SCGI.")
|
||||
(home-page "https://github.com/rakshasa/rtorrent")
|
||||
(license license:gpl2+)))
|
||||
(license l:gpl2+)))
|
||||
|
||||
(define-public tremc
|
||||
(let ((commit "d8deaa5ac25bb45a2ca3a930309d6ecc74836a54")
|
||||
@@ -354,7 +354,7 @@ XML-RPC over SCGI.")
|
||||
(description "Tremc is a console client, with a curses interface, for the
|
||||
Transmission BitTorrent daemon.")
|
||||
(home-page "https://github.com/tremc/tremc")
|
||||
(license license:gpl3+))))
|
||||
(license l:gpl3+))))
|
||||
|
||||
(define-public aria2
|
||||
(package
|
||||
@@ -419,7 +419,7 @@ download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
|
||||
Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
|
||||
(properties
|
||||
'((release-monitoring-url . "https://github.com/aria2/aria2/releases")))
|
||||
(license license:gpl2+)))
|
||||
(license l:gpl2+)))
|
||||
|
||||
(define-public uget
|
||||
(package
|
||||
@@ -453,7 +453,7 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
|
||||
"uGet is portable download manager with GTK+ interface supporting
|
||||
HTTP, HTTPS, BitTorrent and Metalink, supporting multi-connection
|
||||
downloads, download scheduling, download rate limiting.")
|
||||
(license license:lgpl2.1+)))
|
||||
(license l:lgpl2.1+)))
|
||||
|
||||
(define-public mktorrent
|
||||
(package
|
||||
@@ -488,8 +488,8 @@ files and whole directories. It can add multiple trackers and web seed URLs,
|
||||
and set the @code{private} flag to disallow advertisement through the
|
||||
distributed hash table (@dfn{DHT}) and Peer Exchange. Hashing is multi-threaded
|
||||
and will take advantage of multiple processor cores where possible.")
|
||||
(license (list license:public-domain ; sha1.*, used to build without OpenSSL
|
||||
license:gpl2+)))) ; with permission to link with OpenSSL
|
||||
(license (list l:public-domain ; sha1.*, used to build without OpenSSL
|
||||
l:gpl2+)))) ; with permission to link with OpenSSL
|
||||
|
||||
(define-public libtorrent-rasterbar
|
||||
(package
|
||||
@@ -541,7 +541,7 @@ and will take advantage of multiple processor cores where possible.")
|
||||
"libtorrent-rasterbar is a feature-complete C++ BitTorrent implementation
|
||||
focusing on efficiency and scalability. It runs on embedded devices as well as
|
||||
desktops.")
|
||||
(license license:bsd-2)))
|
||||
(license l:bsd-2)))
|
||||
|
||||
(define-public qbittorrent
|
||||
(package
|
||||
@@ -585,7 +585,7 @@ libtorrent (sometimes called libtorrent-rasterbar) by Arvid Norberg.
|
||||
It aims to be a good alternative to all other BitTorrent clients out there.
|
||||
qBittorrent is fast, stable and provides unicode support as well as many
|
||||
features.")
|
||||
(license license:gpl2+)))
|
||||
(license l:gpl2+)))
|
||||
|
||||
(define-public qbittorrent-no-x
|
||||
(let ((base qbittorrent))
|
||||
@@ -727,4 +727,4 @@ Protocol Encryption, DHT, Local Peer Discovery (LSD), Peer Exchange
|
||||
speed limits. Deluge heavily utilises the libtorrent library. It is
|
||||
designed to run as both a normal standalone desktop application and as a
|
||||
client-server.")
|
||||
(license license:gpl3+)))
|
||||
(license l:gpl3+)))
|
||||
|
||||
@@ -44,17 +44,37 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages build-tools)
|
||||
#:use-module (ice-9 optargs)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system guile)
|
||||
#:use-module (guix build-system hare)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix modules)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages code)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages cppi)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages guile)
|
||||
@@ -85,27 +105,7 @@
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages unicode)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system guile)
|
||||
#:use-module (guix build-system hare)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix modules)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 optargs))
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public acr
|
||||
(package
|
||||
@@ -196,8 +196,7 @@ according to the system capabilities and the user-selected options.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"13br735ig7lygvzyfd15fc2rdygrqm503j6xj5xkrl1r7w2wipq6"))
|
||||
(patches (search-patches "bam-python3-compat.patch"))))
|
||||
"13br735ig7lygvzyfd15fc2rdygrqm503j6xj5xkrl1r7w2wipq6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags `(,(string-append "CC=" ,(cc-for-target))
|
||||
@@ -208,7 +207,7 @@ according to the system capabilities and the user-selected options.")
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(native-inputs
|
||||
(list python-minimal-wrapper))
|
||||
`(("python" ,python-2)))
|
||||
(inputs
|
||||
(list lua))
|
||||
(home-page "https://matricks.github.io/bam/")
|
||||
|
||||
+21
-26
@@ -595,11 +595,7 @@ capacity is user-selectable.")
|
||||
version "/DVDStyler-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0n3mfjsazvlzk9hl23q3iz7bmxjq7b5lx0ab8nbk1jgl763k9cqb"))
|
||||
(snippet
|
||||
#~(begin (delete-file "src/dvdvml.c")
|
||||
(delete-file "src/dvdvmy.c")
|
||||
(delete-file "src/dvdvmy.h")))))
|
||||
"0n3mfjsazvlzk9hl23q3iz7bmxjq7b5lx0ab8nbk1jgl763k9cqb"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
@@ -629,28 +625,27 @@ capacity is user-selectable.")
|
||||
#t)))
|
||||
#:tests? #f)) ; No tests.
|
||||
(inputs ; TODO package bundled wxvillalib
|
||||
(list bash-minimal ; for wrap-program
|
||||
cdrtools
|
||||
dbus
|
||||
dvd+rw-tools
|
||||
dvdauthor
|
||||
eudev
|
||||
ffmpeg-4
|
||||
fontconfig
|
||||
libexif
|
||||
libjpeg-turbo
|
||||
wxsvg
|
||||
wxwidgets))
|
||||
`(("wxwidgets" ,wxwidgets)
|
||||
("wssvg" ,wxsvg)
|
||||
("bash" ,bash-minimal) ; for wrap-program
|
||||
("dbus" ,dbus)
|
||||
("cdrtools" ,cdrtools)
|
||||
("dvd+rw-tools" ,dvd+rw-tools)
|
||||
("dvdauthor" ,dvdauthor)
|
||||
("eudev" ,eudev)
|
||||
("fontconfig" ,fontconfig)
|
||||
("libexif" ,libexif)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("ffmpeg" ,ffmpeg-4)))
|
||||
(native-inputs
|
||||
(list bison
|
||||
docbook-xml
|
||||
docbook-xsl
|
||||
flex
|
||||
gettext-minimal
|
||||
pkg-config
|
||||
python-minimal-wrapper
|
||||
xmlto
|
||||
zip))
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("flex" ,flex)
|
||||
("python" ,python-2)
|
||||
("xmlto" ,xmlto)
|
||||
("gettext" ,gettext-minimal)
|
||||
("docbook-xml" ,docbook-xml)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("zip" ,zip)))
|
||||
(synopsis "DVD authoring application")
|
||||
(description "DVDStyler is a DVD authoring application which allows users
|
||||
to burn video files in many formats to DVD discs, complete with individually
|
||||
|
||||
@@ -1,248 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
|
||||
;;; Copyright © 2026 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;;
|
||||
;;; 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 coreboot)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (srfi srfi-26))
|
||||
|
||||
(define-public bincfg
|
||||
(package
|
||||
(name "bincfg")
|
||||
(version "25.09")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://review.coreboot.org/coreboot")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no test suite
|
||||
#:make-flags
|
||||
#~(list
|
||||
(string-append "CC=" #$(cc-for-target)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "util/bincfg")))
|
||||
(add-after 'build 'build-binaries
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(for-each
|
||||
(lambda (target result)
|
||||
(apply invoke "make" (string-append "gen-" target) make-flags)
|
||||
(rename-file result
|
||||
(string-append target ".bin")))
|
||||
(list
|
||||
;; generate GbE for X200
|
||||
"gbe-ich9m"
|
||||
;; generate GbE for X220/x230
|
||||
"gbe-82579LM"
|
||||
;; generate IFD for X200
|
||||
"ifd-x200")
|
||||
(list
|
||||
"flashregion_3_gbe.bin"
|
||||
"flashregion_3_gbe.bin"
|
||||
"flashregion_0_fd.bin"))))
|
||||
;; The Makefile has no install target.
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((bin (string-append #$output "/bin"))
|
||||
(lib (string-append #$output "/lib/bincfg"))
|
||||
(data (string-append #$output "/share/bincfg")))
|
||||
;; Install the program
|
||||
(install-file "bincfg" bin)
|
||||
;; And its data
|
||||
(for-each
|
||||
(lambda (path)
|
||||
(install-file path data))
|
||||
(append (find-files "." ".*\\.set")
|
||||
(find-files "." ".*\\.spec")))
|
||||
;; And the files generated with the data
|
||||
(for-each
|
||||
(lambda (path)
|
||||
(install-file path lib))
|
||||
(find-files "." ".*\\.bin"))))))))
|
||||
(native-inputs (list bison flex))
|
||||
(home-page "https://coreboot.org")
|
||||
(synopsis "Encoder/decoder for binary formats described in text files")
|
||||
(description "
|
||||
The bincfg program comes with specifications files for the following binary
|
||||
formats:
|
||||
@itemize
|
||||
@item Various DDR3 and DDR4 SPD
|
||||
@item Configuration data for the Intel 82579LM Gigabit Ethernet PHY
|
||||
@item Configuration data for the Intel Gigabit Ethernet controller present in
|
||||
the Intel ICH9-M chipset.
|
||||
@item Intel Firmware Descriptor data for the Lenovo ThinkPad X200
|
||||
@item Configuration data for the ITE IT8718F SuperIO
|
||||
@end itemize
|
||||
It also comes with example files generated by bincfg.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public ifdtool
|
||||
(package
|
||||
(name "ifdtool")
|
||||
(version "25.09")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://review.coreboot.org/coreboot")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
"INSTALL=install"
|
||||
(string-append "PREFIX=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "util/ifdtool")))
|
||||
(delete 'configure)) ; no configure script
|
||||
#:tests? #f)) ; no test suite
|
||||
(home-page "https://doc.coreboot.org/util/ifdtool/")
|
||||
(synopsis "Intel Firmware Descriptor dumper")
|
||||
(description "This package provides @command{ifdtool}, a program to
|
||||
dump Intel Firmware Descriptor data of an image file.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public intelmetool
|
||||
(package
|
||||
(name "intelmetool")
|
||||
(version "25.09")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://review.coreboot.org/coreboot")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no test suite
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
"INSTALL=install"
|
||||
(string-append "PREFIX=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "util/intelmetool")))
|
||||
(delete 'configure) ;no configure script
|
||||
(delete 'check))))
|
||||
(inputs (list pciutils zlib))
|
||||
(home-page
|
||||
"https://github.com/coreboot/coreboot/tree/main/util/intelmetool/")
|
||||
(synopsis "Intel Management Engine tools")
|
||||
(description "This package provides tools for working with Intel
|
||||
Management Engine (ME). You need to @code{sudo rmmod mei_me} and
|
||||
@code{sudo rmmod mei} before using this tool. Also pass
|
||||
@code{iomem=relaxed} to the Linux kernel command line.")
|
||||
(license license:gpl2)
|
||||
|
||||
;; This is obviously an Intel thing, plus it requires <cpuid.h>.
|
||||
(supported-systems '("x86_64-linux" "i686-linux"))))
|
||||
|
||||
(define-public nvramtool
|
||||
(package
|
||||
(name "nvramtool")
|
||||
(version "25.09")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://review.coreboot.org/coreboot")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no test suite
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
"INSTALL=install"
|
||||
(string-append "PREFIX=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "util/nvramtool")))
|
||||
(delete 'configure)))) ; no configure script
|
||||
(home-page "https://coreboot.org")
|
||||
(synopsis "Command line tool that can edit Coreboot settings")
|
||||
(description "@command{nvramtool} can see and/or modify Coreboot settings
|
||||
like the serial port speed, log level, etc. It requires Coreboot to be compiled
|
||||
with CONFIG_USE_OPTION_TABLE and some options require the iomem=relaxed kernel
|
||||
command line to work. Features:
|
||||
@itemize
|
||||
@item If Coreboot was compiled without CONFIG_STATIC_OPTION_TABLE, it can change
|
||||
its settings, which are applied after a reboot.
|
||||
@item It can modify Coreboot images default settings with
|
||||
@command{nvramtool -C coreboot.rom [...]}.
|
||||
@item It has various options related to the file format used to store these
|
||||
settings.
|
||||
@item It can also read/write the CMOS memory where the Coreboot settings can be
|
||||
located.
|
||||
@end itemize")
|
||||
;; Some files are "GPL-2.0-only or BSD-3-Clause", other are GPL-2.0-only
|
||||
;; and anyway there is. There is also a license declaration in
|
||||
;; cli/nvramtool.8 that applies to "This program" which uses the GPLv2.
|
||||
(license license:gpl2)))
|
||||
+12
-12
@@ -20,6 +20,18 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages debian)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages base)
|
||||
@@ -28,7 +40,6 @@
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages dbm)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages guile)
|
||||
@@ -42,17 +53,6 @@
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages wget)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26))
|
||||
|
||||
|
||||
@@ -108,7 +108,9 @@
|
||||
(lambda _
|
||||
(invoke "cmake" "--install" "."))))))
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
`(("libconfig" ,libconfig)
|
||||
("libedit" ,libedit)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("lld-wrapper" ,(make-lld-wrapper lld-17 #:lld-as-ld? #t))
|
||||
("llvm" ,llvm-17)
|
||||
|
||||
+13
-173
@@ -1,13 +1,12 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015-2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2016 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016, 2019-2021 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
|
||||
;;; Copyright © 2022 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
@@ -22,11 +21,9 @@
|
||||
;;; Copyright © 2021, 2024 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
|
||||
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2026 Anderson Torres <anderson.torres.8519@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -49,12 +46,12 @@
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
@@ -68,7 +65,6 @@
|
||||
#:use-module (gnu packages libidn)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages networking)
|
||||
@@ -88,173 +84,17 @@
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
|
||||
#:use-module (guix utils))
|
||||
|
||||
(define-public adns
|
||||
(package
|
||||
(name "adns")
|
||||
(version "1.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "git://git.chiark.greenend.org.uk/~ianmdlvl/adns.git")
|
||||
(commit (string-append "adns-" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"0ln3l5j7wb1xazrzl76p9xar52p6l2k1cwy7jazxw1acl71k9h5n"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; INFO: Tests expect real name resolution to work.
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; Make sure the programs under bin/ find libadns.so.
|
||||
(string-append "LDFLAGS=-Wl,-rpath -Wl,"
|
||||
#$output:out
|
||||
"/lib"))))
|
||||
(native-inputs
|
||||
(list m4))
|
||||
(home-page "https://www.gnu.org/software/adns/")
|
||||
(synopsis "Asynchronous DNS client library and utilities")
|
||||
(description
|
||||
"GNU adns is a C library that provides easy-to-use @acronym{DNS, Domain
|
||||
Name System} resolution functionality. The library is asynchronous, allowing
|
||||
several concurrent calls. The package also includes several command-line
|
||||
utilities for use in scripts.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public c-ares
|
||||
(package
|
||||
(name "c-ares")
|
||||
(version "1.34.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/c-ares/c-ares/releases/download/v"
|
||||
version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0br2msk3bpl5myhjp9vr5j2scpspvbg2fpnz69dcrr4ycpnxnf7s"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'filter-live-tests
|
||||
(lambda _
|
||||
;; Filter tests that require internet access.
|
||||
(setenv "GTEST_FILTER" "-*.Live*:*.FamilyV4*")))
|
||||
#$@(if (system-hurd?)
|
||||
#~((add-after 'unpack 'skip-tests
|
||||
(lambda _
|
||||
(substitute* "test/ares-test-main.cc"
|
||||
(("(^| )main *\\(.*" all)
|
||||
(string-append all " exit (77);\n")))))
|
||||
(add-after 'filter-live-tests 'filter-hurd-tests
|
||||
(lambda _
|
||||
(setenv "GTEST_FILTER"
|
||||
(string-append
|
||||
(getenv "GTEST_FILTER")
|
||||
":.*Basic/2"
|
||||
":.*CancelImmediate/2"
|
||||
":.*CancelImmediateGetHostByAddr/2"
|
||||
":.*CancelLater/1"
|
||||
":.*FamilyUnspecified/2"
|
||||
":.*FamilyV6/2"
|
||||
":.*GetAddrInfoParallelLookups/1"
|
||||
":.*GetHostByAddrDestroy/2"
|
||||
":.*GetHostByNameCNAMENoData/2"
|
||||
":.*GetHostByNameDestroyAbsolute/2"
|
||||
":.*GetHostByNameDestroyRelative/2"
|
||||
":.*GetHostByNameParallelLookups/1"
|
||||
":.*HostAlias/2"
|
||||
":.*HostAliasMissing/2"
|
||||
":.*HostAliasMissingFile/2"
|
||||
":.*NotImplResponse/2"
|
||||
":.*RefusedResponse/2"
|
||||
":.*Resend/1"
|
||||
":.*RetryWithoutEDNS/2"
|
||||
":.*SearchDomains/2"
|
||||
":.*SearchDomainsBare/2"
|
||||
":.*SearchDomainsServFailOnAAAA/2"
|
||||
":.*SearchDomainsWithResentReply/1"
|
||||
":.*SearchHighNdots/2"
|
||||
":.*SearchNoDataThenFail/2"
|
||||
":.*SearchNoDataThenNoDataBare/2"
|
||||
":.*SearchNoDataThenSuccess/2"
|
||||
":.*ServFailResponse/2"
|
||||
":.*SimpleQuery/2"
|
||||
":.*SockCallback/2"
|
||||
":.*SockConfigureCallback/2"
|
||||
":.*SortListV4/2"
|
||||
":.*SortListV6/2"
|
||||
":.*ThirdServer/2"
|
||||
":.*TruncationRetry/1"
|
||||
":.*UnspecifiedFamilyCname6A4/2"
|
||||
":.*UnspecifiedFamilyV4/2"
|
||||
":.*UnspecifiedFamilyV6/2")))))
|
||||
#~()))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(home-page "https://c-ares.haxx.se/")
|
||||
(synopsis "C library for asynchronous DNS requests")
|
||||
(description
|
||||
"C-ares is a C library that performs DNS requests and name resolution
|
||||
asynchronously. It is intended for applications which need to perform DNS
|
||||
queries without blocking, or need to perform multiple DNS queries in parallel.
|
||||
The primary examples of such applications are servers which communicate with
|
||||
multiple clients and programs with graphical user interfaces.")
|
||||
(license (license:x11-style "https://c-ares.haxx.se/license.html"))))
|
||||
|
||||
(define-public c-ares-for-node-lts
|
||||
(hidden-package c-ares))
|
||||
|
||||
(define-public c-ares-for-node-bootstrap
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit c-ares)
|
||||
(version "1.18.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://c-ares.haxx.se/download/c-ares-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kxviskwsaa7dcgscvssxa8ps88pdq7kq4z93gxvz7sam2l54z8s")))))))
|
||||
|
||||
;; INFO: gRPC requires a c-ares built with CMake in order to get the .cmake
|
||||
;; modules. We can not build c-ares itself with CMake because that would
|
||||
;; introduce a circular dependency through nghttp2.
|
||||
;;
|
||||
;; TODO: It would be nice if we could extract the modules somehow and make
|
||||
;; them work with the "normal" c-ares package instead of building a whole new
|
||||
;; library.
|
||||
(define-public c-ares/cmake
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit c-ares)
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; INFO: Tests require name resolution (the normal variant runs no
|
||||
;; tests).
|
||||
#:tests? #f)))))
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson))
|
||||
|
||||
(define-public cloudflare-cli
|
||||
(let ((commit "2d986d3ec1b0e3158c4bd40e8918947cb74aa392")
|
||||
|
||||
@@ -3792,7 +3792,7 @@ to enforce it.")
|
||||
(define-public python-vunit
|
||||
(package
|
||||
(name "python-vunit")
|
||||
(version "5.0.0-dev.10") ;v4.7.0 dates back from 2 years ago.
|
||||
(version "5.0.0-dev.9") ;v4.7.0 dates back from 2 years ago.
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3801,7 +3801,7 @@ to enforce it.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1gr9ghwgqly9zf0sf15ai20sac520rs84b9i5qjxdqpj26ayyl1q"))))
|
||||
(base32 "1j9rvlshzi4mdy7wah1j8ri63drkjb47xly22q40wvl2xp2ghqgs"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2023 Pierre-Henry Fröhring <phfrohring@deeplinks.com>
|
||||
;;; Copyright © 2024 Igor Goryachev <igor@goryachev.org>
|
||||
;;; Copyright © 2024, 2026 Igorj Gorjaĉev <igor@goryachev.org>
|
||||
;;; Copyright © 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@@ -24,6 +24,7 @@
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages erlang)
|
||||
#:use-module (gnu packages erlang-xyz)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages)
|
||||
@@ -423,6 +424,25 @@ implementing function decorators for Elixir.")
|
||||
(home-page "https://hexdocs.pm/decorator/")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public elixir-depscheck
|
||||
(package
|
||||
(name "elixir-depscheck")
|
||||
(version "1.0.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri "depscheck" version))
|
||||
(sha256
|
||||
(base32 "1v33ml2i19s59518j9031bsvipbf4xxr4xk49qx6xs3qby0018aw"))))
|
||||
(build-system mix-build-system)
|
||||
(synopsis "Checking dependency license compatibility in Elixir projects")
|
||||
(description "This package provides @code{elixir-depscheck}, a @code{CI/CD}
|
||||
tool for checking dependency license compatibility in Elixir projects. Reads
|
||||
license information from local hex metadata files and validates compatibility
|
||||
with your project's license using industry-standard rules.")
|
||||
(home-page "https://hexdocs.pm/depscheck/")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public elixir-erlex
|
||||
(package
|
||||
(name "elixir-erlex")
|
||||
@@ -731,6 +751,28 @@ Elixir.")
|
||||
(home-page "https://hexdocs.pm/mimic/")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public elixir-mix-audit
|
||||
(package
|
||||
(name "elixir-mix-audit")
|
||||
(version "2.1.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri "mix_audit" version))
|
||||
(sha256
|
||||
(base32 "0s9dnk42n5665s6l22qf05x63ly11n37am2kmybzccns4672kyc7"))))
|
||||
(build-system mix-build-system)
|
||||
(propagated-inputs
|
||||
(list elixir-jason
|
||||
elixir-yaml-elixir))
|
||||
(synopsis "Scanning Mix dependencies for security vulnerabilities")
|
||||
(description "This package provides @code{elixir-mix-audit}, a
|
||||
@code{mix deps.audit} task to scan @code{Mix} dependencies for security
|
||||
vulnerabilities. It draw its inspiration from tools like npm audit and
|
||||
bundler-audit.")
|
||||
(home-page "https://hexdocs.pm/mix_audit/")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public elixir-mox
|
||||
(package
|
||||
(name "elixir-mox")
|
||||
@@ -1227,6 +1269,34 @@ provides a polyfill for @code{dbg} which was introduced in Elixir 1.14.")
|
||||
(home-page "https://hexdocs.pm/verbs/")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public elixir-yaml-elixir
|
||||
(package
|
||||
(name "elixir-yaml-elixir")
|
||||
(version "2.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri "yaml_elixir" version))
|
||||
(sha256
|
||||
(base32 "1ihknd9qy8y533zd150ch2yag2h895hsp86wamqpm4dcgfpaqsya"))))
|
||||
(build-system mix-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-yamerl-hrl-path
|
||||
(lambda _
|
||||
(substitute* "lib/yaml_elixir/records.ex"
|
||||
(("internal\\/yamerl_constr\\.hrl")
|
||||
"yamerl_constr.hrl")))))))
|
||||
(propagated-inputs
|
||||
(list erlang-yamerl))
|
||||
(synopsis "YAML parser for Elixir based on native Erlang implementation")
|
||||
(description "This package provides @code{elixir-yaml-elixir}, a @code{YAML}
|
||||
parser for @code{Elixir} based on native @code{Erlang} implementation.")
|
||||
(home-page "https://hexdocs.pm/yaml_elixir/")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public elixir-zest
|
||||
(package
|
||||
(name "elixir-zest")
|
||||
|
||||
@@ -51,7 +51,8 @@
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1i10a5d7mlcrav47k7qirqvrqn2kbl5265fbcp8fzavr86xz67m6"))
|
||||
(patches (search-patches "elixir-path-length.patch"))))
|
||||
(patches (search-patches "elixir-path-length.patch"
|
||||
"elixir-vendoring-support.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
+12
-69
@@ -2809,56 +2809,6 @@ versions of a topic branch.")
|
||||
diffs.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public emacs-majutsu
|
||||
(package
|
||||
(name "emacs-majutsu")
|
||||
(version "0.6.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/0WD0/majutsu")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1b840z3p10jyh8d6kmj7syad7308qr9p09gsci4gmha0iw3adnx5"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; XXX: Test fails with `void-function transient--set-layout' when using
|
||||
;; wrapped ert-runner.
|
||||
#:test-command
|
||||
#~'(".ert-runner-real")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-references
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(emacs-substitute-variables "majutsu-jj.el"
|
||||
("majutsu-jj-executable"
|
||||
(search-input-file inputs "bin/jj")))))
|
||||
(add-after 'install 'install-docs
|
||||
(lambda _
|
||||
(with-directory-excursion "docs"
|
||||
(invoke "make" "majutsu.info")
|
||||
(install-file "majutsu.info"
|
||||
(in-vicinity #$output "share/info"))))))))
|
||||
(native-inputs
|
||||
;; Use unwrapped ert-runner in test, adding its inputs here.
|
||||
(modify-inputs (package-inputs emacs-ert-runner)
|
||||
(delete "bash-minimal")
|
||||
(prepend emacs-ert-runner texinfo)))
|
||||
(inputs (list jujutsu))
|
||||
(propagated-inputs (list emacs-magit))
|
||||
(home-page "https://github.com/0WD0/majutsu")
|
||||
(synopsis "Emacs interface for Jujutsu version control system")
|
||||
(description
|
||||
"Majutsu provides a @code{emacs-magit}-style interface for
|
||||
@code{jujutsu}, offering an efficient way to interact with Jujutsu repositories
|
||||
from within Emacs.")
|
||||
(license
|
||||
(list license:gpl3+
|
||||
license:expat))))
|
||||
|
||||
(define-public emacs-conflict-buttons
|
||||
;; No releases
|
||||
(let ((commit "22af851d6a0cdd226ef7ba0db54fa096c8ddf235")
|
||||
@@ -22429,7 +22379,7 @@ are common in Chromium-derived projects.")
|
||||
(define-public emacs-gnosis
|
||||
(package
|
||||
(name "emacs-gnosis")
|
||||
(version "0.10.3")
|
||||
(version "0.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -22438,7 +22388,7 @@ are common in Chromium-derived projects.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0kpzc2jw51sklz15v0d0vzm5ck05n3d90l02la4nxn8r85jb1f53"))))
|
||||
(base32 "003pmd0ahpcss5ydk3wbx5j45225ypa85zrgljz5qajijiybvxpi"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -22451,21 +22401,20 @@ are common in Chromium-derived projects.")
|
||||
(lambda _
|
||||
(setenv "HOME"
|
||||
(getenv "TMPDIR"))
|
||||
(mkdir-p (string-append
|
||||
(getenv "HOME")
|
||||
"/.emacs.d"))))
|
||||
(mkdir-p (string-append (getenv "HOME") "/.emacs.d"))))
|
||||
(add-before 'install 'make-info
|
||||
(lambda _
|
||||
(invoke "make" "doc" "GUIX_SHELL="))))))
|
||||
(native-inputs (list texinfo))
|
||||
(propagated-inputs (list emacs-transient))
|
||||
(propagated-inputs (list emacs-compat emacs-emacsql emacs-org-gnosis
|
||||
emacs-transient))
|
||||
(home-page "https://thanosapollo.org/projects/gnosis/")
|
||||
(synopsis "Personal knowledge system for GNU Emacs")
|
||||
(synopsis "Spaced repetition system for GNU Emacs")
|
||||
(description
|
||||
"Gnosis is a personal knowledge system for GNU Emacs that
|
||||
integrates note-taking with spaced repetition. It combines
|
||||
Zettelkasten-style linked notes with self-testing review,
|
||||
all stored in a single SQLite database.")
|
||||
"Gnosis is a spaced repetition system for note-taking and self-testing
|
||||
where notes are formatted as Question/Answer/Explanation. Notes are reviewed
|
||||
at spaced intervals based on the success or failure in recalling the answer to
|
||||
each question.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-drag-stuff
|
||||
@@ -39491,16 +39440,10 @@ user interfaces for various built-in modes.")
|
||||
(make-file-writable "calibredb-core.el")
|
||||
(let ((calibredb (search-input-file inputs "/bin/calibredb"))
|
||||
(fetch-ebook-metadata
|
||||
(search-input-file inputs "/bin/fetch-ebook-metadata"))
|
||||
(ebook-convert
|
||||
(search-input-file inputs "/bin/ebook-convert"))
|
||||
(calibre-debug
|
||||
(search-input-file inputs "/bin/calibre-debug")))
|
||||
(search-input-file inputs "/bin/fetch-ebook-metadata")))
|
||||
(emacs-substitute-variables "calibredb-core.el"
|
||||
("calibredb-fetch-metadata-program" fetch-ebook-metadata)
|
||||
("calibredb-program" calibredb)
|
||||
("calibredb-convert-program" ebook-convert)
|
||||
("calibredb-debug-program" calibre-debug))))))))
|
||||
("calibredb-program" calibredb))))))))
|
||||
(inputs
|
||||
(list calibre))
|
||||
(propagated-inputs
|
||||
|
||||
@@ -1902,7 +1902,7 @@ PicoBlaze; and Zilog Z80 families, plus many of their variants.")
|
||||
(inputs
|
||||
(list readline ucsim))
|
||||
(native-inputs
|
||||
(list bison boost flex python-minimal-wrapper texinfo zlib))
|
||||
(list bison boost flex python-2 texinfo zlib))
|
||||
(home-page "https://sdcc.sourceforge.net/")
|
||||
(synopsis "C compiler suite for 8-bit microcontrollers")
|
||||
(description "SDCC is a retargetable, optimizing Standard C compiler suite
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
|
||||
;;; Copyright © 2026 Daniel Khodabakhsh <d@niel.khodabakh.sh>
|
||||
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
|
||||
;;; Copyright © 2026 Brent Wedderburn <mb@bean.za.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -254,21 +253,13 @@ their devices.")
|
||||
(replace 'build (assoc-ref gnu:%standard-phases 'build))
|
||||
(replace 'check (assoc-ref gnu:%standard-phases 'check))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let* ((bin (string-append #$output "/bin"))
|
||||
(share (string-append #$output "/share"))
|
||||
(apps (string-append share "/applications"))
|
||||
(icons (string-append share "/icons/hicolor/128x128/apps")))
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append #$output "/bin"))
|
||||
(share (string-append #$output "/share/librecad")))
|
||||
(mkdir-p bin)
|
||||
(install-file "unix/librecad" bin)
|
||||
(mkdir-p share)
|
||||
(copy-recursively "unix/resources"
|
||||
(string-append share "/librecad"))
|
||||
(mkdir-p apps)
|
||||
(install-file "desktop/librecad.desktop" apps)
|
||||
(mkdir-p icons)
|
||||
(copy-file "librecad/res/main/librecad.png"
|
||||
(string-append icons "/librecad.png"))))))))
|
||||
(copy-recursively "unix/resources" share)))))))
|
||||
(inputs
|
||||
(list bash-minimal boost muparser freetype qtbase-5 qtsvg-5))
|
||||
(native-inputs
|
||||
|
||||
@@ -2202,7 +2202,7 @@ while working with large number of files.")
|
||||
(define-public squashfuse
|
||||
(package
|
||||
(name "squashfuse")
|
||||
(version "0.6.1")
|
||||
(version "0.1.105")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2211,7 +2211,7 @@ while working with large number of files.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16ds2xlk6hb5cggi6di8s0aalir3mrx7rk24rw5daad1xw4dbq0y"))))
|
||||
(base32 "03aw8pw8694jyrzpnbry05rk9718sqw66kiyq878bbb679gl7224"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2249,8 +2249,7 @@ memory-efficient.")
|
||||
(install-file "fuseprivate.h"
|
||||
(string-append #$output
|
||||
"/include/squashfuse/")))))))))
|
||||
(inputs (list `(,fuse "out")
|
||||
`(,fuse "static")
|
||||
(inputs (list fuse-for-appimage
|
||||
`(,zstd "lib")
|
||||
`(,zstd "static")
|
||||
`(,zlib "out")
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2016, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2018, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
|
||||
@@ -84,6 +84,7 @@
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages mtools)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
@@ -523,6 +524,162 @@ Loke and Heimdall communicate via the custom Samsung-developed protocol typicall
|
||||
referred to as the \"Odin 3 protocol\".")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ifdtool
|
||||
(package
|
||||
(name "ifdtool")
|
||||
(version "25.09")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://review.coreboot.org/coreboot")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
"INSTALL=install"
|
||||
(string-append "PREFIX=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "util/ifdtool")))
|
||||
(delete 'configure)) ; no configure script
|
||||
#:tests? #f)) ; no test suite
|
||||
(home-page "https://doc.coreboot.org/util/ifdtool/")
|
||||
(synopsis "Intel Firmware Descriptor dumper")
|
||||
(description "This package provides @command{ifdtool}, a program to
|
||||
dump Intel Firmware Descriptor data of an image file.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public bincfg
|
||||
(package
|
||||
(name "bincfg")
|
||||
(version "25.09")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://review.coreboot.org/coreboot")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no test suite
|
||||
#:make-flags
|
||||
#~(list
|
||||
(string-append "CC=" #$(cc-for-target)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "util/bincfg")))
|
||||
(add-after 'build 'build-binaries
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(for-each
|
||||
(lambda (target result)
|
||||
(apply invoke "make" (string-append "gen-" target) make-flags)
|
||||
(rename-file result
|
||||
(string-append target ".bin")))
|
||||
(list
|
||||
;; generate GbE for X200
|
||||
"gbe-ich9m"
|
||||
;; generate GbE for X220/x230
|
||||
"gbe-82579LM"
|
||||
;; generate IFD for X200
|
||||
"ifd-x200")
|
||||
(list
|
||||
"flashregion_3_gbe.bin"
|
||||
"flashregion_3_gbe.bin"
|
||||
"flashregion_0_fd.bin"))))
|
||||
;; The Makefile has no install target.
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((bin (string-append #$output "/bin"))
|
||||
(lib (string-append #$output "/lib/bincfg"))
|
||||
(data (string-append #$output "/share/bincfg")))
|
||||
;; Install the program
|
||||
(install-file "bincfg" bin)
|
||||
;; And its data
|
||||
(for-each
|
||||
(lambda (path)
|
||||
(install-file path data))
|
||||
(append (find-files "." ".*\\.set")
|
||||
(find-files "." ".*\\.spec")))
|
||||
;; And the files generated with the data
|
||||
(for-each
|
||||
(lambda (path)
|
||||
(install-file path lib))
|
||||
(find-files "." ".*\\.bin"))))))))
|
||||
(native-inputs (list bison flex))
|
||||
(home-page "https://coreboot.org")
|
||||
(synopsis "Encoder/decoder for binary formats described in text files")
|
||||
(description "
|
||||
The bincfg program comes with specifications files for the following binary
|
||||
formats:
|
||||
@itemize
|
||||
@item Various DDR3 and DDR4 SPD
|
||||
@item Configuration data for the Intel 82579LM Gigabit Ethernet PHY
|
||||
@item Configuration data for the Intel Gigabit Ethernet controller present in
|
||||
the Intel ICH9-M chipset.
|
||||
@item Intel Firmware Descriptor data for the Lenovo ThinkPad X200
|
||||
@item Configuration data for the ITE IT8718F SuperIO
|
||||
@end itemize
|
||||
It also comes with example files generated by bincfg.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public intelmetool
|
||||
(package
|
||||
(name "intelmetool")
|
||||
(version "25.09")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://review.coreboot.org/coreboot")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no test suite
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
"INSTALL=install"
|
||||
(string-append "PREFIX=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "util/intelmetool")))
|
||||
(delete 'configure) ;no configure script
|
||||
(delete 'check))))
|
||||
(inputs (list pciutils zlib))
|
||||
(home-page
|
||||
"https://github.com/coreboot/coreboot/tree/main/util/intelmetool/")
|
||||
(synopsis "Intel Management Engine tools")
|
||||
(description "This package provides tools for working with Intel
|
||||
Management Engine (ME). You need to @code{sudo rmmod mei_me} and
|
||||
@code{sudo rmmod mei} before using this tool. Also pass
|
||||
@code{iomem=relaxed} to the Linux kernel command line.")
|
||||
(license license:gpl2)
|
||||
|
||||
;; This is obviously an Intel thing, plus it requires <cpuid.h>.
|
||||
(supported-systems '("x86_64-linux" "i686-linux"))))
|
||||
|
||||
(define-public me-cleaner
|
||||
(package
|
||||
(name "me-cleaner")
|
||||
|
||||
+42
-142
@@ -97,7 +97,6 @@
|
||||
;;; Copyright © 2025 Aiden Isik <aidenisik+git@member.fsf.org>
|
||||
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
|
||||
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
|
||||
;;; Copyright © 2026 Nikita Alkhovik <forgoty13@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -115,32 +114,40 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages games)
|
||||
#:autoload (gnu packages pascal) (fpc)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix svn-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages acl)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages avahi)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages avahi)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages code)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages code)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages emulators)
|
||||
#:use-module (gnu packages flex)
|
||||
@@ -195,8 +202,8 @@
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages messaging)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages music)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages netpbm)
|
||||
#:use-module (gnu packages networking)
|
||||
@@ -205,6 +212,7 @@
|
||||
#:use-module (gnu packages oneapi)
|
||||
#:use-module (gnu packages opencl)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:autoload (gnu packages pascal) (fpc)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages perl-check)
|
||||
#:use-module (gnu packages perl-compression)
|
||||
@@ -222,9 +230,9 @@
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages regex)
|
||||
#:use-module (gnu packages ruby-xyz)
|
||||
#:use-module (gnu packages shells)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages shells)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages squirrel)
|
||||
#:use-module (gnu packages swig)
|
||||
@@ -241,31 +249,22 @@
|
||||
#:use-module (gnu packages wget)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system haskell)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system scons)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix svn-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module ((srfi srfi-1) #:hide (zip))
|
||||
#:use-module (srfi srfi-26))
|
||||
|
||||
@@ -484,7 +483,7 @@ mouse and joystick control, and original music.")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/drummyfish/anarch")
|
||||
(url "https://git.sr.ht/~drummyfish/Anarch")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -4277,11 +4276,11 @@ interface or via an external visual interface such as GNU XBoard.")
|
||||
(("TestIOTouchDragAnywhere (test_integration)" all _) _))))
|
||||
(add-before 'bootstrap 'autoreconf
|
||||
(lambda _
|
||||
;; automake is out of date in the source
|
||||
;; autoreconf updates the automake scripts
|
||||
(invoke "autoreconf")
|
||||
;; Build fails when autom4te.cache exists.
|
||||
(delete-file-recursively "autom4te.cache")
|
||||
;; automake is out of date in the source
|
||||
;; autoreconf updates the automake scripts
|
||||
(invoke "autoreconf")
|
||||
;; Build fails when autom4te.cache exists.
|
||||
(delete-file-recursively "autom4te.cache")
|
||||
#t))
|
||||
(add-after 'install 'delete-freedinkedit-desktop
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
@@ -4611,105 +4610,6 @@ for common mesh file formats, and collision detection.")
|
||||
(home-page "https://irrlicht.sourceforge.io/")
|
||||
(license license:zlib)))
|
||||
|
||||
(define-public pegasus-frontend
|
||||
(let ((commit "c3462e68bf3a178420b44f356998255f8d82a113")
|
||||
(revision "weekly_2024w38"))
|
||||
(package
|
||||
(name "pegasus-frontend")
|
||||
(version (git-version "0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mmatyas/pegasus-frontend")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "1p350nlbif33mw5cbqxwli5yf47dxpransxlj2wp8xvh4w1rb3jx"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:qtbase qtbase-5
|
||||
#:make-flags
|
||||
#~(list (string-append "INSTALL_DESKTOPDIR="
|
||||
#$output "/share/applications")
|
||||
(string-append "INSTALL_ICONDIR="
|
||||
#$output "/share/icons/hicolor"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'copy-modules
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(copy-recursively #$(this-package-native-input
|
||||
"SortFilterProxyModel")
|
||||
"./thirdparty/SortFilterProxyModel")
|
||||
(copy-recursively #$(this-package-native-input
|
||||
"pegasus-theme-grid")
|
||||
"./src/themes/pegasus-theme-grid")
|
||||
(copy-recursively #$(this-package-native-input
|
||||
"pegasus-frontend-translations") "./lang")))
|
||||
(add-before 'check 'prepare-test-env
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
(setenv "QT_QUICK_BACKEND" "software"))))
|
||||
(add-after 'qt-wrap 'gst-wrap
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(wrap-program (string-append #$output "/bin/pegasus-fe")
|
||||
`("GST_PLUGIN_PATH" suffix
|
||||
,(search-path-as-list '("lib/gstreamer-1.0")
|
||||
(map cdr inputs)))))))))
|
||||
(inputs (list sdl2
|
||||
bash-minimal
|
||||
qtbase-5
|
||||
qtsvg-5
|
||||
qtdeclarative-5
|
||||
qtgraphicaleffects
|
||||
qtmultimedia-5
|
||||
qtgamepad-5
|
||||
gst-plugins-base
|
||||
gst-plugins-bad
|
||||
gst-plugins-good))
|
||||
(native-inputs (list qttools-5
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://github.com/mmatyas/pegasus-frontend-translations")
|
||||
(commit
|
||||
"46c7cecec745bdd4c61bfc7ecb967156ad208642")))
|
||||
(file-name "pegasus-frontend-translations")
|
||||
(sha256 (base32
|
||||
"0rvlx199wdrjxr8pgibga556zf4njq4w2n31fdirqgb631rgyqxd")))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://github.com/mmatyas/pegasus-theme-grid")
|
||||
(commit
|
||||
"5951db6f2a4fe0db6a4fd6f00da1f280cadfa536")))
|
||||
(file-name "pegasus-theme-grid")
|
||||
(sha256 (base32
|
||||
"1nfnq6lppdm9ni6jk48l1i7hk90m8w2p13swl5nr4zwczln8dbz1")))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://github.com/mmatyas/SortFilterProxyModel")
|
||||
(commit
|
||||
"2061f8136ba372fd06c1928a610258b7d88cb144")))
|
||||
(file-name "SortFilterProxyModel")
|
||||
(sha256 (base32
|
||||
"16va8fcf7v6kfm8r9zym0516qrk4vlsy5wmpd3r3002wpz8q39h2")))))
|
||||
(synopsis
|
||||
"Graphical frontend for launching and managing game collection")
|
||||
(description
|
||||
"Pegasus is a graphical frontend for browsing your game library and
|
||||
launching all kinds of games from the same place. It's focusing on
|
||||
customizability, cross platform support (including embedded)
|
||||
and high performance.")
|
||||
(home-page "https://pegasus-frontend.org")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public mars
|
||||
;; No official release since 2013: use the latest commit.
|
||||
(let ((commit "84664cda094efe6e49d9b1550e4f4f98c33eefa2")
|
||||
@@ -6749,7 +6649,7 @@ in-window at 640x480 resolution or fullscreen.")
|
||||
(define-public warzone2100
|
||||
(package
|
||||
(name "warzone2100")
|
||||
(version "4.6.3")
|
||||
(version "4.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/warzone2100/releases/"
|
||||
@@ -6765,7 +6665,7 @@ in-window at 640x480 resolution or fullscreen.")
|
||||
"inih" "re2" "utf8proc" "utfcpp")))))
|
||||
(sha256
|
||||
(base32
|
||||
"0fmiy0pm56yy69c0nhynjdiaslwlfg8cdvfl5s78g5pzdi1y47s3"))))
|
||||
"02x5ihkpfkpjxwvh00d8yqzd796af7d684nk96hzhhq28qw5bb16"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments (list #:configure-flags #~'("-GNinja"
|
||||
"-DWZ_DISTRIBUTOR=Guix"
|
||||
@@ -6802,7 +6702,7 @@ in-window at 640x480 resolution or fullscreen.")
|
||||
opusfile
|
||||
physfs
|
||||
re2
|
||||
sdl3
|
||||
sdl2
|
||||
sqlite
|
||||
utf8proc
|
||||
utfcpp
|
||||
@@ -9243,7 +9143,7 @@ elements to achieve a simple goal in the most complex way possible.")
|
||||
(define-public the-powder-toy
|
||||
(package
|
||||
(name "the-powder-toy")
|
||||
(version "99.5.394")
|
||||
(version "99.3.384")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -9252,7 +9152,7 @@ elements to achieve a simple goal in the most complex way possible.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0wd0sg3lpl9xafyj76syvpdjh574cxjmxaf9kssfjjxs20y3hjn8"))
|
||||
(base32 "0l067j0bbzvr0i2prxrgb0af4xdpl648x741jgnyp4bjzdbm61x7"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(substitute* "meson.build"
|
||||
@@ -10243,7 +10143,7 @@ your score gets higher, you level up and the blocks fall faster.")
|
||||
"-DES_USE_SYSTEM_LIBRARIES=1")
|
||||
#:make-flags #~(list (string-append "PREFIX=" #$output))
|
||||
#:build-type "Release"
|
||||
#:tests? (not (target-x86-32?))
|
||||
#:tests? (not (target-x86-32?))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-paths
|
||||
@@ -11227,7 +11127,7 @@ levels to unlock.")
|
||||
(define-public simgear
|
||||
(package
|
||||
(name "simgear")
|
||||
(version "2024.1.5")
|
||||
(version "2024.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -11239,7 +11139,7 @@ levels to unlock.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ygdc8xkrj7qzm9zklibb1v5w3jp718707zmiwl8fn63sxanbqsq"))
|
||||
(base32 "1k855yxq06gv42f83c3k9hrsz05xxj6vi1c60227zm0dx3jkb4jq"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -11291,7 +11191,7 @@ and also provides the base for the FlightGear Flight Simulator.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0hpfvacnba2kcyjwm01lkrqkz0gccvljjil8b0ai42l38hxn5r5h"))
|
||||
(base32 "0xlpry1g5xci4qmj37rjk4sdhg9zada0vw6a047gsm7cq5p7pkxk"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -11375,12 +11275,12 @@ and also provides the base for the FlightGear Flight Simulator.")
|
||||
("flightgear-data"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://mirrors.ibiblio.org/flightgear/ftp/release-"
|
||||
(uri (string-append "mirror://sourceforge/flightgear/release-"
|
||||
(version-major+minor version) "/"
|
||||
"FlightGear-" version "-data.txz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0d81yz9jqmg2jzw5rm769pl1j18pvh2mjkx61l13kw76ja8p6159"))))))
|
||||
"0pgwxpm5cdm0y6klrmpqspmhmqsfxshz4jljw2kd4wy18fqzd1s6"))))))
|
||||
(home-page "https://www.flightgear.org/")
|
||||
(synopsis "Flight simulator")
|
||||
(description "The goal of the FlightGear project is to create a
|
||||
@@ -12284,7 +12184,7 @@ for using any UCI engine and also to connect UCI engines to Lichess and IRC.")
|
||||
(base32 "1kkcnpkzgybm7rqg7nafd7sqd5m4alns6l4j5zcf3p41jdc9s3iv"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(inputs (list automake autoconf pkg-config intltool
|
||||
gettext-minimal libtool glib gtk+-2 boost))
|
||||
gettext-minimal libtool glib gtk+-2 boost))
|
||||
(arguments (list #:tests? #f)) ; No tests in source.
|
||||
(home-page "http://nine-mens-morris.net/downloads.html")
|
||||
(synopsis "Implementation of the board game Nine Men's Morris")
|
||||
|
||||
@@ -2936,7 +2936,7 @@ to the OSM opening hours specification.")
|
||||
(define-public josm
|
||||
(package
|
||||
(name "josm")
|
||||
(version "19555")
|
||||
(version "19539")
|
||||
(source (origin
|
||||
(method svn-fetch)
|
||||
(uri (svn-reference
|
||||
@@ -2945,7 +2945,7 @@ to the OSM opening hours specification.")
|
||||
(recursive? #f)))
|
||||
(sha256
|
||||
(base32
|
||||
"0kpshdj8kf9ag7h1qqrh9jqc6c9iv8v369mk60a8g7cbzf0xpblw"))
|
||||
"05kslpvdwl4fldjzl6m2kmqvbmjv5yvipfavg01l30ywhw2c7v7v"))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages ebook)
|
||||
#:use-module (gnu packages enchant)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
@@ -682,7 +681,7 @@ and a high score table.")
|
||||
(define-public komikku
|
||||
(package
|
||||
(name "komikku")
|
||||
(version "50.1.0")
|
||||
(version "1.99.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -692,7 +691,7 @@ and a high score table.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q858zvpqy32nb2lxdfy1k6fgal46kp634534fg983192fyk1pqp"))))
|
||||
"1did8rh3aw6d3g1myavsma986rwashw09g3m442lv8fzmdiw18r4"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -741,10 +740,8 @@ and a high score table.")
|
||||
python-cloudscraper
|
||||
python-colorthief
|
||||
python-dateparser
|
||||
python-ebooklib
|
||||
python-emoji
|
||||
python-keyring
|
||||
python-jxlpy
|
||||
python-lxml
|
||||
python-magic
|
||||
python-natsort
|
||||
@@ -780,7 +777,7 @@ developed with the aim of being used with the Librem 5 phone.")
|
||||
(define-public komikku-servers
|
||||
(package
|
||||
(name "komikku-servers")
|
||||
(version "50.1.0")
|
||||
(version "1.99.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -790,7 +787,7 @@ developed with the aim of being used with the Librem 5 phone.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q858zvpqy32nb2lxdfy1k6fgal46kp634534fg983192fyk1pqp"))))
|
||||
"1did8rh3aw6d3g1myavsma986rwashw09g3m442lv8fzmdiw18r4"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
+31
-34
@@ -11258,20 +11258,20 @@ basically a text box in which notes can be written.")
|
||||
(define-public gucharmap
|
||||
(let ((unicode-files
|
||||
'(("Blocks.txt"
|
||||
"05fbpc7miqpv7yic5xkm74ybzxkaf5r58ww21a1iwxqr3apyzvf0")
|
||||
"041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
|
||||
("DerivedAge.txt"
|
||||
"160r7wwidj3c2jl4cw3am0c5d0l7qndis9xx38h0y8fwidvdzv7q")
|
||||
"04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
|
||||
("NamesList.txt"
|
||||
"1x1smmn2kmy8clf6ny2njln75i888lidckc6ssyp2gdhgasdrkhd")
|
||||
"0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
|
||||
("Scripts.txt"
|
||||
"1grmn3bd4m0rcmz544h94kimlj3gf1f343s8177ddrxfmg9m0plz")
|
||||
"18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
|
||||
("UnicodeData.txt"
|
||||
"0327jqfw2hyq8x986cfhwrp717r2jl7ydjjwvzp7biarrcfzq7if")
|
||||
"07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
|
||||
("Unihan.zip"
|
||||
"0pjbyf77lbaxdhwidvpgp81cw13lfhlaw1ynn9vsmkssahmqp97p"))))
|
||||
"1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
|
||||
(package
|
||||
(name "gucharmap")
|
||||
(version "17.0.1")
|
||||
(version "12.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -11280,19 +11280,16 @@ basically a text box in which notes can be written.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sfixlmk7qajcvls6kv2hfczmjafjcr54aczwcdfmp5jjll4m17r"))))
|
||||
(build-system meson-build-system)
|
||||
"0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:modules ((ice-9 match)
|
||||
(guix build meson-build-system)
|
||||
(guix build glib-or-gtk-build-system)
|
||||
(guix build utils))
|
||||
#:glib-or-gtk? #t
|
||||
#:configure-flags
|
||||
(list
|
||||
"-Ducd_path=../unicode-data"
|
||||
"-Dvapi=false"
|
||||
;; gtk-doc fails because it didn't generate a devhelp2 file
|
||||
"-Ddocs=false")
|
||||
"CFLAGS=-g -O2 -Wno-error=incompatible-pointer-types"
|
||||
"--with-unicode-data=../unicode-data")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'prepare-unicode-data
|
||||
@@ -11305,26 +11302,26 @@ basically a text box in which notes can be written.")
|
||||
',unicode-files))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
(cons* desktop-file-utils
|
||||
(list glib "bin")
|
||||
gobject-introspection
|
||||
intltool
|
||||
itstool
|
||||
pkg-config
|
||||
python
|
||||
unzip
|
||||
(map (match-lambda
|
||||
((file hash)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://www.unicode.org/Public/17.0.0/ucd/"
|
||||
file))
|
||||
(sha256 (base32 hash)))))
|
||||
unicode-files)))
|
||||
`(("desktop-file-utils" ,desktop-file-utils)
|
||||
("glib:bin" ,glib "bin") ; for glib-compile-resources.
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
("intltool" ,intltool)
|
||||
("itstool" ,itstool)
|
||||
("pkg-config" ,pkg-config)
|
||||
,@(map (match-lambda
|
||||
((file hash)
|
||||
`(,file
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.unicode.org/Public/12.0.0/ucd/"
|
||||
file))
|
||||
(sha256 (base32 hash))))))
|
||||
unicode-files)
|
||||
("unzip" ,unzip)))
|
||||
(inputs
|
||||
(list gtk+
|
||||
libxml2))
|
||||
`(("gtk+" ,gtk+)
|
||||
("xmllint" ,libxml2)))
|
||||
(home-page "https://wiki.gnome.org/Apps/Gucharmap")
|
||||
(synopsis "Unicode character picker and font browser")
|
||||
(description
|
||||
|
||||
+21
-21
@@ -43,33 +43,34 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages gnupg)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages enlightenment)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages openldap)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages perl-check)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages pth)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages security-token)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages swig)
|
||||
@@ -77,24 +78,23 @@
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages tor)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public libgpg-error
|
||||
|
||||
@@ -605,9 +605,9 @@ in the case of Firefox, it is browser/locales/all-locales."
|
||||
"zh-TW"))
|
||||
|
||||
;;; Please keep these versions in sync with icedove.
|
||||
(define %icecat-base-version "140.9.1")
|
||||
(define %icecat-base-version "140.9.0")
|
||||
(define %icecat-version (string-append %icecat-base-version "-gnu1"))
|
||||
(define %icecat-build-id "20260414000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define %icecat-build-id "20260324000000") ;must be of the form YYYYMMDDhhmmss
|
||||
|
||||
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
|
||||
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
|
||||
@@ -627,9 +627,9 @@ in the case of Firefox, it is browser/locales/all-locales."
|
||||
"firefox-" upstream-firefox-version ".source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hld2kbzvrmr7pqq0r5hw639xl8kw29lm2hsbn0m4kxang1fdlj5"))))
|
||||
"0b79x61w51fjf12p5sr9pipg4b3fjdnbsg0j20fdai3jq6jb4wmr"))))
|
||||
|
||||
(gnuzilla-commit "f3595923458a5255f61a3853bd83bb5f004dc3bc")
|
||||
(gnuzilla-commit "10a8be3fcf725ed01ffb7279ec27c2fba55dd2d2")
|
||||
(gnuzilla-source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -640,7 +640,7 @@ in the case of Firefox, it is browser/locales/all-locales."
|
||||
(string-take gnuzilla-commit 8)))
|
||||
(sha256
|
||||
(base32
|
||||
"03kc08cvmdv3sxihf5hfhw2k91mg1y6f46b3x47p7q98phgk03cv"))))
|
||||
"076s3zpq0cj24a2pjarb57k1xv9z45xazps8rgypzw8yc4pxi9rj"))))
|
||||
|
||||
;; 'search-patch' returns either a valid file name or #f, so wrap it
|
||||
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
;;; Copyright © 2025 Jared Klingenberger <jkling@noreply.codeberg.org>
|
||||
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
|
||||
;;; Copyright © 2026 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2026 Evgeny Pisemsky <mail@pisemsky.site>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -387,7 +386,6 @@ devices.")
|
||||
;; - cloud.google.com/go/kms
|
||||
;; - cloud.google.com/go/longrunning
|
||||
;; - cloud.google.com/go/monitoring
|
||||
;; - cloud.google.com/go/security
|
||||
;; - cloud.google.com/go/storage
|
||||
(for-each delete-file-recursively
|
||||
(list "auth"
|
||||
@@ -396,7 +394,6 @@ devices.")
|
||||
"kms"
|
||||
"longrunning"
|
||||
"monitoring"
|
||||
"security"
|
||||
"storage"))))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
@@ -786,51 +783,6 @@ its service definition.")
|
||||
"This package provides a Go Client Library for Cloud Monitoring API.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-cloud-google-com-go-security
|
||||
(package
|
||||
(name "go-cloud-google-com-go-security")
|
||||
(version "1.21.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/googleapis/google-cloud-go")
|
||||
(commit (go-version->git-ref version #:subdir "security"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1pn77lf1d22sqpkia9zccdhdihlqc48lls6y9npc2wrp4lman2kv"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet #~(begin
|
||||
(define (delete-all-but directory . preserve)
|
||||
(with-directory-excursion directory
|
||||
(let* ((pred (negate (cut member <>
|
||||
(cons* "." ".." preserve))))
|
||||
(items (scandir "." pred)))
|
||||
(for-each (cut delete-file-recursively <>) items))))
|
||||
(delete-all-but "." "security")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "cloud.google.com/go/security"
|
||||
#:unpack-path "cloud.google.com/go"))
|
||||
(propagated-inputs
|
||||
(list go-cloud-google-com-go-iam
|
||||
go-cloud-google-com-go-longrunning
|
||||
go-github-com-googleapis-gax-go-v2
|
||||
go-google-golang-org-api
|
||||
go-google-golang-org-genproto
|
||||
go-google-golang-org-genproto-googleapis-api
|
||||
go-google-golang-org-grpc
|
||||
go-google-golang-org-protobuf))
|
||||
(home-page "https://cloud.google.com/go")
|
||||
(synopsis "Google Cloud Certificate Authority API")
|
||||
(description
|
||||
"This package provides a Go Client Library for Certificate Authority API.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-cloud-google-com-go-storage
|
||||
(package
|
||||
(name "go-cloud-google-com-go-storage")
|
||||
@@ -10262,54 +10214,6 @@ Call}.")
|
||||
(propagated-inputs
|
||||
(list go-golang-org-x-net))))
|
||||
|
||||
(define-public go-github-com-jellydator-ttlcache-v3
|
||||
(package
|
||||
(name "go-github-com-jellydator-ttlcache-v3")
|
||||
(version "3.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jellydator/ttlcache")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0c7k99d0km5vplfikb58j2wbriy3mzzrrfrc0d85x50km0y4g4ln"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/jellydator/ttlcache/v3"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-examples-and-benchmarks
|
||||
(lambda* (#:key tests? import-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
(delete-file-recursively "bench")
|
||||
(delete-file-recursively "examples")))))))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify
|
||||
go-go-uber-org-goleak))
|
||||
(propagated-inputs
|
||||
(list go-golang-org-x-sync))
|
||||
(home-page "https://github.com/jellydator/ttlcache")
|
||||
(synopsis "In-memory cache with item expiration and generics")
|
||||
(description
|
||||
"TTLCache is an in-memory cache with item expiration and generics which
|
||||
provides the following features:
|
||||
|
||||
@itemize
|
||||
@item simple API
|
||||
@item type parameters
|
||||
@item item expiration and automatic deletion
|
||||
@item automatic expiration time extension on each Get call
|
||||
@item loader interface that may be used to load/lazily initialize missing
|
||||
citem items
|
||||
@item thread safety
|
||||
@item event handlers (insertion, update, and eviction)
|
||||
@item metrics
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-jeremija-gosubmit
|
||||
(package
|
||||
(name "go-github-com-jeremija-gosubmit")
|
||||
@@ -10611,33 +10515,6 @@ jsoniter and variable type declarations (if any). jsoniter interfaces gives
|
||||
https://github.com/flynn/noise crypto protocols.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-juju-ratelimit
|
||||
(package
|
||||
(name "go-github-com-juju-ratelimit")
|
||||
(version "1.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/juju/ratelimit")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1qbjcm4y53awkqmpxb1nm9c1xdylc44vph4mn30qjb5wrcqy7c1r"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/juju/ratelimit"))
|
||||
(native-inputs
|
||||
(list go-gopkg-in-check-v1))
|
||||
(home-page "https://github.com/juju/ratelimit")
|
||||
(synopsis "Efficient token bucket implementation")
|
||||
(description
|
||||
"The ratelimit package provides an efficient
|
||||
@url{http://en.wikipedia.org/wiki/Token_bucket, token bucket} implementation
|
||||
that can be used to limit the rate of arbitrary things.")
|
||||
(license license:lgpl3)))
|
||||
|
||||
(define-public go-github-com-julienschmidt-httprouter
|
||||
(package
|
||||
(name "go-github-com-julienschmidt-httprouter")
|
||||
@@ -16098,512 +15975,6 @@ support.")
|
||||
kinds of referrer URLs (search, social, ...).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-sigstore-rekor
|
||||
(package
|
||||
(name "go-github-com-sigstore-rekor")
|
||||
(version "1.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sigstore/rekor")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1g2xma0fzy7a4nv7bj04pj9vqg4hbbz3j3jxkir0sxql5ragj36d"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/sigstore/rekor"
|
||||
;; XXX: Remove when all inputs are packaged.
|
||||
#:test-subdirs
|
||||
#~(list "pkg/events/newentry"
|
||||
"pkg/indexstorage/mysql"
|
||||
"pkg/pki/minisign"
|
||||
"pkg/pki/pgp"
|
||||
"pkg/pki/ssh"
|
||||
"pkg/pki/tuf"
|
||||
"pkg/pki/x509"
|
||||
"pkg/pubsub/gcp"
|
||||
"pkg/util")))
|
||||
(native-inputs
|
||||
(list go-github-com-asaskevich-govalidator
|
||||
go-github-com-data-dog-go-sqlmock
|
||||
go-github-com-golang-mock
|
||||
go-github-com-google-go-cmp
|
||||
go-github-com-spf13-cobra
|
||||
go-github-com-spf13-pflag
|
||||
go-github-com-spf13-viper
|
||||
go-github-com-stretchr-testify
|
||||
go-go-uber-org-goleak
|
||||
go-sigs-k8s-io-release-utils))
|
||||
(propagated-inputs
|
||||
(list go-cloud-google-com-go-iam
|
||||
go-github-com-asaskevich-govalidator
|
||||
go-github-com-blang-semver
|
||||
go-github-com-cyberphone-json-canonicalization
|
||||
go-github-com-go-chi-chi-v5
|
||||
go-github-com-go-openapi-errors
|
||||
go-github-com-go-openapi-loads
|
||||
go-github-com-go-openapi-runtime
|
||||
go-github-com-go-openapi-spec
|
||||
go-github-com-go-openapi-strfmt
|
||||
go-github-com-go-openapi-swag
|
||||
go-github-com-go-openapi-swag-conv
|
||||
go-github-com-go-openapi-validate
|
||||
go-github-com-go-sql-driver-mysql
|
||||
go-github-com-go-viper-mapstructure-v2
|
||||
go-github-com-google-trillian
|
||||
go-github-com-grpc-ecosystem-go-grpc-middleware
|
||||
go-github-com-hashicorp-go-cleanhttp
|
||||
go-github-com-hashicorp-go-retryablehttp
|
||||
go-github-com-in-toto-in-toto-golang
|
||||
go-github-com-jedisct1-go-minisign
|
||||
go-github-com-jmoiron-sqlx
|
||||
go-github-com-prometheus-client-golang
|
||||
go-github-com-redis-go-redis-v9
|
||||
go-github-com-rs-cors
|
||||
go-github-com-secure-systems-lab-go-securesystemslib
|
||||
go-github-com-sigstore-protobuf-specs
|
||||
go-github-com-sigstore-sigstore
|
||||
go-github-com-sigstore-sigstore-pkg-signature-kms-aws
|
||||
go-github-com-sigstore-sigstore-pkg-signature-kms-azure
|
||||
go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
|
||||
go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault
|
||||
go-github-com-theupdateframework-go-tuf
|
||||
go-github-com-tink-crypto-tink-go-awskms-v2
|
||||
go-github-com-tink-crypto-tink-go-gcpkms-v2
|
||||
go-github-com-tink-crypto-tink-go-v2
|
||||
go-github-com-transparency-dev-merkle
|
||||
go-github-com-veraison-go-cose
|
||||
go-go-uber-org-zap
|
||||
go-golang-org-x-crypto
|
||||
go-golang-org-x-mod
|
||||
go-golang-org-x-net
|
||||
go-golang-org-x-sync
|
||||
go-google-golang-org-api
|
||||
go-google-golang-org-genproto-googleapis-rpc
|
||||
go-google-golang-org-grpc
|
||||
go-google-golang-org-protobuf
|
||||
go-gopkg-in-ini-v1
|
||||
go-gopkg-in-yaml-v2
|
||||
go-sigs-k8s-io-yaml
|
||||
|
||||
;; TODO: Complete packaging.
|
||||
;; go-cloud-google-com-go-profiler
|
||||
;; go-cloud-google-com-go-pubsub
|
||||
;; go-cloud-google-com-go-pubsub-v2
|
||||
;; go-github-com-adamkorcz-go-fuzz-headers-1
|
||||
;; go-github-com-cavaliercoder-go-rpm
|
||||
;; go-github-com-go-redis-redismock-v9
|
||||
;; go-github-com-google-rpmpack
|
||||
;; go-github-com-sassoftware-relic
|
||||
;; go-github-com-sassoftware-relic-v7
|
||||
;; go-go-step-sm-crypto
|
||||
#;go-gocloud-dev))
|
||||
(home-page "https://github.com/sigstore/rekor")
|
||||
(synopsis "Sigstore transparency log")
|
||||
(description
|
||||
"Rekor provides an immutable tamper-resistant ledger of metadata generated
|
||||
within a software project's supply chain. It enables software maintainers
|
||||
and consumers to transparently record signed metadata to a ledger.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-sigstore-rekor-tiles-v2
|
||||
(package
|
||||
(name "go-github-com-sigstore-rekor-tiles-v2")
|
||||
(version "2.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sigstore/rekor-tiles")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0z9is3mf31abzwappwp05z1pzci6f25z1ax27qgghmdisxmd3c6k"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/sigstore/rekor-tiles/v2"
|
||||
;; XXX: Remove when all inputs are packaged.
|
||||
#:test-subdirs
|
||||
#~(list "internal/algorithmregistry"
|
||||
"internal/safeint"
|
||||
"pkg/client/write"
|
||||
"pkg/types/dsse"
|
||||
"pkg/types/hashedrekord"
|
||||
"pkg/types/verifier"
|
||||
"pkg/verifier/certificate"
|
||||
"pkg/verifier/publickey"
|
||||
"pkg/verify")))
|
||||
(native-inputs
|
||||
(list go-github-com-go-test-deep
|
||||
go-github-com-spf13-cobra
|
||||
go-github-com-spf13-viper
|
||||
go-github-com-stretchr-testify
|
||||
go-sigs-k8s-io-release-utils))
|
||||
(propagated-inputs
|
||||
(list go-cloud-google-com-go-storage
|
||||
go-github-com-aws-aws-sdk-go-v2
|
||||
go-github-com-aws-aws-sdk-go-v2-config
|
||||
go-github-com-aws-aws-sdk-go-v2-credentials
|
||||
go-github-com-aws-aws-sdk-go-v2-service-s3
|
||||
go-github-com-aws-smithy-go
|
||||
go-github-com-cyberphone-json-canonicalization
|
||||
go-github-com-grpc-ecosystem-go-grpc-middleware
|
||||
go-github-com-grpc-ecosystem-go-grpc-middleware-providers-prometheus
|
||||
go-github-com-grpc-ecosystem-go-grpc-middleware-v2
|
||||
go-github-com-grpc-ecosystem-grpc-gateway-v2
|
||||
go-github-com-prometheus-client-golang
|
||||
go-github-com-secure-systems-lab-go-securesystemslib
|
||||
go-github-com-sigstore-protobuf-specs
|
||||
go-github-com-sigstore-sigstore
|
||||
;; go-github-com-sigstore-sigstore-go ;cycles
|
||||
go-github-com-sigstore-sigstore-pkg-signature-kms-aws
|
||||
go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
|
||||
go-github-com-tink-crypto-tink-go-awskms-v2
|
||||
go-github-com-tink-crypto-tink-go-gcpkms-v2
|
||||
go-github-com-tink-crypto-tink-go-v2
|
||||
go-github-com-transparency-dev-formats
|
||||
go-github-com-transparency-dev-merkle
|
||||
go-go-opentelemetry-io-otel
|
||||
go-go-opentelemetry-io-otel-exporters-prometheus
|
||||
go-go-opentelemetry-io-otel-sdk-metric
|
||||
go-golang-org-x-exp
|
||||
go-golang-org-x-mod
|
||||
go-golang-org-x-sync
|
||||
go-google-golang-org-api
|
||||
go-google-golang-org-genproto-googleapis-api
|
||||
go-google-golang-org-grpc
|
||||
go-google-golang-org-protobuf
|
||||
go-k8s-io-klog-v2
|
||||
|
||||
;; TODO: Complete packaging.
|
||||
;; go-cloud-google-com-go-spanner
|
||||
;; go-github-com-chainguard-dev-clog
|
||||
;; go-github-com-transparency-dev-tessera
|
||||
#;go-go-step-sm-crypto))
|
||||
(home-page "https://github.com/sigstore/rekor-tiles")
|
||||
(synopsis "Tile-based transparency log for Sigstore")
|
||||
(description
|
||||
"This package provides a tile-based implementation of a transparency log
|
||||
for the Sigstore ecosystem, supporting efficient verification of log entries.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-sigstore-sigstore-go
|
||||
(package
|
||||
(name "go-github-com-sigstore-sigstore-go")
|
||||
(version "1.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sigstore/sigstore-go")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0jr8jj4wibzxawn3dzv1j4cxmbh2b5g356mh2bqq9d0p78idf7k3"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/sigstore/sigstore-go"
|
||||
#:embed-files #~(list ".*\\.json")
|
||||
#:test-subdirs
|
||||
#~(list "pkg/bundle"
|
||||
"pkg/fulcio/certificate"
|
||||
"pkg/tlog"
|
||||
"pkg/tuf")))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-github-com-cyberphone-json-canonicalization
|
||||
go-github-com-digitorus-timestamp
|
||||
go-github-com-go-openapi-runtime
|
||||
go-github-com-go-openapi-strfmt
|
||||
go-github-com-go-openapi-swag-conv
|
||||
go-github-com-google-certificate-transparency-go
|
||||
go-github-com-in-toto-attestation
|
||||
go-github-com-in-toto-in-toto-golang
|
||||
go-github-com-secure-systems-lab-go-securesystemslib
|
||||
go-github-com-sigstore-protobuf-specs
|
||||
go-github-com-sigstore-rekor
|
||||
go-github-com-sigstore-rekor-tiles-v2
|
||||
go-github-com-sigstore-sigstore
|
||||
go-github-com-sigstore-timestamp-authority-v2
|
||||
go-github-com-theupdateframework-go-tuf-v2
|
||||
go-golang-org-x-crypto
|
||||
go-golang-org-x-mod
|
||||
go-google-golang-org-protobuf))
|
||||
(home-page "https://github.com/sigstore/sigstore-go")
|
||||
(synopsis "Go client library for Sigstore")
|
||||
(description
|
||||
"This package provides a Go client library for Sigstore, enabling
|
||||
verification of signatures and attestations produced by Sigstore tools.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-aws
|
||||
(package
|
||||
(name "go-github-com-sigstore-sigstore-pkg-signature-kms-aws")
|
||||
(version "1.10.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sigstore/sigstore")
|
||||
(commit (go-version->git-ref version
|
||||
#:subdir
|
||||
"pkg/signature/kms/aws"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(define (delete-all-but directory . preserve)
|
||||
(with-directory-excursion directory
|
||||
(let* ((pred (negate (cut member <>
|
||||
(cons* "." ".." preserve))))
|
||||
(items (scandir "." pred)))
|
||||
(for-each (cut delete-file-recursively <>) items))))
|
||||
(delete-all-but "." "pkg")
|
||||
(delete-all-but "pkg" "signature")
|
||||
(delete-all-but "pkg/signature" "kms")
|
||||
(delete-all-but "pkg/signature/kms" "aws")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/sigstore/sigstore/pkg/signature/kms/aws"
|
||||
#:unpack-path "github.com/sigstore/sigstore"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-github-com-aws-aws-sdk-go-v2
|
||||
go-github-com-aws-aws-sdk-go-v2-config
|
||||
go-github-com-aws-aws-sdk-go-v2-service-kms
|
||||
go-github-com-jellydator-ttlcache-v3
|
||||
go-github-com-sigstore-sigstore))
|
||||
(home-page "https://github.com/sigstore/sigstore")
|
||||
(synopsis "Utilities related to AWS KMS")
|
||||
(description
|
||||
"Package aws implement the interface with Amazon AWS KMS service.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-azure
|
||||
(package
|
||||
(name "go-github-com-sigstore-sigstore-pkg-signature-kms-azure")
|
||||
(version "1.10.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sigstore/sigstore")
|
||||
(commit (go-version->git-ref version
|
||||
#:subdir
|
||||
"pkg/signature/kms/azure"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(define (delete-all-but directory . preserve)
|
||||
(with-directory-excursion directory
|
||||
(let* ((pred (negate (cut member <>
|
||||
(cons* "." ".." preserve))))
|
||||
(items (scandir "." pred)))
|
||||
(for-each (cut delete-file-recursively <>) items))))
|
||||
(delete-all-but "." "pkg")
|
||||
(delete-all-but "pkg" "signature")
|
||||
(delete-all-but "pkg/signature" "kms")
|
||||
(delete-all-but "pkg/signature/kms" "azure")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/sigstore/sigstore/pkg/signature/kms/azure"
|
||||
#:unpack-path "github.com/sigstore/sigstore"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-azure-azure-sdk-for-go-sdk-azcore
|
||||
go-github-com-azure-azure-sdk-for-go-sdk-azidentity
|
||||
go-github-com-azure-azure-sdk-for-go-sdk-security-keyvault-azkeys
|
||||
go-github-com-go-jose-go-jose-v4
|
||||
go-github-com-google-go-cmp
|
||||
go-github-com-jellydator-ttlcache-v3
|
||||
go-github-com-sigstore-sigstore
|
||||
go-golang-org-x-crypto))
|
||||
(home-page "https://github.com/sigstore/sigstore")
|
||||
(synopsis "Utilities related to Microsoft Azure KMS")
|
||||
(description
|
||||
"Package azure implement the interface with Microsoft Azure KMS
|
||||
service.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
|
||||
(package
|
||||
(name "go-github-com-sigstore-sigstore-pkg-signature-kms-gcp")
|
||||
(version "1.10.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sigstore/sigstore")
|
||||
(commit (go-version->git-ref version
|
||||
#:subdir
|
||||
"pkg/signature/kms/gcp"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(define (delete-all-but directory . preserve)
|
||||
(with-directory-excursion directory
|
||||
(let* ((pred (negate (cut member <>
|
||||
(cons* "." ".." preserve))))
|
||||
(items (scandir "." pred)))
|
||||
(for-each (cut delete-file-recursively <>) items))))
|
||||
(delete-all-but "." "pkg")
|
||||
(delete-all-but "pkg" "signature")
|
||||
(delete-all-but "pkg/signature" "kms")
|
||||
(delete-all-but "pkg/signature/kms" "gcp")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/sigstore/sigstore/pkg/signature/kms/gcp"
|
||||
#:unpack-path "github.com/sigstore/sigstore"))
|
||||
(propagated-inputs
|
||||
(list go-cloud-google-com-go-kms
|
||||
go-github-com-jellydator-ttlcache-v3
|
||||
go-github-com-sigstore-sigstore
|
||||
go-golang-org-x-oauth2
|
||||
go-google-golang-org-api
|
||||
go-google-golang-org-protobuf))
|
||||
(home-page "https://github.com/sigstore/sigstore")
|
||||
(synopsis "Utilities related to Google Cloud Platform KMS")
|
||||
(description
|
||||
"Package gcp implement the interface with Google Cloud KMS service.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault
|
||||
(package
|
||||
(name "go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault")
|
||||
(version "1.10.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sigstore/sigstore")
|
||||
(commit (go-version->git-ref version
|
||||
#:subdir
|
||||
"pkg/signature/kms/hashivault"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0shnvcgz4g7v65biwraahjrbsmr13qmb903al50giak2694qhyyk"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(define (delete-all-but directory . preserve)
|
||||
(with-directory-excursion directory
|
||||
(let* ((pred (negate (cut member <>
|
||||
(cons* "." ".." preserve))))
|
||||
(items (scandir "." pred)))
|
||||
(for-each (cut delete-file-recursively <>) items))))
|
||||
(delete-all-but "." "pkg")
|
||||
(delete-all-but "pkg" "signature")
|
||||
(delete-all-but "pkg/signature" "kms")
|
||||
(delete-all-but "pkg/signature/kms" "hashivault")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/sigstore/sigstore/pkg/signature/kms/hashivault"
|
||||
#:unpack-path "github.com/sigstore/sigstore"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(propagated-inputs
|
||||
(list go-github-com-hashicorp-vault-api
|
||||
go-github-com-jellydator-ttlcache-v3
|
||||
go-github-com-mitchellh-go-homedir
|
||||
go-github-com-sigstore-sigstore))
|
||||
(home-page "https://github.com/sigstore/sigstore")
|
||||
(synopsis "Utilities related to Hashivault KMS")
|
||||
(description
|
||||
"Package hashivault implement the interface with
|
||||
@url{https://www.hashicorp.com/en/products/vault HashiCorp Vault} KMS
|
||||
service.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-sigstore-timestamp-authority-v2
|
||||
(package
|
||||
(name "go-github-com-sigstore-timestamp-authority-v2")
|
||||
(version "2.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sigstore/timestamp-authority")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1pgdxwkyrl10ayhw02n72r02q362gxg7110l9h9isiyqwbrmw2lp"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/sigstore/timestamp-authority/v2"
|
||||
#:embed-files #~(list ".*\\.json")
|
||||
#:test-subdirs #~(list "pkg/client" "pkg/x509")))
|
||||
(native-inputs
|
||||
(list go-github-com-go-playground-validator-v10
|
||||
go-github-com-google-go-cmp
|
||||
go-github-com-prometheus-client-golang
|
||||
go-github-com-sigstore-sigstore
|
||||
go-github-com-spf13-cobra
|
||||
go-github-com-spf13-pflag
|
||||
go-github-com-spf13-viper
|
||||
go-github-com-tink-crypto-tink-go-v2
|
||||
go-sigs-k8s-io-release-utils))
|
||||
(propagated-inputs
|
||||
(list go-cloud-google-com-go-security
|
||||
go-github-com-beevik-ntp
|
||||
go-github-com-digitorus-pkcs7
|
||||
go-github-com-digitorus-timestamp
|
||||
go-github-com-go-chi-chi
|
||||
go-github-com-go-openapi-errors
|
||||
go-github-com-go-openapi-loads
|
||||
go-github-com-go-openapi-runtime
|
||||
go-github-com-go-openapi-spec
|
||||
go-github-com-go-openapi-strfmt
|
||||
go-github-com-go-openapi-swag
|
||||
go-github-com-pkg-errors
|
||||
go-github-com-rs-cors
|
||||
go-github-com-sigstore-sigstore-pkg-signature-kms-aws
|
||||
go-github-com-sigstore-sigstore-pkg-signature-kms-azure
|
||||
go-github-com-sigstore-sigstore-pkg-signature-kms-gcp
|
||||
go-github-com-sigstore-sigstore-pkg-signature-kms-hashivault
|
||||
go-github-com-tink-crypto-tink-go-awskms-v2
|
||||
go-github-com-tink-crypto-tink-go-gcpkms-v2
|
||||
go-github-com-tink-crypto-tink-go-hcvault-v2
|
||||
go-github-com-urfave-negroni
|
||||
;; go-go-step-sm-crypto ;not packaged yet in Guix
|
||||
go-sigs-k8s-io-yaml))
|
||||
(home-page "https://github.com/sigstore/timestamp-authority")
|
||||
(synopsis "RFC 3161 timestamp verification for Sigstore")
|
||||
(description
|
||||
"This package provides timestamp verification functionality for the
|
||||
Sigstore ecosystem, implementing RFC 3161 timestamp response validation.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-shurcool-githubv4
|
||||
(package
|
||||
(name "go-github-com-shurcool-githubv4")
|
||||
@@ -17636,90 +17007,6 @@ Features:
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-tink-crypto-tink-go-awskms-v2
|
||||
(package
|
||||
(name "go-github-com-tink-crypto-tink-go-awskms-v2")
|
||||
(version "2.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tink-crypto/tink-go-awskms")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0crsky461yyvl04g0gbsz9gh2zmlmgd5li5qk4k7zvmj103gmwlr"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/tink-crypto/tink-go-awskms/v2"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-aws-aws-sdk-go
|
||||
go-github-com-tink-crypto-tink-go-v2))
|
||||
(home-page "https://github.com/tink-crypto/tink-go-awskms")
|
||||
(synopsis "Tink Go AWS KMS extension")
|
||||
(description
|
||||
"This is an extension to the @url{https://github.com/tink-crypto/tink-go,
|
||||
Tink Go} library that provides support for AWS KMS.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-tink-crypto-tink-go-gcpkms-v2
|
||||
(package
|
||||
(name "go-github-com-tink-crypto-tink-go-gcpkms-v2")
|
||||
(version "2.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tink-crypto/tink-go-gcpkms")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0hf31f26lmpg81k64flsvcx83ngkhazkkf792i5qkq14q4ndsdhw"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/tink-crypto/tink-go-gcpkms/v2"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-tink-crypto-tink-go-v2
|
||||
go-google-golang-org-api))
|
||||
(home-page "https://github.com/tink-crypto/tink-go-gcpkms")
|
||||
(synopsis "Tink Go Google Cloud KMS extension")
|
||||
(description
|
||||
"This is an extension to the @url{https://github.com/tink-crypto/tink-go,
|
||||
Tink Go} library that provides support for Google Cloud KMS.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-tink-crypto-tink-go-hcvault-v2
|
||||
(package
|
||||
(name "go-github-com-tink-crypto-tink-go-hcvault-v2")
|
||||
(version "2.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tink-crypto/tink-go-hcvault")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ifwxrsyynkss652wnn2ivhfj8n84m8rz7fjpi8gcx2cppmx9zrv"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:import-path "github.com/tink-crypto/tink-go-hcvault/v2"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-hashicorp-vault-api
|
||||
go-github-com-tink-crypto-tink-go-v2))
|
||||
(home-page "https://github.com/tink-crypto/tink-go-hcvault")
|
||||
(synopsis "Tink Go HashiCorp Vault extension")
|
||||
(description
|
||||
"This is an extension to the @url{https://github.com/tink-crypto/tink-go,
|
||||
Tink Go} library that provides support for HashiCorp Vault.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-tj-go-elastic
|
||||
(package
|
||||
(name "go-github-com-tj-go-elastic")
|
||||
@@ -22482,7 +21769,6 @@ feature set and features are added on as the need arises.")
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:go go-1.25
|
||||
#:build-flags #~(list (string-append "-ldflags="
|
||||
"-X main.lyrebirdVersion="
|
||||
#$version " -s -w"))
|
||||
|
||||
@@ -74,7 +74,6 @@
|
||||
;;; Copyright © 2025 Aleksandr Lebedev <alex.lebedev2003@icloud.com>
|
||||
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
|
||||
;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;; Copyright © 2026 Evgeny Pisemsky <mail@pisemsky.site>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
||||
@@ -1022,6 +1022,56 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(map (lambda (suffix) (string-append "armv9" suffix "-a"))
|
||||
'("" ".1" ".2" ".3" ".4" ".5"))))
|
||||
|
||||
(define-public go-1.23
|
||||
(package
|
||||
(inherit go-1.22)
|
||||
(name "go")
|
||||
(version "1.23.12")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/golang/go")
|
||||
(commit (string-append "go" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0nxcp8wikn93zxipm829dyyagwys13yhf452ai357wzbdzqihm7x"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments go-1.22)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(replace 'disable-more-tests
|
||||
(lambda _
|
||||
#$@(cond
|
||||
((target-aarch64?)
|
||||
;; https://go-review.googlesource.com/c/go/+/151303
|
||||
;; This test is known buggy on aarch64 and is enabled and
|
||||
;; disabled upstream with some regularity.
|
||||
#~((substitute* "src/plugin/plugin_test.go"
|
||||
(("package plugin_test")
|
||||
(string-append "// +build !linux linux,!arm64\n\n"
|
||||
"package plugin_test")))))
|
||||
((target-arm32?)
|
||||
;; This test fails when run on aarch64-linux.
|
||||
#~((substitute* "src/cmd/link/internal/ld/elf_test.go"
|
||||
(("TestElfBindNow.*" all)
|
||||
(string-append
|
||||
all
|
||||
" if runtime.GOARCH == \"arm\" {\n"
|
||||
" t.Skipf(\"skipping; flaky on armhf\")\n"
|
||||
" }\n")))))
|
||||
(else (list #t)))))))))
|
||||
(properties
|
||||
`((compiler-cpu-architectures
|
||||
("aarch64" ,@%go-1.23-arm64-micro-architectures)
|
||||
("armhf" ,@%go-1.17-arm-micro-architectures)
|
||||
("powerpc64le" ,@%go-1.17-powerpc64le-micro-architectures)
|
||||
("x86_64" ,@%go-1.18-x86_64-micro-architectures))))
|
||||
(native-inputs
|
||||
;; setarch was added to the tsan test suite in 1.23.12
|
||||
`(("go" ,util-linux)
|
||||
,@(package-native-inputs go-1.22)))))
|
||||
|
||||
(define-public go-1.24
|
||||
(package
|
||||
(inherit go-1.22)
|
||||
@@ -1189,6 +1239,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(define-public go-std-1.20 (make-go-std go-1.20))
|
||||
(define-public go-std-1.21 (make-go-std go-1.21))
|
||||
(define-public go-std-1.22 (make-go-std go-1.22))
|
||||
(define-public go-std-1.23 (make-go-std go-1.23))
|
||||
(define-public go-std-1.24 (make-go-std go-1.24))
|
||||
(define-public go-std-1.25 (make-go-std go-1.25))
|
||||
(define-public go-std-1.26 (make-go-std go-1.26))
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
libxv
|
||||
mesa
|
||||
sdl
|
||||
v4l-utils))
|
||||
v4l-utils-minimal))
|
||||
(synopsis "1394-Based Digital Camera Control Library")
|
||||
(description "LibDC1394 is a library that provides functionality to control
|
||||
any camera that conforms to the 1394-Based Digital Camera Specification written
|
||||
@@ -721,7 +721,7 @@ for the GStreamer multimedia library.")
|
||||
speex
|
||||
taglib
|
||||
twolame
|
||||
v4l-utils
|
||||
v4l-utils-minimal
|
||||
wavpack
|
||||
zlib))
|
||||
(propagated-inputs
|
||||
@@ -942,7 +942,7 @@ model to base your own plug-in on, here it is.")
|
||||
tinyalsa
|
||||
transcode
|
||||
usrsctp
|
||||
v4l-utils
|
||||
v4l-utils-minimal
|
||||
vo-aacenc
|
||||
vo-amrwbenc
|
||||
vulkan-headers
|
||||
|
||||
@@ -7654,8 +7654,8 @@ is an attempt to combine both into something useful.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public guile-knots
|
||||
(let ((commit "d79284b4715efc347b22d510c3e3134a0c584b17")
|
||||
(revision "32"))
|
||||
(let ((commit "cb5ec50b341f603e9d129152b45e47cf008ea126")
|
||||
(revision "31"))
|
||||
(package
|
||||
(name "guile-knots")
|
||||
(version (git-version "0" revision commit))
|
||||
@@ -7666,7 +7666,7 @@ is an attempt to combine both into something useful.")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0i87jc3dznw6pdib0yy49d8066c1jvwp2m01xi92amx45dkl8ixc"))
|
||||
"08gcbyw7kvhk568a30kimhn37m9mygpxhswb294n1141ddmhjchh"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
@@ -669,7 +669,7 @@ and WebP.")
|
||||
(define-public mcomix
|
||||
(package
|
||||
(name "mcomix")
|
||||
(version "3.1.1")
|
||||
(version "3.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -677,7 +677,7 @@ and WebP.")
|
||||
"mcomix-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1y6fps1fbzjc4sdm381432zvrq97iadbz4yyxxsfnzf0ggnsl2m1"))))
|
||||
"09y4nhlcqvvhz0wscx4zpqxmyhiwh8wrjnhk52awxhzvgyx6wa7r"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -720,14 +720,8 @@ and WebP.")
|
||||
(wrap-program prog
|
||||
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))))
|
||||
(native-inputs (list python-setuptools))
|
||||
(inputs (list bash-minimal
|
||||
gobject-introspection
|
||||
gtk+
|
||||
p7zip
|
||||
python
|
||||
python-pillow
|
||||
python-pycairo
|
||||
python-pygobject))
|
||||
(inputs
|
||||
(list bash-minimal p7zip python python-pillow python-pygobject python-pycairo gtk+))
|
||||
(home-page "https://sourceforge.net/p/mcomix/wiki/Home/")
|
||||
(synopsis "Image viewer for comics")
|
||||
(description "MComix is a customizable image viewer that specializes as
|
||||
|
||||
@@ -125,14 +125,14 @@
|
||||
;; ex:
|
||||
;; tar xf /gnu/store/...-firefox-123.4.source.tar.xz -O \
|
||||
;; firefox-123.4/browser/locales/l10n-changesets.json | grep revision
|
||||
(let ((commit "0245ffb160688061f0e0c67ea488bcdfdacbeca4"))
|
||||
(let ((commit "d1394212aed0ce0063c0f818aa236e7d4f955ac9"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mozilla-l10n/firefox-l10n.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "firefox-l10n" commit))
|
||||
(sha256 (base32 "0y8xdxql04yys0wj685v4yp3kmx1ivnndg6z11vam8vszh0j7ak6")))))
|
||||
(sha256 (base32 "16s515xf0i7a7acv0m1bbgflbdx9a87b1dcg7q3yswym8x1bhvaj")))))
|
||||
|
||||
(define* (make-librewolf-source #:key version firefox-hash librewolf-hash l10n)
|
||||
(let* ((ff-src (firefox-source-origin
|
||||
@@ -244,17 +244,17 @@
|
||||
;; It's used for cache validation and therefore can lead to strange bugs.
|
||||
;; ex: date '+%Y%m%d%H%M%S'
|
||||
;; or: (format-time-string "%Y%m%d%H%M%S")
|
||||
(define %librewolf-build-id "20260409162101")
|
||||
(define %librewolf-build-id "20260326135749")
|
||||
|
||||
(define-public librewolf
|
||||
(package
|
||||
(name "librewolf")
|
||||
(version "149.0.2-2")
|
||||
(version "149.0-1")
|
||||
(source
|
||||
(make-librewolf-source
|
||||
#:version version
|
||||
#:firefox-hash "1kkhg3lgyakinn5ankxrlxbf39wi61mqbhwrj1l4q5l7y0n1m4va"
|
||||
#:librewolf-hash "1bai8g2kc9snck2f724al29q6r57vkj3d7v58rf0mgzpqzvwnw5f"
|
||||
#:firefox-hash "12jb930qhqhpzjpn5smms7g4n6y40zvxcrg8w42696wxk7pgsqdq"
|
||||
#:librewolf-hash "0igv0fr0vl2nf5rlgnidfz2a3gh55bsqwcray0jg7x2kl6qnkzwm"
|
||||
#:l10n firefox-l10n))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
+113
-82
@@ -104,7 +104,9 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages linux)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages acl)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages apparmor)
|
||||
@@ -118,20 +120,19 @@
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages calendar)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpio)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages cryptsetup)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages dbm)
|
||||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages dlang)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages dlang)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages flex)
|
||||
@@ -146,7 +147,6 @@
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages groff)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
@@ -154,8 +154,8 @@
|
||||
#:use-module (gnu packages haskell-xyz)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages kde-frameworks)
|
||||
#:use-module (gnu packages kde-graphics)
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages kde-graphics)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages libunwind)
|
||||
#:use-module (gnu packages libusb)
|
||||
@@ -172,8 +172,8 @@
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages oneapi)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages polkit)
|
||||
#:use-module (gnu packages popt)
|
||||
@@ -192,12 +192,9 @@
|
||||
#:use-module (gnu packages rust-sources)
|
||||
#:use-module (gnu packages samba)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages selinux)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages slang)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages tls)
|
||||
@@ -206,36 +203,39 @@
|
||||
#:use-module (gnu packages vim)
|
||||
#:use-module (gnu packages vulkan)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages groff)
|
||||
#:use-module (gnu packages selinux)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (guix platform)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system linux-module)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix deprecation) ;for libcap/next
|
||||
#:use-module (guix build-system linux-module)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix platform)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix store)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 regex)
|
||||
#:use-module (guix deprecation) ;for libcap/next
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-2)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 regex)
|
||||
#:export (customize-linux
|
||||
make-defconfig))
|
||||
|
||||
@@ -531,7 +531,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.19-version "6.19.12")
|
||||
(define-public linux-libre-6.19-version "6.19.11")
|
||||
(define-public linux-libre-6.19-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.19
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -541,12 +541,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "05jpciyypvmy6byaxjl49b1fvzxcnlhknf0xabrdj5152iznrzkh")))
|
||||
(define-public linux-libre-6.19-pristine-source
|
||||
(let ((version linux-libre-6.19-version)
|
||||
(hash (base32 "1md8b270pdyk9d8cq0qyr8qmymcijmj3gc39nn394wpr0l94yp6f")))
|
||||
(hash (base32 "16ymkc5r3hw05z7l7ih3qw406qlszz1l7b4g5yz0hv15ddxrs0r0")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.19)))
|
||||
|
||||
(define-public linux-libre-6.18-version "6.18.22")
|
||||
(define-public linux-libre-6.18-version "6.18.21")
|
||||
(define-public linux-libre-6.18-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.18
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -556,7 +556,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "0qlih8w8wg4v5cwbmd34rbhb6mjgbx69i9rx3s2vxw7h42q9l0ai")))
|
||||
(define-public linux-libre-6.18-pristine-source
|
||||
(let ((version linux-libre-6.18-version)
|
||||
(hash (base32 "0nazlm6j5blyd4qgl0z6xc3qk00vz3cfvx5mqv18awv5ygx94g52")))
|
||||
(hash (base32 "0ks735y6jq4yy3jaicjsj4dn4n3kk2skf9dqh9dyifipn57j2f0w")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.18)))
|
||||
@@ -565,7 +565,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
;; Here are the support timelines:
|
||||
;; <https://www.kernel.org/category/releases.html>
|
||||
|
||||
(define-public linux-libre-6.12-version "6.12.81")
|
||||
(define-public linux-libre-6.12-version "6.12.80")
|
||||
(define-public linux-libre-6.12-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.12
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -575,12 +575,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1x48hpmvajz7v5wn1vdd7l5r14mq4ngzh5npz3pj81z4f1g61i0a")))
|
||||
(define-public linux-libre-6.12-pristine-source
|
||||
(let ((version linux-libre-6.12-version)
|
||||
(hash (base32 "0iw84bqdbh9dlaqd1bqgldg50riw2b5is7ipqnbp0sll8cv9rc62")))
|
||||
(hash (base32 "0lrylj87bb8ky29pbplpncrfhmgqqbq3d49iqgdwv7p7jvc929f9")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.12)))
|
||||
|
||||
(define-public linux-libre-6.6-version "6.6.134")
|
||||
(define-public linux-libre-6.6-version "6.6.130")
|
||||
(define-public linux-libre-6.6-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.6
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -590,12 +590,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "0xp9b2vkrb0g0rn4i33b59rhp4sgh1dbwzk28vwz7kwac6l5rcpi")))
|
||||
(define-public linux-libre-6.6-pristine-source
|
||||
(let ((version linux-libre-6.6-version)
|
||||
(hash (base32 "1grp1wqgzjsk6xyl0nvd2hxlxjj0wgz04x544zkz8srp6rxnjy33")))
|
||||
(hash (base32 "139480lyi3if8pd2j3yld5a01lk7113kbcn2kxpzyk29p5kslq14")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.6)))
|
||||
|
||||
(define-public linux-libre-6.1-version "6.1.168")
|
||||
(define-public linux-libre-6.1-version "6.1.167")
|
||||
(define-public linux-libre-6.1-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.1
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -605,7 +605,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1w5pfws6l39dpc3lzazs1n6r4m96f6rdf6vb2scy5fhmrd933ldc")))
|
||||
(define-public linux-libre-6.1-pristine-source
|
||||
(let ((version linux-libre-6.1-version)
|
||||
(hash (base32 "0vkp75sfnjvfqxjh6gqcx24h2m6qj6xkwlw6b118cja43vjnz1g0")))
|
||||
(hash (base32 "1jwqwp2fg3wdsh9w663rbnbv1rvsvksv1pj4bzns8swp0wy0a618")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.1)))
|
||||
@@ -945,11 +945,7 @@ ARCH and optionally VARIANT, or #f if there is no such configuration."
|
||||
;; Disable the EFI pstore storage backend to avoid causing
|
||||
;; unrecoverable failures on some EFI systems:
|
||||
;; https://lists.gnu.org/archive/html/help-guix/2025-01/msg00173.html
|
||||
("CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE" . #t)
|
||||
;; Provide modules for wireguard and netfilter support
|
||||
("CONFIG_WIREGUARD" . m)
|
||||
("CONFIG_IP_NF_FILTER" . m)
|
||||
("CONFIG_NETFILTER_XT_MATCH_ADDRTYPE" . m)))
|
||||
("CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE" . #t)))
|
||||
|
||||
(define (config->string options)
|
||||
(string-join (map (match-lambda
|
||||
@@ -1294,6 +1290,8 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
#:extra-version "arm-generic"
|
||||
#:extra-options
|
||||
(append
|
||||
`(;; needed to fix the RTC on rockchip platforms
|
||||
("CONFIG_RTC_DRV_RK808" . #t))
|
||||
(default-extra-linux-options linux-libre-5.10-version))))
|
||||
|
||||
(define-public linux-libre-arm-omap2plus
|
||||
@@ -1304,31 +1302,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
#:defconfig "omap2plus_defconfig"
|
||||
#:extra-version "arm-omap2plus"))
|
||||
|
||||
(define pinebook-extra-modules
|
||||
`(;; Pinebook display, battery, charger and usb
|
||||
("CONFIG_DRM_ANALOGIX_ANX6345" . m)
|
||||
("CONFIG_CHARGER_AXP20X" . m)
|
||||
("CONFIG_INPUT_AXP20X_PEK" . m)
|
||||
("CONFIG_CHARGER_AXP20X" . m)
|
||||
("CONFIG_BATTERY_AXP20X" . m)
|
||||
("CONFIG_PINCTRL_AXP209" . m)
|
||||
("CONFIG_AXP20X_POWER" . m)
|
||||
("CONFIG_AXP20X_ADC" . m)
|
||||
;; Pinebook PRO battery and sound support
|
||||
("CONFIG_BATTERY_CW2015" . m)
|
||||
("CONFIG_CHARGER_GPIO" . m)
|
||||
("CONFIG_SND_SOC_ES8316" . m)))
|
||||
|
||||
(define arm64-generic-extra-modules
|
||||
(append
|
||||
pinebook-extra-modules
|
||||
`(;; Provide support for ath9k wireless
|
||||
("CONFIG_ATH9K_HTC" . m)
|
||||
;; Support Orange Pi R1 Plus LTS ethernet PHY.
|
||||
("CONFIG_MOTORCOMM_PHY" . m)
|
||||
;; needed to fix the RTC on rockchip platforms
|
||||
("CONFIG_RTC_DRV_RK808" . #t))))
|
||||
|
||||
(define-public linux-libre-arm64-generic
|
||||
(make-linux-libre* linux-libre-version
|
||||
linux-libre-gnu-revision
|
||||
@@ -1338,7 +1311,25 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
#:extra-version "arm64-generic"
|
||||
#:extra-options
|
||||
(append
|
||||
arm64-generic-extra-modules
|
||||
`(;; Provide support for ath9k wireless
|
||||
("CONFIG_ATH9K_HTC" . m)
|
||||
;; Support Orange Pi R1 Plus LTS ethernet PHY.
|
||||
("CONFIG_MOTORCOMM_PHY" . m)
|
||||
;; needed to fix the RTC on rockchip platforms
|
||||
("CONFIG_RTC_DRV_RK808" . #t)
|
||||
;; Pinebook display, battery, charger and usb
|
||||
("CONFIG_DRM_ANALOGIX_ANX6345" . m)
|
||||
("CONFIG_CHARGER_AXP20X" . m)
|
||||
("CONFIG_INPUT_AXP20X_PEK" . m)
|
||||
("CONFIG_CHARGER_AXP20X" . m)
|
||||
("CONFIG_BATTERY_AXP20X" . m)
|
||||
("CONFIG_PINCTRL_AXP209" . m)
|
||||
("CONFIG_AXP20X_POWER" . m)
|
||||
("CONFIG_AXP20X_ADC" . m)
|
||||
;; Pinebook PRO battery and sound support
|
||||
("CONFIG_BATTERY_CW2015" . m)
|
||||
("CONFIG_CHARGER_GPIO" . m)
|
||||
("CONFIG_SND_SOC_ES8316" . m))
|
||||
(default-extra-linux-options linux-libre-version))))
|
||||
|
||||
(define-public linux-libre-lts-arm64-generic
|
||||
@@ -1356,7 +1347,25 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
#:extra-version "arm64-generic"
|
||||
#:extra-options
|
||||
(append
|
||||
arm64-generic-extra-modules
|
||||
`( ;; Provide support for ath9k wireless
|
||||
("CONFIG_ATH9K_HTC" . m)
|
||||
;; Support Orange Pi R1 Plus LTS ethernet PHY.
|
||||
("CONFIG_MOTORCOMM_PHY" . m)
|
||||
;; needed to fix the RTC on rockchip platforms
|
||||
("CONFIG_RTC_DRV_RK808" . #t)
|
||||
;; Pinebook display, battery, charger and usb
|
||||
("CONFIG_DRM_ANALOGIX_ANX6345" . m)
|
||||
("CONFIG_CHARGER_AXP20X" . m)
|
||||
("CONFIG_INPUT_AXP20X_PEK" . m)
|
||||
("CONFIG_CHARGER_AXP20X" . m)
|
||||
("CONFIG_BATTERY_AXP20X" . m)
|
||||
("CONFIG_PINCTRL_AXP209" . m)
|
||||
("CONFIG_AXP20X_POWER" . m)
|
||||
("CONFIG_AXP20X_ADC" . m)
|
||||
;; Pinebook PRO battery and sound support
|
||||
("CONFIG_BATTERY_CW2015" . m)
|
||||
("CONFIG_CHARGER_GPIO" . m)
|
||||
("CONFIG_SND_SOC_ES8316" . m))
|
||||
(default-extra-linux-options linux-libre-lts-version)))))
|
||||
|
||||
(define-public linux-libre-arm64-generic-5.10
|
||||
@@ -1368,7 +1377,21 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
#:extra-version "arm64-generic"
|
||||
#:extra-options
|
||||
(append
|
||||
arm64-generic-extra-modules
|
||||
`(;; needed to fix the RTC on rockchip platforms
|
||||
("CONFIG_RTC_DRV_RK808" . #t)
|
||||
;; Pinebook display, battery, charger and usb
|
||||
("CONFIG_DRM_ANALOGIX_ANX6345" . m)
|
||||
("CONFIG_CHARGER_AXP20X" . m)
|
||||
("CONFIG_INPUT_AXP20X_PEK" . m)
|
||||
("CONFIG_CHARGER_AXP20X" . m)
|
||||
("CONFIG_BATTERY_AXP20X" . m)
|
||||
("CONFIG_PINCTRL_AXP209" . m)
|
||||
("CONFIG_AXP20X_POWER" . m)
|
||||
("CONFIG_AXP20X_ADC" . m)
|
||||
;; Pinebook PRO battery and sound support
|
||||
("CONFIG_BATTERY_CW2015" . m)
|
||||
("CONFIG_CHARGER_GPIO" . m)
|
||||
("CONFIG_SND_SOC_ES8316" . m))
|
||||
(default-extra-linux-options linux-libre-5.10-version))))
|
||||
|
||||
(define-public linux-libre-arm64-honeycomb
|
||||
@@ -1430,6 +1453,9 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
;; Fixes https://codeberg.org/guix/guix/issues/101
|
||||
("CONFIG_KEY_DH_OPERATIONS" . #true)
|
||||
|
||||
;; For connecting to ci.guix.gnu.org over VPN.
|
||||
("CONFIG_WIREGUARD" . m)
|
||||
|
||||
;; restool support
|
||||
("CONFIG_FSL_MC_UAPI_SUPPORT" . #t)
|
||||
("CONFIG_FSL_MC_BUS" . #t)
|
||||
@@ -1748,6 +1774,8 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
("CONFIG_USB_ETH_RNDIS" . m)
|
||||
("CONFIG_USB_ETH_EEM" . m)
|
||||
("CONFIG_USB_G_NCM" . m)
|
||||
;; Provide support for wireguard
|
||||
("CONFIG_WIREGUARD" . m)
|
||||
;; Provide support for ath9k wireless
|
||||
("CONFIG_ATH9K" . m)
|
||||
("CONFIG_ATH9K_HTC" . m))
|
||||
@@ -2060,6 +2088,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
("CONFIG_USB_ETH_RNDIS" . m)
|
||||
("CONFIG_USB_ETH_EEM" . m)
|
||||
("CONFIG_USB_G_NCM" . m)
|
||||
;; Provide support for wireguard
|
||||
("CONFIG_WIREGUARD" . m)
|
||||
;; Provide support for ath9k wireless
|
||||
("CONFIG_ATH9K" . m)
|
||||
("CONFIG_ATH9K_HTC" . m))
|
||||
@@ -2393,6 +2423,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
("CONFIG_USB_ETH_RNDIS" . m)
|
||||
("CONFIG_USB_ETH_EEM" . m)
|
||||
("CONFIG_USB_G_NCM" . m)
|
||||
;; Provide support for wireguard
|
||||
("CONFIG_WIREGUARD" . m)
|
||||
;; Provide support for ath9k wireless
|
||||
("CONFIG_ATH9K" . m)
|
||||
("CONFIG_ATH9K_HTC" . m))
|
||||
@@ -5000,6 +5032,7 @@ configuration and monitoring interfaces.")
|
||||
(with-directory-excursion "./python" (python-inst ,python))
|
||||
#t))))))))
|
||||
|
||||
(define-public libnl-python2 (libnl-python-package "python2"))
|
||||
(define-public libnl-python3 (libnl-python-package "python3"))
|
||||
|
||||
(define-public iw
|
||||
@@ -5208,20 +5241,14 @@ or kill them altogether.")
|
||||
(base32
|
||||
"0b1jp5gp2gv40gv6cvmv86rcr4l0mdh050qbvnxl0xcwya45qffx"))))
|
||||
(build-system meson-build-system)
|
||||
(outputs (list "out" "debug" "static"))
|
||||
(inputs
|
||||
(list bash-minimal util-linux))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
,#~(list
|
||||
(string-append "-Dudevrulesdir=" #$output "/udev/rules.d")
|
||||
"-Duseroot=false"
|
||||
;; Build static libraries.
|
||||
"--default-library=both")
|
||||
"-Duseroot=false")
|
||||
#:tests? #f
|
||||
#:modules ((guix build meson-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 ftw))
|
||||
#:phases
|
||||
,#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-file-names
|
||||
@@ -5259,20 +5286,7 @@ or kill them altogether.")
|
||||
(string-append #$output "/sbin"))
|
||||
(setenv "UDEV_RULES_PATH"
|
||||
(string-append #$output
|
||||
"/lib/udev/rules.d")))))
|
||||
(add-after 'install 'install-static-libraries
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(static (assoc-ref outputs "static")))
|
||||
(mkdir-p (string-append static "/lib"))
|
||||
(for-each
|
||||
(lambda (static-library)
|
||||
(rename-file
|
||||
(string-append out "/lib/" static-library)
|
||||
(string-append static "/lib/" static-library)))
|
||||
(scandir (string-append out "/lib")
|
||||
(lambda (file-name)
|
||||
(string-suffix? ".a" file-name))))))))))
|
||||
"/lib/udev/rules.d"))))))))
|
||||
(supported-systems (remove target-hurd? %supported-systems))
|
||||
(home-page "https://github.com/libfuse/libfuse")
|
||||
(synopsis "Support file systems implemented in user space")
|
||||
@@ -5343,6 +5357,23 @@ user-space processes.")
|
||||
(("-DFUSERMOUNT_DIR=[[:graph:]]+")
|
||||
"-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")))))))))
|
||||
|
||||
(define-public fuse-for-appimage
|
||||
(package
|
||||
(inherit fuse)
|
||||
(name "fuse")
|
||||
(version "3.16.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/libfuse/libfuse/releases/"
|
||||
"download/fuse-" version "/fuse-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "11yfl2w2a445hllyzlakq97n32g06972vxpmh7lpbclnj9fhb5zp"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags original-flags #~(list))
|
||||
#~(append #$original-flags '("--default-library=static")))))))
|
||||
|
||||
(define-public unionfs-fuse
|
||||
(package
|
||||
(name "unionfs-fuse")
|
||||
|
||||
@@ -27700,6 +27700,49 @@ adaptations.")
|
||||
(define-public ecl-radiance
|
||||
(sbcl-package->ecl-package sbcl-radiance))
|
||||
|
||||
(define-public sbcl-radiance-contribs
|
||||
(let ((commit "710b3e1f9971e48368d52eea0b407f2e8f510981")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "sbcl-radiance-contribs")
|
||||
(version (git-version "1.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/shirakumo/radiance-contribs")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "radiance-contribs" version))
|
||||
(sha256
|
||||
(base32 "08ivnd7a6vfciqna680qpx6zj6vw9xcbrzq29iz3x7x9sp1pqgq3"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(arguments
|
||||
;; TODO: Include more contribs.
|
||||
`(#:asd-systems '("r-clip"
|
||||
"i-log4cl"
|
||||
"i-sqlite"
|
||||
"r-data-model"
|
||||
"r-simple-rate"
|
||||
"r-welcome")))
|
||||
(inputs
|
||||
(list sbcl-radiance
|
||||
sbcl-cffi
|
||||
sbcl-clip
|
||||
sbcl-cl-sqlite
|
||||
sbcl-log4cl))
|
||||
(home-page "https://shirakumo.github.io/radiance/")
|
||||
(synopsis "Standard implementations and drivers for the radiance interfaces")
|
||||
(description
|
||||
"This is a collection of useful helper modules and standard
|
||||
implementations for Radiance interfaces.")
|
||||
(license license:zlib))))
|
||||
|
||||
(define-public cl-radiance-contribs
|
||||
(sbcl-package->cl-source-package sbcl-radiance-contribs))
|
||||
|
||||
(define-public ecl-radiance-contribs
|
||||
(sbcl-package->ecl-package sbcl-radiance-contribs))
|
||||
|
||||
(define-public sbcl-random-sample
|
||||
(let ((commit "46b70374ed796b84ea003e83c1db97b0caf97e22")
|
||||
(revision "0"))
|
||||
|
||||
@@ -51,6 +51,24 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages machine-learning)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix svn-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system ocaml)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system r)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages audio)
|
||||
@@ -71,7 +89,6 @@
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages dejagnu)
|
||||
#:use-module (gnu packages digest)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
@@ -137,23 +154,6 @@
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system ocaml)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system r)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix svn-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public dlpack
|
||||
@@ -4666,7 +4666,7 @@ different backends")
|
||||
(define-public koboldcpp
|
||||
(package
|
||||
(name "koboldcpp")
|
||||
(version "1.111.2")
|
||||
(version "1.110")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4682,7 +4682,7 @@ different backends")
|
||||
(delete-file-recursively "lib")
|
||||
(for-each delete-file (find-files "." "\\.(dll|exe|bat)$"))))
|
||||
(sha256
|
||||
(base32 "0mlq0p14p5vhc0pknkjidcw885mr0c92881lp629n44qxdf7dx8i"))))
|
||||
(base32 "1lfdfsk227qgk44sq10qa93cl5s221djnpj82wg6b38dg7yy0b62"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -68,7 +68,6 @@
|
||||
;;; Copyright © 2026 Carlos Durán Domínguez <wurt@wurt.eu>
|
||||
;;; Copyright © 2026 Sergey Trofimov <sarg@sarg.org.ru>
|
||||
;;; Copyright © 2026 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2026 Herman Rimm <herman@rimm.ee>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -4745,7 +4744,7 @@ on RFC 3501 and original @code{imaplib} module.")
|
||||
(define-public rspamd
|
||||
(package
|
||||
(name "rspamd")
|
||||
(version "3.14.3")
|
||||
(version "3.12.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4753,7 +4752,7 @@ on RFC 3501 and original @code{imaplib} module.")
|
||||
(url "https://github.com/rspamd/rspamd")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "1yh3933ak7qzzys6yzixrs8pmmsh16ny23im958h8rqg0xrq3mcy"))
|
||||
(base32 "0li75dqqy0irrvv2jddmll2adf15cywif982ijj034hldg9162bc"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
@@ -4784,11 +4783,11 @@ on RFC 3501 and original @code{imaplib} module.")
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(synopsis "Spam filtering system")
|
||||
(description
|
||||
"Rspamd is a spam filter that evaluates email messages by a number
|
||||
of rules including: regular expressions, statistical analysis, and URL
|
||||
blacklists. Rspamd gives each message a spam score, e.g., for further
|
||||
processing by an MTA.")
|
||||
(description "Rspamd is an advanced spam filtering system that
|
||||
allows evaluation of messages by a number of rules including regular
|
||||
expressions, statistical analysis and custom services such as URL
|
||||
black lists. Each message is analysed by Rspamd and given a spam
|
||||
score.")
|
||||
(home-page "https://www.rspamd.com/")
|
||||
(license license:asl2.0)))
|
||||
|
||||
|
||||
@@ -134,7 +134,7 @@ specific format when needed.")
|
||||
(delete 'configure)) ; no configure script
|
||||
#:test-target "test"))
|
||||
(native-inputs
|
||||
`(("python" ,python-minimal-wrapper)
|
||||
`(("python" ,python-2)
|
||||
("tidy" ,tidy-html)))
|
||||
(synopsis "Markdown processing library")
|
||||
(description "Hoedown is a standards compliant, fast, secure markdown
|
||||
|
||||
@@ -487,9 +487,8 @@ programming languages.")
|
||||
""))))
|
||||
;; The 'check phase requires test programs build using 'build-tests'.
|
||||
(add-before 'check 'build-tests
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "cmake" "--build" "." "--target" "build-tests")))))))
|
||||
(lambda _
|
||||
(invoke "cmake" "--build" "." "--target" "build-tests"))))))
|
||||
(inputs (list cadical-2.1
|
||||
cln
|
||||
cryptominisat
|
||||
@@ -8806,7 +8805,7 @@ and comparisons are supported.")
|
||||
"1fwlgbcdxz30dzsqw3y1b6ic1rhzfadghj7cq7yxsj14npgnwzga"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config python-minimal-wrapper))
|
||||
(list pkg-config python-2)) ;for tests; syntax incompatible with Python 3
|
||||
(inputs
|
||||
(list openblas suitesparse))
|
||||
(arguments
|
||||
|
||||
@@ -2690,6 +2690,23 @@ validating international phone numbers.")
|
||||
(home-page "https://github.com/google/libphonenumber")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public libphonenumber-8.11
|
||||
(package/inherit libphonenumber
|
||||
(name (package-name libphonenumber))
|
||||
(version "8.11.5")
|
||||
(source (origin
|
||||
(inherit (package-source libphonenumber))
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/libphonenumber")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1y4ivhy3kwgggrr3g521zaf97334aan0yqpzzryss80k326q5rhf"))))
|
||||
(inputs
|
||||
(modify-inputs inputs
|
||||
(delete "abseil-cpp" "icedtea")))))
|
||||
|
||||
(define-public chatty
|
||||
(package
|
||||
(name "chatty")
|
||||
|
||||
@@ -531,47 +531,6 @@ MPRIS 2 support.")
|
||||
(home-page "https://github.com/eonpatapon/mpDris2")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public mpdris2-rs
|
||||
(package
|
||||
(name "mpdris2-rs")
|
||||
(version "1.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/szclsya/mpdris2-rs")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "023m4g1kgr2q2vllaij7nlxd5gp3vklvbhf5drymgqz3pcmslb52"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-systemd-unit
|
||||
(lambda _
|
||||
(let ((unit-dir (in-vicinity #$output "lib/systemd/user/")))
|
||||
(substitute* "misc/mpdris2-rs.service"
|
||||
(("/usr/local/bin/mpdris2-rs")
|
||||
(in-vicinity #$output "bin/mpdris2-rs")))
|
||||
(install-file "misc/mpdris2-rs.service" unit-dir)))))))
|
||||
(inputs (cargo-inputs 'mpdris2-rs))
|
||||
(home-page "https://github.com/szclsya/mpdris2-rs")
|
||||
(synopsis "Exposing MPRIS V2.2 D-Bus interface for mpd")
|
||||
(description
|
||||
"A lightweight implementation of MPD to D-Bus bridge, which exposes MPD
|
||||
player and playlist information onto MPRIS2 interface so other programs can use
|
||||
this generic interface to retrieve MPD's playback state.
|
||||
|
||||
Distinctively, mpdris2-rs uses MPD protocol's native
|
||||
@command{readpicture}/@command{albumart} methods to fetch album arts. This
|
||||
means mpdris2-rs won't need any access to your local filesystem (apart from
|
||||
your @env{XDG_RUNTIME_DIR} for temporarily storing fetched albumarts) and can
|
||||
provide album arts even with remote MPD servers and Internet radios.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public cantata
|
||||
(package
|
||||
(name "cantata")
|
||||
|
||||
+24
-24
@@ -89,13 +89,33 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages networking)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages aidc)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages autogen)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
@@ -111,7 +131,6 @@
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages dejagnu)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages elf)
|
||||
@@ -135,21 +154,21 @@
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages kde-frameworks)
|
||||
#:use-module (gnu packages kerberos)
|
||||
#:use-module (gnu packages libbsd)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages libidn)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages lxqt)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages kerberos)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages openldap)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages password-utils)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages perl)
|
||||
@@ -185,25 +204,6 @@
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public usrsctp
|
||||
|
||||
+11
-11
@@ -31,10 +31,20 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages node)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module ((guix build utils) #:select (alist-replace))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix derivations)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system node)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages libevent)
|
||||
@@ -45,16 +55,6 @@
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module ((guix build utils) #:select (alist-replace))
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system node)
|
||||
#:use-module (guix derivations)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26))
|
||||
|
||||
@@ -2620,14 +2620,14 @@ the boot loader configuration.")
|
||||
(define-public flatpak
|
||||
(package
|
||||
(name "flatpak")
|
||||
(version "1.16.6")
|
||||
(version "1.16.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/flatpak/flatpak/releases/download/"
|
||||
version "/flatpak-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1hzfb337cyg5h4k3rh30jjzccfwazm3gx9lj9prh5dj4zvryfqqy"))
|
||||
(base32 "0mn1rf1q0r8bhqkm84f1vj3lvl63ccalnc4p98k6qxj92rcfj853"))
|
||||
(patches
|
||||
(search-patches "flatpak-fix-fonts-icons.patch"
|
||||
"flatpak-fix-icon-validation.patch"
|
||||
|
||||
@@ -1,291 +0,0 @@
|
||||
This patch is taken from the upstream repository
|
||||
|
||||
From b937572d157e660af98e224523ffb3fe5810ed2c Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <b937572d157e660af98e224523ffb3fe5810ed2c.1776087342.git.efraim@flashner.co.il>
|
||||
From: Felix Geyer <debfx@fobos.de>
|
||||
Date: Fri, 30 Aug 2019 19:08:35 +0200
|
||||
Subject: [PATCH] Port scripts to Python 3
|
||||
|
||||
Compatibility with Python 2 is preserved.
|
||||
---
|
||||
scripts/gendocs.py | 2 +-
|
||||
scripts/test.py | 67 +++++++++++++++++++++++-----------------------
|
||||
scripts/tinydoc.py | 23 ++++++++--------
|
||||
3 files changed, 47 insertions(+), 45 deletions(-)
|
||||
|
||||
diff --git a/scripts/gendocs.py b/scripts/gendocs.py
|
||||
index c9f206e..ba872c4 100644
|
||||
--- a/scripts/gendocs.py
|
||||
+++ b/scripts/gendocs.py
|
||||
@@ -29,6 +29,6 @@ root.nodes += [ParseTextFile(Node("License"), "license.txt", True)]
|
||||
|
||||
# render files
|
||||
for o in outputs:
|
||||
- o.file = file(o.output_name(), "w")
|
||||
+ o.file = open(o.output_name(), "w")
|
||||
o.render(root)
|
||||
o.file.close()
|
||||
diff --git a/scripts/test.py b/scripts/test.py
|
||||
index accc26c..bbc9c7d 100755
|
||||
--- a/scripts/test.py
|
||||
+++ b/scripts/test.py
|
||||
@@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
+from __future__ import print_function
|
||||
import os, sys, shutil, subprocess
|
||||
|
||||
extra_bam_flags = ""
|
||||
@@ -36,8 +37,8 @@ def copytree(src, dst):
|
||||
copytree(srcname, dstname)
|
||||
else:
|
||||
shutil.copy2(srcname, dstname)
|
||||
- except (IOError, os.error), why:
|
||||
- print "Can't copy %s to %s: %s" % (`srcname`, `dstname`, str(why))
|
||||
+ except (IOError, os.error) as why:
|
||||
+ print("Can't copy '%s' to '%s': %s" % (srcname, dstname, str(why)))
|
||||
|
||||
|
||||
def run_bam(testname, flags):
|
||||
@@ -45,7 +46,7 @@ def run_bam(testname, flags):
|
||||
olddir = os.getcwd()
|
||||
os.chdir(output_path+"/"+testname)
|
||||
|
||||
- p = subprocess.Popen(bam+" "+flags, stdout=subprocess.PIPE, shell=True, stderr=subprocess.STDOUT)
|
||||
+ p = subprocess.Popen(bam+" "+flags, stdout=subprocess.PIPE, shell=True, stderr=subprocess.STDOUT, universal_newlines=True)
|
||||
report = p.stdout.readlines()
|
||||
p.wait()
|
||||
ret = p.returncode
|
||||
@@ -64,8 +65,8 @@ def test(name, moreflags="", should_fail=0):
|
||||
os.chdir(output_path+"/"+name)
|
||||
cmdline = bam+" -t -v "+extra_bam_flags+" " + moreflags
|
||||
|
||||
- print name + ":",
|
||||
- p = subprocess.Popen(cmdline, stdout=subprocess.PIPE, shell=True, stderr=subprocess.STDOUT)
|
||||
+ print(name + ":", end=" ")
|
||||
+ p = subprocess.Popen(cmdline, stdout=subprocess.PIPE, shell=True, stderr=subprocess.STDOUT, universal_newlines=True)
|
||||
report = p.stdout.readlines()
|
||||
p.wait()
|
||||
ret = p.returncode
|
||||
@@ -73,50 +74,50 @@ def test(name, moreflags="", should_fail=0):
|
||||
os.chdir(olddir)
|
||||
|
||||
if (should_fail and not ret) or (not should_fail and ret):
|
||||
- print " FAILED!"
|
||||
+ print(" FAILED!")
|
||||
for l in report:
|
||||
- print "\t", l,
|
||||
+ print("\t", l, end=" ")
|
||||
failed_tests += [name + "(returned %d)" % ret]
|
||||
else:
|
||||
- print " ok"
|
||||
+ print(" ok")
|
||||
|
||||
def difftest(name, flags1, flags2):
|
||||
global failed_tests
|
||||
if len(tests) and not name in tests:
|
||||
return
|
||||
testname = "difftest: %s '%s' vs '%s': "%(name, flags1, flags2)
|
||||
- print testname,
|
||||
+ print(testname, end=" ")
|
||||
ret1, report1 = run_bam(name, flags1)
|
||||
ret2, report2 = run_bam(name, flags2)
|
||||
|
||||
if ret1:
|
||||
- print "FAILED! '%s' returned %d" %(flags1, ret1)
|
||||
+ print("FAILED! '%s' returned %d" %(flags1, ret1))
|
||||
failed_tests += [testname]
|
||||
return
|
||||
|
||||
if ret2:
|
||||
- print "FAILED! '%s' returned %d" %(flags2, ret2)
|
||||
+ print("FAILED! '%s' returned %d" %(flags2, ret2))
|
||||
failed_tests += [testname]
|
||||
return
|
||||
|
||||
if len(report1) != len(report2):
|
||||
- print "FAILED! %d lines vs %d lines" % (len(report1), len(report2))
|
||||
+ print("FAILED! %d lines vs %d lines" % (len(report1), len(report2)))
|
||||
failed_tests += [testname]
|
||||
return
|
||||
|
||||
failed = 0
|
||||
- for i in xrange(0, len(report1)):
|
||||
+ for i in range(0, len(report1)):
|
||||
if report1[i] != report2[i]:
|
||||
if not failed:
|
||||
- print "FAILED!"
|
||||
- print "1:", report1[i].strip()
|
||||
- print "2:", report2[i].strip()
|
||||
+ print("FAILED!")
|
||||
+ print("1:", report1[i].strip())
|
||||
+ print("2:", report2[i].strip())
|
||||
failed += 1
|
||||
|
||||
if failed:
|
||||
failed_tests += [testname]
|
||||
else:
|
||||
- print "ok"
|
||||
+ print("ok")
|
||||
|
||||
def unittests():
|
||||
global failed_tests
|
||||
@@ -129,7 +130,7 @@ def unittests():
|
||||
|
||||
tests = []
|
||||
state = 0
|
||||
- for line in file('src/base.lua'):
|
||||
+ for line in open('src/base.lua'):
|
||||
if state == 0:
|
||||
if "@UNITTESTS" in line:
|
||||
state = 1
|
||||
@@ -157,16 +158,16 @@ def unittests():
|
||||
os.chdir(output_path+"/unit")
|
||||
|
||||
for test in tests:
|
||||
- f = file("bam.lua", "w")
|
||||
+ f = open("bam.lua", "w")
|
||||
if test.catch != None:
|
||||
- print >>f, "print(\"CATCH:\", %s)"%(test.line)
|
||||
+ print("print(\"CATCH:\", %s)"%(test.line), file=f)
|
||||
else:
|
||||
- print >>f, test.line
|
||||
- print >>f, 'DefaultTarget(PseudoTarget("Test"))'
|
||||
+ print(test.line, file=f)
|
||||
+ print('DefaultTarget(PseudoTarget("Test"))', file=f)
|
||||
f.close()
|
||||
|
||||
- print "%s:"%(test.line),
|
||||
- p = subprocess.Popen(bam + " --dry", stdout=subprocess.PIPE, shell=True, stderr=subprocess.STDOUT)
|
||||
+ print("%s:"%(test.line), end=" ")
|
||||
+ p = subprocess.Popen(bam + " --dry", stdout=subprocess.PIPE, shell=True, stderr=subprocess.STDOUT, universal_newlines=True)
|
||||
report = p.stdout.readlines()
|
||||
p.wait()
|
||||
ret = p.returncode
|
||||
@@ -174,7 +175,7 @@ def unittests():
|
||||
failed = False
|
||||
if ret != test.err:
|
||||
failed = True
|
||||
- print "FAILED! error %d != %d" % (test.err, ret)
|
||||
+ print("FAILED! error %d != %d" % (test.err, ret))
|
||||
|
||||
if test.catch != None:
|
||||
found = False
|
||||
@@ -185,7 +186,7 @@ def unittests():
|
||||
if catched == test.catch:
|
||||
found = True
|
||||
else:
|
||||
- print "FAILED! catch '%s' != '%s'" % (test.catch, catched)
|
||||
+ print("FAILED! catch '%s' != '%s'" % (test.catch, catched))
|
||||
|
||||
if not found:
|
||||
failed = True
|
||||
@@ -198,16 +199,16 @@ def unittests():
|
||||
|
||||
if not found:
|
||||
failed = True
|
||||
- print "FAILED! could not find '%s' in output" % (test.find)
|
||||
+ print("FAILED! could not find '%s' in output" % (test.find))
|
||||
if failed or verbose:
|
||||
if failed:
|
||||
failed_tests += [test.line]
|
||||
else:
|
||||
- print "",
|
||||
+ print("", end=" ")
|
||||
for l in report:
|
||||
- print "\t", l.rstrip()
|
||||
+ print("\t", l.rstrip())
|
||||
else:
|
||||
- print "ok"
|
||||
+ print("ok")
|
||||
|
||||
|
||||
os.chdir(olddir)
|
||||
@@ -246,11 +247,11 @@ test("multipleoutput")
|
||||
test("missingoutput", "", 1)
|
||||
|
||||
if len(failed_tests):
|
||||
- print "FAILED TESTS:"
|
||||
+ print("FAILED TESTS:")
|
||||
for t in failed_tests:
|
||||
- print "\t"+t
|
||||
+ print("\t"+t)
|
||||
sys.exit(1)
|
||||
else:
|
||||
- print "ALL TESTS PASSED!"
|
||||
+ print("ALL TESTS PASSED!")
|
||||
sys.exit(0)
|
||||
|
||||
diff --git a/scripts/tinydoc.py b/scripts/tinydoc.py
|
||||
index 536a74f..6557cf8 100644
|
||||
--- a/scripts/tinydoc.py
|
||||
+++ b/scripts/tinydoc.py
|
||||
@@ -1,4 +1,5 @@
|
||||
|
||||
+from __future__ import print_function
|
||||
import re, time
|
||||
|
||||
class Node:
|
||||
@@ -47,20 +48,20 @@ class Output:
|
||||
|
||||
def render_node_index(self, cur):
|
||||
if len(cur.index):
|
||||
- print >>self.file, self.index_node_begin(cur)
|
||||
+ print(self.index_node_begin(cur), file=self.file)
|
||||
for node in cur.nodes:
|
||||
self.render_node_index(node)
|
||||
if len(cur.index):
|
||||
- print >>self.file, self.index_node_end(cur)
|
||||
+ print(self.index_node_end(cur), file=self.file)
|
||||
def render_node(self, cur):
|
||||
if len(cur.index):
|
||||
- print >>self.file, self.format_header(cur)
|
||||
- print >>self.file, self.format_body(cur)
|
||||
+ print(self.format_header(cur), file=self.file)
|
||||
+ print(self.format_body(cur), file=self.file)
|
||||
for node in cur.nodes:
|
||||
self.render_node(node)
|
||||
|
||||
def index_nodes(self, cur, index=""):
|
||||
- for i in xrange(0, len(cur.nodes)):
|
||||
+ for i in range(0, len(cur.nodes)):
|
||||
if len(index):
|
||||
cur.nodes[i].index = index + "." + str(i+1)
|
||||
else:
|
||||
@@ -73,14 +74,14 @@ class Output:
|
||||
|
||||
def render(self, rootnode):
|
||||
self.index_nodes(rootnode)
|
||||
- print >>self.file, self.render_begin()
|
||||
+ print(self.render_begin(), file=self.file)
|
||||
|
||||
- print >>self.file, self.index_begin()
|
||||
+ print(self.index_begin(), file=self.file)
|
||||
self.render_node_index(rootnode)
|
||||
- print >>self.file, self.index_end()
|
||||
+ print(self.index_end(), file=self.file)
|
||||
|
||||
self.render_node(rootnode)
|
||||
- print >>self.file, self.render_end()
|
||||
+ print(self.render_end(), file=self.file)
|
||||
|
||||
class HTMLOutput(Output):
|
||||
def render_begin(self):
|
||||
@@ -225,7 +226,7 @@ class HTMLOutput(Output):
|
||||
|
||||
def ParseTextFile(rootnode, filename, addbr=False):
|
||||
group = rootnode
|
||||
- for line in file(filename):
|
||||
+ for line in open(filename):
|
||||
if group_tag in line:
|
||||
group_name = line.split(group_tag)[-1].split(end_tag)[0].strip()
|
||||
group = Node(group_name)
|
||||
@@ -244,7 +245,7 @@ def ParseFile(rootnode, filename):
|
||||
# 2 = outputting function decl
|
||||
state = 0
|
||||
group = rootnode
|
||||
- for line in file(filename):
|
||||
+ for line in open(filename):
|
||||
if state == 0:
|
||||
if group_tag in line:
|
||||
group_name = line.split(group_tag)[-1].split(end_tag)[0].strip()
|
||||
@@ -0,0 +1,56 @@
|
||||
Author: Igorj Gorjaĉev <igor@goryachev.org>
|
||||
Date: Wed Oct 22 10:10:13 2025 +0300
|
||||
|
||||
vendoring support for guix
|
||||
|
||||
diff --git a/lib/mix/lib/mix/dep/loader.ex b/lib/mix/lib/mix/dep/loader.ex
|
||||
index e47bfc556..0ddd49fe5 100644
|
||||
--- a/lib/mix/lib/mix/dep/loader.ex
|
||||
+++ b/lib/mix/lib/mix/dep/loader.ex
|
||||
@@ -198,6 +198,10 @@ defp with_scm_and_app(app, req, opts, original, locked?) do
|
||||
)
|
||||
end
|
||||
|
||||
+ scm = Mix.Guix.scm(scm)
|
||||
+ req = Mix.Guix.req(req)
|
||||
+ opts = Mix.Guix.opts(opts, app)
|
||||
+
|
||||
%Mix.Dep{
|
||||
scm: scm,
|
||||
app: app,
|
||||
diff --git a/lib/mix/lib/mix/guix.ex b/lib/mix/lib/mix/guix.ex
|
||||
new file mode 100644
|
||||
index 000000000..9c821704c
|
||||
--- /dev/null
|
||||
+++ b/lib/mix/lib/mix/guix.ex
|
||||
@@ -0,0 +1,30 @@
|
||||
+defmodule Mix.Guix do
|
||||
+ @moduledoc false
|
||||
+
|
||||
+ @guix_vendorize "GUIX_MIX_VENDOR_DIR"
|
||||
+
|
||||
+ def scm(scm), do: (vendorize?() && Mix.SCM.Path) || scm
|
||||
+
|
||||
+ def req(req), do: (vendorize?() && nil) || req
|
||||
+
|
||||
+ def opts(opts, app) do
|
||||
+ if vendorize?() do
|
||||
+ if Keyword.has_key?(opts, :path) do
|
||||
+ opts
|
||||
+ else
|
||||
+ dep_dir = vendor_dep_dir(app)
|
||||
+
|
||||
+ [path: dep_dir, dest: dep_dir] ++
|
||||
+ Keyword.drop(opts, [:hex, :override, :repo, :lock, :dest])
|
||||
+ end
|
||||
+ else
|
||||
+ opts
|
||||
+ end
|
||||
+ end
|
||||
+
|
||||
+ defp vendorize?, do: not is_nil(vendor_dir())
|
||||
+
|
||||
+ defp vendor_dir, do: System.get_env(@guix_vendorize)
|
||||
+
|
||||
+ defp vendor_dep_dir(name), do: "#{vendor_dir()}/#{name}"
|
||||
+end
|
||||
@@ -1,33 +0,0 @@
|
||||
This patch makes neovim look for tree-sitter parsers in the directories
|
||||
specified by TREE_SITTER_GRAMMAR_PATH. Thereby, making it compatible
|
||||
with the tree-sitter setup used by other Guix packages. e.g. emacs.
|
||||
|
||||
diff --git a/runtime/lua/vim/treesitter/language.lua b/runtime/lua/vim/treesitter/language.lua
|
||||
index f70f99421c..480e7bb77a 100644
|
||||
--- a/runtime/lua/vim/treesitter/language.lua
|
||||
+++ b/runtime/lua/vim/treesitter/language.lua
|
||||
@@ -126,12 +126,19 @@ function M.add(lang, opts)
|
||||
return nil, string.format('Invalid language name "%s"', lang)
|
||||
end
|
||||
|
||||
- local fname = 'parser/' .. lang .. '.*'
|
||||
- local paths = api.nvim_get_runtime_file(fname, false)
|
||||
- if #paths == 0 then
|
||||
- return nil, string.format('No parser for language "%s"', lang)
|
||||
+ local paths = vim.split(os.getenv('TREE_SITTER_GRAMMAR_PATH') or '', ':')
|
||||
+ for _, elem in ipairs(paths) do
|
||||
+ local fname = elem .. '/' .. 'libtree-sitter-' .. lang .. '*'
|
||||
+ local paths = vim.fn.glob(fname, false, true)
|
||||
+ if #paths > 0 then
|
||||
+ path = paths[1]
|
||||
+ break
|
||||
+ end
|
||||
end
|
||||
- path = paths[1]
|
||||
+ end
|
||||
+
|
||||
+ if path == nil then
|
||||
+ return nil, string.format('No parser for language "%s"', lang)
|
||||
end
|
||||
|
||||
local res = loadparser(path, lang, symbol_name)
|
||||
@@ -37,7 +37,7 @@ diff -ru a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt
|
||||
-add_subdirectory(fmt EXCLUDE_FROM_ALL)
|
||||
-set_property(TARGET fmt PROPERTY FOLDER "3rdparty")
|
||||
-# Define a custom inline namespace for the fmt used by WZ, to prevent ODR violations if static linking to any libraries that themselves embed (a different version of) fmt
|
||||
-target_compile_definitions(fmt PUBLIC "FMT_BEGIN_NAMESPACE=namespace fmt { inline namespace v12_wz2100 {")
|
||||
-target_compile_definitions(fmt PUBLIC "FMT_BEGIN_NAMESPACE=namespace fmt { inline namespace v11_wz2100 {")
|
||||
-target_compile_definitions(fmt PUBLIC "FMT_END_NAMESPACE=}}")
|
||||
-
|
||||
+pkg_check_modules(FMT REQUIRED fmt)
|
||||
@@ -238,12 +238,12 @@ diff -ru a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
diff -ru a/lib/framework/wzstring.cpp b/lib/framework/wzstring.cpp
|
||||
--- a/lib/framework/wzstring.cpp
|
||||
+++ b/lib/framework/wzstring.cpp
|
||||
@@ -29,8 +29,8 @@
|
||||
// "By default, Visual Studio always returns the value 199711L for the __cplusplus preprocessor macro."
|
||||
#define UTF_CPP_CPLUSPLUS 201703L
|
||||
#endif
|
||||
--- a/lib/framework/wzstring.cpp 2025-09-16 11:41:32.000000000 -0500
|
||||
+++ b/lib/framework/wzstring.cpp 2025-09-18 13:37:23.686668245 -0500
|
||||
@@ -24,8 +24,8 @@
|
||||
#include <sstream>
|
||||
#include <iomanip>
|
||||
#include <limits>
|
||||
-#include <utfcpp/source/utf8.h>
|
||||
-#include <utf8proc/utf8proc.h>
|
||||
+#include <utf8cpp/utf8.h>
|
||||
|
||||
@@ -236,7 +236,7 @@ it.")
|
||||
(define-public trealla
|
||||
(package
|
||||
(name "trealla")
|
||||
(version "2.92.29")
|
||||
(version "2.92.21")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -245,7 +245,7 @@ it.")
|
||||
(url "https://github.com/trealla-prolog/trealla")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1032pza07dzyrsjrbh355h3cyrkwsg2vbzwwaaxcvfirjhn8zdam"))
|
||||
(base32 "1i6jn214098181izf74mq2mzmbq3lkbynhvpp6pfc2svf5z489pp"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
||||
+13
-13
@@ -106,16 +106,28 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages python-web)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages django)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnupg)
|
||||
@@ -128,7 +140,6 @@
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lsof)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages openstack)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
@@ -154,17 +165,6 @@
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public python-aiocoap
|
||||
|
||||
+70
-33
@@ -197,6 +197,9 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages python-xyz)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages attr)
|
||||
#:use-module (gnu packages autotools)
|
||||
@@ -207,10 +210,11 @@
|
||||
#:use-module (gnu packages bioinformatics)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages databases)
|
||||
@@ -219,7 +223,6 @@
|
||||
#:use-module (gnu packages digest)
|
||||
#:use-module (gnu packages django)
|
||||
#:use-module (gnu packages djvu)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages duckdb)
|
||||
#:use-module (gnu packages elf)
|
||||
@@ -268,7 +271,6 @@
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages openstack)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pdf)
|
||||
@@ -307,10 +309,10 @@
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
@@ -320,11 +322,9 @@
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix hg-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-1)
|
||||
@@ -13218,30 +13218,6 @@ and a plugin for Pillow.")
|
||||
(sha256
|
||||
(base32 "16mkap63d14f69105b3bm8pi64fvpdznncgn48vhgls0jf977m31"))))))
|
||||
|
||||
(define-public python-jxlpy
|
||||
(package
|
||||
(name "python-jxlpy")
|
||||
(version "0.9.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/olokelo/jxlpy")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1d1jrvpyvp8rix8kfmi962hl73mj0f7mib0xzk04va4kzc9p726s"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests, just examples
|
||||
(inputs (list libjxl))
|
||||
(propagated-inputs (list python-cython))
|
||||
(native-inputs (list python-cython python-setuptools))
|
||||
(home-page "https://github.com/olokelo/jxlpy")
|
||||
(synopsis "JPEG XL integration in Python")
|
||||
(description "This package provides Cython-based Python bindings for
|
||||
libjxl, as well as a pillow plugin.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pixelmatch
|
||||
(package
|
||||
(name "python-pixelmatch")
|
||||
@@ -21675,6 +21651,26 @@ programming errors.")
|
||||
into aligned columns.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-chai
|
||||
(package
|
||||
(name "python-chai")
|
||||
(version "1.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "chai" version))
|
||||
(sha256
|
||||
(base32 "1k6n6zbgrrs83crp6mr3yqj9zlv40b8rpisyrliwsq7naml2p3gz"))
|
||||
(patches (search-patches "python-chai-drop-python2.patch"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-pytest python-setuptools))
|
||||
(home-page "https://github.com/agoragames/chai")
|
||||
(synopsis "Mocking framework for Python")
|
||||
(description
|
||||
"Chai provides an api for mocking, stubbing and spying your python
|
||||
objects, patterned after the Mocha library for Ruby.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-pysol-cards
|
||||
(package
|
||||
(name "python-pysol-cards")
|
||||
@@ -40302,6 +40298,47 @@ e.g. filters, callbacks and errbacks can all be promises.")
|
||||
(sha256
|
||||
(base32 "1gj57xqgrg53yfn9ypikgky01hvazxdyl556kwsc7b7avyxm9dbv")))))))
|
||||
|
||||
;; XXX: No new release since 2021, no updates on default branch since 2023, no
|
||||
;; users in Guix; consider to remove if it keeps failing to build.
|
||||
(define-public python-virtualenv-clone
|
||||
(package
|
||||
(name "python-virtualenv-clone")
|
||||
(version "0.5.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/edwardgeorge/virtualenv-clone")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0p0d1y3axvjfnxlgwjx2374gikc8bmc82g0m7yashihbikh7pcxa"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "-k" (string-join
|
||||
;; UnicodeDecodeError: 'utf-8' codec can't decode byte
|
||||
;; 0xba in position 10: invalid start byte
|
||||
(list "not test_clone_contents"
|
||||
;; AssertionError: All versions were skipped.
|
||||
"test_clone_syspath"
|
||||
"test_clone_version"
|
||||
"test_virtualenv_syspath"
|
||||
"test_virtualenv_versions")
|
||||
" and not "))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-setuptools
|
||||
python-tomli
|
||||
python-virtualenv
|
||||
python-wheel))
|
||||
(home-page "https://github.com/edwardgeorge/virtualenv-clone")
|
||||
(synopsis "Clone a non-relocatable virtualenv cleanly")
|
||||
(description
|
||||
"Clone non-relocatable virtualenvs without breaking site-packages.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-vncdotool
|
||||
(package
|
||||
(name "python-vncdotool")
|
||||
|
||||
+11
-11
@@ -24,13 +24,23 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages rpc)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages protobuf)
|
||||
@@ -40,16 +50,6 @@
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages regex)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
;; XXX: Starting from version 1.47.5, opencensus-proto is required.
|
||||
|
||||
@@ -263,77 +263,6 @@ capable of sustaining any number of domain names in a bunch of original
|
||||
alternative zones.")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public ast-grep
|
||||
(package
|
||||
(name "ast-grep")
|
||||
(version "0.42.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ast-grep/ast-grep")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1h6335dq768vn7gfyhi90j1ljawpsf7wzgqzysgbwrwnk6h67mad"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "fixtures")))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:cargo-install-paths ''("crates/cli")
|
||||
#:cargo-test-flags
|
||||
''("--"
|
||||
;; These tests require the bundled shared libraries.
|
||||
"--skip=test::test_load_parser"
|
||||
"--skip=test::test_register_lang")
|
||||
#:modules '((guix build cargo-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-completions
|
||||
(lambda* (#:key native-inputs #:allow-other-keys)
|
||||
(for-each
|
||||
(match-lambda
|
||||
((shell . path)
|
||||
(mkdir-p (in-vicinity #$output (dirname path)))
|
||||
(let ((binary
|
||||
(if #$(%current-target-system)
|
||||
(search-input-file native-inputs "bin/ast-grep")
|
||||
(in-vicinity #$output "bin/ast-grep"))))
|
||||
(with-output-to-file (in-vicinity #$output path)
|
||||
(lambda _
|
||||
(invoke binary "completions" shell))))))
|
||||
'(("bash" . "share/bash-completion/completions/ast-grep")
|
||||
("elvish" . "share/elvish/lib/ast-grep")
|
||||
("fish" . "share/fish/vendor_completions.d/ast-grep.fish")
|
||||
("zsh" . "share/zsh/site-functions/_ast-grep")))))
|
||||
(add-after 'install 'wrap-sg
|
||||
(lambda _
|
||||
;; sg needs ast-grep to be in its PATH.
|
||||
(wrap-program (in-vicinity #$output "bin/sg")
|
||||
`("PATH" ":" prefix
|
||||
(,(dirname (in-vicinity #$output "bin/ast-grep"))))))))))
|
||||
(native-inputs
|
||||
(if (%current-target-system)
|
||||
(list this-package)
|
||||
'()))
|
||||
(inputs (cons* bash-minimal (cargo-inputs 'ast-grep)))
|
||||
(home-page "https://github.com/ast-grep/ast-grep")
|
||||
(synopsis "CLI tool for code structural search, lint, and rewriting")
|
||||
(description
|
||||
"@code{ast-grep} is an abstract syntax tree based tool to search code by
|
||||
pattern code. Think of it as your old-friend grep, but matching AST nodes
|
||||
instead of text. Write patterns as if you are writing ordinary code. It will
|
||||
match all code that has the same syntactical structure. You can use @code{$}
|
||||
and upper case letters as a wildcard, e.g. @code{$MATCH}, to match any single
|
||||
AST node. Think of it as regular expression dot @code{.}, except it is not
|
||||
textual.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public bat
|
||||
(package
|
||||
(name "bat")
|
||||
@@ -1964,7 +1893,7 @@ JSON viewer and jq filter editor.")
|
||||
(define-public jujutsu
|
||||
(package
|
||||
(name "jujutsu")
|
||||
(version "0.40.0")
|
||||
(version "0.39.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1973,7 +1902,7 @@ JSON viewer and jq filter editor.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0wdl6jqvv3bhdij65gsn0lpycw2qg2i5p1rc2wi42fdhghsfq6iw"))))
|
||||
(base32 "0c0n56b5y6wmyvcc18nhrfsmcavjlh2zwv9224lrcs6h602a5jdd"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
+1405
-2427
File diff suppressed because it is too large
Load Diff
@@ -153,7 +153,7 @@ hardware.")
|
||||
(package
|
||||
(inherit sdl2)
|
||||
(name "sdl3")
|
||||
(version "3.4.4")
|
||||
(version "3.2.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -162,7 +162,7 @@ hardware.")
|
||||
version "/SDL3-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0r1q1frjs0am93aspgha4k15rvmmiwsp5kn2pw5i9fw9daz2swgf"))))
|
||||
"1q0ksmg1h0xfjpgbshslxc5a2b2flcm7n5lwiq4v8vf6vssffyzq"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -188,11 +188,8 @@ hardware.")
|
||||
(propagated-inputs
|
||||
(list alsa-lib
|
||||
libxcursor ;enables X11 cursor support
|
||||
libxi
|
||||
libxkbcommon
|
||||
libxrandr
|
||||
libxscrnsaver
|
||||
libxtst
|
||||
mesa ;required by wayland
|
||||
pipewire-minimal
|
||||
pulseaudio
|
||||
@@ -209,7 +206,7 @@ hardware.")
|
||||
(define-public sdl2-compat
|
||||
(package
|
||||
(name "sdl2-compat")
|
||||
(version "2.32.66")
|
||||
(version "2.32.54")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -218,7 +215,7 @@ hardware.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1las3lq2sn7hiwpcdzf1rpcjz2g3dfrnl83b8n78v8y665fmbbk4"))))
|
||||
"0ijpx62b9syypxxnwvggz4l5fmrgln95ka180am9g2hgyqkqlj5n"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
|
||||
+16
-16
@@ -34,18 +34,29 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages search)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages aspell)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages ebook)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
@@ -56,10 +67,9 @@
|
||||
#:use-module (gnu packages less)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages photo)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
@@ -72,17 +82,7 @@
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
#:use-module (gnu packages pkg-config))
|
||||
|
||||
(define-public xapian
|
||||
(package
|
||||
|
||||
+17
-16
@@ -22,6 +22,20 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages sssd)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix modules)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages augeas)
|
||||
#:use-module (gnu packages autotools)
|
||||
@@ -33,7 +47,6 @@
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages gettext)
|
||||
@@ -44,29 +57,17 @@
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages openldap)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages samba)
|
||||
#:use-module (gnu packages security-token)
|
||||
#:use-module (gnu packages selinux)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix modules)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public adcli
|
||||
(package
|
||||
|
||||
+15
-15
@@ -26,7 +26,21 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages sync)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages acl)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
@@ -34,7 +48,6 @@
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages dlang)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages glib)
|
||||
@@ -66,20 +79,7 @@
|
||||
#:use-module (gnu packages shells)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
#:use-module (gnu packages tls))
|
||||
|
||||
(define-public nextcloud-client
|
||||
(package
|
||||
|
||||
+10098
-14564
File diff suppressed because it is too large
Load Diff
@@ -37,7 +37,7 @@
|
||||
;;; Copyright © 2024 Murilo <murilo@disroot.org>
|
||||
;;; Copyright © 2025 Ashvith Shetty <ashvithshetty0010@zohomail.in>
|
||||
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2025, 2026 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025 Marc Coquand <marc@coquand.email>
|
||||
;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com>
|
||||
;;; Copyright © 2025 Junker <dk@junkeria.club>
|
||||
@@ -414,40 +414,39 @@ based command language.")
|
||||
(define-public kakoune
|
||||
(package
|
||||
(name "kakoune")
|
||||
(version "2026.04.12")
|
||||
(version "2025.06.03")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mawww/kakoune/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/mawww/kakoune/"
|
||||
"releases/download/v" version "/"
|
||||
"kakoune-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "11c4sgb9k1iahi06i5p6m0qz1qf5hz4g2f1z80di23987bwvbjlv"))))
|
||||
(base32 "16b466anx7gf1jci3gxj87xr5qw9fgyhpc3509myzf6z3cgr9mff"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:make-flags
|
||||
#~(list (string-append "PREFIX=" #$output)
|
||||
(string-append "CXX=" #$(cxx-for-target)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-source
|
||||
(lambda _
|
||||
;; kakoune uses confstr with _CS_PATH to find out where to find
|
||||
;; a posix shell, but this doesn't work in the build
|
||||
;; environment. This substitution just replaces that result
|
||||
;; with the "sh" path.
|
||||
(substitute* "src/shell_manager.cc"
|
||||
(("if \\(m_shell.empty\\(\\)\\)" line)
|
||||
(string-append "m_shell = \"" (which "sh")
|
||||
"\";\n " line)))))
|
||||
(add-after 'install 'wrap-executable
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(wrap-program (string-append #$output "/bin/kak")
|
||||
`("PATH" ":" prefix
|
||||
(,(dirname (search-input-file inputs "bin/perl")))))))
|
||||
(delete 'configure)))) ; no configure script
|
||||
`(#:make-flags
|
||||
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
(string-append "CXX=" ,(cxx-for-target)))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-source
|
||||
(lambda _
|
||||
;; kakoune uses confstr with _CS_PATH to find out where to find
|
||||
;; a posix shell, but this doesn't work in the build
|
||||
;; environment. This substitution just replaces that result
|
||||
;; with the "sh" path.
|
||||
(substitute* "src/shell_manager.cc"
|
||||
(("if \\(m_shell.empty\\(\\)\\)" line)
|
||||
(string-append "m_shell = \"" (which "sh")
|
||||
"\";\n " line)))))
|
||||
(add-after 'install 'wrap-executable
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(wrap-program (string-append (assoc-ref outputs "out") "/bin/kak")
|
||||
`("PATH" ":" prefix
|
||||
(,(dirname (search-input-file inputs "bin/perl")))))))
|
||||
(delete 'configure)))) ; no configure script
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list perl))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
@@ -957,13 +956,13 @@ OpenBSD team.")
|
||||
(define-public nano
|
||||
(package
|
||||
(name "nano")
|
||||
(version "9.0")
|
||||
(version "8.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/nano/nano-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1piz044cjyk77w33g2qqwg386irqpgzabm9snwjhl4cnnis46f4z"))))
|
||||
(base32 "1pyy3hnjr9g0831wcdrs18v0lh7v63yj1kaf3ljz3qpj92rdrw3n"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(if (%current-target-system)
|
||||
|
||||
@@ -71,14 +71,14 @@
|
||||
(define-public tor
|
||||
(package
|
||||
(name "tor")
|
||||
(version "0.4.9.6")
|
||||
(version "0.4.9.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dist.torproject.org/tor-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05vh1bcsr0gx2xwl7r94drmqlzp0dgag43dlajk6769f0nbvm6m8"))))
|
||||
"0yg1k4qcvf7ikc296wgr7nr5axhpkkjb3xkn364n93ildgwc4jf9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
|
||||
@@ -66,7 +66,6 @@
|
||||
;;; Copyright © 2025 Dariqq <dariqq@posteo.net>
|
||||
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
|
||||
;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
|
||||
;;; Copyright © 2025 Roman Scherer <roman@burningswell.com>
|
||||
;;; Copyright © 2026 Ingar <ingar@onionmail.info>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@@ -1763,78 +1762,6 @@ fetch @acronym{PR, pull requests}, and more. It is based on the
|
||||
supports AGit-Flow and lifts the requirement to use a manifest file.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public github-cli
|
||||
(package
|
||||
(name "github-cli")
|
||||
(version "2.83.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cli/cli")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04kpcy15r7px92mf13jf4w0v07sjnfqc09m1vfvr5pmw7xsg35k2"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:import-path "github.com/cli/cli/v2/cmd/gh"
|
||||
#:unpack-path "github.com/cli/cli/v2"
|
||||
#:embed-files
|
||||
#~(list ".*\\.xml" ".*\\.tmpl"
|
||||
;; sigstore-go TUF repository files (root.json, staging_root.json)
|
||||
".*_?root\\.json" "trusted_root\\.json"
|
||||
;; go-openapi/spec schema files
|
||||
"jsonschema-draft-04\\.json" "schema\\.json")))
|
||||
(native-inputs
|
||||
(list go-github-com-atotto-clipboard
|
||||
go-github-com-briandowns-spinner
|
||||
go-github-com-cenkalti-backoff-v4
|
||||
go-github-com-cenkalti-backoff-v5
|
||||
go-github-com-charmbracelet-glamour
|
||||
go-github-com-charmbracelet-huh
|
||||
go-github-com-charmbracelet-lipgloss
|
||||
go-github-com-cli-go-gh-v2
|
||||
go-github-com-cli-oauth
|
||||
go-github-com-cli-safeexec
|
||||
go-github-com-digitorus-timestamp
|
||||
go-github-com-distribution-reference
|
||||
go-github-com-gabriel-vasile-mimetype
|
||||
go-github-com-gdamore-tcell-v2
|
||||
go-github-com-gorilla-websocket
|
||||
go-github-com-hashicorp-go-multierror
|
||||
go-github-com-hashicorp-go-version
|
||||
go-github-com-itchyny-timefmt-go
|
||||
go-github-com-joho-godotenv
|
||||
go-github-com-makenowjust-heredoc
|
||||
go-github-com-masterminds-sprig-v3
|
||||
go-github-com-microsoft-dev-tunnels
|
||||
go-github-com-muhammadmuzzammil1998-jsonc
|
||||
go-github-com-opentracing-opentracing-go
|
||||
go-github-com-rivo-tview
|
||||
go-github-com-shurcool-githubv4
|
||||
go-github-com-sigstore-sigstore-go
|
||||
go-github-com-spf13-cobra
|
||||
go-github-com-spf13-pflag
|
||||
go-github-com-stretchr-testify
|
||||
go-github-com-vmihailenco-msgpack-v5
|
||||
go-github-com-zalando-go-keyring
|
||||
go-golang-org-x-sys
|
||||
go-golang-org-x-term
|
||||
go-golang-org-x-text
|
||||
go-google-golang-org-grpc
|
||||
go-gopkg-in-yaml-v3))
|
||||
(home-page "https://cli.github.com/")
|
||||
(synopsis "GitHub's official command-line tool")
|
||||
(description
|
||||
"@command{gh} is GitHub on the command line. It brings pull requests,
|
||||
issues, and other GitHub concepts to the terminal next to where you are
|
||||
already working with git and your code. It works with GitHub.com, GitHub
|
||||
Enterprise Cloud, and GitHub Enterprise Server 2.20+.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public cgit
|
||||
(package
|
||||
(name "cgit")
|
||||
@@ -3312,46 +3239,40 @@ RCS, PRCS, and Aegis packages.")
|
||||
(define-public cvs-fast-export
|
||||
(package
|
||||
(name "cvs-fast-export")
|
||||
(version "1.68")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/esr/cvs-fast-export")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"17225lamdw8rf2yk76rhx8zxhzqjhv88ig3ng21qgvxbhl52wnzm"))))
|
||||
(version "1.56")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.catb.org/~esr/cvs-fast-export/"
|
||||
"cvs-fast-export-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"058bzp3npng48ascls943m16kgvrl0h197a10brf7mvx8zpfc7sc"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Tests require a lot of dependencies and are glacially slow.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure))
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
(string-append "CFLAGS+=-Wno-error=calloc-transposed-args")
|
||||
(string-append "prefix?=" #$output))))
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)) ; no configure script
|
||||
#:parallel-build? #f ; parallel a2x commands fail spectacularly
|
||||
#:make-flags
|
||||
(list "CC=gcc" (string-append "prefix?=" (assoc-ref %outputs "out")))))
|
||||
(inputs
|
||||
(list git python-wrapper))
|
||||
`(("git" ,git)
|
||||
("python" ,python-wrapper)))
|
||||
(native-inputs
|
||||
(list ruby-asciidoctor/minimal
|
||||
bison
|
||||
flex))
|
||||
(list asciidoc
|
||||
;; These are needed for the tests.
|
||||
cvs rcs))
|
||||
(home-page "http://www.catb.org/esr/cvs-fast-export/")
|
||||
(synopsis "Export an RCS or CVS history as a fast-import stream")
|
||||
(description
|
||||
"This program analyzes a collection of RCS files in a CVS repository (or
|
||||
outside of one) and, when possible, emits an equivalent history in the form of
|
||||
a fast-import stream. Not all possible histories can be rendered this way;
|
||||
the program tries to emit useful warnings when it can't.
|
||||
(description "This program analyzes a collection of RCS files in a CVS
|
||||
repository (or outside of one) and, when possible, emits an equivalent history
|
||||
in the form of a fast-import stream. Not all possible histories can be
|
||||
rendered this way; the program tries to emit useful warnings when it can't.
|
||||
|
||||
The program can also produce a visualization of the resulting commit
|
||||
@acronym{DAG, directed acyclic graph} in the input format of
|
||||
@uref{http://www.graphviz.org, Graphviz}. The package also includes
|
||||
@command{cvssync}, a tool for mirroring masters from remote CVS hosts.")
|
||||
The program can also produce a visualization of the resulting commit directed
|
||||
acyclic graph (DAG) in the input format of @uref{http://www.graphviz.org,
|
||||
Graphviz}. The package also includes @command{cvssync}, a tool for mirroring
|
||||
masters from remote CVS hosts.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public vc-dwim
|
||||
@@ -4910,8 +4831,9 @@ comes as a command line app and also an Emacs interface.")
|
||||
go-gopkg-in-yaml-v3))
|
||||
(home-page "https://github.com/github/git-sizer")
|
||||
(synopsis "Analyze size of a Git repo")
|
||||
(description "Compute various size metrics for a Git repository, flagging
|
||||
those that might cause problems or inconvenience.")
|
||||
(description
|
||||
"Compute various size metrics for a Git repository, flagging those that
|
||||
might cause problems or inconvenience.")
|
||||
(license license:expat)))
|
||||
|
||||
;;;
|
||||
|
||||
+10
-3
@@ -4174,7 +4174,11 @@ tools, XML authoring components, and an extensible plug-in based API.")
|
||||
(native-inputs
|
||||
(list perl pkg-config))
|
||||
(inputs
|
||||
(list libjpeg-turbo
|
||||
(list alsa-lib
|
||||
glu
|
||||
libjpeg-turbo
|
||||
libx11
|
||||
qtbase-5
|
||||
eudev))
|
||||
(synopsis "Realtime video capture utilities for Linux")
|
||||
(description "The v4l-utils provide a series of libraries and utilities to
|
||||
@@ -4183,8 +4187,11 @@ be used for realtime video capture via Linux-specific APIs.")
|
||||
;; libv4l2 is LGPL2.1+, while utilities are GPL2 only.
|
||||
(license (list license:lgpl2.1+ license:gpl2))))
|
||||
|
||||
;; 2026-03-20
|
||||
(define-deprecated-package v4l-utils-minimal v4l-utils)
|
||||
(define-public v4l-utils-minimal
|
||||
(package/inherit v4l-utils
|
||||
(name "v4l-utils-minimal")
|
||||
(inputs (modify-inputs (package-inputs v4l-utils)
|
||||
(delete "qtbase" "glu" "libx11")))))
|
||||
|
||||
(define-public obs
|
||||
(package
|
||||
|
||||
+1
-15
@@ -801,8 +801,7 @@ is based on Vim's builtin plugin support.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1b524vi44gkcsyy8w4jggvprwdsgy0gjprgxpyhh0dmqm47c0c48"))
|
||||
(patches (search-patches "neovim-tree-sitter-grammar-path.patch"))))
|
||||
"1b524vi44gkcsyy8w4jggvprwdsgy0gjprgxpyhh0dmqm47c0c48"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f
|
||||
@@ -853,19 +852,6 @@ is based on Vim's builtin plugin support.")
|
||||
lua5.1-libmpack
|
||||
tree-sitter))
|
||||
(native-inputs (list pkg-config gettext-minimal gperf))
|
||||
(propagated-inputs
|
||||
;; bundled tree-sitters, neovim assumes that these are available.
|
||||
;; See https://neovim.io/doc/user/treesitter.html#treesitter-parsers
|
||||
(list tree-sitter-c
|
||||
tree-sitter-lua
|
||||
tree-sitter-markdown
|
||||
tree-sitter-vim
|
||||
tree-sitter-vimdoc
|
||||
tree-sitter-query))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "TREE_SITTER_GRAMMAR_PATH")
|
||||
(files '("lib/tree-sitter")))))
|
||||
(home-page "https://neovim.io")
|
||||
(synopsis "Fork of vim focused on extensibility and agility")
|
||||
(description
|
||||
|
||||
+120
-34
@@ -100,7 +100,34 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages web)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix cvs-download)
|
||||
#:use-module (guix hg-download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system guile)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system node)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system scons)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages apr)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
@@ -109,6 +136,7 @@
|
||||
#:use-module (gnu packages bittorrent)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages code)
|
||||
#:use-module (gnu packages compression)
|
||||
@@ -117,11 +145,10 @@
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages digest)
|
||||
#:use-module (gnu packages django)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages emacs-xyz)
|
||||
@@ -152,9 +179,9 @@
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-viewers)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages kde-frameworks)
|
||||
#:use-module (gnu packages kerberos)
|
||||
#:use-module (gnu packages less)
|
||||
@@ -163,9 +190,9 @@
|
||||
#:use-module (gnu packages libidn)
|
||||
#:use-module (gnu packages libunistring)
|
||||
#:use-module (gnu packages libunwind)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lisp-xyz)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages lsof)
|
||||
#:use-module (gnu packages lua)
|
||||
@@ -177,7 +204,6 @@
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages openldap)
|
||||
#:use-module (gnu packages openstack)
|
||||
#:use-module (gnu packages package-management)
|
||||
@@ -185,7 +211,6 @@
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages perl-check)
|
||||
#:use-module (gnu packages perl-compression)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages prometheus)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
@@ -194,6 +219,7 @@
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages re2c)
|
||||
#:use-module (gnu packages readline)
|
||||
@@ -216,32 +242,6 @@
|
||||
#:use-module (gnu packages wget)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system guile)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system node)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system scons)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix cvs-download)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix hg-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module ((srfi srfi-1) #:select (delete-duplicates)))
|
||||
|
||||
(define-public qhttp
|
||||
@@ -503,7 +503,7 @@ Interface} specification.")
|
||||
(define-public ablorb
|
||||
(package
|
||||
(name "ablorb")
|
||||
(version "0.1.1")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -512,7 +512,7 @@ Interface} specification.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1yyc52863bbqvq9si7bhwwraafa3kir6qr5xqavqbvi140d9c373"))))
|
||||
(base32 "1i705p2gw5aryj0myfj3rmsrmj3ilqdn5w7xd5dwjkyi80rc20kj"))))
|
||||
(build-system meson-build-system)
|
||||
(inputs (list glib gconf gnome-vfs libxml2))
|
||||
(native-inputs (list pkg-config))
|
||||
@@ -7988,6 +7988,92 @@ Interface} and @acronym{SSL, Secure Sockets Layer} support. It can be
|
||||
embedded into C/C++ applications or used as a standalone web server.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public clearsilver
|
||||
(package
|
||||
(name "clearsilver")
|
||||
(version "0.11.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/blong42/clearsilver/")
|
||||
(commit "fbe4926ba9a756163fd1539ff6eee3522cf1f5d8")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "02ad43gmqwy7wmh71mh5pk6gl1lax76sjnf42sknj0ijdga170kl"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #false ;there is not test target and tests are run during build
|
||||
#:configure-flags
|
||||
'(list "--disable-java" "--disable-python")
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'prepare-streamhtmlparser
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(copy-recursively (assoc-ref inputs "streamhtmlparser")
|
||||
(string-append (getcwd) "/streamhtmlparser"))
|
||||
(for-each make-file-writable
|
||||
(find-files "streamhtmlparser" "."
|
||||
#:directories? #t))))
|
||||
(add-after 'unpack 'pre-bootstrap
|
||||
(lambda _
|
||||
;; We don't need the Java stuff
|
||||
(substitute* "configure.in"
|
||||
(("AC_JNI_INCLUDE_DIR") ""))
|
||||
|
||||
;; This script will call /bin/sh, so it's easier to just
|
||||
;; bootstrap manually.
|
||||
(delete-file "autogen.sh")
|
||||
(substitute* "rules.mk.in"
|
||||
(("@PTHREAD_LIBS@") "-lpthread")
|
||||
(("@PTHREAD_CFLAGS@") "")
|
||||
(("@PTHREAD_CC@") "gcc"))
|
||||
|
||||
;; The GNU variadic macros actually work, whereas the C99
|
||||
;; implementation fails to build.
|
||||
(substitute* "util/neo_misc.h"
|
||||
(("#define USE_C99_VARARG_MACROS") "#define USE_GNUC_VARARG_MACROS"))
|
||||
|
||||
(setenv "CFLAGS" "-fPIC")
|
||||
|
||||
;; This directory is created some time during the build, but the
|
||||
;; early libtool processes assume the directory exists. When
|
||||
;; they are run first they copy the libraries themselves to the
|
||||
;; file "libs" instead of moving them into the directory.
|
||||
(mkdir-p "libs")))
|
||||
(add-after 'build 'build-documentation
|
||||
(lambda _ (invoke "make" "man")))
|
||||
(add-after 'install 'install-streamhtmlparser
|
||||
(lambda* (#:key make-flags parallel-build? #:allow-other-keys)
|
||||
(with-directory-excursion "streamhtmlparser"
|
||||
(apply invoke "make" "-j" (if parallel-build?
|
||||
(number->string (parallel-job-count))
|
||||
"1")
|
||||
"install" make-flags)))))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("python" ,python-2)
|
||||
("streamhtmlparser"
|
||||
,(let ((commit "551109ac02a31957a0e776416774c7b515b4b7c7"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/streamhtmlparser/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "streamhtmlparser" commit))
|
||||
(sha256
|
||||
(base32
|
||||
"0bmrdakk930q3m8fmq0xcy7n7cdvlk1xma4z9204919hvb1gk9md")))))))
|
||||
(home-page "https://github.com/blong42/clearsilver")
|
||||
(synopsis "CGI kit and HTML templating system")
|
||||
(description
|
||||
"This package includes Clearsilver, the CGI kit and HTML templating
|
||||
system.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-py-ubjson
|
||||
(package
|
||||
(name "python-py-ubjson")
|
||||
|
||||
+19
-40
@@ -1251,7 +1251,7 @@ to events.")
|
||||
pulseaudio
|
||||
wayland
|
||||
wayland-protocols
|
||||
wlroots-0.19))
|
||||
wlroots))
|
||||
(propagated-inputs
|
||||
(list python-aiohttp
|
||||
python-cairocffi
|
||||
@@ -2450,19 +2450,19 @@ limited size and a few external dependencies. It is configurable via
|
||||
;; LICENSE LICENSE.dwm LICENSE.tinywl
|
||||
(license (list license:gpl3+ license:expat license:cc0))))
|
||||
|
||||
(define-public mangowm
|
||||
(define-public mangowc
|
||||
(package
|
||||
(name "mangowm")
|
||||
(version "0.12.8")
|
||||
(name "mangowc")
|
||||
(version "0.12.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mangowm/mango")
|
||||
(url "https://github.com/DreamMaoMao/mangowc")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1jfm3kd2iscwfxhflmq8mdph64rd26jc6ps0sqmf0y9ysagqbnlk"))))
|
||||
(base32 "024vq3l8pwv4nxq0rnvpgdhy58fdq2k0zlca83s6nv4zzf0qxqvj"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2493,20 +2493,17 @@ limited size and a few external dependencies. It is configurable via
|
||||
pcre2
|
||||
libxcb
|
||||
xcb-util-wm
|
||||
wlroots-0.19
|
||||
wlroots
|
||||
scenefx))
|
||||
(home-page "https://github.com/mangowm/mango")
|
||||
(home-page "https://github.com/DreamMaoMao/mangowc")
|
||||
(synopsis "Wayland compositor based on wlroots and scenefx")
|
||||
(description
|
||||
"MangoWM is a modern, lightweight, high-performance Wayland compositor
|
||||
"MangoWC is a modern, lightweight, high-performance Wayland compositor
|
||||
built on dwl — crafted for speed, flexibility, and a customizable desktop experience.")
|
||||
(license (list license:gpl3 ;mangowm itself, dwl
|
||||
(license (list license:gpl3 ;mangowc itself, dwl
|
||||
license:expat ;dwm, sway, wlroots
|
||||
license:cc0)))) ;tinywl
|
||||
|
||||
(define-deprecated-package mangowc
|
||||
mangowm)
|
||||
|
||||
(define-public niri
|
||||
(package
|
||||
(name "niri")
|
||||
@@ -2539,11 +2536,6 @@ built on dwl — crafted for speed, flexibility, and a customizable desktop expe
|
||||
"version = \"*\", optional")
|
||||
(("^git = .*")
|
||||
""))))
|
||||
(add-after 'unpack 'patch-references
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/main.rs"
|
||||
(("dbus-update-activation-environment" cmd)
|
||||
(search-input-file inputs (in-vicinity "bin" cmd))))))
|
||||
(add-after 'unpack 'set-environment
|
||||
(lambda _
|
||||
(setenv "RUSTFLAGS"
|
||||
@@ -2557,10 +2549,13 @@ built on dwl — crafted for speed, flexibility, and a customizable desktop expe
|
||||
(setenv "RAYON_NUM_THREADS" "1")
|
||||
(setenv "XDG_RUNTIME_DIR" "/tmp")))
|
||||
(add-after 'install 'install-extras
|
||||
(lambda _
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "resources/niri.desktop"
|
||||
(("niri-session")
|
||||
(string-append #$output "/bin/niri --session")))
|
||||
(format #f "~a --dbus-daemon=~a ~a/bin/niri --session"
|
||||
(search-input-file inputs "bin/dbus-run-session")
|
||||
(search-input-file inputs "bin/dbus-daemon")
|
||||
#$output)))
|
||||
(install-file
|
||||
"resources/niri.desktop"
|
||||
(in-vicinity #$output "share/wayland-sessions"))
|
||||
@@ -2719,7 +2714,7 @@ XDG-Output for wlclock to work.")
|
||||
(define-public wlroots
|
||||
(package
|
||||
(name "wlroots")
|
||||
(version "0.20.0")
|
||||
(version "0.19.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2728,7 +2723,7 @@ XDG-Output for wlclock to work.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1gdmy4mpi7x23g81cdmcr9aakk3g6csl69h9j98yzssa48k6all5"))))
|
||||
(base32 "0w1mq72r92zk9z650gdik17h6rxqnxjy63r2mfj423zxl54s2lzi"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
@@ -2780,23 +2775,7 @@ modules for building a Wayland compositor.")
|
||||
|
||||
;; Allow packages referring to stable wlroots version, because
|
||||
;; wlroots updates are backward incompatible.
|
||||
(define-public wlroots-0.20
|
||||
wlroots)
|
||||
|
||||
(define-public wlroots-0.19
|
||||
(package
|
||||
(inherit wlroots)
|
||||
(name "wlroots")
|
||||
(version "0.19.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.freedesktop.org/wlroots/wlroots")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1k8qzss7iycbbnwjp3ygsrb3rc8m45vxpy99r213d2vf9dai5v17"))))))
|
||||
(define-public wlroots-0.19 wlroots)
|
||||
|
||||
(define-public wlroots-0.18
|
||||
(package
|
||||
@@ -2967,7 +2946,7 @@ narrow the items to those matching the tokens in the input.")
|
||||
pcre2
|
||||
swaybg
|
||||
wayland
|
||||
wlroots-0.19))
|
||||
wlroots))
|
||||
(native-inputs
|
||||
(cons* linux-pam mesa pkg-config scdoc wayland-protocols
|
||||
(if (%current-target-system)
|
||||
|
||||
@@ -1,143 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2026 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;;
|
||||
;;; 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 services configuration environment-variables)
|
||||
#:use-module (gnu services configuration)
|
||||
#:use-module (gnu services configuration utils)
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:export (serialize-string-environment-variable
|
||||
serialize-boolean-environment-variable
|
||||
serialize-number-environment-variable
|
||||
serialize-maybe-string-environment-variable
|
||||
serialize-maybe-boolean-environment-variable
|
||||
serialize-maybe-number-environment-variable
|
||||
|
||||
serialize-environment-variables))
|
||||
|
||||
(define* (field-name->environment-variable field-name
|
||||
#:key prefix
|
||||
(uglify uglify-snake-case))
|
||||
"Serializes FIELD-NAME, a field name from @code{(gnu services configuration)},
|
||||
to an environment variable name through UGLIFY, by default a procedure that is
|
||||
passed FIELD-NAME, and returns a snake case string representation of
|
||||
the field name. Trailing @code{?} in the name are dropped and @code{-} get
|
||||
replaced by @code{_}. When PREFIX is a string, it is prepended to the result.
|
||||
The result of UGLIFY is then upcased and returned.
|
||||
|
||||
For example the procedure would convert @code{'a-field} to @code{\"A_FIELD\"}."
|
||||
(let ((variable (string-upcase
|
||||
(uglify field-name))))
|
||||
(if (string? prefix)
|
||||
(string-append prefix variable)
|
||||
variable)))
|
||||
|
||||
(define* (serialize-string-environment-variable field-name value
|
||||
#:key prefix
|
||||
#:allow-other-keys)
|
||||
(cons (field-name->environment-variable field-name #:prefix prefix)
|
||||
value))
|
||||
|
||||
(define* (serialize-maybe-string-environment-variable field-name value
|
||||
#:key prefix
|
||||
#:allow-other-keys)
|
||||
(if (maybe-value-set? value)
|
||||
(serialize-string-environment-variable field-name value #:prefix prefix)
|
||||
#f))
|
||||
|
||||
(define* (serialize-boolean-environment-variable field-name value
|
||||
#:key prefix
|
||||
(true-value "true")
|
||||
(false-value "false")
|
||||
#:allow-other-keys)
|
||||
(serialize-string-environment-variable
|
||||
field-name (if value true-value false-value)
|
||||
#:prefix prefix))
|
||||
|
||||
(define* (serialize-maybe-boolean-environment-variable field-name value
|
||||
#:key prefix
|
||||
#:allow-other-keys)
|
||||
(if (maybe-value-set? value)
|
||||
(serialize-boolean-environment-variable field-name value #:prefix prefix)
|
||||
#f))
|
||||
|
||||
(define* (serialize-number-environment-variable field-name value
|
||||
#:key prefix
|
||||
#:allow-other-keys)
|
||||
(cons (field-name->environment-variable field-name #:prefix prefix)
|
||||
(number->string value)))
|
||||
|
||||
(define* (serialize-maybe-number-environment-variable field-name value
|
||||
#:key prefix
|
||||
#:allow-other-keys)
|
||||
(if (maybe-value-set? value)
|
||||
(serialize-number-environment-variable field-name value #:prefix prefix)
|
||||
#f))
|
||||
|
||||
(define (environment-variable-serializer field)
|
||||
(define type (configuration-field-type field))
|
||||
(match type
|
||||
('string serialize-string-environment-variable)
|
||||
('maybe-string serialize-maybe-string-environment-variable)
|
||||
('number serialize-number-environment-variable)
|
||||
('integer serialize-number-environment-variable)
|
||||
('positive serialize-number-environment-variable)
|
||||
('maybe-number serialize-maybe-number-environment-variable)
|
||||
('maybe-integer serialize-maybe-number-environment-variable)
|
||||
('maybe-positive serialize-maybe-number-environment-variable)
|
||||
('boolean serialize-boolean-environment-variable)
|
||||
('maybe-boolean serialize-boolean-environment-variable)
|
||||
(_
|
||||
(raise
|
||||
(formatted-message
|
||||
(G_ "Unknown environment-variable field type: ~a")
|
||||
type)))))
|
||||
|
||||
(define* (serialize-environment-variables config fields
|
||||
#:optional selection negate?
|
||||
#:key prefix
|
||||
(true-value "true")
|
||||
(false-value "false"))
|
||||
"Serializes the fields whose name is included in SELECTION from CONFIG, a
|
||||
configuration from @code{(gnu services configuration)}, and FIELDS, the
|
||||
list of its field records, to a list of pairs. When NEGATE? is #t all services
|
||||
not included in SELECTION will be serialized. Each pair represents an
|
||||
environment variable. The first element of each pair is the variable name, the
|
||||
second is the value. When PREFIX is a string it is prepended to the variable
|
||||
name. TRUE-VALUE and FALSE-VALUE will be used as a representation for
|
||||
respectfully @code{#t} and @code{#f}."
|
||||
(define selected-names
|
||||
(or selection
|
||||
(map configuration-field-name fields)))
|
||||
(define filtered
|
||||
(filter-configuration-fields fields selected-names negate?))
|
||||
(define getters
|
||||
(map configuration-field-getter filtered))
|
||||
(define names
|
||||
(map configuration-field-name filtered))
|
||||
(define serializers
|
||||
(map environment-variable-serializer filtered))
|
||||
|
||||
(filter-map (match-lambda ((serializer name getter)
|
||||
(serializer name (getter config)
|
||||
#:prefix prefix
|
||||
#:true-value true-value
|
||||
#:false-value false-value)))
|
||||
(zip serializers names getters)))
|
||||
@@ -1,6 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2023 Pierre-Henry Fröhring <contact@phfrohring.com>
|
||||
;;; Copyright © 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;; Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -28,7 +29,10 @@
|
||||
#:use-module (guix build mix-build-system)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system)
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix search-paths)
|
||||
@@ -37,7 +41,12 @@
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:export (mix-build-system hexpm-uri))
|
||||
#:export (mix-build-system
|
||||
hexpm-uri
|
||||
beam-name->package-name
|
||||
hexpm-source
|
||||
define-mix-inputs
|
||||
mix-inputs))
|
||||
|
||||
(define (default-elixir-hex)
|
||||
(@* (gnu packages elixir) elixir-hex))
|
||||
@@ -64,6 +73,48 @@ See: https://github.com/hexpm/specifications/blob/main/endpoints.md"
|
||||
strip-prefix)
|
||||
name))
|
||||
|
||||
(define (beam-name->package-name name)
|
||||
(downstream-package-name "beam-" name))
|
||||
|
||||
;; NOTE: Only use this procedure in (gnu packages beam-packages).
|
||||
(define* (hexpm-source package-name hexpm-name hexpm-version hexpm-hash
|
||||
#:key (patches '()) (snippet #f))
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri hexpm-name hexpm-version))
|
||||
(file-name
|
||||
(string-append "beam-" package-name "-" hexpm-version ".tar"))
|
||||
(sha256 (base32 hexpm-hash))
|
||||
(modules '((guix build utils)))
|
||||
(patches patches)
|
||||
(snippet snippet)))
|
||||
|
||||
(define-syntax define-mix-inputs
|
||||
(syntax-rules (=>)
|
||||
((_ lookup inputs ...)
|
||||
(define lookup
|
||||
(let ((table (make-hash-table)))
|
||||
(letrec-syntax ((record
|
||||
(syntax-rules (=>)
|
||||
((_) #t)
|
||||
((_ (name => lst) rest (... ...))
|
||||
(begin
|
||||
(hashq-set! table 'name (filter identity lst))
|
||||
(record rest (... ...)))))))
|
||||
(record inputs ...)
|
||||
(lambda (name)
|
||||
"Return the inputs for NAME."
|
||||
(hashq-ref table name))))))))
|
||||
|
||||
(define* (mix-inputs name #:key (module '(gnu packages beam-packages)))
|
||||
"Lookup Mix inputs for NAME defined in MODULE, return an empty list if
|
||||
unavailable."
|
||||
(let ((lookup (module-ref (resolve-interface module) 'lookup-mix-inputs)))
|
||||
(or (lookup name)
|
||||
(begin
|
||||
(warning (G_ "no Mix inputs available for '~a'~%") name)
|
||||
'()))))
|
||||
|
||||
;; A number of environment variables specific to the Mix build system are
|
||||
;; reflected here. They are documented at
|
||||
;; https://hexdocs.pm/mix/Mix.html#module-environment-variables. Other
|
||||
@@ -75,6 +126,9 @@ See: https://github.com/hexpm/specifications/blob/main/endpoints.md"
|
||||
source
|
||||
(tests? #t)
|
||||
(test-flags ''())
|
||||
(vendorize? #f)
|
||||
(vendor-symlinks? #t)
|
||||
(vendor-dir "guix-vendor")
|
||||
(mix-path #f) ;See MIX_PATH.
|
||||
(mix-exs "mix.exs") ;See MIX_EXS.
|
||||
(build-per-environment #t) ;See :build_per_environment.
|
||||
@@ -110,6 +164,9 @@ See: https://github.com/hexpm/specifications/blob/main/endpoints.md"
|
||||
#:system #$system
|
||||
#:tests? #$tests?
|
||||
#:test-flags #$test-flags
|
||||
#:vendorize? #$vendorize?
|
||||
#:vendor-symlinks? #$vendor-symlinks?
|
||||
#:vendor-dir #$vendor-dir
|
||||
#:mix-path #$mix-path
|
||||
#:mix-exs #$mix-exs
|
||||
#:mix-environments '#$mix-environments
|
||||
|
||||
+115
-22
@@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2023 Pierre-Henry Fröhring <contact@phfrohring.com>
|
||||
;;; Copyright © 2024, 2026 Igorj Gorjaĉev <igor@goryachev.org>
|
||||
;;; Copyright © 2024-2026 Igorj Gorjaĉev <igor@goryachev.org>
|
||||
;;; Copyright © 2024, 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@@ -48,7 +48,13 @@
|
||||
VERSION are installed."
|
||||
(string-append path "/lib/elixir/" version))
|
||||
|
||||
(define* (strip-prefix name #:optional (prefix "elixir-"))
|
||||
(define %elixir-prefix "elixir-")
|
||||
|
||||
(define %beam-prefix "beam-")
|
||||
|
||||
(define %vendorize-env-var "GUIX_MIX_VENDOR_DIR")
|
||||
|
||||
(define* (strip-prefix name #:optional (prefix %elixir-prefix))
|
||||
"Return NAME without the prefix PREFIX."
|
||||
(if (string-prefix? prefix name)
|
||||
(string-drop name (string-length prefix))
|
||||
@@ -83,9 +89,73 @@ working directory."
|
||||
(define (list-directories dir)
|
||||
"List absolute paths of directories directly under the directory DIR."
|
||||
(map (cute string-append dir "/" <>)
|
||||
(scandir dir (lambda (filename)
|
||||
(and (not (member filename '("." "..")))
|
||||
(directory-exists? (string-append dir "/" filename)))))))
|
||||
(scandir
|
||||
dir (lambda (filename)
|
||||
(and (not (member filename '("." "..")))
|
||||
(directory-exists? (string-append dir "/" filename)))))))
|
||||
|
||||
(define* (unpack-vendorize #:key vendorize? vendor-dir inputs
|
||||
#:allow-other-keys)
|
||||
"Unpack vendored packages."
|
||||
(define (inputs->beam-inputs inputs)
|
||||
"Filter using the label part from INPUTS."
|
||||
(filter-map (lambda (input)
|
||||
(match input
|
||||
((name . file)
|
||||
(and (beam-package? name) file))))
|
||||
inputs))
|
||||
(define (beam-input->upstream-name beam-input)
|
||||
"Convert BEAM-INPUT into upstream package name."
|
||||
((compose
|
||||
(cute package-name->elixir-name <> %beam-prefix)
|
||||
(cute substring <> 33)
|
||||
basename)
|
||||
beam-input))
|
||||
(define (copy-or-unpack-beam-package beam-input dep-dir)
|
||||
"Copy contents, if BEAM-INPUT is a checkout package, otherwise unpack it."
|
||||
(or (directory-exists? dep-dir)
|
||||
(if (file-is-directory? beam-input)
|
||||
(copy-recursively beam-input dep-dir)
|
||||
(begin
|
||||
(mkdir-p dep-dir)
|
||||
(invoke "sh" "-c"
|
||||
(string-append "tar -xOf " beam-input
|
||||
" contents.tar.gz"
|
||||
" | tar -xz -C " dep-dir))))))
|
||||
(and
|
||||
vendorize?
|
||||
(begin
|
||||
(mkdir-p vendor-dir)
|
||||
(setenv %vendorize-env-var (canonicalize-path vendor-dir))
|
||||
(let ((beam-inputs (delete-duplicates (inputs->beam-inputs inputs))))
|
||||
(unless (null? beam-inputs)
|
||||
(for-each
|
||||
(lambda (beam-input)
|
||||
(let* ((upstream-name (beam-input->upstream-name beam-input))
|
||||
(dep-dir (string-append vendor-dir "/" upstream-name)))
|
||||
(copy-or-unpack-beam-package beam-input dep-dir)))
|
||||
beam-inputs))))))
|
||||
|
||||
(define* (symlink-vendorize #:key vendorize? vendor-symlinks?
|
||||
#:allow-other-keys)
|
||||
(and
|
||||
vendorize?
|
||||
vendor-symlinks?
|
||||
(let* ((vendor-dir (getenv %vendorize-env-var))
|
||||
(deps-dir (list-directories vendor-dir)))
|
||||
(for-each
|
||||
(lambda (dep-dir)
|
||||
(let ((snapshot (string-contains dep-dir "_snapshot")))
|
||||
(and
|
||||
snapshot
|
||||
(let ((canonical
|
||||
(string-drop-right
|
||||
dep-dir (- (string-length dep-dir) snapshot))))
|
||||
(symlink dep-dir canonical)))))
|
||||
deps-dir))))
|
||||
|
||||
(define (beam-package? name)
|
||||
(string-prefix? %beam-prefix name))
|
||||
|
||||
(define* (set-mix-env #:key inputs mix-path mix-exs #:allow-other-keys)
|
||||
"Set environment variables.
|
||||
@@ -113,22 +183,32 @@ See: https://hexdocs.pm/mix/1.15.7/Mix.html#module-environment-variables"
|
||||
(%elixir-version (elixir-version inputs))
|
||||
(format #t "Elixir version: ~a~%" (%elixir-version)))
|
||||
|
||||
(define* (build #:key mix-environments #:allow-other-keys)
|
||||
|
||||
(define* (build #:key mix-environments vendorize?
|
||||
#:allow-other-keys)
|
||||
"Builds the Mix project."
|
||||
(for-each (lambda (mix-env)
|
||||
(setenv "MIX_ENV" mix-env)
|
||||
(invoke "mix" "compile" "--no-deps-check"
|
||||
"--no-prune-code-paths"))
|
||||
(if vendorize?
|
||||
(invoke "mix" "release")
|
||||
(invoke "mix" "compile" "--no-prune-code-paths"
|
||||
"--no-deps-check")))
|
||||
mix-environments))
|
||||
|
||||
(define* (check #:key (tests? #t) (test-flags '()) #:allow-other-keys)
|
||||
(define* (check #:key (tests? #t) (test-flags '())
|
||||
vendorize?
|
||||
#:allow-other-keys)
|
||||
"Test the Mix project."
|
||||
(if tests?
|
||||
(begin
|
||||
(let ((maybe-no-deps-check-flag
|
||||
(if vendorize? '() '("--no-deps-check"))))
|
||||
(setenv "MIX_ENV" "test")
|
||||
(apply invoke "mix" "do" "compile" "--no-deps-check"
|
||||
"--no-prune-code-paths" "+" "test"
|
||||
"--no-deps-check" test-flags))
|
||||
(apply invoke
|
||||
(append '("mix" "do" "compile")
|
||||
maybe-no-deps-check-flag
|
||||
'("--no-prune-code-paths" "+" "test")
|
||||
maybe-no-deps-check-flag
|
||||
test-flags)))
|
||||
(format #t "tests? = ~a~%" tests?)))
|
||||
|
||||
(define* (remove-mix-dirs . _)
|
||||
@@ -137,7 +217,7 @@ We do not want to copy them to the installation directory."
|
||||
(for-each delete-file-recursively
|
||||
(find-files "." (file-name-predicate "\\.mix$") #:directories? #t)))
|
||||
|
||||
(define (package-name->elixir-name name+ver)
|
||||
(define* (package-name->elixir-name name+ver #:optional (prefix %elixir-prefix))
|
||||
"Convert the Guix package NAME-VER to the corresponding Elixir name-version
|
||||
format. Example: elixir-a-pkg-1.2.3 -> a_pkg or elixir-a-pkg-0.0.0-0.e51e36e
|
||||
-> a_pkg"
|
||||
@@ -146,7 +226,7 @@ format. Example: elixir-a-pkg-1.2.3 -> a_pkg or elixir-a-pkg-0.0.0-0.e51e36e
|
||||
(cute string-join <> "_")
|
||||
(cute drop-right <> (if git-version? 2 1))
|
||||
(cute string-split <> #\-))
|
||||
(strip-prefix name+ver)))
|
||||
(strip-prefix name+ver prefix)))
|
||||
|
||||
(define* (install #:key
|
||||
inputs
|
||||
@@ -155,13 +235,24 @@ format. Example: elixir-a-pkg-1.2.3 -> a_pkg or elixir-a-pkg-0.0.0-0.e51e36e
|
||||
build-per-environment
|
||||
#:allow-other-keys)
|
||||
"Install build artifacts in the store."
|
||||
(let* ((lib-name (package-name->elixir-name name))
|
||||
(lib-dir (string-append (elixir-libdir (assoc-ref outputs "out")) "/" lib-name))
|
||||
(root (getenv "MIX_BUILD_ROOT"))
|
||||
(env (if build-per-environment "prod" "shared")))
|
||||
(mkdir-p lib-dir)
|
||||
(copy-recursively (string-append (mix-build-dir root env) "/" lib-name) lib-dir
|
||||
#:follow-symlinks? #t)))
|
||||
(if (beam-package? name)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(excluded '("CHECKSUM" "contents.tar.gz" "environment-variables"
|
||||
"metadata.config" "VERSION"))
|
||||
(files
|
||||
(filter
|
||||
(lambda (f)
|
||||
(not (member f (cons* "." ".." excluded))))
|
||||
(scandir "."))))
|
||||
(mkdir-p out)
|
||||
(apply invoke "cp" "-r" (append files (list out))))
|
||||
(let* ((lib-name (package-name->elixir-name name))
|
||||
(lib-dir (string-append (elixir-libdir (assoc-ref outputs "out")) "/" lib-name))
|
||||
(root (getenv "MIX_BUILD_ROOT"))
|
||||
(env (if build-per-environment "prod" "shared")))
|
||||
(mkdir-p lib-dir)
|
||||
(copy-recursively (string-append (mix-build-dir root env) "/" lib-name) lib-dir
|
||||
#:follow-symlinks? #t))))
|
||||
|
||||
(define %standard-phases
|
||||
(modify-phases gnu:%standard-phases
|
||||
@@ -170,6 +261,8 @@ format. Example: elixir-a-pkg-1.2.3 -> a_pkg or elixir-a-pkg-0.0.0-0.e51e36e
|
||||
(add-after 'install-locale 'set-mix-env set-mix-env)
|
||||
(add-after 'set-mix-env 'set-elixir-version set-elixir-version)
|
||||
(replace 'unpack unpack)
|
||||
(add-after 'unpack 'unpack-vendorize unpack-vendorize)
|
||||
(add-after 'unpack-vendorize 'symlink-vendorize symlink-vendorize)
|
||||
(replace 'build build)
|
||||
(replace 'check check)
|
||||
(add-before 'install 'remove-mix-dirs remove-mix-dirs)
|
||||
|
||||
@@ -139,11 +139,11 @@ generation also needs to be wrapped within a `faketime' call in the
|
||||
(local-sources (font-sources "fonts/source" local-metrics))
|
||||
((not (null? local-sources))) ;nothing to generate: bail out
|
||||
(root (getcwd))
|
||||
;; "texlive-metafont" may be a native input, or included in
|
||||
;; `texlive-local-tree'. Handle both cases.
|
||||
(metafont
|
||||
(search-input-directory (or native-inputs inputs)
|
||||
"share/texmf-dist/metafont"))
|
||||
(cond ((assoc-ref (or native-inputs inputs) "texlive-metafont") =>
|
||||
(cut string-append <> "/share/texmf-dist"))
|
||||
(else
|
||||
(error "Missing 'texlive-metafont' native input"))))
|
||||
;; Collect all font source files from texlive (native-)inputs so
|
||||
;; "mf" can know where to look for them.
|
||||
(font-inputs
|
||||
@@ -151,21 +151,21 @@ generation also needs to be wrapped within a `faketime' call in the
|
||||
(append-map (match-lambda
|
||||
((? (negate texlive-input?)) '())
|
||||
(("texlive-bin" . _) '())
|
||||
(("texlive-metafont" . _) '())
|
||||
(("texlive-metafont" . _)
|
||||
(list (string-append metafont "/metafont/base")))
|
||||
((_ . input)
|
||||
(font-sources input #f)))
|
||||
(or native-inputs inputs)))))
|
||||
;; Tell mf where to find "mf.base".
|
||||
(setenv "MFBASES" (in-vicinity metafont "../web2c"))
|
||||
(setenv "MFBASES" (string-append metafont "/web2c/"))
|
||||
(mkdir-p "build")
|
||||
(for-each
|
||||
(lambda (source)
|
||||
;; Tell "mf" where are the font source files. In case current package
|
||||
;; provides multiple sources, treat them separately.
|
||||
(setenv "MFINPUTS"
|
||||
(string-join (cons* (string-append root "/" source)
|
||||
(in-vicinity metafont "base")
|
||||
font-inputs)
|
||||
(string-join (cons (string-append root "/" source)
|
||||
font-inputs)
|
||||
":"))
|
||||
;; Build font metrics (tfm).
|
||||
(with-directory-excursion source
|
||||
|
||||
+1
-12
@@ -8,7 +8,6 @@
|
||||
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
|
||||
;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2024 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2026 jgart <jgart@dismail.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -34,8 +33,6 @@
|
||||
#:use-module (guix import json)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix upstream)
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix base16)
|
||||
#:use-module (guix base32)
|
||||
@@ -161,15 +158,7 @@ Optionally include a VERSION string to fetch a specific version gem."
|
||||
dependencies
|
||||
licenses)
|
||||
dependencies-names))
|
||||
(begin
|
||||
(if version
|
||||
(warning
|
||||
(G_ "version ~a of gem '~a' was not found at '~a'~%")
|
||||
version package-name repo)
|
||||
(warning
|
||||
(G_ "gem '~a' not found at '~a'~%")
|
||||
package-name repo))
|
||||
(values #f '())))))
|
||||
(values #f '()))))
|
||||
|
||||
(define (guix-package->gem-name package)
|
||||
"Given a PACKAGE built from rubygems.org, return the name of the
|
||||
|
||||
+33
-26
@@ -177,33 +177,37 @@ as symbols."
|
||||
(define* (make-hexpm-sexp #:key name version tarball-url
|
||||
home-page synopsis description license
|
||||
language build-system dependencies
|
||||
mix-inputs?
|
||||
#:allow-other-keys)
|
||||
"Return the `package' s-expression for a hexpm package with the given NAME,
|
||||
VERSION, TARBALL-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE. The
|
||||
created package's name will stem from LANGUAGE. BUILD-SYSTEM defined the
|
||||
build-system, and DEPENDENCIES the inputs for the package."
|
||||
(call-with-temporary-output-file
|
||||
(lambda (temp port)
|
||||
(and (url-fetch tarball-url temp)
|
||||
(values
|
||||
`(package
|
||||
(name ,(hexpm-name->package-name name language))
|
||||
(version ,version)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri ,name version))
|
||||
(sha256 (base32 ,(guix-hash-url temp)))))
|
||||
(build-system ,build-system)
|
||||
,@(maybe-inputs (dependencies->package-names dependencies) 'inputs)
|
||||
(synopsis ,synopsis)
|
||||
(description ,(beautify-description description))
|
||||
(home-page ,(match home-page
|
||||
(() "")
|
||||
(_ home-page)))
|
||||
(license ,(match license
|
||||
(() #f)
|
||||
((license) license)
|
||||
(_ `(list ,@license))))))))))
|
||||
build-system, and DEPENDENCIES or MIX-INPUTS? the inputs for the package."
|
||||
(let ((package-name (hexpm-name->package-name name language)))
|
||||
(call-with-temporary-output-file
|
||||
(lambda (temp port)
|
||||
(and (url-fetch tarball-url temp)
|
||||
(values
|
||||
`(package
|
||||
(name ,package-name)
|
||||
(version ,version)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri ,name version))
|
||||
(sha256 (base32 ,(guix-hash-url temp)))))
|
||||
(build-system ,build-system)
|
||||
,@(if mix-inputs?
|
||||
`((inputs (mix-inputs ',(string->symbol package-name))))
|
||||
(maybe-inputs (dependencies->package-names dependencies) 'inputs))
|
||||
(synopsis ,synopsis)
|
||||
(description ,(beautify-description description))
|
||||
(home-page ,(match home-page
|
||||
(() "")
|
||||
(_ home-page)))
|
||||
(license ,(match license
|
||||
(() #f)
|
||||
((license) license)
|
||||
(_ `(list ,@license)))))))))))
|
||||
|
||||
(define (strings->licenses strings)
|
||||
"Convert the list of STRINGS into a list of license objects."
|
||||
@@ -221,11 +225,13 @@ object, ordered from newest to oldest."
|
||||
(sort (map hexpm-version-number (hexpm-versions package))
|
||||
version>?))
|
||||
|
||||
(define* (hexpm->guix-package package-name #:key version #:allow-other-keys)
|
||||
"Fetch the metadata for PACKAGE-NAME from hexpms.io, and return the
|
||||
(define* (hexpm->guix-package package-name #:key version
|
||||
mix-inputs? #:allow-other-keys)
|
||||
"Fetch the metadata for PACKAGE-NAME from hex.pm, and return the
|
||||
`package' s-expression corresponding to that package, or #f on failure.
|
||||
When VERSION is specified, attempt to fetch that version; otherwise fetch the
|
||||
latest version of PACKAGE-NAME."
|
||||
latest version of PACKAGE-NAME. It can use `inputs` with `mix-inputs` when
|
||||
MIX-INPUTS? is specified."
|
||||
|
||||
(define package
|
||||
(lookup-hexpm package-name))
|
||||
@@ -277,6 +283,7 @@ latest version of PACKAGE-NAME."
|
||||
#:name package-name
|
||||
#:version version-number
|
||||
#:dependencies dependencies
|
||||
#:mix-inputs? mix-inputs?
|
||||
#:home-page (or (and (not (eq? docs-html-url 'null))
|
||||
docs-html-url)
|
||||
;; TODO: Homepage?
|
||||
|
||||
@@ -0,0 +1,143 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
|
||||
;;;
|
||||
;;; 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 (guix import mix)
|
||||
#:use-module (guix import mix mix-lock)
|
||||
#:use-module (guix base16)
|
||||
#:use-module (guix base32)
|
||||
#:use-module (guix read-print)
|
||||
#:use-module (guix scripts download)
|
||||
#:autoload (guix utils) (find-definition-location)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 textual-ports)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-71)
|
||||
#:use-module (guix build-system mix)
|
||||
#:export (mix-lock->expressions
|
||||
mix-inputs-from-lockfile
|
||||
find-mix-inputs-location
|
||||
extract-mix-inputs))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Convert ‘mix.lock’ to Guix sources.
|
||||
;;;
|
||||
|
||||
(define (mix-lock->expressions lockfile package-name)
|
||||
"Given LOCKFILE, a 'mix.lock' file, import its content as source
|
||||
expressions. Return a source list and a mix inputs entry for PACKAGE-NAME
|
||||
referencing all imported sources."
|
||||
(define (mix-lock-entry->guix-source mix-lock-entry)
|
||||
(match mix-lock-entry
|
||||
(('mix-lock-entry
|
||||
('entry-name entry-name)
|
||||
('entry-hexpm
|
||||
('hexpm-name hexpm-name)
|
||||
('hexpm-version hexpm-version)
|
||||
_
|
||||
('hexpm-checksum hexpm-checksum)))
|
||||
`(define
|
||||
,(string->symbol
|
||||
(string-append
|
||||
(beam-name->package-name entry-name) "-" hexpm-version))
|
||||
(hexpm-source ,entry-name ,hexpm-name ,hexpm-version
|
||||
,(bytevector->nix-base32-string
|
||||
(base16-string->bytevector hexpm-checksum)))))
|
||||
;; Git snapshot.
|
||||
(('mix-lock-entry
|
||||
('entry-name entry-name)
|
||||
('entry-git
|
||||
('git-url git-url)
|
||||
('git-commit git-commit)))
|
||||
(begin
|
||||
(let* ((version (string-append "snapshot." (string-take git-commit 7)))
|
||||
(checksum
|
||||
(second
|
||||
(string-split
|
||||
(with-output-to-string
|
||||
(lambda _
|
||||
(guix-download "-g" git-url
|
||||
(string-append "--commit=" git-commit))))
|
||||
#\newline))))
|
||||
`(define
|
||||
,(string->symbol
|
||||
(string-append
|
||||
(beam-name->package-name entry-name) "-" version))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url ,git-url)
|
||||
(commit ,git-commit)))
|
||||
(file-name
|
||||
(git-file-name
|
||||
,(beam-name->package-name entry-name) ,version))
|
||||
(sha256 (base32 ,checksum)))))))
|
||||
(else #f)))
|
||||
|
||||
(let* ((source-expressions
|
||||
(filter-map mix-lock-entry->guix-source
|
||||
(mix-lock-string->scm
|
||||
(call-with-input-file lockfile get-string-all))))
|
||||
(beam-inputs-entry
|
||||
`(,(string->symbol package-name) =>
|
||||
(list ,@(map second source-expressions)))))
|
||||
(values source-expressions beam-inputs-entry)))
|
||||
|
||||
(define* (mix-inputs-from-lockfile #:optional (lockfile "mix.lock"))
|
||||
"Given LOCKFILE (default to \"mix.lock\" in current directory), return a
|
||||
source list imported from it, to be used as package inputs. This procedure
|
||||
can be used for adding a manifest file within the source tree of a BEAM
|
||||
application."
|
||||
(let ((source-expressions
|
||||
mix-inputs-entry
|
||||
(mix-lock->expressions lockfile "mix-inputs-temporary")))
|
||||
(eval-string
|
||||
(call-with-output-string
|
||||
(lambda (port)
|
||||
(for-each
|
||||
(cut pretty-print-with-comments port <>)
|
||||
`((use-modules (guix build-system mix))
|
||||
,@source-expressions
|
||||
(define-mix-inputs lookup-mix-inputs ,mix-inputs-entry)
|
||||
(lookup-mix-inputs 'mix-inputs-temporary))))))))
|
||||
|
||||
(define (find-mix-inputs-location file)
|
||||
"Search in FILE for a top-level definition of mix inputs. Return the
|
||||
location if found, or #f otherwise."
|
||||
(find-definition-location file 'lookup-mix-inputs
|
||||
#:define-prefix 'define-mix-inputs))
|
||||
|
||||
(define* (extract-mix-inputs file #:key exclude)
|
||||
"Search in FILE for a top-level definition of mix inputs. If found,
|
||||
return its entries excluding EXCLUDE, or an empty list otherwise."
|
||||
(call-with-input-file file
|
||||
(lambda (port)
|
||||
(do ((syntax (read-syntax port)
|
||||
(read-syntax port)))
|
||||
((match (syntax->datum syntax)
|
||||
(('define-mix-inputs 'lookup-mix-inputs _ ...) #t)
|
||||
((? eof-object?) #t)
|
||||
(_ #f))
|
||||
(or (and (not (eof-object? syntax))
|
||||
(match (syntax->datum syntax)
|
||||
(('define-mix-inputs 'lookup-mix-inputs inputs ...)
|
||||
(remove (lambda (mix-input-entry)
|
||||
(eq? exclude (first mix-input-entry)))
|
||||
inputs))))
|
||||
'()))))))
|
||||
@@ -0,0 +1,201 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
|
||||
;;;
|
||||
;;; 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 (guix import mix mix-lock)
|
||||
#:use-module (ice-9 peg)
|
||||
#:export (mix-lock-string->scm
|
||||
|
||||
entry-git
|
||||
entry-hexpm
|
||||
entry-name
|
||||
git-commit
|
||||
git-url
|
||||
hexpm-build-system
|
||||
hexpm-build-systems
|
||||
hexpm-name
|
||||
hexpm-version
|
||||
mix-lock
|
||||
mix-lock-entry))
|
||||
|
||||
;;;
|
||||
;;; PEG parser for ‘mix.lock’.
|
||||
;;;
|
||||
|
||||
(define (mix-lock-string->scm str)
|
||||
(peg:tree (search-for-pattern mix-lock str)))
|
||||
|
||||
;; Auxiliar peg patterns
|
||||
(define-peg-pattern numeric-char body
|
||||
(range #\0 #\9))
|
||||
|
||||
(define-peg-pattern lowercase-char body
|
||||
(range #\a #\z))
|
||||
|
||||
(define-peg-pattern uppercase-char body
|
||||
(range #\A #\Z))
|
||||
|
||||
(define-peg-pattern alphabetic-char body
|
||||
(or lowercase-char uppercase-char))
|
||||
|
||||
(define-peg-pattern alphanumeric-char body
|
||||
(or alphabetic-char numeric-char))
|
||||
|
||||
(define-peg-pattern space-char body
|
||||
(+ (or " " "\t" "\n" "\r")))
|
||||
|
||||
(define-peg-pattern opt-space-char body
|
||||
(* space-char))
|
||||
|
||||
;; string: "string"
|
||||
(define-peg-pattern string-char body
|
||||
(or alphanumeric-char
|
||||
space-char
|
||||
"_" "." "~" "=" "<" ">" "/" ":" "-"))
|
||||
|
||||
(define-peg-pattern string body
|
||||
(and (ignore "\"")
|
||||
(* string-char)
|
||||
(ignore "\"")))
|
||||
|
||||
;; atom: :hex or true | false | nil
|
||||
(define-peg-pattern atom-char body
|
||||
(or alphanumeric-char "_" "@" "?" "!"))
|
||||
|
||||
(define-peg-pattern atom body
|
||||
(or
|
||||
(and (ignore ":")
|
||||
(+ atom-char))
|
||||
"true" "false" "nil"))
|
||||
|
||||
;; list: [ ... ]
|
||||
(define-peg-pattern list body
|
||||
(and (ignore "[")
|
||||
(* (and
|
||||
(ignore (? ", "))
|
||||
(or value key-value)))
|
||||
(ignore "]")))
|
||||
|
||||
;; tuple: { ... }
|
||||
(define-peg-pattern tuple body
|
||||
(and (ignore "{")
|
||||
(* (and
|
||||
(ignore (? ", "))
|
||||
value))
|
||||
(ignore "}")
|
||||
(ignore (? "\n"))))
|
||||
|
||||
;; syntactic sugar for [{key, value} ...]
|
||||
(define-peg-pattern key-value body
|
||||
(ignore
|
||||
(and (+ atom-char) ": " value)))
|
||||
|
||||
;; value may be string, atom, tuple, list
|
||||
(define-peg-pattern value body
|
||||
(and (ignore opt-space-char)
|
||||
(or string atom tuple list)
|
||||
(ignore opt-space-char)))
|
||||
|
||||
;; ignore several constructions
|
||||
(define-peg-pattern ignore-string body
|
||||
(ignore
|
||||
(and "\""
|
||||
(* (or string-char
|
||||
space-char))
|
||||
"\"")))
|
||||
|
||||
(define-peg-pattern ignore-comma-space body
|
||||
(ignore ", "))
|
||||
|
||||
(define-peg-pattern ignore-list body
|
||||
(ignore (and "["
|
||||
(* (and
|
||||
(? ", ")
|
||||
(or value key-value)))
|
||||
"]")))
|
||||
|
||||
;; exported symbols
|
||||
(define-peg-pattern entry-name all
|
||||
string)
|
||||
|
||||
(define-peg-pattern hexpm-name all
|
||||
atom)
|
||||
|
||||
(define-peg-pattern hexpm-version all
|
||||
string)
|
||||
|
||||
(define-peg-pattern hexpm-checksum all
|
||||
string)
|
||||
|
||||
(define-peg-pattern hexpm-build-system all
|
||||
(capture (+ (or alphanumeric-char "_" "-"))))
|
||||
|
||||
(define-peg-pattern hexpm-build-systems all
|
||||
(and (ignore "[")
|
||||
(capture
|
||||
(* (and (ignore ":")
|
||||
(capture hexpm-build-system)
|
||||
(ignore (? ", ")))))
|
||||
(ignore "]")))
|
||||
|
||||
(define-peg-pattern git-url all
|
||||
string)
|
||||
|
||||
(define-peg-pattern git-commit all
|
||||
string)
|
||||
|
||||
(define-peg-pattern entry-hexpm all
|
||||
(and
|
||||
(ignore ": {:hex, ")
|
||||
hexpm-name
|
||||
ignore-comma-space
|
||||
(capture hexpm-version)
|
||||
ignore-comma-space
|
||||
ignore-string
|
||||
ignore-comma-space
|
||||
(capture hexpm-build-systems)
|
||||
ignore-comma-space
|
||||
ignore-list
|
||||
ignore-comma-space
|
||||
ignore-string
|
||||
ignore-comma-space
|
||||
(capture hexpm-checksum)
|
||||
(ignore "}")))
|
||||
|
||||
(define-peg-pattern entry-git all
|
||||
(and
|
||||
(ignore ": {:git, ")
|
||||
git-url
|
||||
ignore-comma-space
|
||||
git-commit
|
||||
ignore-comma-space
|
||||
ignore-list
|
||||
(ignore "}")))
|
||||
|
||||
(define-peg-pattern mix-lock-entry all
|
||||
(and (ignore (? " "))
|
||||
(capture entry-name)
|
||||
(or
|
||||
entry-hexpm
|
||||
entry-git)
|
||||
(ignore (? ",\n"))))
|
||||
|
||||
;; mix.lock
|
||||
(define-peg-pattern mix-lock all
|
||||
(and (ignore "%{\n")
|
||||
(* mix-lock-entry)
|
||||
(ignore "}")))
|
||||
+60
-78
@@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2024, 2026 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -283,7 +283,6 @@ calls."
|
||||
(match-lambda
|
||||
("artistic2" 'artistic2.0)
|
||||
("apache2" 'asl2.0)
|
||||
("agpl3" 'agpl3+) ;usually means "or later"
|
||||
("gpl" 'gpl3+)
|
||||
("gpl1" 'gpl1)
|
||||
("gpl1+" 'gpl1+)
|
||||
@@ -295,7 +294,6 @@ calls."
|
||||
("lgpl3" 'lgpl3)
|
||||
("knuth" 'knuth)
|
||||
("pd" 'public-domain)
|
||||
("0bsd" 'bsd-0)
|
||||
("bsd2" 'bsd-2)
|
||||
("bsd3" 'bsd-3)
|
||||
("bsd4" 'bsd-4)
|
||||
@@ -620,68 +618,54 @@ of package with UPSTREAM-NAME in VERSION."
|
||||
(delete-duplicates (sort (map trim-filename specific) string<)
|
||||
string-prefix?))))
|
||||
|
||||
(define (texlive->svn-reference upstream-name version database)
|
||||
"Return a <svn-reference> or <svn-multi-reference> object for TeX Live
|
||||
package with UPSTREAM-NAME at VERSION."
|
||||
(let ((revision (assoc-ref database 'database-revision)))
|
||||
;; TEXLIVE-SOURCE is the only package using a regular SVN reference.
|
||||
(if (string= upstream-name "source")
|
||||
(svn-reference
|
||||
(url (string-append %texlive-repository
|
||||
"tags/texlive-" version "/Build/source"))
|
||||
(revision revision))
|
||||
(let* ((data (assoc-ref database upstream-name))
|
||||
(files (append (or (assoc-ref data 'docfiles) (list))
|
||||
(or (assoc-ref data 'runfiles) (list))
|
||||
(or (assoc-ref data 'srcfiles) (list))))
|
||||
(locations
|
||||
;; Drop "texmf-dist/" prefix from files. Special case
|
||||
;; TEXLIVE-SCRIPTS, where files are not all coming from
|
||||
;; "texmf-dist/".
|
||||
(if (string= upstream-name "scripts")
|
||||
files
|
||||
(files->locations
|
||||
;; Ignore any file not starting with the expected prefix,
|
||||
;; such as tlpkg/tlpostcode/... Nothing good can come
|
||||
;; from this.
|
||||
(filter-map
|
||||
(lambda (file)
|
||||
(and (string-prefix? "texmf-dist/" file)
|
||||
(string-drop file (string-length "texmf-dist/"))))
|
||||
files)))))
|
||||
(svn-multi-reference
|
||||
(url (match upstream-name
|
||||
("scripts"
|
||||
(string-append
|
||||
%texlive-repository "tags/texlive-" version "/Master"))
|
||||
("source"
|
||||
(string-append %texlive-repository
|
||||
"tags/texlive-" version "/Build/source"))
|
||||
(_
|
||||
(texlive-packages-repository version))))
|
||||
(locations (sort locations string<))
|
||||
(revision revision))))))
|
||||
(define (texlive->svn-multi-reference upstream-name version database)
|
||||
"Return <svn-multi-reference> object for TeX Live package with UPSTREAM-NAME
|
||||
at VERSION."
|
||||
(let* ((data (assoc-ref database upstream-name))
|
||||
(files (append (or (assoc-ref data 'docfiles) (list))
|
||||
(or (assoc-ref data 'runfiles) (list))
|
||||
(or (assoc-ref data 'srcfiles) (list))))
|
||||
(locations
|
||||
;; Drop "texmf-dist/" prefix from files. Special case
|
||||
;; TEXLIVE-SCRIPTS and TEXLIVE-SOURCE, where files are not always
|
||||
;; exported from "texmf-dist/".
|
||||
(if (member upstream-name '("scripts" "source"))
|
||||
files
|
||||
(files->locations
|
||||
;; Ignore any file not starting with the expected prefix, such
|
||||
;; as tlpkg/tlpostcode/... Nothing good can come from this.
|
||||
(filter-map
|
||||
(lambda (file)
|
||||
(and (string-prefix? "texmf-dist/" file)
|
||||
(string-drop file (string-length "texmf-dist/"))))
|
||||
files)))))
|
||||
(svn-multi-reference
|
||||
(url (match upstream-name
|
||||
("scripts"
|
||||
(string-append
|
||||
%texlive-repository "tags/texlive-" version "/Master"))
|
||||
("source"
|
||||
(string-append %texlive-repository
|
||||
"tags/texlive-" version "/Build/source"))
|
||||
(_
|
||||
(texlive-packages-repository version))))
|
||||
(locations (sort locations string<))
|
||||
(revision (assoc-ref database 'database-revision)))))
|
||||
|
||||
(define (tlpdb->package upstream-name version database)
|
||||
(and-let* ((data (assoc-ref database upstream-name))
|
||||
(name (downstream-package-name "texlive-" upstream-name))
|
||||
(reference
|
||||
(texlive->svn-reference upstream-name version database))
|
||||
(texlive->svn-multi-reference upstream-name version database))
|
||||
(source (with-store store
|
||||
((if (string= upstream-name "source")
|
||||
download-svn-to-store
|
||||
download-multi-svn-to-store)
|
||||
(download-multi-svn-to-store
|
||||
store reference
|
||||
(format #f "~a-~a-svn-checkout" name version)))))
|
||||
(let* ((revision (assoc-ref database 'database-revision))
|
||||
(scripts (list-linked-scripts upstream-name database))
|
||||
(format #f "~a-~a-svn-multi-checkout" name version)))))
|
||||
(let* ((scripts (list-linked-scripts upstream-name database))
|
||||
(upstream-inputs
|
||||
(list-upstream-inputs upstream-name version database))
|
||||
(tex-formats (list-formats data))
|
||||
(texlive-source? (string= upstream-name "source"))
|
||||
(meta-package?
|
||||
(and (not texlive-source?)
|
||||
(null? (svn-multi-reference-locations reference))))
|
||||
(meta-package? (null? (svn-multi-reference-locations reference)))
|
||||
(empty-package? (and meta-package? (not (pair? tex-formats)))))
|
||||
(values
|
||||
`(package
|
||||
@@ -693,25 +677,22 @@ package with UPSTREAM-NAME at VERSION."
|
||||
,(and (not meta-package?)
|
||||
`(origin
|
||||
(method svn-multi-fetch)
|
||||
(uri ,(if texlive-source?
|
||||
`(svn-reference
|
||||
(url (string-append
|
||||
%texlive-repository
|
||||
"tags/texlive-" version "/Build/source"))
|
||||
(revision ,revision))
|
||||
`(svn-multi-reference
|
||||
(url
|
||||
,(match upstream-name
|
||||
("scripts"
|
||||
'(string-append
|
||||
%texlive-repository
|
||||
"tags/texlive-" version "/Master"))
|
||||
(_
|
||||
'(texlive-packages-repository version))))
|
||||
(revision ,revision)
|
||||
(locations
|
||||
(list ,@(svn-multi-reference-locations
|
||||
reference))))))
|
||||
(uri (svn-multi-reference
|
||||
(url
|
||||
,(match upstream-name
|
||||
("scripts"
|
||||
'(string-append
|
||||
%texlive-repository "tags/texlive-" version
|
||||
"/Master"))
|
||||
("source"
|
||||
'(string-append
|
||||
%texlive-repository "tags/texlive-" version
|
||||
"/Build/source"))
|
||||
(_
|
||||
'(texlive-packages-repository version))))
|
||||
(revision ,(svn-multi-reference-revision reference))
|
||||
(locations
|
||||
(list ,@(svn-multi-reference-locations reference)))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
@@ -731,7 +712,7 @@ package with UPSTREAM-NAME at VERSION."
|
||||
;;
|
||||
;; Use trivial build system only when the package contains no files,
|
||||
;; and no TeX format file is expected to be built.
|
||||
(build-system ,(if (or empty-package? texlive-source?)
|
||||
(build-system ,(if empty-package?
|
||||
'trivial-build-system
|
||||
'texlive-build-system))
|
||||
;; Arguments.
|
||||
@@ -774,7 +755,7 @@ package with UPSTREAM-NAME at VERSION."
|
||||
(description ,(and=> (assoc-ref data 'longdesc) beautify-description))
|
||||
(license
|
||||
,(cond
|
||||
((or meta-package? texlive-source?)
|
||||
(meta-package?
|
||||
'(fsf-free "https://www.tug.org/texlive/copying.html"))
|
||||
((assoc-ref data 'catalogue-license) => string->license)
|
||||
(else #f))))
|
||||
@@ -806,7 +787,8 @@ VERSION."
|
||||
(define (package-from-texlive-repository? package)
|
||||
(let ((name (package-name package)))
|
||||
;; TEXLIVE-SCRIPTS and TEXLIVE-SOURCE do not use TEXLIVE-BUILD-SYSTEM, but
|
||||
;; their structure is sufficiently regular to benefit from this updater.
|
||||
;; package's structure is sufficiently regular to benefit from
|
||||
;; auto-updates.
|
||||
(or (member name '("texlive-scripts" "texlive-source"))
|
||||
(and (string-prefix? "texlive-" (package-name package))
|
||||
(eq? 'texlive
|
||||
@@ -823,7 +805,7 @@ prefix when PARTIAL-VERSION? is #t."
|
||||
(upstream-source
|
||||
(package upstream-name)
|
||||
(version version)
|
||||
(urls (texlive->svn-reference upstream-name version database))
|
||||
(urls (texlive->svn-multi-reference upstream-name version database))
|
||||
(inputs (list-upstream-inputs upstream-name version database))))))
|
||||
|
||||
(define %texlive-updater
|
||||
|
||||
+5
-12
@@ -1944,20 +1944,13 @@ MANIFEST."
|
||||
;; but we have two: the one in /tmp containing all packages and
|
||||
;; the one in #$output containing the generated font maps. To
|
||||
;; avoid having to merge ls-R files, we copy the generated stuff
|
||||
;; to /tmp.
|
||||
;;
|
||||
;; The ls-R database is generated with a low level call to "ls"
|
||||
;; command because "mktexlsr" doesn’t preserve alphabetic order,
|
||||
;; probably due to symlinks. See also "texlive-local-tree"
|
||||
;; function from "tex.scm".
|
||||
;; to /tmp and run mktexlsr only once.
|
||||
(let ((a (string-append #$output "/share/texmf-dist"))
|
||||
(b "/tmp/texlive/share/texmf-dist"))
|
||||
(b "/tmp/texlive/share/texmf-dist")
|
||||
(mktexlsr #$(file-append texlive-scripts "/bin/mktexlsr")))
|
||||
(copy-recursively a b)
|
||||
(with-directory-excursion b
|
||||
(with-output-to-file "ls-R"
|
||||
(lambda ()
|
||||
(invoke "ls" "-1LAR" "./")))
|
||||
(install-file "ls-R" a)))))))
|
||||
(invoke mktexlsr b)
|
||||
(install-file (string-append b "/ls-R") a))))))
|
||||
(with-monad %store-monad
|
||||
;; `texlive-scripts' brings essential files to generate font maps.
|
||||
;; Therefore, it must be present in the profile. This check prevents
|
||||
|
||||
+11
-9
@@ -7,6 +7,7 @@
|
||||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||||
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
|
||||
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
|
||||
;;; Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -63,6 +64,7 @@
|
||||
(define importers '("composer" "cpan" "cran" "crate" "egg" "elm" "elpa"
|
||||
"gem" "gnu" "go" "hackage" "hexpm" "json" "luanti"
|
||||
"minetest" ; deprecated
|
||||
"mix"
|
||||
"npm-binary" "nuget" "opam" "pypi" "stackage" "texlive"))
|
||||
|
||||
(define (resolve-importer name)
|
||||
@@ -143,10 +145,10 @@ PROC callback."
|
||||
((or ("-i" file importer args ...)
|
||||
("--insert" file importer args ...))
|
||||
(let* ((define-prefixes
|
||||
`(,@(if (member importer '("crate"))
|
||||
'(define)
|
||||
'())
|
||||
define-public))
|
||||
`(,@(if (member importer '("crate" "mix"))
|
||||
'(define)
|
||||
'())
|
||||
define-public))
|
||||
(define-prefix? (cut member <> define-prefixes))
|
||||
(find-and-insert
|
||||
(lambda (expr)
|
||||
@@ -172,9 +174,9 @@ PROC callback."
|
||||
((importer args ...)
|
||||
(let ((print (lambda (expr)
|
||||
(leave-on-EPIPE
|
||||
(pretty-print-with-comments
|
||||
(current-output-port) expr)
|
||||
;; Two newlines: one after the closing paren, and
|
||||
;; one to leave a blank line.
|
||||
(newline) (newline)))))
|
||||
(pretty-print-with-comments
|
||||
(current-output-port) expr)
|
||||
;; Two newlines: one after the closing paren, and
|
||||
;; one to leave a blank line.
|
||||
(newline) (newline)))))
|
||||
(import-as-definitions importer args print)))))
|
||||
|
||||
@@ -47,6 +47,8 @@ Import and convert the hex.pm package for PACKAGE-NAME.\n"))
|
||||
(newline)
|
||||
(display (G_ "
|
||||
-r, --recursive import packages recursively"))
|
||||
(display (G_ "
|
||||
-m, --mix-inputs use mix-inputs for input field"))
|
||||
(newline)
|
||||
(show-bug-report-information))
|
||||
|
||||
@@ -62,6 +64,9 @@ Import and convert the hex.pm package for PACKAGE-NAME.\n"))
|
||||
(option '(#\r "recursive") #f #f
|
||||
(lambda (opt name arg result)
|
||||
(alist-cons 'recursive #t result)))
|
||||
(option '("mix-inputs") #f #f
|
||||
(lambda (opt name arg result)
|
||||
(alist-cons 'mix-inputs #t result)))
|
||||
%standard-import-options))
|
||||
|
||||
|
||||
@@ -94,7 +99,9 @@ Import and convert the hex.pm package for PACKAGE-NAME.\n"))
|
||||
(_ #f))
|
||||
(hexpm-recursive-import name version))
|
||||
;; Single import
|
||||
(let ((sexp (hexpm->guix-package name #:version version)))
|
||||
(let* ((mix-inputs (assoc-ref opts 'mix-inputs))
|
||||
(sexp (hexpm->guix-package name #:version version
|
||||
#:mix-inputs? mix-inputs)))
|
||||
(unless sexp
|
||||
(leave (G_ "failed to download meta-data for package '~a'~%")
|
||||
spec))
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
|
||||
;;;
|
||||
;;; 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 (guix scripts import mix)
|
||||
#:use-module (guix ui)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix read-print)
|
||||
#:use-module (guix scripts)
|
||||
#:use-module (guix import mix)
|
||||
#:use-module (guix scripts import)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-37)
|
||||
#:use-module (srfi srfi-71)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (guix-import-mix))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Command-line options.
|
||||
;;;
|
||||
|
||||
(define %default-options
|
||||
'())
|
||||
|
||||
(define (show-help)
|
||||
(display (G_ "Usage: guix import mix PACKAGE-NAME
|
||||
Import package dependencies from its 'mix.lock'.\n"))
|
||||
(display (G_ "
|
||||
-h, --help display this help and exit"))
|
||||
(display (G_ "
|
||||
-V, --version display version information and exit"))
|
||||
(newline)
|
||||
(display (G_ "
|
||||
-f, --lockfile=FILE import dependencies from FILE, a 'mix.lock' file"))
|
||||
(newline)
|
||||
(show-bug-report-information))
|
||||
|
||||
(define %options
|
||||
;; Specification of the command-line options.
|
||||
(cons* (option '(#\h "help") #f #f
|
||||
(lambda args
|
||||
(show-help)
|
||||
(exit 0)))
|
||||
(option '(#\V "version") #f #f
|
||||
(lambda args
|
||||
(show-version-and-exit "guix import mix")))
|
||||
(option '(#\f "lockfile") #f #t
|
||||
(lambda (opt name arg result)
|
||||
(if (file-exists? arg)
|
||||
(alist-cons 'lockfile arg result)
|
||||
(leave (G_ "file '~a' does not exist~%") arg))))
|
||||
%standard-import-options))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Entry point.
|
||||
;;;
|
||||
|
||||
(define (guix-import-mix . args)
|
||||
(define (parse-options)
|
||||
;; Return the alist of option values.
|
||||
(parse-command-line args %options (list %default-options)
|
||||
#:build-options? #f))
|
||||
|
||||
(let* ((opts (parse-options))
|
||||
(lockfile (assoc-ref opts 'lockfile))
|
||||
(file-to-insert (assoc-ref opts 'file-to-insert))
|
||||
(args (filter-map (match-lambda
|
||||
(('argument . value)
|
||||
value)
|
||||
(_ #f))
|
||||
(reverse opts))))
|
||||
(match args
|
||||
((spec)
|
||||
(define-values (name version)
|
||||
(package-name->name+version spec))
|
||||
|
||||
(if lockfile
|
||||
(let ((source-expressions
|
||||
_
|
||||
(mix-lock->expressions lockfile name)))
|
||||
(when file-to-insert
|
||||
(let* ((source-expressions
|
||||
mix-inputs-entry
|
||||
(mix-lock->expressions lockfile name))
|
||||
(term (first mix-inputs-entry))
|
||||
(mix-inputs
|
||||
`(define-mix-inputs lookup-mix-inputs
|
||||
,@(sort
|
||||
(cons mix-inputs-entry
|
||||
(extract-mix-inputs
|
||||
file-to-insert #:exclude term))
|
||||
(lambda (a b)
|
||||
(string< (symbol->string (first a))
|
||||
(symbol->string (first b)))))))
|
||||
(_
|
||||
(and=> (find-mix-inputs-location file-to-insert)
|
||||
delete-expression))
|
||||
(port (open-file file-to-insert "a")))
|
||||
(pretty-print-with-comments port mix-inputs)
|
||||
(newline port)
|
||||
(close-port port)))
|
||||
source-expressions)))
|
||||
(()
|
||||
(leave (G_ "too few arguments~%")))
|
||||
((many ...)
|
||||
(leave (G_ "too many arguments~%"))))))
|
||||
+6
-13
@@ -11,7 +11,7 @@
|
||||
;;; Copyright © 2023 Graham James Addis <graham@addis.org.uk>
|
||||
;;; Copyright © 2023 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2024 Sebastian Dümcke <code@sam-d.com>
|
||||
;;; Copyright © 2024-2025 Noé Lopez <noelopez@free.fr>
|
||||
;;; Copyright © 2024 Noé Lopez <noelopez@free.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -81,9 +81,7 @@
|
||||
self-contained-appimage
|
||||
|
||||
%formats
|
||||
guix-pack
|
||||
|
||||
wrapped-manifest))
|
||||
guix-pack))
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
@@ -1001,7 +999,7 @@ added to the pack."
|
||||
(warning (G_ "AppImages should be built with the --relocatable flag~%"))))
|
||||
|
||||
(define runtime-package appimage-type2-runtime)
|
||||
(define runtime-path "bin/runtime")
|
||||
(define runtime-path "bin/runtime-fuse3")
|
||||
(define %valid-compressors '("gzip" "zstd"))
|
||||
|
||||
(let ((compressor-name (compressor-name compressor)))
|
||||
@@ -1399,13 +1397,6 @@ libfakechroot.so and related ld.so machinery as a fallback."
|
||||
(apply wrapped-manifest-entry entry args))
|
||||
(manifest-entry-dependencies entry)))))
|
||||
|
||||
(define* (wrapped-manifest manifest #:rest args)
|
||||
"Return the MANIFEST with its entries wrapped such that they are
|
||||
relocatable. Extra arguments are passed to wrapped-package."
|
||||
(map-manifest-entries
|
||||
(lambda (entry) (apply wrapped-manifest-entry entry args))
|
||||
manifest))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Command-line options.
|
||||
@@ -1804,7 +1795,9 @@ Create a bundle of PACKAGE.\n"))
|
||||
;; Note: We cannot honor '--bootstrap' here because
|
||||
;; 'glibc-bootstrap' lacks 'libc.a'.
|
||||
(if relocatable?
|
||||
(wrapped-manifest manifest #:proot? proot?)
|
||||
(map-manifest-entries
|
||||
(cut wrapped-manifest-entry <> #:proot? proot?)
|
||||
manifest)
|
||||
manifest)))
|
||||
(pack-format (assoc-ref opts 'format))
|
||||
(extra-options (match pack-format
|
||||
|
||||
@@ -495,14 +495,6 @@ SOURCE, an <upstream-source>."
|
||||
#:recursive? (git-reference-recursive? ref))
|
||||
source))
|
||||
|
||||
(define* (package-update/svn-fetch store package source
|
||||
#:key key-download key-server)
|
||||
"Return the version, checkout, and SOURCE, to update PACKAGE to
|
||||
SOURCE, an <upstream-source>."
|
||||
(values (upstream-source-version source)
|
||||
(download-svn-to-store store (upstream-source-urls source))
|
||||
source))
|
||||
|
||||
(define* (package-update/svn-multi-fetch store package source
|
||||
#:key key-download key-server)
|
||||
"Return the version, checkout, and SOURCE, to update PACKAGE to
|
||||
@@ -515,7 +507,6 @@ SOURCE, an <upstream-source>."
|
||||
;; Mapping of origin methods to source update procedures.
|
||||
`((,url-fetch . ,package-update/url-fetch)
|
||||
(,git-fetch . ,package-update/git-fetch)
|
||||
(,svn-fetch . ,package-update/svn-fetch)
|
||||
(,svn-multi-fetch . ,package-update/svn-multi-fetch)))
|
||||
|
||||
(define* (package-update store package
|
||||
@@ -731,8 +722,6 @@ new version string if an update was made, and #f otherwise."
|
||||
(old-commit (match (origin-uri (package-source package))
|
||||
((? git-reference? ref)
|
||||
(git-reference-commit ref))
|
||||
((? svn-reference? ref)
|
||||
(svn-reference-revision ref))
|
||||
((? svn-multi-reference? ref)
|
||||
(svn-multi-reference-revision ref))
|
||||
(_ #f)))
|
||||
@@ -744,16 +733,12 @@ new version string if an update was made, and #f otherwise."
|
||||
((first _ ...) first)
|
||||
((? git-reference? ref)
|
||||
(git-reference-url ref))
|
||||
((? svn-reference? ref)
|
||||
(svn-reference-url ref))
|
||||
((? svn-multi-reference? ref)
|
||||
(svn-multi-reference-url ref))
|
||||
(_ #f)))
|
||||
(new-commit (match (upstream-source-urls source)
|
||||
((? git-reference? ref)
|
||||
(git-reference-commit ref))
|
||||
((? svn-reference? ref)
|
||||
(svn-reference-revision ref))
|
||||
((? svn-multi-reference? ref)
|
||||
(svn-multi-reference-revision ref))
|
||||
(_ #f)))
|
||||
|
||||
@@ -78,7 +78,6 @@ gnu/packages/connman.scm
|
||||
gnu/packages/containers.scm
|
||||
gnu/packages/convmv.scm
|
||||
gnu/packages/coq.scm
|
||||
gnu/packages/coreboot.scm
|
||||
gnu/packages/cpio.scm
|
||||
gnu/packages/cpp.scm
|
||||
gnu/packages/cppi.scm
|
||||
|
||||
@@ -250,4 +250,48 @@
|
||||
(x
|
||||
(pk 'fail x #f))))))
|
||||
|
||||
(test-assert "hexpm-with-mix-inputs"
|
||||
;; Replace network resources with sample data.
|
||||
(mock ((guix http-client) http-fetch
|
||||
(lambda (url . rest)
|
||||
(match url
|
||||
("https://hex.pm/api/packages/bla"
|
||||
(values (open-input-string test-bla-package)
|
||||
(string-length test-bla-package)))
|
||||
("https://hex.pm/api/packages/bla/releases/1.5.0"
|
||||
(values (open-input-string test-bla-release)
|
||||
(string-length test-bla-release)))
|
||||
(_ (error "http-fetch got unexpected URL: " url)))))
|
||||
(mock ((guix build download) url-fetch
|
||||
(lambda* (url file-name
|
||||
#:key
|
||||
(mirrors '()) verify-certificate?)
|
||||
(with-output-to-file file-name
|
||||
(lambda ()
|
||||
(display
|
||||
(match url
|
||||
("https://repo.hex.pm/tarballs/bla-1.5.0.tar"
|
||||
"source")
|
||||
(_ (error "url-fetch got unexpected URL: " url))))))))
|
||||
(match (hexpm->guix-package "bla" #:mix-inputs? #t)
|
||||
(`(package
|
||||
(name "erlang-bla")
|
||||
(version "1.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hexpm-uri "bla" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0zcl4dgcmqwl1g5xb901pd6dz61r1xgmac9mqlwvh022paa6gks1"))))
|
||||
(build-system rebar-build-system)
|
||||
(inputs (mix-inputs 'erlang-bla))
|
||||
(synopsis "A cool package")
|
||||
(description "This package provides a cool package.")
|
||||
(home-page "https://hex.pm/packages/bla")
|
||||
(license (list license:expat license:asl2.0)))
|
||||
#t)
|
||||
(x
|
||||
(pk 'fail x #f))))))
|
||||
|
||||
(test-end "hexpm")
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2025 Igorj Gorjaĉev <igor@goryachev.org>
|
||||
;;;
|
||||
;;; 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 (test-mix)
|
||||
#:use-module (guix import mix)
|
||||
#:use-module (guix base32)
|
||||
#:use-module (guix build-system mix)
|
||||
#:use-module (gcrypt hash)
|
||||
#:use-module (guix tests)
|
||||
#:use-module (srfi srfi-11)
|
||||
#:use-module (srfi srfi-64)
|
||||
#:use-module (ice-9 binary-ports)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define test-mix-lock-file
|
||||
"\
|
||||
%{
|
||||
\"gen_stage\": {:hex, :gen_stage, \"1.3.2\", \
|
||||
\"7c77e5d1e97de2c6c2f78f306f463bca64bf2f4c3cdd606affc0100b89743b7b\", \
|
||||
[:mix], [], \"hexpm\", \
|
||||
\"0ffae547fa777b3ed889a6b9e1e64566217413d018cabd825f786e843ffe63e7\"},
|
||||
\"eini\": {:hex, :eini_beam, \"2.2.4\", \
|
||||
\"02143b1dce4dda4243248e7d9b3d8274b8d9f5a666445e3d868e2cce79e4ff22\", \
|
||||
[:rebar3], [], \"hexpm\", \
|
||||
\"12de479d144b19e09bb92ba202a7ea716739929afdf9dff01ad802e2b1508471\"},
|
||||
\"erlydtl\": {:git, \"https://github.com/manuel-rubio/erlydtl.git\", \
|
||||
\"dffa1a73ee2bfba14195b8b3964c39f007ff1284\", []},
|
||||
}")
|
||||
|
||||
(define temp-file
|
||||
(string-append "t-mix-" (number->string (getpid))))
|
||||
|
||||
(test-begin "mix")
|
||||
|
||||
(test-assert "mix-lock-file-import"
|
||||
(begin
|
||||
(call-with-output-file temp-file
|
||||
(lambda (port)
|
||||
(display test-mix-lock-file port)))
|
||||
(mock
|
||||
((guix scripts download) guix-download
|
||||
(lambda _
|
||||
(format #t "~a~%~a~%"
|
||||
"/gnu/store/m43vixiijc26ni5p9zvbvjrs311h4fsm-erlydtl-dffa1a7"
|
||||
"1jhcfh0idadlh9999kjzx1riqjw0k05wm6ii08xkjvirhjg0vawh")))
|
||||
(let-values
|
||||
(((source-expressions beam-inputs-entry)
|
||||
(mix-lock->expressions temp-file "test")))
|
||||
(and
|
||||
(match source-expressions
|
||||
('((define beam-gen-stage-1.3.2
|
||||
(hexpm-source
|
||||
"gen_stage" "gen_stage" "1.3.2"
|
||||
"1rv3zqzq8vkqby1bvjhqs09p88b68pkf3fd6i7c3wyvpz93ybyhg"))
|
||||
(define beam-eini-2.2.4
|
||||
(hexpm-source
|
||||
"eini" "eini_beam" "2.2.4"
|
||||
"0wc4a2qy40nq3bqdzygxka93jrvixakh58ibp6dy06ab2jflgphj"))
|
||||
(define beam-erlydtl-snapshot.dffa1a7
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/manuel-rubio/erlydtl.git")
|
||||
(commit "dffa1a73ee2bfba14195b8b3964c39f007ff1284")))
|
||||
(file-name (git-file-name "beam-erlydtl" "snapshot.dffa1a7"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jhcfh0idadlh9999kjzx1riqjw0k05wm6ii08xkjvirhjg0vawh")))))
|
||||
#t)
|
||||
(x
|
||||
(pk 'fail (pretty-print-with-comments (current-output-port) x) #f)))
|
||||
(match beam-inputs-entry
|
||||
(`(test => (list beam-gen-stage-1.3.2
|
||||
beam-eini-2.2.4
|
||||
beam-erlydtl-snapshot.dffa1a7))
|
||||
#t)
|
||||
(x
|
||||
(pk 'fail x #f))))))))
|
||||
|
||||
(test-end "mix")
|
||||
|
||||
(false-if-exception (delete-file temp-file))
|
||||
+11
-15
@@ -3,7 +3,7 @@
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2021, 2023, 2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2023 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2024-2025 Noé Lopez <noelopez@free.fr>
|
||||
;;; Copyright © 2024 Noé Lopez <noelopez@free.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -337,13 +337,11 @@
|
||||
(mlet* %store-monad
|
||||
((guile (set-guile-for-build (default-guile)))
|
||||
(profile -> (profile
|
||||
;; When using '--appimage-extract-and-run', the dynamic
|
||||
;; linker is necessary, hence glibc below.
|
||||
(content (wrapped-manifest
|
||||
(packages->manifest (list hello glibc))))
|
||||
(relative-symlinks? #t)
|
||||
(hooks '())
|
||||
(locales? #f)))
|
||||
;; When using '--appimage-extract-and-run', the dynamic
|
||||
;; linker is necessary, hence glibc below.
|
||||
(content (packages->manifest (list hello glibc)))
|
||||
(hooks '())
|
||||
(locales? #f)))
|
||||
(image (self-contained-appimage "hello-appimage" profile
|
||||
#:entry-point "bin/hello"
|
||||
#:extra-options
|
||||
@@ -371,13 +369,11 @@
|
||||
(mlet* %store-monad
|
||||
((guile (set-guile-for-build (default-guile)))
|
||||
(profile -> (profile
|
||||
;; When using '--appimage-extract-and-run', the dynamic
|
||||
;; linker is necessary, hence glibc below.
|
||||
(content (wrapped-manifest
|
||||
(packages->manifest (list guile-3.0 glibc))))
|
||||
(relative-symlinks? #t)
|
||||
(hooks '())
|
||||
(locales? #f)))
|
||||
;; When using '--appimage-extract-and-run', the dynamic
|
||||
;; linker is necessary, hence glibc below.
|
||||
(content (packages->manifest (list guile-3.0 glibc)))
|
||||
(hooks '())
|
||||
(locales? #f)))
|
||||
(image (self-contained-appimage "guile-appimage" profile
|
||||
#:entry-point "bin/guile"
|
||||
#:localstatedir? #t
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||||
;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
|
||||
;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -22,7 +21,6 @@
|
||||
|
||||
(define-module (tests services configuration)
|
||||
#:use-module (gnu services configuration)
|
||||
#:use-module (gnu services configuration environment-variables)
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (guix gexp)
|
||||
#:autoload (guix i18n) (G_)
|
||||
@@ -50,14 +48,14 @@
|
||||
(port-configuration-port (port-configuration)))
|
||||
|
||||
(test-equal "wrong type for a field"
|
||||
'("configuration.scm" 61 11) ;error location
|
||||
'("configuration.scm" 59 11) ;error location
|
||||
(guard (c ((configuration-error? c)
|
||||
(let ((loc (error-location c)))
|
||||
(list (basename (location-file loc))
|
||||
(location-line loc)
|
||||
(location-column loc)))))
|
||||
(port-configuration
|
||||
;; This is line 60; the test relies on line/column numbers!
|
||||
;; This is line 58; the test relies on line/column numbers!
|
||||
(port "This is not a number!"))))
|
||||
|
||||
(define-configuration port-configuration-cs
|
||||
@@ -365,126 +363,3 @@
|
||||
(config-with-maybe-string/no-serialization-name
|
||||
(config-with-maybe-string/no-serialization
|
||||
(name "foo")))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; environment-variables serializer
|
||||
;;;
|
||||
|
||||
(define-configuration/no-serialization env-config
|
||||
(port (number 80) "")
|
||||
(count maybe-number "")
|
||||
(name string "")
|
||||
(url maybe-string "")
|
||||
(active? (boolean #f) ""))
|
||||
|
||||
(test-group "environment variables serializer"
|
||||
|
||||
(test-equal "basic serialization"
|
||||
'(("PORT" . "70")
|
||||
("COUNT" . "80")
|
||||
("NAME" . "Hello World")
|
||||
("URL" . "https://example.org")
|
||||
("ACTIVE" . "true"))
|
||||
(serialize-environment-variables
|
||||
(env-config
|
||||
(port 70)
|
||||
(name "Hello World")
|
||||
(url "https://example.org")
|
||||
(active? #t)
|
||||
(count 80))
|
||||
env-config-fields))
|
||||
|
||||
(test-equal "field selection"
|
||||
'(("PORT" . "80"))
|
||||
(serialize-environment-variables
|
||||
(env-config
|
||||
(name "Hello World"))
|
||||
env-config-fields
|
||||
'(port)))
|
||||
|
||||
(test-equal "field negative selection"
|
||||
'(("NAME" . "Hello World")
|
||||
("ACTIVE" . "false"))
|
||||
(serialize-environment-variables
|
||||
(env-config
|
||||
(name "Hello World"))
|
||||
env-config-fields
|
||||
'(port)
|
||||
#t))
|
||||
|
||||
(test-equal "variable prefixes"
|
||||
'(("TEST_PORT" . "80")
|
||||
("TEST_NAME" . "Hello World")
|
||||
("TEST_ACTIVE" . "false"))
|
||||
(serialize-environment-variables
|
||||
(env-config
|
||||
(name "Hello World"))
|
||||
env-config-fields
|
||||
#:prefix "TEST_"))
|
||||
|
||||
(test-equal "boolean serialization"
|
||||
'(("PORT" . "80")
|
||||
("NAME" . "Hello World")
|
||||
("ACTIVE" . "1"))
|
||||
(serialize-environment-variables
|
||||
(env-config
|
||||
(name "Hello World")
|
||||
(active? #t))
|
||||
env-config-fields
|
||||
#:true-value "1"
|
||||
#:false-value "0"))
|
||||
|
||||
(test-equal "full record serialization"
|
||||
'(("TEST_COUNT" . "800")
|
||||
("TEST_NAME" . "Hello World")
|
||||
("TEST_URL" . "https://example.org")
|
||||
("TEST_ACTIVE" . "1"))
|
||||
(serialize-environment-variables
|
||||
(env-config
|
||||
(port 90)
|
||||
(name "Hello World")
|
||||
(count 800)
|
||||
(url "https://example.org")
|
||||
(active? #t))
|
||||
env-config-fields
|
||||
'(port)
|
||||
#t
|
||||
#:prefix "TEST_"
|
||||
#:true-value "1"
|
||||
#:false-value "0")))
|
||||
|
||||
(define-configuration another-env-config
|
||||
(port
|
||||
(number 80)
|
||||
""
|
||||
(serializer serialize-number-environment-variable))
|
||||
(count
|
||||
(maybe-number)
|
||||
""
|
||||
(serializer serialize-maybe-number-environment-variable))
|
||||
(name
|
||||
(string)
|
||||
""
|
||||
(serializer serialize-string-environment-variable))
|
||||
(url
|
||||
(maybe-string)
|
||||
""
|
||||
(serializer serialize-maybe-string-environment-variable))
|
||||
(active?
|
||||
(boolean #f)
|
||||
""
|
||||
(serializer serialize-boolean-environment-variable)))
|
||||
|
||||
(test-group "environment variables serializer, with field serializers"
|
||||
|
||||
(test-assert "full record serialization"
|
||||
(gexp?
|
||||
(serialize-configuration
|
||||
(another-env-config
|
||||
(port 90)
|
||||
(name "Hello World")
|
||||
(count 800)
|
||||
(url "https://example.org")
|
||||
(active? #t))
|
||||
another-env-config-fields))))
|
||||
|
||||
Reference in New Issue
Block a user