forked from tribes/guix
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| baed3ca1b6 |
@@ -316,7 +316,6 @@ gnu/packages/librewolf\.scm @guix/mozilla
|
||||
gnu/packages/tor-browsers\.scm @guix/mozilla
|
||||
|
||||
gnu/packages/ocaml\.scm @guix/ocaml
|
||||
gnu/packages/ocaml5\.scm @guix/ocaml
|
||||
gnu/packages/coq\.scm @guix/ocaml
|
||||
guix/build/ocaml-build-system\.scm @guix/ocaml
|
||||
guix/build/dune-build-system\.scm @guix/ocaml
|
||||
|
||||
@@ -14,10 +14,6 @@ Copyright © 2026 Noé Lopez <noelopez@free.fr>
|
||||
|
||||
Please send Guix bug reports to bug-guix@gnu.org.
|
||||
|
||||
* Changes in 1.6.0 (since 1.5.0)
|
||||
** Distribution
|
||||
*** GNOME updated to version 48
|
||||
|
||||
* Changes in 1.5.0 (since 1.4.0)
|
||||
** Package management
|
||||
*** New ‘rpm’ format for the ‘guix pack’ command
|
||||
|
||||
@@ -111,9 +111,6 @@ build daemon, from within the generated build program."
|
||||
#~(begin
|
||||
(use-modules (ice-9 match))
|
||||
|
||||
;; To avoid lots of readlink calls
|
||||
(fluid-set! %file-port-name-canonicalization #f)
|
||||
|
||||
(eval-when (expand load eval)
|
||||
;; (gnu packages …) modules are going to be looked up
|
||||
;; under SOURCE. (guix config) is looked up in FRONT.
|
||||
@@ -172,13 +169,6 @@ build daemon, from within the generated build program."
|
||||
;; build output.
|
||||
(connect sock AF_UNIX build-output)
|
||||
|
||||
(when (integer? proto)
|
||||
;; port->connection doesn't setup buffering, so
|
||||
;; do this here
|
||||
(setvbuf (store-connection-socket store)
|
||||
'block
|
||||
%default-store-connection-buffer-size))
|
||||
|
||||
(display
|
||||
(and=>
|
||||
;; Silence autoload warnings and the likes.
|
||||
@@ -249,9 +239,6 @@ Display a spinner when nothing happens."
|
||||
#:rest rest)
|
||||
"Return a derivation that unpacks SOURCE into STORE and compiles Scheme
|
||||
files."
|
||||
;; Avoid lots of readlink calls
|
||||
(fluid-set! %file-port-name-canonicalization #f)
|
||||
|
||||
;; Build the build program and then use it as a trampoline to build from
|
||||
;; SOURCE.
|
||||
(mlet %store-monad ((build (build-program source version guile-version
|
||||
|
||||
@@ -20,9 +20,6 @@
|
||||
|
||||
(use-modules (srfi srfi-26))
|
||||
|
||||
;; Avoid lots of readlink calls
|
||||
(fluid-set! %file-port-name-canonicalization #f)
|
||||
|
||||
;; Add ~/.config/guix/current to the search path.
|
||||
(eval-when (expand load eval)
|
||||
(and=> (or (getenv "XDG_CONFIG_HOME")
|
||||
@@ -44,10 +41,6 @@
|
||||
|
||||
(match (command-line)
|
||||
((program source)
|
||||
;; The build procedure outputs to this port, so setup buffering to avoid
|
||||
;; one char per syscall.
|
||||
(setvbuf (current-error-port) 'line)
|
||||
|
||||
(with-error-handling
|
||||
(with-store store
|
||||
(let* ((script (string-append source "/build-aux/build-self.scm"))
|
||||
|
||||
+10
-211
@@ -149,7 +149,6 @@ Copyright @copyright{} 2025 Rodion Goritskov@*
|
||||
Copyright @copyright{} 2025 dan@*
|
||||
Copyright @copyright{} 2025 Noé Lopez@*
|
||||
Copyright @copyright{} 2026 David Elsing@*
|
||||
Copyright @copyright{} 2026 Nguyễn Gia Phong@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
@@ -441,7 +440,7 @@ Services
|
||||
* Power Management Services:: Extending battery life, etc.
|
||||
* Audio Services:: The MPD.
|
||||
* Virtualization Services:: Virtualization services.
|
||||
* Version Control Services:: Software version control servers.
|
||||
* Version Control Services:: Providing remote access to Git repositories.
|
||||
* Game Services:: Game servers.
|
||||
* PAM Mount Service:: Service to mount volumes when logging in.
|
||||
* Guix Services:: Services relating specifically to Guix.
|
||||
@@ -19918,7 +19917,7 @@ declaration.
|
||||
* Power Management Services:: Extending battery life, etc.
|
||||
* Audio Services:: The MPD.
|
||||
* Virtualization Services:: Virtualization services.
|
||||
* Version Control Services:: Software version control servers.
|
||||
* Version Control Services:: Providing remote access to Git repositories.
|
||||
* Game Services:: Game servers.
|
||||
* PAM Mount Service:: Service to mount volumes when logging in.
|
||||
* Guix Services:: Services relating specifically to Guix.
|
||||
@@ -42369,30 +42368,13 @@ How often to run the node cleaning job. The default is once per day, at
|
||||
@node Version Control Services
|
||||
@subsection Version Control Services
|
||||
|
||||
The @code{(gnu services version-control)} module provides services to
|
||||
allow remote access to local Git and Fossil repositories.
|
||||
For Git, the following services are available.
|
||||
|
||||
@itemize
|
||||
@item The @ref{git-daemon-service-type, Git daemon service}
|
||||
provides access via the unsecured TCP-based @code{git://} protocol.
|
||||
@item The @code{nginx} web server can proxy some requests
|
||||
to @ref{git-http-backend, Git Smart HTTP backend}.
|
||||
@item The @ref{cgit-service-type, cgit service} also implements
|
||||
Git Smart HTTP protocol, in addition to a web interface.
|
||||
@item The @ref{gitolite-service-type, Gitolite service} offers access
|
||||
through SSH. The @ref{gitile-service-type, Gitile service}
|
||||
can be used along side it to provide a web interface.
|
||||
@end itemize
|
||||
|
||||
Fossil repositories are served along with a web interface
|
||||
by the @ref{fossil-service-type, Fossil service}.
|
||||
|
||||
@anchor{git-daemon-service-type}
|
||||
@subsubheading Git Daemon Service
|
||||
|
||||
@cindex Git daemon service
|
||||
@cindex Git, hosting
|
||||
The @code{(gnu services version-control)} module provides a service to
|
||||
allow remote access to local Git repositories. There are three options:
|
||||
the @code{git-daemon-service-type}, which provides access to repositories via
|
||||
the @code{git://} unsecured TCP-based protocol, extending the
|
||||
@code{nginx} web server to proxy some requests to
|
||||
@code{git-http-backend}, or providing a web interface with
|
||||
@code{cgit-service-type}.
|
||||
|
||||
@defvar git-daemon-service-type
|
||||
Type for a service that runs @command{git daemon}, a simple TCP server to
|
||||
@@ -42451,15 +42433,7 @@ Extra options that will be passed to @command{git daemon}.@footnote{Run
|
||||
The @code{git://} protocol lacks authentication. When you pull from a
|
||||
repository fetched via @code{git://}, you don't know whether the data you
|
||||
receive was modified or is even coming from the specified host, and your
|
||||
connection is subject to eavesdropping.
|
||||
|
||||
@anchor{git-http-backend}
|
||||
@subsubheading Git HTTP Backend
|
||||
|
||||
@cindex Git HTTP backend
|
||||
@cindex Git, hosting
|
||||
|
||||
It's better to use an authenticated
|
||||
connection is subject to eavesdropping. It's better to use an authenticated
|
||||
and encrypted transport, such as @code{https}. Although Git allows you
|
||||
to serve repositories using unsophisticated file-based web servers,
|
||||
there is a faster protocol implemented by the @code{git-http-backend}
|
||||
@@ -42534,7 +42508,6 @@ HTTPS@. You will also need to add an @code{fcgiwrap} proxy to your
|
||||
system services. @xref{Web Services}.
|
||||
@end deffn
|
||||
|
||||
@anchor{cgit-service-type}
|
||||
@subsubheading Cgit Service
|
||||
|
||||
@cindex Cgit service
|
||||
@@ -43487,7 +43460,6 @@ could instantiate a cgit service like this:
|
||||
(cgitrc "")))
|
||||
@end lisp
|
||||
|
||||
@anchor{gitolite-service-type}
|
||||
@subsubheading Gitolite Service
|
||||
|
||||
@cindex Gitolite service
|
||||
@@ -43667,7 +43639,6 @@ Extra content to add verbatim into the git configuration file.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@anchor{gitile-service-type}
|
||||
@subsubheading Gitile Service
|
||||
|
||||
@cindex Gitile service
|
||||
@@ -43802,155 +43773,6 @@ like to serve.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@anchor{fossil-service-type}
|
||||
@subsubheading Fossil Service
|
||||
|
||||
@cindex Fossil service
|
||||
@cindex Fossil, forge
|
||||
@uref{https://fossil-scm.org, Fossil} is a distributed
|
||||
software configuration management system. In addition to version control
|
||||
like Git, Fossil also supports bug tracking, wiki, forum, chat, etc.,
|
||||
all accessible via its built-in web interface.
|
||||
|
||||
Fossil is highly reliable thanks to its robust file format based on SQLite
|
||||
with atomic transactions. Its server is CPU, memory and bandwidth efficient
|
||||
enough run comfortably on a cheap VPS or single board computer,
|
||||
and be accessed over suboptimal connections.
|
||||
|
||||
The following example will configure Fossil to listen on a unix socket
|
||||
behind a reverse proxy and serve repositories from a custom location.
|
||||
|
||||
@lisp
|
||||
(service fossil-service-type
|
||||
(fossil-configuration
|
||||
(repository "/srv/museum")
|
||||
(repo-list? #t)
|
||||
(base-url "https://museum.example")
|
||||
(socket-file "/var/run/fossil.sock")
|
||||
(compress? #f)))
|
||||
@end lisp
|
||||
|
||||
@deftp {Data Type} fossil-configuration
|
||||
Available @code{fossil-configuration} fields are:
|
||||
|
||||
@table @asis
|
||||
@item @code{package} (default: @code{fossil}) (type: package)
|
||||
The Fossil package to use.
|
||||
|
||||
@item @code{user} (default: @code{"fossil"}) (type: string)
|
||||
The user running the Fossil server.
|
||||
|
||||
@item @code{group} (default: @code{"fossil"}) (type: string)
|
||||
The user group running the Fossil server.
|
||||
|
||||
@item @code{log-file} (default: @code{"/var/log/fossil.log"}) (type: string)
|
||||
The path to the server's log.
|
||||
|
||||
@item @code{repository} (default: @code{"/var/lib/fossil"}) (type: string)
|
||||
The name of the Fossil repository to be served, or a directory
|
||||
containing one or more repositories with names ending in @code{.fossil}.
|
||||
In the latter case, a prefix of the URL pathname is used to search the
|
||||
directory for an appropriate repository. Files not matching the pattern
|
||||
@code{*.fossil*} will be served as static content. Invoke
|
||||
@command{fossil server --help} for more information.
|
||||
|
||||
@item @code{acme?} (default: @code{#f}) (type: boolean)
|
||||
Deliver files from the @code{.well-known} subdirectory.
|
||||
|
||||
@item @code{base-url} (type: maybe-string)
|
||||
The URL used as the base (useful for reverse proxies)
|
||||
|
||||
@item @code{chroot} (type: maybe-string)
|
||||
The directory to use for chroot instead of @code{repository}.
|
||||
|
||||
@item @code{ckout-alias} (type: maybe-string)
|
||||
The @var{name} for @code{/doc/@var{name}/...} to be treated as
|
||||
@code{/doc/ckout/...}.
|
||||
|
||||
@item @code{compress?} (default: @code{#t}) (type: boolean)
|
||||
Compress HTTP response.
|
||||
|
||||
@item @code{create?} (default: @code{#f}) (type: boolean)
|
||||
Create a new @code{repository} if it does not already exist.
|
||||
|
||||
@item @code{error-log-file} (type: maybe-string)
|
||||
The path for HTTP error log.
|
||||
|
||||
@item @code{ext-root} (type: maybe-string)
|
||||
The document root for the /ext extension mechanism.
|
||||
|
||||
@item @code{files} (type: maybe-list-of-strings)
|
||||
The glob patterns for static files.
|
||||
|
||||
@item @code{from} (type: maybe-string)
|
||||
The path to be used as the diff baseline for the /ckout page.
|
||||
|
||||
@item @code{jail?} (default: @code{#t}) (type: boolean)
|
||||
Whether to enter the chroot jail after dropping root privileges.
|
||||
|
||||
@item @code{js-mode} (type: maybe-fossil-js-mode)
|
||||
How JavaScript is delivered with pages, either @code{'inline} at the end
|
||||
of the HTML file, as @code{'separate} HTTP requests, or one single HTTP
|
||||
request for all JavaScript @code{'bundled} together. Depending on the
|
||||
needs of any given page, @code{'inline} and @code{'bundled} modes might
|
||||
result in a single amalgamated script or several, but both approaches
|
||||
result in fewer HTTP requests than the @code{'separate} mode.
|
||||
|
||||
@item @code{https?} (default: @code{#f}) (type: boolean)
|
||||
Indicate that the requests are coming through a reverse proxy that has
|
||||
already translated HTTPS into HTTP.
|
||||
|
||||
@item @code{ip} (type: maybe-string)
|
||||
The IP for the server to listen on.
|
||||
|
||||
@item @code{local-authentication?} (default: @code{#f}) (type: boolean)
|
||||
Enable automatic login for requests from localhost.
|
||||
|
||||
@item @code{localhost?} (default: @code{#f}) (type: boolean)
|
||||
Listen on @code{127.0.0.1} only.
|
||||
|
||||
@item @code{main-menu} (type: maybe-string)
|
||||
The file whose contents is to override the repository's @code{mainmenu}
|
||||
setting.
|
||||
|
||||
@item @code{max-latency} (type: maybe-number)
|
||||
The maximum latency in seconds for a single HTTP request.
|
||||
|
||||
@item @code{port} (default: @code{8080}) (type: port-number)
|
||||
The port number for the server to listen on.
|
||||
|
||||
@item @code{list-repositories?} (default: @code{#f}) (type: boolean)
|
||||
If @code{repository} is dir, URL @code{/} lists repos.
|
||||
|
||||
@item @code{redirect-to-https?} (default: @code{#t}) (type: boolean)
|
||||
If set to @code{#f}, do not force redirects to HTTPS regardless of the
|
||||
repository setting @code{redirect-to-https}.
|
||||
|
||||
@item @code{scgi?} (default: @code{#f}) (type: boolean)
|
||||
Accept SCGI rather than HTTP.
|
||||
|
||||
@item @code{skin} (type: maybe-string)
|
||||
The skin label to use, overriding repository settings.
|
||||
|
||||
@item @code{socket-file} (type: maybe-string)
|
||||
The unix-domain socket to use instead of TCP/IP.
|
||||
|
||||
@item @code{socket-mode} (default: @code{0o640}) (type: mode-number)
|
||||
The file permissions to set for the unix socket.
|
||||
|
||||
@item @code{th-trace?} (default: @code{#f}) (type: boolean)
|
||||
Trace TH1 execution (for debugging purposes).
|
||||
|
||||
@item @code{tls-certificate} (type: maybe-string)
|
||||
The certicate file (@file{fullchain.pem}) with which to enable TLS
|
||||
(HTTPS) encryption.
|
||||
|
||||
@item @code{tls-private-key} (type: maybe-string)
|
||||
The file storing the TLS private key.
|
||||
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
|
||||
@node Game Services
|
||||
@subsection Game Services
|
||||
@@ -50666,29 +50488,6 @@ cat $(herd configuration tor)
|
||||
This can come in as a handy debugging tool!
|
||||
@end deffn
|
||||
|
||||
@deffn {Procedure} shepherd-signal-action name signal @
|
||||
[#:documentation `Send signal @var{signal} to the running service`] @
|
||||
[#:message `Service has been asked to perform @var{name}`]
|
||||
Return a shepherd action with @var{name} to send @var{signal} to the
|
||||
running process. The optional @var{documentation} and @var{message} can be used
|
||||
to customize the documentation and output message.
|
||||
|
||||
Many daemons perform special actions after receiving a specific signal.
|
||||
|
||||
For example the @command{syslogd} logger will reread its configuration file
|
||||
after receiving @code{SIGHUP}.
|
||||
|
||||
After adding
|
||||
@lisp
|
||||
(shepherd-signal-action 'reload SIGHUP))
|
||||
@end lisp
|
||||
|
||||
the @code{reload} action will be available and can be used with
|
||||
@example
|
||||
herd reload syslogd
|
||||
@end example
|
||||
@end deffn
|
||||
|
||||
@defvar shepherd-root-service-type
|
||||
The service type for the Shepherd ``root service''---i.e., PID@tie{}1.
|
||||
|
||||
|
||||
@@ -33,7 +33,6 @@
|
||||
;; Copyright © 2025 Rivulet Cedar <rivulet_cedar@yeah.net>
|
||||
;; Copyright © 2025 jgart <jgart@dismail.de>
|
||||
;; Copyright © 2025 Steve George <steve@futurile.net>
|
||||
;; Copyright © 2026 Noé Lopez <noelopez@free.fr>
|
||||
|
||||
;;
|
||||
;; Copying and distribution of this file, with or without modification, are
|
||||
@@ -43,40 +42,6 @@
|
||||
(channel-news
|
||||
(version 0)
|
||||
|
||||
(entry (commit "b52ce9041ad58aeababd2d50d3e72bc23dffff60")
|
||||
(title
|
||||
(en "GNOME 48 is now available")
|
||||
(fr "GNOME 48 maintenant disponible")
|
||||
(de "GNOME 48 jetzt verfügbar"))
|
||||
(body
|
||||
(en "The GNOME desktop was updated from version 46 to 48, bringing
|
||||
accent colors, an improved Files (Nautilus) application, a new image
|
||||
viewer (Loupe), and more:
|
||||
|
||||
@itemize
|
||||
@item @url{https://release.gnome.org/47/, GNOME 47 release notes}
|
||||
@item @url{https://release.gnome.org/48/, GNOME 48 release notes}
|
||||
@end itemize")
|
||||
(fr "La version 48 de l’environnement de bureau GNOME est maintenant
|
||||
disponible. Les nouvelles fonctionnalitées incluent: les couleurs d’accent,
|
||||
l’application Fichiers (Nautilus) améliorée, un nouveau visionneur
|
||||
d’images (Loupe), et plus:
|
||||
|
||||
@itemize
|
||||
@item @url{https://release.gnome.org/47/, GNOME 47 release notes}
|
||||
@item @url{https://release.gnome.org/48/, GNOME 48 release notes}
|
||||
@end itemize")
|
||||
(de "Die GNOME-Desktopumgebung wurde von Version 46 auf 48
|
||||
aktualisiert. Neue Funktionen in dieser Version sind die Möglichkeit, eine
|
||||
Akzentfarbe zu wählen, Verbesserungen in der Dateien-Anwendung (Nautilus), ein
|
||||
neuer Bildbetrachter (Loupe), und mehr. Für eine ausführlichere Liste an
|
||||
Änderungen, siehe:
|
||||
|
||||
@itemize
|
||||
@item @url{https://release.gnome.org/47/, GNOME 47 release notes}
|
||||
@item @url{https://release.gnome.org/48/, GNOME 48 release notes}
|
||||
@end itemize")))
|
||||
|
||||
(entry (commit "d659fe8666c4bc38fcbdbe7b7a35101f2d7cc41b")
|
||||
(title
|
||||
(en "Potential security vulnerability in glibc")
|
||||
|
||||
@@ -933,7 +933,6 @@ and Firefox."
|
||||
importer, and the ocaml-build-system."
|
||||
#:scope
|
||||
(list "gnu/packages/ocaml.scm"
|
||||
"gnu/packages/ocaml5.scm"
|
||||
"gnu/packages/coq.scm"
|
||||
"guix/build/ocaml-build-system.scm"
|
||||
"guix/build/dune-build-system.scm"
|
||||
|
||||
+3
-9
@@ -55,7 +55,7 @@
|
||||
# Copyright © 2022 Hilton Chain <hako@ultrarare.space>
|
||||
# Copyright © 2022 Alex Griffin <a@ajgrf.com>
|
||||
# Copyright © 2022 ( <paren@disroot.org>
|
||||
# Copyright © 2022, 2026 jgart <jgart@dismail.de>
|
||||
# Copyright © 2022 jgart <jgart@dismail.de>
|
||||
# Copyright © 2023-2025 Zheng Junjie <z572@z572.online>
|
||||
# Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
|
||||
# Copyright © 2023 Andy Tai <atai@atai.org>
|
||||
@@ -75,7 +75,6 @@
|
||||
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
|
||||
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
|
||||
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
|
||||
# Copyright © 2025 Jason Conroy <jconroy@tscripta.net>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -519,7 +518,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/nvi.scm \
|
||||
%D%/packages/nx.scm \
|
||||
%D%/packages/ocaml.scm \
|
||||
%D%/packages/ocaml5.scm \
|
||||
%D%/packages/ocr.scm \
|
||||
%D%/packages/openkinect.scm \
|
||||
%D%/packages/onc-rpc.scm \
|
||||
@@ -1094,7 +1092,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ceph-fix-cmake.patch \
|
||||
%D%/packages/patches/cf-tool-add-languages.patch \
|
||||
%D%/packages/patches/chmlib-inttypes.patch \
|
||||
%D%/packages/patches/cl-ana-pr-49.patch \
|
||||
%D%/packages/patches/cl-asdf-config-directories.patch \
|
||||
%D%/packages/patches/clamav-config-llvm-libs.patch \
|
||||
%D%/packages/patches/clamav-system-tomsfastmath.patch \
|
||||
@@ -1127,7 +1124,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/coda-use-system-libs.patch \
|
||||
%D%/packages/patches/codex-acp-0.9.2-remove-patch-sections.patch \
|
||||
%D%/packages/patches/codex-acp-0.9.2-replace-result-flatten.patch \
|
||||
%D%/packages/patches/codex-0.98.0-remove-patch-sections.patch \
|
||||
%D%/packages/patches/cogl-fix-double-free.patch \
|
||||
%D%/packages/patches/collada-dom-boost.patch \
|
||||
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
|
||||
@@ -1543,6 +1539,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/grfcodec-gcc-compat.patch \
|
||||
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
|
||||
%D%/packages/patches/grub-efi-fat-serial-number.patch \
|
||||
%D%/packages/patches/grub-hurd64.patch \
|
||||
%D%/packages/patches/grub-setup-root.patch \
|
||||
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
|
||||
%D%/packages/patches/guile-2.2-skip-oom-test.patch \
|
||||
@@ -1582,7 +1579,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
|
||||
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
||||
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
|
||||
%D%/packages/patches/gst-plugins-base-null-pointer.patch \
|
||||
%D%/packages/patches/gzdoom-search-in-installed-share.patch \
|
||||
%D%/packages/patches/gzdoom-find-system-libgme.patch \
|
||||
%D%/packages/patches/hare-fallback-cache.patch \
|
||||
@@ -1971,6 +1967,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/netsurf-system-utf8proc.patch \
|
||||
%D%/packages/patches/netsurf-y2038-tests.patch \
|
||||
%D%/packages/patches/netsurf-longer-test-timeout.patch \
|
||||
%D%/packages/patches/nextpnr-imgui.patch \
|
||||
%D%/packages/patches/nhc98-c-update.patch \
|
||||
%D%/packages/patches/nix-dont-build-html-doc.diff \
|
||||
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
|
||||
@@ -2384,9 +2381,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/rust-codex-0.98.0-core-file-lock.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-core-remove-self-dep.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-execpolicy-file-lock.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-test-shebangs.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-test-timeout.patch \
|
||||
%D%/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch \
|
||||
%D%/packages/patches/rust-ring-0.17-ring-core.patch \
|
||||
%D%/packages/patches/rw-igraph-0.10.patch \
|
||||
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
|
||||
|
||||
+77
-73
@@ -186,83 +186,85 @@ engine with a Lua scripting interface.")
|
||||
(synopsis "Combined display server, multimedia framework and game engine (SDL)")))
|
||||
|
||||
(define-public durden
|
||||
(let ((commit "43211acd7994836d5c4ba039d7ecc939dcf8a5aa")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "durden")
|
||||
(version (git-version "0.6.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(file-name (git-file-name name version))
|
||||
(uri (git-reference
|
||||
(url "https://github.com/letoram/durden")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "1jns4lq959s8ydykm0yg9sddzh74k7fdvjrnbz3z91idb7abl92d"))
|
||||
(patches (search-patches "durden-shadow-arcan.patch"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan #~'(("durden/" "share/arcan/appl/durden/")
|
||||
("util/" "share/arcan/appl/durden/util/")
|
||||
("distr/durden" "bin/durden"))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(substitute* "distr/durden"
|
||||
(("/usr/share/\\$applname")
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/share/arcan/appl"))
|
||||
(("@ARCAN_STORE_PATH@")
|
||||
(string-append (assoc-ref inputs "arcan")
|
||||
"/bin/arcan"))
|
||||
(("([\\([:blank:]]+)basename " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/basename "))
|
||||
(("([\\([:blank:]]+)date " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/date "))
|
||||
(("([\\([:blank:]]+)ln " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/ln "))
|
||||
(("([\\([:blank:]]+)mkdir " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/mkdir "))
|
||||
(("([\\([:blank:]]+)true; " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/true; "))
|
||||
(("([\\([:blank:]]+)\\[ " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/[ "))))))))
|
||||
(inputs (list arcan coreutils))
|
||||
(home-page "https://durden.arcan-fe.com/")
|
||||
(synopsis "Desktop Environment for Arcan")
|
||||
(description
|
||||
"Durden is a desktop environment for the Arcan Display Server.
|
||||
It serves both as a reference showcase on how to take advantage of some of the
|
||||
features in Arcan, and as an entry to the advanced-user side of the desktop
|
||||
environment spectrum.")
|
||||
(license (list license:bsd-3 license:expat license:cc-by3.0
|
||||
license:cc-by4.0 license:asl2.0)))))
|
||||
|
||||
(define-public xarcan
|
||||
(package
|
||||
(name "durden")
|
||||
(name "xarcan")
|
||||
(version "0.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(file-name (git-file-name name version))
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/letoram/durden")
|
||||
(url "https://github.com/letoram/xarcan")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "1w12mdjdbhw13134fj4kv43n1z6vrh1jhg1wc7m5hw82w8ncwqkm"))
|
||||
(patches (search-patches "durden-shadow-arcan.patch"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan #~'(("durden/" "share/arcan/appl/durden/")
|
||||
("util/" "share/arcan/appl/durden/util/")
|
||||
("distr/durden" "bin/durden"))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(substitute* "distr/durden"
|
||||
(("/usr/share/\\$applname")
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/share/arcan/appl"))
|
||||
(("@ARCAN_STORE_PATH@")
|
||||
(string-append (assoc-ref inputs "arcan")
|
||||
"/bin/arcan"))
|
||||
(("([\\([:blank:]]+)basename " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/basename "))
|
||||
(("([\\([:blank:]]+)date " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/date "))
|
||||
(("([\\([:blank:]]+)ln " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/ln "))
|
||||
(("([\\([:blank:]]+)mkdir " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/mkdir "))
|
||||
(("([\\([:blank:]]+)true; " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/true; "))
|
||||
(("([\\([:blank:]]+)\\[ " _ separator)
|
||||
(string-append separator
|
||||
(assoc-ref inputs "coreutils")
|
||||
"/bin/[ "))))))))
|
||||
(inputs (list arcan coreutils))
|
||||
(home-page "https://durden.arcan-fe.com/")
|
||||
(synopsis "Desktop Environment for Arcan")
|
||||
(description
|
||||
"Durden is a desktop environment for the Arcan Display Server.
|
||||
It serves both as a reference showcase on how to take advantage of some of the
|
||||
features in Arcan, and as an entry to the advanced-user side of the desktop
|
||||
environment spectrum.")
|
||||
(license (list license:bsd-3 license:expat license:cc-by3.0
|
||||
license:cc-by4.0 license:asl2.0))))
|
||||
|
||||
(define-public xarcan
|
||||
(package
|
||||
(name "xarcan")
|
||||
(version "0.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(file-name (git-file-name name version))
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/letoram/xarcan")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "1jpk272y58h94ss6j87i0cl1zlfp4g5803y0kpi09q8yy37icvcg"))))
|
||||
(base32 "1g24mmwnc45ig0x8jk0v91488k8933w07vxi4305sla56q4n82p4"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -300,7 +302,6 @@ environment spectrum.")
|
||||
openssl
|
||||
pixman
|
||||
xcb-util
|
||||
xcb-util-image
|
||||
xcb-util-wm
|
||||
xkbcomp
|
||||
xkeyboard-config
|
||||
@@ -308,8 +309,11 @@ environment spectrum.")
|
||||
xtrans))
|
||||
(home-page "https://arcan-fe.com")
|
||||
(synopsis "Patched Xserver that bridges connections to Arcan")
|
||||
(description
|
||||
"Patched Xserver with a KDrive backend that uses the arcan-shmif
|
||||
to map Xlib/Xcb/X clients to a running arcan instance. It allows
|
||||
running an X session as a window under Arcan.")
|
||||
(description "Patched Xserver with a KDrive backend that uses the arcan-shmif
|
||||
to map Xlib/Xcb/X clients to a running arcan instance. It allows running an X session
|
||||
as a window under Arcan.")
|
||||
(license (list license:bsd-3 license:expat))))
|
||||
|
||||
;; Package was merged into arcan in upstream.
|
||||
(define-deprecated-package arcan-wayland
|
||||
arcan)
|
||||
|
||||
@@ -11791,33 +11791,6 @@ can be used to control telescopes over a serial port for tracking celestial
|
||||
objects.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public stiff
|
||||
(package
|
||||
(name "stiff")
|
||||
(version "2.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/astromatic/stiff")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1iffrncag1w6nd9c6v3dlx9m79nfg6ph42i0gsvlq8pvjph7s6pa"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
#~(list "CFLAGS=-fcommon")))
|
||||
(inputs
|
||||
(list libtiff zlib libjpeg-turbo))
|
||||
(home-page "https://www.astromatic.net/software/stiff/")
|
||||
(synopsis "Convert scientific FITS images to TIFF format")
|
||||
(description
|
||||
"STIFF is a program that converts scientific @acronym{FITS, Flexible Image
|
||||
Transport System} images to the more popular TIFF format for illustration
|
||||
purposes.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public stuff
|
||||
;; XXX: No version tag available in GitHub.
|
||||
;; See: https://github.com/astromatic/stuff/issues/6
|
||||
|
||||
@@ -2366,7 +2366,7 @@ to explore and analyze bulk RNA-seq data.")
|
||||
(define-public python-cell2cell
|
||||
(package
|
||||
(name "python-cell2cell")
|
||||
(version "0.8.4")
|
||||
(version "0.7.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2375,7 +2375,7 @@ to explore and analyze bulk RNA-seq data.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0z5dcm9i74c5iaqq92y25khg7i2smrfj8jb1g26iwzwf1cqxghmn"))
|
||||
"02cqc5rm0qkm0np1k7bim1w7f5qjnwf1jcm5albd9cpvfs4bwgdr"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -2685,7 +2685,7 @@ parsing of Variant Call Format (VCF) files.")
|
||||
(define-public python-decoupler
|
||||
(package
|
||||
(name "python-decoupler")
|
||||
(version "2.1.4")
|
||||
(version "2.1.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2694,7 +2694,7 @@ parsing of Variant Call Format (VCF) files.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"07kpcjbnp5c00p3iw2my6k3bxfivswyxs2dljj0yhgjhxw2900av"))))
|
||||
"05d70zrgv8l9ihkgmr7hqcgn66yx1v1lm0hcfbc370asp97k2f74"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -7294,42 +7294,6 @@ trees (phylogenies) and characters.")
|
||||
with Python.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public deacon
|
||||
(package
|
||||
(name "deacon")
|
||||
(version "0.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "deacon" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1p7q48ql67mxqi7fv0jaxbfn0js85sb2ai0h3vfvizwd1lfyldxl"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:features ''("ensure_simd/scalar"))) ; Avoid AVX2 dependency.
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (cons* bzip2
|
||||
xz
|
||||
`(,zstd "lib")
|
||||
(cargo-inputs 'deacon)))
|
||||
(home-page "https://github.com/bede/deacon")
|
||||
(synopsis
|
||||
"Accelerated DNA sequence search and [host] depletion using minimizers")
|
||||
(description
|
||||
"Deacon filters DNA sequences in FASTA/Q files and streams using
|
||||
SIMD-accelerated minimizer comparison with query sequence(s), emitting either
|
||||
matching sequences (search mode), or sequences without matches (deplete mode).
|
||||
Sequences match when they share enough distinct minimizers with the indexed
|
||||
query to exceed chosen absolute and relative thresholds. Query size has little
|
||||
impact on filtering speed, enabling ultrafast search and depletion with gene-,
|
||||
genome- and pangenome-scale queries using a laptop.")
|
||||
;; Upstream suggests compiling with '-C target-cpu=native'
|
||||
(properties '((tunable? . #t)))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public delly
|
||||
(package
|
||||
(name "delly")
|
||||
@@ -20363,7 +20327,7 @@ bgzipped text file that contains a pair of genomic coordinates per line.")
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; tests: 107 failed, 54 passed, 8 skipped, 7 xfailed, 14 errors
|
||||
;; tests: 107 failed, 54 passed, 8 skipped, 7 xfailed, 14 errors
|
||||
#:tests? #f)) ;most of them need remote data
|
||||
(native-inputs
|
||||
(list python-biopython
|
||||
@@ -25279,7 +25243,7 @@ CSIv1, CSIv2 and FAI files.")
|
||||
(define-public python-gseapy
|
||||
(package
|
||||
(name "python-gseapy")
|
||||
(version "1.1.12")
|
||||
(version "1.0.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -25288,7 +25252,7 @@ CSIv1, CSIv2 and FAI files.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xdh2v0s2jwj5n541z9zlcq5f6ka0r8jk03jdv8z3j27hc6azf3s"))))
|
||||
"06gh09dwwj2xr5zx8i41smy8arx2pw7rll7sk50np28z419bnyz9"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -44,7 +44,6 @@
|
||||
(define-module (gnu packages bootloaders)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages bison)
|
||||
@@ -115,13 +114,13 @@
|
||||
(define*-public (make-grub platform)
|
||||
(package
|
||||
(name (string-append "grub-" platform))
|
||||
(version "2.14")
|
||||
(version "2.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/grub/grub-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hvd8i3ib6nwymfmvd6dia6axrn4xmrlsrg2r3c3i22vadrkr3dw"))
|
||||
"1ahgzvvvwdxx7rl08pv5dyqlgp76jxz0q2cflxvsdsn4yy8p7jgk"))
|
||||
(patches (search-patches
|
||||
"grub-efi-fat-serial-number.patch"
|
||||
"grub-setup-root.patch"))
|
||||
@@ -149,21 +148,13 @@
|
||||
;; This needs to be compiled with clang for powerpc64le.
|
||||
(if #$(and=> (%current-target-system)
|
||||
target-ppc64le?)
|
||||
(list "TARGET_CC=powerpc64le-linux-gnu-clang"
|
||||
"CFLAGS=-Wno-error")
|
||||
(list "TARGET_CC=powerpc64le-linux-gnu-clang")
|
||||
'())
|
||||
(if #$(and (target-ppc64le? (%current-system))
|
||||
(not (%current-target-system)))
|
||||
(list "CC=clang" "CFLAGS=-Wno-error")
|
||||
(list "CC=clang")
|
||||
'()))
|
||||
|
||||
;; The 'configure' script detects --image-base support and uses it,
|
||||
;; but that shifts the i386-pc kernel.img start address from 0x9000
|
||||
;; to 0x9074, breaking grub-install. Override with -Ttext.
|
||||
;; See <https://lists.gnu.org/archive/html/grub-devel/2026-01/msg00041.html>.
|
||||
#:make-flags
|
||||
#~(list "TARGET_IMG_BASE_LDOPT=-Wl,-Ttext")
|
||||
|
||||
;; GRUB fails to load modules stripped with --strip-unneeded.
|
||||
#:strip-flags
|
||||
#~(list "--strip-debug" "--enable-deterministic-archives")
|
||||
@@ -208,6 +199,14 @@
|
||||
(setenv "BUILD_FREETYPE_CFLAGS"
|
||||
(string-append "-I" freetype
|
||||
"/include/freetype2"))))))
|
||||
#$@(if (target-hurd64?)
|
||||
#~((add-after 'unpack 'apply-hurd64-patch
|
||||
(lambda _
|
||||
(let ((patch
|
||||
#$(local-file
|
||||
(search-patch "grub-hurd64.patch"))))
|
||||
(invoke "patch" "--force" "-p1" "-i" patch)))))
|
||||
#~())
|
||||
(add-before 'check 'disable-flaky-test
|
||||
(lambda _
|
||||
;; This test is unreliable. For more information, see:
|
||||
@@ -230,7 +229,7 @@
|
||||
(("test_unset grub_func_test")
|
||||
"test_unset")))))))
|
||||
(inputs
|
||||
(append (list gettext-minimal freetype ncurses libtasn1
|
||||
(append (list gettext-minimal freetype ncurses
|
||||
|
||||
;; Console-setup's ckbcomp is invoked by grub-kbdcomp. It
|
||||
;; is required for generating alternative keyboard layouts.
|
||||
@@ -286,6 +285,22 @@
|
||||
;; targets are used.
|
||||
(if (member (%current-system) (package-supported-systems qemu-minimal))
|
||||
(list qemu-minimal)
|
||||
'())
|
||||
|
||||
;; XXX: When building GRUB 2.02 on 32-bit x86, we need a binutils
|
||||
;; capable of assembling 64-bit instructions. However, our default
|
||||
;; binutils on 32-bit x86 is not 64-bit capable.
|
||||
(if (string-match "^i[3456]86-" (%current-system))
|
||||
(let ((binutils (package/inherit
|
||||
binutils
|
||||
(name "binutils-i386")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments binutils)
|
||||
((#:configure-flags flags ''())
|
||||
#~(cons* "--enable-64-bit-bfd" #$flags)))))))
|
||||
(list (make-ld-wrapper "ld-wrapper-i386"
|
||||
#:binutils binutils)
|
||||
binutils))
|
||||
'())))
|
||||
(home-page "https://www.gnu.org/software/grub/")
|
||||
(synopsis "GRand Unified Boot loader")
|
||||
@@ -390,8 +405,7 @@ menu to select one of the installed operating systems.")
|
||||
"test_sha512sum"
|
||||
"grub_cmd_tr"
|
||||
"test_unset"
|
||||
"file_filter_test"
|
||||
"asn1_test")
|
||||
"file_filter_test")
|
||||
" "))))))))
|
||||
(supported-systems '("i686-linux" "x86_64-linux")))))
|
||||
|
||||
@@ -443,27 +457,22 @@ menu to select one of the installed operating systems.")
|
||||
((target-arm32?) "arm")
|
||||
(else ""))))
|
||||
(substitute* "tests/util/grub-shell.in"
|
||||
(("\\$\\{srcdir\\}/OVMF(32)?\\.fd")
|
||||
(("OVMF-ia32\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("/usr/share/qemu/OVMF(32)?\\.fd")
|
||||
(("OVMF\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("\\$\\{srcdir\\}/AAVMF(32)?\\.fd")
|
||||
(("/usr/share/qemu-efi/QEMU_EFI\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("/usr/share/qemu-efi-aarch64/QEMU_EFI\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("/usr/share/AAVMF/AAVMF(32)?\\.fd")
|
||||
(("/usr/share/ovmf-arm/QEMU_EFI\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
@@ -515,41 +524,19 @@ menu to select one of the installed operating systems.")
|
||||
#$@(if (or (target-x86?)
|
||||
(target-arm?))
|
||||
#~((replace 'patch-ovmf-path
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((arch #$(cond ((target-x86?) "ia32")
|
||||
((target-arm?) "arm")
|
||||
(else ""))))
|
||||
(substitute* "tests/util/grub-shell.in"
|
||||
(("\\$\\{srcdir\\}/OVMF(32)?\\.fd")
|
||||
(("OVMF-ia32\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("/usr/share/qemu/OVMF(32)?\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("\\$\\{srcdir\\}/AAVMF(32)?\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("/usr/share/qemu-efi-aarch64/QEMU_EFI\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("/usr/share/AAVMF/AAVMF(32)?\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
inputs (string-append
|
||||
"/share/firmware/ovmf_" arch ".bin")))
|
||||
(("/usr/share/ovmf-arm/QEMU_EFI\\.fd")
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append
|
||||
"/share/firmware/ovmf_" arch ".bin"))))))))
|
||||
inputs (string-append
|
||||
"/share/firmware/ovmf_" arch ".bin"))))))))
|
||||
#~())))))
|
||||
(native-inputs
|
||||
(cond
|
||||
@@ -573,7 +560,9 @@ menu to select one of the installed operating systems.")
|
||||
(package
|
||||
(inherit (make-grub "ieee1275"))
|
||||
(synopsis "GRand Unified Boot loader (ieee1275 version)")
|
||||
(supported-systems '("powerpc-linux" "powerpc64le-linux"))))
|
||||
(supported-systems '("i686-linux" "x86_64-linux"
|
||||
"i586-gnu" "x86_64-gnu"
|
||||
"powerpc-linux" "powerpc64le-linux"))))
|
||||
|
||||
(define-public grub-qemu
|
||||
(package
|
||||
|
||||
+20
-13
@@ -532,7 +532,7 @@ Layer-4 sockets.")
|
||||
(define-public cni-plugins
|
||||
(package
|
||||
(name "cni-plugins")
|
||||
(version "1.9.0")
|
||||
(version "1.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -541,7 +541,7 @@ Layer-4 sockets.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0l3jgbizq0yaxld07hsdbh6ix2w6i789101ddk0ldnsmr93jg6ni"))
|
||||
(base32 "0bwczkf4kbrx47sa6mnp5kyn65dbg52qnlfyjyydrwshal8rz3gw"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "vendor")))))
|
||||
@@ -549,10 +549,19 @@ Layer-4 sockets.")
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
;; XXX: Tests require root access, see test_linux.sh.
|
||||
#:tests? #f
|
||||
#:import-path "github.com/containernetworking/plugins/plugins/..."
|
||||
#:unpack-path "github.com/containernetworking/plugins"))
|
||||
#:tests? #f ; TODO: Figure out how to run tests.
|
||||
#:import-path "github.com/containernetworking/plugins"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
;; XXX: Migrate to go-build-system logic.
|
||||
(invoke "./build_linux.sh"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(copy-recursively (string-append "src/"import-path "/bin")
|
||||
(string-append #$output "/bin")))))))
|
||||
(native-inputs
|
||||
(list go-github-com-alexflint-go-filemutex
|
||||
go-github-com-buger-jsonparser
|
||||
@@ -584,7 +593,7 @@ configure network interfaces in Linux containers.")
|
||||
(define-public gvisor-tap-vsock
|
||||
(package
|
||||
(name "gvisor-tap-vsock")
|
||||
(version "0.8.8")
|
||||
(version "0.8.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -593,7 +602,7 @@ configure network interfaces in Linux containers.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xz710dmy58gngd0qizjw8g9nkraksqald8vzhwc5h36dqkc8nrf"))
|
||||
(base32 "1p9vypphssvqfcm3y2nc7b9v0wcc2smkrqq8k60vskaiza89974k"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
@@ -636,9 +645,7 @@ configure network interfaces in Linux containers.")
|
||||
go-github-com-containers-winquit
|
||||
go-github-com-coreos-stream-metadata-go
|
||||
go-github-com-dustin-go-humanize
|
||||
go-github-com-foxcpp-go-mockdns
|
||||
go-github-com-google-gopacket
|
||||
go-github-com-inetaf-tcpproxy
|
||||
go-github-com-insomniacslk-dhcp
|
||||
;; go-github-com-linuxkit-virtsock ;Windows only
|
||||
go-github-com-mdlayher-vsock
|
||||
@@ -647,6 +654,7 @@ configure network interfaces in Linux containers.")
|
||||
go-github-com-onsi-ginkgo
|
||||
go-github-com-onsi-gomega
|
||||
go-github-com-opencontainers-go-digest
|
||||
go-github-com-pkg-errors
|
||||
go-github-com-sirupsen-logrus
|
||||
go-github-com-songgao-packets
|
||||
go-github-com-songgao-water
|
||||
@@ -656,7 +664,6 @@ configure network interfaces in Linux containers.")
|
||||
go-golang-org-x-mod
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-sys
|
||||
go-gopkg-in-yaml-v3
|
||||
go-gvisor-dev-gvisor))
|
||||
(home-page "https://github.com/containers/gvisor-tap-vsock")
|
||||
(synopsis "Network stack for virtualization based on gVisor")
|
||||
@@ -701,7 +708,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
|
||||
(define-public podman
|
||||
(package
|
||||
(name "podman")
|
||||
(version "5.8.1")
|
||||
(version "5.8.0")
|
||||
(outputs '("out" "docker"))
|
||||
(properties
|
||||
`((output-synopsis "docker" "docker alias for podman")
|
||||
@@ -714,7 +721,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
|
||||
(url "https://github.com/containers/podman")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1wdsdc0nj4m1v8mn95dhavi87ad0adqmld70da59gvp2abff5f0f"))
|
||||
(base32 "0vyl6d198iqrxx3c5vgbdx95fxkmn9fcb0napq44h8bzvjcl9fnj"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
+37
-31
@@ -2763,39 +2763,45 @@ comma separated value (CSV) files.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public immer
|
||||
(package
|
||||
(name "immer")
|
||||
(version "0.9.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/arximboldi/immer")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04ckvmi391pspqiglzgi8h57gwr8822xhlrg5qdxf5yg6scgkfj2"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules `((guix build cmake-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check (assoc-ref gnu:%standard-phases 'check)))))
|
||||
(inputs (list boost libgc c-rrb))
|
||||
(native-inputs (list catch2-3 doctest fmt pkg-config))
|
||||
(home-page "https://sinusoid.es/immer")
|
||||
(synopsis "Immutable data structures")
|
||||
(description "Immer is a library of persistent and immutable data structures
|
||||
;; Use latest commit to fix build with gcc 14.
|
||||
(let ((commit "df6ef46d97e1fe81f397015b9aeb32505cef653b")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "immer")
|
||||
(version (git-version "0.8.1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/arximboldi/immer")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "032rb84ahvdnc1m6sj4lflrwnk4p1f2jsq1pv03xbgizp2lr2pkx"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; -Werror appears to report false positives.
|
||||
;; See <https://github.com/arximboldi/immer/issues/223>.
|
||||
#:configure-flags #~'("-DDISABLE_WERROR=ON")
|
||||
#:modules `((guix build cmake-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check (assoc-ref gnu:%standard-phases 'check)))))
|
||||
(inputs (list boost libgc c-rrb))
|
||||
(native-inputs (list catch2-3 doctest fmt pkg-config))
|
||||
(home-page "https://sinusoid.es/immer")
|
||||
(synopsis "Immutable data structures")
|
||||
(description "Immer is a library of persistent and immutable data structures
|
||||
written in C++.")
|
||||
(properties '((lint-hidden-cpe-vendors . ("immer_project"))))
|
||||
(license license:boost1.0)))
|
||||
(properties '((lint-hidden-cpe-vendors . ("immer_project"))))
|
||||
(license license:boost1.0))))
|
||||
|
||||
(define-public zug
|
||||
(package
|
||||
(name "zug")
|
||||
(version "0.1.2")
|
||||
(version "0.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2803,7 +2809,7 @@ written in C++.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1fy6wvvlp1253lzh66zcq5sp656jxvanxf7iq8pi37ymjq5fyynh"))
|
||||
(base32 "06vsbzx4ripidpb6ia7y1y8pmjk6gxzr93ilby90ahj6p2x08baf"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(delete-file-recursively "tools"))))
|
||||
(build-system cmake-build-system)
|
||||
@@ -2825,7 +2831,7 @@ composable sequential transformations.")
|
||||
(define-public lager
|
||||
(package
|
||||
(name "lager")
|
||||
(version "0.1.3")
|
||||
(version "0.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -2833,7 +2839,7 @@ composable sequential transformations.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "123a75qklhiyic3yaj74h4p8jav2m92x9ssjnfsdiilhycp4p764"))))
|
||||
(base32 "1by9d49qnkncifyjcq16zy605d7v4ps6hvc01q5nsp1nbswm94m4"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments (list #:configure-flags #~(list "-Dlager_BUILD_EXAMPLES=no")
|
||||
#:modules `((guix build cmake-build-system)
|
||||
|
||||
@@ -77,10 +77,13 @@ command-line environment with support for file manipulation on remote WebDAV
|
||||
servers.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
;; This package isn't reproducible due to non-deterministic behaviour in a
|
||||
;; procedural macros that's provided by a crate used by pimsync.
|
||||
;; See https://github.com/stalwartlabs/hashify/issues/4
|
||||
(define-public pimsync
|
||||
(package
|
||||
(name "pimsync")
|
||||
(version "0.5.7")
|
||||
(version "0.5.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -89,20 +92,13 @@ servers.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0x90l9k3sfnszrvmzqclykpv2py33v9jh92ps68wdd7xkrjp42ga"))))
|
||||
(base32 "01qxg0mk7if96rmb0q88wgjpnv1fb8iw2dbzwlm0ars1mi3xpmr3"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-guix-vendored-dependencies
|
||||
(lambda _
|
||||
(substitute* "Cargo.toml"
|
||||
(("^\\[patch.crates-io\\]")
|
||||
"")
|
||||
(("^hashify.*$")
|
||||
"hashify = { version = \"*\" }\n"))))
|
||||
(add-after 'unpack 'setup-environment
|
||||
(lambda _
|
||||
(setenv "PIMSYNC_VERSION"
|
||||
|
||||
@@ -237,7 +237,8 @@ blurred background.")
|
||||
(base32 "09vb9b0pmyhj6fh0b6by59bykszbkdayhz678pnb4pyrdmlvv1am"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
`(#:modules ((guix build utils)
|
||||
(srfi srfi-26))
|
||||
#:builder (begin
|
||||
(use-modules (guix build utils)
|
||||
(srfi srfi-26))
|
||||
|
||||
@@ -357,3 +357,97 @@ and white.")
|
||||
and background layers of images, which can then be encoded into a DjVu file.")
|
||||
(home-page "https://jwilk.net/software/didjvu")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public ocrodjvu
|
||||
(let ((revision "0")
|
||||
(commit "0dd3364462fc77d5674b4457fcc8230835323c30"))
|
||||
(package
|
||||
(name "ocrodjvu")
|
||||
(version (git-version "0.12" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
;; Use the following fork repository, as upstream
|
||||
;; doesn't seem too concerned with Python 3
|
||||
;; compatibility.
|
||||
(url "https://github.com/rmast/ocrodjvu")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0x64hg9ysrk8sismxb4jgk0sq7r9j90v2i9765xhmxpiy6f0lpni"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build gnu-build-system)
|
||||
((guix build pyproject-build-system) #:prefix python:)
|
||||
(guix build utils))
|
||||
#:imported-modules `(,@%default-gnu-imported-modules
|
||||
,@%pyproject-build-system-modules)
|
||||
#:test-target "test"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'fix-for-python-3.11
|
||||
(lambda _
|
||||
(substitute* "lib/cli/ocrodjvu.py"
|
||||
;; The getargspec function has been removed in python 3.11.
|
||||
(("init_args, _, _, _ = inspect.getargspec\\(cls.__init__\\)")
|
||||
"init_args = inspect.getfullargspec(cls.__init__).args"))))
|
||||
(add-before 'check 'disable-failing-test
|
||||
(lambda _
|
||||
(substitute* "tests/test_ipc.py"
|
||||
;; test_wait_signal gets stuck forever
|
||||
(("yield self\\._test_signal, name")
|
||||
"return True")
|
||||
;; test_path fails to find a file it should have created
|
||||
(("path = os\\.getenv\\('PATH'\\)\\.split\\(':'\\)")
|
||||
"return True"))
|
||||
;; Disable tests with tesseract. They can't work without
|
||||
;; the language files that must downloaded by the final user
|
||||
;; as they are not packaged in Guix.
|
||||
(substitute* "tests/ocrodjvu/test.py"
|
||||
(("engines = stdout\\.getvalue\\(\\)\\.splitlines\\(\\)")
|
||||
"engines = ['ocrad']"))
|
||||
(substitute* "tests/ocrodjvu/test_integration.py"
|
||||
(("engines = 'tesseract', 'cuneiform', 'gocr', 'ocrad'")
|
||||
"engines = 'ocrad'"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(invoke "make" "install"
|
||||
"DESTDIR=" (string-append "PREFIX=" #$output))))
|
||||
(add-after 'install 'wrap-python
|
||||
(assoc-ref python:%standard-phases 'wrap))
|
||||
(add-after 'wrap-python 'wrap-path
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(for-each (lambda (file)
|
||||
(wrap-program (search-input-file outputs file)
|
||||
`("PATH" ":" prefix
|
||||
(,(string-append
|
||||
#$(this-package-input "djvulibre") "/bin:"
|
||||
#$(this-package-input "ocrad") "/bin:"
|
||||
#$(this-package-input "tesseract-ocr")
|
||||
"/bin")))))
|
||||
'("bin/djvu2hocr"
|
||||
"bin/hocr2djvused"
|
||||
"bin/ocrodjvu")))))))
|
||||
(native-inputs
|
||||
(list (libc-utf8-locales-for-target) libxml2 python-pynose python-pillow))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
djvulibre
|
||||
ocrad
|
||||
python-djvulibre
|
||||
python-future
|
||||
python-html5lib
|
||||
python-lxml
|
||||
python-pyicu
|
||||
python-regex
|
||||
python-wrapper
|
||||
tesseract-ocr))
|
||||
(synopsis "Program to perform OCR on DjVu files")
|
||||
(description
|
||||
"@code{ocrodjvu} is a wrapper for OCR systems, that allows you to perform
|
||||
OCR on DjVu files.")
|
||||
(home-page "https://jwilk.net/software/ocrodjvu")
|
||||
(license license:gpl2))))
|
||||
|
||||
+213
-273
@@ -9,7 +9,6 @@
|
||||
;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2022 ( <paren@disroot.org>
|
||||
;;; Copyright © 2022 Esther Flashner <esther@flashner.co.il>
|
||||
;;; Copyright © 2025-2026 Jonas Meeuws <jonas.meeuws@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -39,7 +38,6 @@
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
@@ -56,12 +54,94 @@
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
|
||||
;; Compilers and tooling for the D programming language.
|
||||
;; Note: The GNU D compiler is defined in (gnu packages gcc) instead.
|
||||
(define-public d-tools
|
||||
(package
|
||||
(name "d-tools")
|
||||
(version "2.105.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dlang/tools")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0hvz786k0pi8697x1vk9x5bx52jiy7pvi13wmfkx15ddvv0x5j33"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(mkdir-p "bin")
|
||||
(setenv "CC" #$(cc-for-target))
|
||||
(setenv "LD" #$(ld-for-target))
|
||||
(invoke "ldc2" "rdmd.d" "--of" "bin/rdmd")
|
||||
(apply invoke "ldc2" "--of=bin/dustmite"
|
||||
(find-files "DustMite" ".*\\.d"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "bin/rdmd" "rdmd_test.d" "bin/rdmd"
|
||||
"--rdmd-default-compiler" "ldmd2"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(man (string-append out "/man")))
|
||||
(for-each delete-file (find-files "bin" "\\.o$"))
|
||||
(copy-recursively "bin" bin)
|
||||
(copy-recursively "man" man)))))))
|
||||
(native-inputs
|
||||
(list ldc
|
||||
(module-ref (resolve-interface
|
||||
'(gnu packages commencement))
|
||||
'ld-gold-wrapper)))
|
||||
(home-page "https://github.com/dlang/tools")
|
||||
(synopsis "Useful D-related tools")
|
||||
(description
|
||||
"@code{d-tools} provides two useful tools for the D language: @code{rdmd},
|
||||
which runs D source files as scripts, and @code{dustmite}, which reduces D code
|
||||
to a minimal test case.")
|
||||
(license license:boost1.0)))
|
||||
|
||||
|
||||
;; LLVM-based D compiler
|
||||
(define-public gdmd
|
||||
(let ((commit "ff2c97a47408fb71c18a2d453294d18808a97cc5")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "gdmd")
|
||||
(version (git-version "0.1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/D-Programming-GDC/gdmd")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0pd70clk70069xcjysaas7zszzmigrcw1zl2xxv8kzdg7y7xrzvm"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("dmd-script" "bin/gdmd")
|
||||
("dmd-script.1" "share/man/man1/gdmd.1"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'adjust-gdc-location
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "dmd-script"
|
||||
(("my \\$gdc_dir.*")
|
||||
(string-append "my $gdc_dir = \""
|
||||
(dirname (search-input-file inputs "/bin/gdc"))
|
||||
"\";\n"))))))))
|
||||
(inputs (list gdc perl))
|
||||
(home-page "https://github.com/D-Programming-GDC/gdmd")
|
||||
(synopsis "DMD-like wrapper for GDC")
|
||||
(description "This package provides a DMD-like wrapper for the
|
||||
@acronym{GNU D Compiler,GDC}.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
;; We use GDC, the D frontend for GCC, to bootstrap ldc. We then use
|
||||
;; ldc to bootstrap itself so that no reference remains to GDC.
|
||||
@@ -329,12 +409,8 @@ integration tests...\n")
|
||||
(properties
|
||||
(alist-delete 'hidden? (package-properties ldc-bootstrap)))))
|
||||
|
||||
|
||||
;; Reference D compiler
|
||||
;; Note: Has limited supported-systems.
|
||||
|
||||
;; DMD built with GDC as the bootstrap D compiler (via the gdmd wrapper).
|
||||
;; Shared libraries are not built, tests are disabled.
|
||||
;;; Bootstrap version of phobos that is built with GDC, using GDC's standard
|
||||
;;; library.
|
||||
(define-public dmd-bootstrap
|
||||
(package
|
||||
;; This package is purposefully named just "dmd" and not "dmd-bootstrap",
|
||||
@@ -342,16 +418,16 @@ integration tests...\n")
|
||||
;; and their names must have the same length to avoid corrupting the
|
||||
;; binary.
|
||||
(name "dmd")
|
||||
(version "2.111.0")
|
||||
(version "2.106.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dlang/dmd")
|
||||
(commit (string-append "v" version))))
|
||||
(url "https://github.com/dlang/dmd")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "dmd" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0cz5qdd1j89w2s7nzw9ahzwsqiraidg4ajy7syy7qkk7mwcyrf6r"))))
|
||||
"1bq4jws1vns2jjzfz7biyngrx9y5pvvgklymhrvb5kvbzky1ldmy"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -360,191 +436,111 @@ integration tests...\n")
|
||||
;; Disable tests, as gdmd cannot cope with some arguments used such as
|
||||
;; '-conf'.
|
||||
#:tests? #f
|
||||
#:out-of-source? #t
|
||||
#:test-target "test"
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
;; XXX: Proceed despite conflicts from symbols provided by both
|
||||
;; the source built and GDC.
|
||||
"DFLAGS=-L--allow-multiple-definition"
|
||||
"ENABLE_RELEASE=1"
|
||||
(string-append "HOST_CXX=" #$(cxx-for-target))
|
||||
"HOST_DMD=gdmd"
|
||||
(string-append "INSTALL_DIR=" #$output)
|
||||
(string-append "SYSCONFDIR=" #$output "/etc")
|
||||
"ENABLE_RELEASE=1"
|
||||
;; Do not build the shared libphobos2.so library, to avoid
|
||||
;; retaining a reference to gcc:lib.
|
||||
"SHARED=0"
|
||||
"VERBOSE=1")
|
||||
#:modules
|
||||
`(,@%default-gnu-modules
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
(string-append "SYSCONFDIR=" #$output "/etc")
|
||||
"VERBOSE=1"
|
||||
"-f" "posix.mak")
|
||||
#:phases
|
||||
#~(let* ((phase-in-sub-dir (lambda (phase sub-dir)
|
||||
(lambda args
|
||||
(with-directory-excursion sub-dir
|
||||
(apply
|
||||
(assoc-ref %standard-phases phase)
|
||||
args)))))
|
||||
(target-bin-sh (string-append
|
||||
#$(this-package-input "bash-minimal")
|
||||
"/bin/sh")))
|
||||
(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(let ((dmd-source source)
|
||||
(phobos-source #$(this-package-native-input
|
||||
(git-file-name "phobos" version))))
|
||||
(mkdir "source")
|
||||
(chdir "source")
|
||||
(copy-recursively dmd-source "dmd" #:keep-mtime? #t)
|
||||
(copy-recursively phobos-source "phobos" #:keep-mtime? #t)
|
||||
(for-each (lambda (f)
|
||||
(false-if-exception (make-file-writable f)))
|
||||
(find-files ".")))))
|
||||
(add-after 'unpack 'patch-git-ls-tree
|
||||
;; The druntime Makefile tries to use git ls-tree to get all
|
||||
;; source files in dmd/druntime/. We replace the command with a
|
||||
;; listing of those files.
|
||||
(lambda _
|
||||
(with-directory-excursion "dmd/druntime"
|
||||
(substitute* "Makefile"
|
||||
(("^MANIFEST *:*=.*$")
|
||||
(string-append "MANIFEST := "
|
||||
(string-join (map (cut string-drop <> 2)
|
||||
(find-files "./")))
|
||||
"\n"))))))
|
||||
(add-after 'unpack 'patch-paths-in-phobos
|
||||
(lambda _
|
||||
(with-directory-excursion "phobos"
|
||||
;; (substitute* "std/datetime/timezone.d"
|
||||
;; (("\"/usr/share/zoneinfo/\"")
|
||||
;; (format #f "~s" target-zoneinfo)))
|
||||
;; (substitute* "std/net/curl.d"
|
||||
;; (("\"libcurl\\.so\"")
|
||||
;; (format #f "~s" target-lib-curl)))
|
||||
(substitute* "std/process.d"
|
||||
(("return \"/bin/sh\";")
|
||||
(format #f "return ~s;" target-bin-sh))
|
||||
(("#!/bin/sh")
|
||||
(string-append "#!" target-bin-sh))))))
|
||||
(add-after 'unpack 'patch-tests
|
||||
(lambda _
|
||||
;; Since the implementation of SOURCE_DATE_EPOCH support in
|
||||
;; Ddoc, this test fails, as it expects Ddoc timestamps to
|
||||
;; match the output of the `date` command.
|
||||
;; XXX: Report upstream.
|
||||
(substitute* (string-append
|
||||
"dmd/compiler/test/compilable"
|
||||
"/extra-files/ddocYear-postscript.sh")
|
||||
(("^YEAR=.*$") "YEAR=1970\n"))
|
||||
|
||||
;; This test creates a shell script and runs it.
|
||||
(substitute* "dmd/compiler/test/dshell/test6952.d"
|
||||
(("/usr/bin/env bash") target-bin-sh))
|
||||
|
||||
;; In the sarif json output, the compiler version string ends
|
||||
;; with a raw newline for some reason, causing these tests to
|
||||
;; fail.
|
||||
(for-each
|
||||
delete-file
|
||||
'("dmd/compiler/test/compilable/sarif_success_test.d"
|
||||
"dmd/compiler/test/fail_compilation/sarif_test.d"
|
||||
"dmd/compiler/test/fail_compilation/sarifmultiple_test.d"))
|
||||
|
||||
;; Locations in stack traces are broken for some reason,
|
||||
;; causing these tests to fail.
|
||||
;; XXX: Report upstream.
|
||||
(for-each
|
||||
delete-file
|
||||
'("dmd/compiler/test/runnable/test17559.d"
|
||||
"dmd/compiler/test/runnable/test19086.d"))
|
||||
(substitute* "dmd/druntime/test/exceptions/Makefile"
|
||||
(((string-append "line_trace line_trace_21656 "
|
||||
"long_backtrace_trunc rt_trap_exceptions "))
|
||||
""))
|
||||
(substitute* "dmd/druntime/test/gc/Makefile"
|
||||
((" invariant ") " "))))
|
||||
(delete 'bootstrap)
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(phase-in-sub-dir 'build "dmd"))
|
||||
(add-after 'build 'build-phobos
|
||||
(phase-in-sub-dir 'build "phobos"))
|
||||
(replace 'check
|
||||
(phase-in-sub-dir 'check "dmd"))
|
||||
(add-after 'check 'check-phobos
|
||||
(phase-in-sub-dir 'check "phobos"))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((platform (cond (#$(target-linux?) "linux")))
|
||||
(bits (if #$(target-64bit?) 64 32))
|
||||
(build-sub-dir (format #f "generated/~a/release/~a"
|
||||
platform bits))
|
||||
(out (assoc-ref outputs "out"))
|
||||
(lib (assoc-ref outputs "lib"))
|
||||
(out-bin (string-append out "/bin"))
|
||||
(out-etc (string-append out "/etc"))
|
||||
(out-include (string-append out "/include/d/dmd"))
|
||||
(out-lib (string-append out "/lib"))
|
||||
(lib-lib (string-append lib "/lib"))
|
||||
(out-man (string-append out "/share/man")))
|
||||
(with-directory-excursion "dmd"
|
||||
(with-directory-excursion build-sub-dir
|
||||
(install-file "dmd" out-bin)
|
||||
(install-file "libdruntime.a" out-lib)
|
||||
(for-each (cut install-file <> lib-lib)
|
||||
(find-files "." "^libdruntime\\.so[.0-9]*$")))
|
||||
(copy-recursively "druntime/import" out-include)
|
||||
(copy-recursively "compiler/docs/man" out-man))
|
||||
(with-directory-excursion "phobos"
|
||||
(with-directory-excursion build-sub-dir
|
||||
(install-file "libphobos2.a" out-lib)
|
||||
(for-each (cut install-file <> lib-lib)
|
||||
(find-files "." "^libphobos2\\.so[.0-9]*$")))
|
||||
(copy-recursively "etc" (string-append out-include "/etc"))
|
||||
(copy-recursively "std" (string-append out-include "/std")))
|
||||
(mkdir-p out-etc)
|
||||
(with-output-to-file (string-append out-etc "/dmd.conf")
|
||||
(lambda _
|
||||
(format #t "[Environment]\n")
|
||||
(format #t "DFLAGS=")
|
||||
(format #t " -I~a" out-include)
|
||||
(format #t " -L-L~a" out-lib)
|
||||
(format #t " -L-L~a" lib-lib)
|
||||
(format #t " -L--export-dynamic")
|
||||
(format #t " -fPIC")
|
||||
(format #t "\n"))))))
|
||||
(replace 'install-license-files
|
||||
;; Phobos license is identical.
|
||||
(phase-in-sub-dir 'install-license-files "dmd"))))))
|
||||
(inputs
|
||||
(list bash-minimal))
|
||||
(native-inputs
|
||||
(list gdmd which
|
||||
gdb/pinned ; for tests
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dlang/phobos")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "phobos" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ydls3ar6d3f7ffqvidr46x3zrz3wlzjln5qa0nbz843ndjr4g7n")))))
|
||||
(outputs '("out" "lib" "debug"))
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'copy-phobos-source-and-chdir
|
||||
;; Start with building phobos, which in turns will automatically
|
||||
;; build druntime and dmd. A minimal dmd command is still
|
||||
;; required to do so, which is why we need dmd-bootstrap-0.
|
||||
(lambda _
|
||||
(symlink "." "dmd") ;to please the build system expected layout
|
||||
(copy-recursively
|
||||
#$(this-package-native-input (git-file-name "phobos" version))
|
||||
"phobos")
|
||||
(chdir "phobos")))
|
||||
(add-after 'copy-phobos-source-and-chdir 'adjust-phobos-install-dirs
|
||||
(lambda _
|
||||
(substitute* "posix.mak"
|
||||
;; Install to lib directory, not to e.g. 'linux/lib64'.
|
||||
(("\\$\\(INSTALL_DIR)/\\$\\(OS)/\\$\\(lib_dir)")
|
||||
(string-append #$output "/lib"))
|
||||
;; Do not install license file, already done by the gnu build
|
||||
;; system.
|
||||
((".*\\$\\(INSTALL_DIR)/phobos-LICENSE.txt.*") ""))))
|
||||
(delete 'configure)
|
||||
(add-after 'install 'install-druntime
|
||||
(lambda args
|
||||
(chdir "../druntime")
|
||||
(apply (assoc-ref %standard-phases 'install) args)
|
||||
(chdir "..")))
|
||||
(add-after 'install-druntime 'install-includes
|
||||
(lambda _
|
||||
;; Normalize the include files prefix to include/dmd.
|
||||
(let ((include-dir (string-append #$output "/include/dmd")))
|
||||
(mkdir-p include-dir)
|
||||
(rename-file (string-append #$output "/src/phobos")
|
||||
(string-append include-dir))
|
||||
(copy-recursively "druntime/import" include-dir))
|
||||
(delete-file-recursively (string-append #$output "/src"))))
|
||||
(add-after 'install-druntime 'install-dmd
|
||||
(assoc-ref %standard-phases 'install))
|
||||
(add-after 'install-license-files 'refine-install-layout
|
||||
(lambda _
|
||||
(let* ((docdir (string-append #$output "/share/doc/"
|
||||
(strip-store-file-name #$output)))
|
||||
;; The dmd binary gets installed to
|
||||
;; e.g. /linux/bin64/dmd.
|
||||
(dmd (car (find-files #$output "^dmd$")))
|
||||
(dmd.conf (car (find-files #$output "^dmd.conf$")))
|
||||
(os-dir (dirname (dirname dmd))))
|
||||
;; Move samples from root to the doc directory.
|
||||
(rename-file (string-append #$output "/samples")
|
||||
(string-append docdir "/samples"))
|
||||
;; Remove duplicate license file.
|
||||
(delete-file (string-append #$output
|
||||
"/dmd-boostlicense.txt"))
|
||||
;; Move dmd binary and dmd.conf.
|
||||
(install-file dmd (string-append #$output "/bin"))
|
||||
(install-file dmd.conf (string-append #$output "/etc"))
|
||||
(delete-file-recursively os-dir))))
|
||||
(add-after 'refine-install-layout 'patch-dmd.conf
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* (search-input-file outputs "etc/dmd.conf")
|
||||
(("lib(32|64)")
|
||||
"lib")
|
||||
(("\\.\\./src/(phobos|druntime/import)")
|
||||
"include/dmd")))))))
|
||||
(native-inputs (list gdmd which
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dlang/phobos")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "phobos" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yw7nb5d78cx9m7sfibv7rfc7wj3w0dw9mfk3d269qpfpnwzs4n9")))))
|
||||
(home-page "https://github.com/dlang/dmd")
|
||||
(synopsis "Reference D Programming Language compiler")
|
||||
(description "@acronym{DMD, Digital Mars D compiler} is the reference
|
||||
compiler for the D programming language.")
|
||||
(license license:boost1.0)
|
||||
(home-page "https://github.com/dlang/dmd")
|
||||
;; As reported by upstream:
|
||||
;; https://wiki.dlang.org/Compilers#Comparison
|
||||
(supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"))
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
|
||||
;; This variant exists only for bootstrapping purposes.
|
||||
(properties '((hidden? . #t)))))
|
||||
(properties '((hidden? . #t)))
|
||||
|
||||
;; DMD built with dmd-bootstrap as the bootstrap D compiler.
|
||||
;; Shared libraries are built now, tests are no longer disabled.
|
||||
(license license:boost1.0)))
|
||||
|
||||
;;; Second bootstrap of DMD, built using dmd-bootstrap, with its shared
|
||||
;;; libraries preserved.
|
||||
(define-public dmd
|
||||
(package
|
||||
(inherit dmd-bootstrap)
|
||||
@@ -553,37 +549,41 @@ compiler for the D programming language.")
|
||||
(strip-keyword-arguments
|
||||
'(#:tests?) ;reinstate tests
|
||||
(package-arguments dmd-bootstrap))
|
||||
((#:disallowed-references _ ''())
|
||||
((#:disallowed-references _ ''())
|
||||
(list dmd-bootstrap))
|
||||
((#:modules _ ''())
|
||||
'((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-1))) ;for fold
|
||||
((#:make-flags flags ''())
|
||||
#~(fold delete #$flags '("HOST_DMD=gdmd"
|
||||
#~(fold delete #$flags '("DFLAGS=-L--allow-multiple-definition"
|
||||
"HOST_DMD=gdmd"
|
||||
"SHARED=0")))
|
||||
((#:phases phases '%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'install 'rewrite-references-to-bootstrap
|
||||
;; D compilers can keep references to the include files used to
|
||||
;; build a binary in exception messages. For dmd, rewrite the
|
||||
;; references to dmd-bootstrap to itself, to reduce its closure
|
||||
;; size.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((in-dmd-bootstrap #$(this-package-native-input "dmd"))
|
||||
(out (assoc-ref outputs "out"))
|
||||
(out-bin-dmd (string-append out "/bin/dmd")))
|
||||
;; XXX: Use sed, as replace-store-references wouldn't replace
|
||||
;; the references, while substitute* throws an error.
|
||||
(add-after 'patch-dmd.conf 'rewrite-references-to-bootstrap
|
||||
;; DMD keeps references to include files used to build a
|
||||
;; binary. Rewrite those of dmd-bootstrap to itself, to reduce
|
||||
;; its closure size.
|
||||
(lambda* (#:key native-inputs inputs outputs
|
||||
#:allow-other-keys)
|
||||
(let ((dmd (search-input-file outputs "bin/dmd"))
|
||||
(dmd-bootstrap (dirname
|
||||
(dirname
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
"bin/dmd")))))
|
||||
;; XXX: Use sed, as replace-store-references wouldn't
|
||||
;; replace the references, while substitute* throws an
|
||||
;; error.
|
||||
(invoke "sed" "-i"
|
||||
(format #f "s,~a,~a,g" in-dmd-bootstrap out)
|
||||
out-bin-dmd))))))))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs dmd-bootstrap)
|
||||
(delete "gdmd")
|
||||
(append dmd-bootstrap)))
|
||||
(format #f "s,~a,~a,g" dmd-bootstrap #$output)
|
||||
dmd))))))))
|
||||
(native-inputs (modify-inputs (package-native-inputs dmd-bootstrap)
|
||||
(replace "gdmd" dmd-bootstrap)))
|
||||
(properties
|
||||
(alist-delete 'hidden? (package-properties dmd-bootstrap)))))
|
||||
|
||||
|
||||
;; D related tools
|
||||
|
||||
(define-public dub
|
||||
(package
|
||||
(name "dub")
|
||||
@@ -634,66 +634,6 @@ while providing the opportunity to customize things when
|
||||
needed.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public d-tools
|
||||
(package
|
||||
(name "d-tools")
|
||||
(version "2.105.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dlang/tools")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0hvz786k0pi8697x1vk9x5bx52jiy7pvi13wmfkx15ddvv0x5j33"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-tests
|
||||
(lambda _
|
||||
;; Skip broken make ONESHELL shell test.
|
||||
(substitute* "rdmd_test.d"
|
||||
(("makeVersion = .*$") "makeVersion = \"skip\";"))))
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(mkdir-p "bin")
|
||||
(setenv "CC" #$(cc-for-target))
|
||||
(setenv "LD" #$(ld-for-target))
|
||||
(invoke "ldc2" "rdmd.d" "--of" "bin/rdmd")
|
||||
(apply invoke "ldc2" "--of=bin/dustmite"
|
||||
(find-files "DustMite" ".*\\.d"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "bin/rdmd" "rdmd_test.d" "bin/rdmd"
|
||||
"--rdmd-default-compiler" "ldmd2"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(man (string-append out "/man")))
|
||||
(for-each delete-file (find-files "bin" "\\.o$"))
|
||||
(copy-recursively "bin" bin)
|
||||
(copy-recursively "man" man)))))))
|
||||
(native-inputs
|
||||
(list ldc
|
||||
(module-ref (resolve-interface
|
||||
'(gnu packages commencement))
|
||||
'ld-gold-wrapper)))
|
||||
(home-page "https://github.com/dlang/tools")
|
||||
(synopsis "Useful D-related tools")
|
||||
(description
|
||||
"@code{d-tools} provides two useful tools for the D language: @code{rdmd},
|
||||
which runs D source files as scripts, and @code{dustmite}, which reduces D code
|
||||
to a minimal test case.")
|
||||
(license license:boost1.0)))
|
||||
|
||||
|
||||
;; D libraries
|
||||
|
||||
(define-public gtkd
|
||||
(package
|
||||
(name "gtkd")
|
||||
@@ -746,8 +686,8 @@ to a minimal test case.")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/lievenhey/d_demangler")
|
||||
(commit (string-append "version-" version))))
|
||||
(url "https://github.com/lievenhey/d_demangler")
|
||||
(commit (string-append "version-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
@@ -765,8 +705,8 @@ to a minimal test case.")
|
||||
(install-file "libd_demangle.so"
|
||||
(string-append #$output "/lib")))))))
|
||||
(native-inputs (list dmd))
|
||||
(synopsis "D symbol demangling library")
|
||||
(description "@code{libd_demangle.so} is a small shared library that can be used to
|
||||
demangle D symbols. It exposes a C interface that wraps D's @code{std.demangle}.")
|
||||
(license license:gpl3+)
|
||||
(home-page "https://github.com/lievenhey/d_demangler")))
|
||||
(home-page "https://github.com/lievenhey/d_demangler")
|
||||
(synopsis "Utility to demangle D symbols")
|
||||
(description "@command{d_demangle} is a small utility that can be used to
|
||||
demangle D symbols. A shared library is also provided.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
+253
-191
@@ -76,11 +76,11 @@
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages embedded)
|
||||
#:use-module (gnu packages engineering)
|
||||
#:use-module (gnu packages embedded)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gd)
|
||||
@@ -99,31 +99,31 @@
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages libftdi)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages markup)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages regex)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages python-compression)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages regex)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages serialization)
|
||||
@@ -132,16 +132,16 @@
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages stb)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages toolkits)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg))
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define delkw (@@ (guix utils) delkw))
|
||||
|
||||
@@ -281,7 +281,7 @@ formal verification. This is the Yosyshq fork of ABC.")
|
||||
(define-public apycula
|
||||
(package
|
||||
(name "apycula")
|
||||
(version "0.31")
|
||||
(version "0.28")
|
||||
;; The pypi tar.gz file includes the necessary .pickle files, not available
|
||||
;; in the home-page repository.
|
||||
(source
|
||||
@@ -289,24 +289,11 @@ formal verification. This is the Yosyshq fork of ABC.")
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "apycula" version))
|
||||
(sha256
|
||||
(base32 "0pf43cd071kv5ann78hl5qrcj9vhndr46ds2g12sgnfjfvh6pfpg"))))
|
||||
(base32 "0llwcz4fji4sbdajlr43spf3mgdaw42rm15va1l9zb8314fn7wq1"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;requires Gowin EDA tools
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-setup
|
||||
(lambda _
|
||||
;; Acceptable, but degraded performance.
|
||||
(substitute* "setup.py"
|
||||
((".*fastcrc.*") ""))))))) ;TODO: Package python-fastcrc
|
||||
(propagated-inputs
|
||||
(list python-cattrs
|
||||
python-crcmod
|
||||
python-numpy
|
||||
python-msgpack
|
||||
python-msgspec))
|
||||
(native-inputs (list python-setuptools python-setuptools-scm))
|
||||
(arguments (list #:tests? #f)) ;requires Gowin EDA tools
|
||||
(inputs (list python-crc))
|
||||
(native-inputs (list python-setuptools))
|
||||
(home-page "https://github.com/YosysHQ/apicula/")
|
||||
(synopsis "Gowin FPGA bitstream format")
|
||||
(description
|
||||
@@ -810,10 +797,71 @@ iCE40 FPGAs and providing simple tools for analyzing and creating bitstream
|
||||
files.")
|
||||
(license license:isc)))
|
||||
|
||||
(define-public json-for-vhdl
|
||||
;; No tagged releases.
|
||||
(let ((commit "0dc9e317440263cd4941f157f5e5668baa858ec2")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "json-for-vhdl")
|
||||
(version (git-version "20220905" revision commit)) ;last revision
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Paebbels/JSON-for-VHDL/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1062g2c3dpsb67zhqrn1j04p7jl28g4mcxd6nhrqqfffjsvxkpw9"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("src" "share/json-for-vhdl/work/src"
|
||||
#:include ("vhdl")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; The examples/Encodings_VUnit test requires vhdl builtins.
|
||||
(add-after 'unpack 'fix-check
|
||||
(lambda _
|
||||
(substitute* "tests/VUnit/run.py"
|
||||
(("from_argv\\(\\)")
|
||||
"from_argv()\nvu.add_vhdl_builtins()")))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "FW_JSON_VHDL")
|
||||
(separator #f)
|
||||
(files (list "share/json-for-vhdl")))))
|
||||
(home-page "https://github.com/Paebbels/JSON-for-VHDL/")
|
||||
(synopsis "Parse and query JSON data structures in VHDL")
|
||||
(description
|
||||
"The JSON-for-VHDL library provides a parser to query JSON data
|
||||
structures from external files on disk. It provides a context to be
|
||||
used in the declarative section of design units.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
;;; Required by python-vunit.
|
||||
(define json-for-vhdl-for-vunit
|
||||
(let ((commit "95e848b8902c6b4275d715462e1a2cc60706917c") ;sync with vunit
|
||||
(revision "0"))
|
||||
(package
|
||||
(inherit json-for-vhdl)
|
||||
(name "json-for-vhdl-for-vunit")
|
||||
(version (git-version "20220106" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Paebbels/JSON-for-VHDL/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1c106hm0sfnzdi5j9vaacjlz7i5m1dm75j7lrgcdsa4siw5ac7k3")))))))
|
||||
|
||||
(define-public klayout
|
||||
(package
|
||||
(name "klayout")
|
||||
(version "0.30.7")
|
||||
(version "0.30.6") ;keep in sync with python-klayout
|
||||
(source
|
||||
(origin (method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -822,7 +870,7 @@ files.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xyrn9vhx871vm141hgsb9qrdim51vfk2mw8hcqyam1ixkbz5jjv"))))
|
||||
"0p4achjlynhg5wc0zmxkzljx115l7vcg3mp3f8i8pjydv8visnh4"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1014,7 +1062,7 @@ an embedded event driven algorithm.")
|
||||
(define-public librelane
|
||||
(package
|
||||
(name "librelane")
|
||||
(version "3.0.0rc1")
|
||||
(version "3.0.0rc0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1023,7 +1071,7 @@ an embedded event driven algorithm.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1593qrpsczdlml5cqqrx51fvlpxr9k85l2aba2dj0fv7gink4hx0"))))
|
||||
"1hi4ppdwl1zh7yw1ncy1jrqc6za4mz243mqvfjr7mcdm349pyvb0"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1078,7 +1126,7 @@ an embedded event driven algorithm.")
|
||||
python-rapidfuzz
|
||||
python-rich
|
||||
python-semver
|
||||
python-yamlcore
|
||||
python-yamlcore-0.0.2
|
||||
ruby
|
||||
verilator
|
||||
yosys))
|
||||
@@ -1308,6 +1356,7 @@ management with library, schematic and board editors.")
|
||||
libparse, enabling dotlib file parsing.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
|
||||
(define-public libpsf
|
||||
;; There are no release nor tags.
|
||||
(let ((commit "001dc734e01725e739847c8cde6480a0cf35a082")
|
||||
@@ -1666,145 +1715,143 @@ circuits. This is commonly used as a part of toolchains in a process called
|
||||
@acronym{LVS, layout versus schematic} with the intent to verify that the
|
||||
layout of a circuit corresponds to the desired netlists.")
|
||||
(license license:gpl1)))
|
||||
|
||||
|
||||
(define-public nextpnr
|
||||
(package
|
||||
(name "nextpnr")
|
||||
(version "0.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/YosysHQ/nextpnr/")
|
||||
(commit (string-append "nextpnr-" version))
|
||||
;; XXX: Fetch some bundled libraries such as QtPropertyBrowser,
|
||||
;; json11 and python-console, which have custom modifications or
|
||||
;; no longer have their original upstream.
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(snippet
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26))
|
||||
;; XXX: 'delete-all-but' is copied from the turbovnc package.
|
||||
(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 "3rdparty"
|
||||
;; The following sources have all been patched, so
|
||||
;; cannot easily be unbundled.
|
||||
"QtPropertyBrowser"
|
||||
"json11"
|
||||
"python-console"
|
||||
"oourafft"
|
||||
"imgui"
|
||||
"qtimgui")))
|
||||
(sha256
|
||||
(base32 "01iwavnnz9pik49mw8z83529grvaa45pvihivmnfzhq1z49cg0c2"))))
|
||||
(outputs '("out" "bba"))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:qtbase qtbase ;for Qt 6
|
||||
#:configure-flags
|
||||
#~(list "-DARCH=generic;ice40;ecp5;himbaechel"
|
||||
"-DBUILD_GUI=ON"
|
||||
"-DUSE_OPENMP=ON"
|
||||
"-DBUILD_TESTS=ON"
|
||||
"-DHIMBAECHEL_UARCH=ng-ultra;gowin;gatemate"
|
||||
"-DHIMBAECHEL_NGULTRA_DEVICES=ng-ultra"
|
||||
"-DHIMBAECHEL_SPLIT=ON"
|
||||
(string-append "-DHIMBAECHEL_PRJBEYOND_DB="
|
||||
(search-input-directory
|
||||
%build-inputs "share/prjbeyond-db"))
|
||||
(string-append "-DHIMBAECHEL_PEPPERCORN_PATH="
|
||||
(search-input-directory
|
||||
%build-inputs "share/prjpeppercorn"))
|
||||
(string-append
|
||||
"-DEXPORT_BBA_FILES=" #$output:bba "/share/nextpnr/bba-files")
|
||||
(string-append "-DCURRENT_GIT_VERSION=nextpnr-" #$version)
|
||||
(string-append "-DICESTORM_INSTALL_PREFIX="
|
||||
#$(this-package-native-input "icestorm"))
|
||||
(string-append "-DTRELLIS_INSTALL_PREFIX="
|
||||
#$(this-package-native-input "prjtrellis")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-test
|
||||
(lambda _
|
||||
(substitute* "himbaechel/uarch/gatemate/tests/lut.cc"
|
||||
(("9LU") "8LU"))))
|
||||
(add-after 'unpack 'unbundle-googletest
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("add_subdirectory\\(3rdparty\\/googletest.*")
|
||||
(string-append "find_package(GTest)\n"
|
||||
"add_library(gtest_main ALIAS "
|
||||
"GTest::gtest_main)\n"))
|
||||
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/googletest.*")
|
||||
(string-append
|
||||
#$(this-package-native-input "googletest") "/include)")))))
|
||||
(add-after 'unpack 'unbundle-sanitizers-cmake
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
;; Use the system sanitizers-cmake module. This is made
|
||||
;; necessary 'sanitizers-cmake' installing a FindPackage
|
||||
;; module but no CMake config file.
|
||||
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/sanitizers-cmake/cmake")
|
||||
(string-append
|
||||
#$(this-package-native-input "sanitizers-cmake")
|
||||
"/share/sanitizers-cmake/cmake")))))
|
||||
(add-after 'install 'run-tests
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "PATH"
|
||||
(string-append #$output "/bin:" (getenv "PATH")))
|
||||
;; ice40
|
||||
(invoke "./nextpnr-ice40-test")
|
||||
(chdir "../source")
|
||||
(setenv "NEXTPNR" "nextpnr-ice40")
|
||||
(with-directory-excursion "ice40/smoketest/attosoc"
|
||||
(invoke "./smoketest.sh"))
|
||||
(with-directory-excursion "tests/ice40/regressions"
|
||||
(invoke "make" (string-append
|
||||
"NPNR=" #$output "/bin/nextpnr-ice40")))
|
||||
;; generic
|
||||
(setenv "NPNR" "nextpnr-generic")
|
||||
(invoke "nextpnr-generic" "--uarch" "example" "--test")
|
||||
(with-directory-excursion "tests/generic/flow/bel-pin"
|
||||
(invoke "./run.sh"))
|
||||
;; ecp5
|
||||
(invoke "nextpnr-ecp5"
|
||||
"--um5g-25k" "--package" "CABGA381" "--test")
|
||||
(with-directory-excursion "tests/ecp5/regressions"
|
||||
(invoke "make"
|
||||
(string-append
|
||||
"NPNR=" #$output "/bin/nextpnr-ecp5")))))))))
|
||||
(native-inputs
|
||||
(list apycula
|
||||
googletest
|
||||
icestorm
|
||||
iverilog
|
||||
gzip
|
||||
prjbeyond-db
|
||||
`(,prjpeppercorn "db")
|
||||
prjtrellis
|
||||
python-minimal-wrapper
|
||||
sanitizers-cmake
|
||||
yosys))
|
||||
(inputs
|
||||
(list boost
|
||||
eigen
|
||||
pybind11))
|
||||
(synopsis
|
||||
"Place-and-Route tool for @acronym{FPGA, Field Programmable Gate Array}")
|
||||
(description "@code{nextpnr} is an @acronym{EDA, Electronic Design
|
||||
(let ((commit "d8117e3cadaa4f4db606b64a465b7638b05dac68")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "nextpnr")
|
||||
(version (git-version "0.9" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/YosysHQ/nextpnr/")
|
||||
(commit commit)
|
||||
;; XXX: Fetch some bundled libraries such as QtPropertyBrowser,
|
||||
;; json11 and python-console, which have custom modifications or
|
||||
;; no longer have their original upstream.
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(snippet
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26))
|
||||
;; XXX: 'delete-all-but' is copied from the turbovnc package.
|
||||
(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 "3rdparty"
|
||||
;; The following sources have all been patched, so
|
||||
;; cannot easily be unbundled.
|
||||
"QtPropertyBrowser"
|
||||
"json11"
|
||||
"python-console"
|
||||
"oourafft")))
|
||||
(patches (search-patches "nextpnr-imgui.patch"))
|
||||
(sha256
|
||||
(base32 "0668adviwh8n9c5xy7k3qiyfn77rrzd79b403i3m19hhy8vq907p"))))
|
||||
(outputs '("out" "bba"))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:qtbase qtbase ;for Qt 6
|
||||
#:configure-flags
|
||||
#~(list "-DARCH=generic;ice40;ecp5;himbaechel"
|
||||
"-DBUILD_GUI=ON"
|
||||
"-DUSE_OPENMP=ON"
|
||||
"-DBUILD_TESTS=ON"
|
||||
"-DHIMBAECHEL_UARCH=ng-ultra;gowin;gatemate"
|
||||
"-DHIMBAECHEL_NGULTRA_DEVICES=ng-ultra"
|
||||
"-DHIMBAECHEL_SPLIT=ON"
|
||||
(string-append "-DHIMBAECHEL_PRJBEYOND_DB="
|
||||
(search-input-directory
|
||||
%build-inputs "share/prjbeyond-db"))
|
||||
(string-append "-DHIMBAECHEL_PEPPERCORN_PATH="
|
||||
(search-input-directory
|
||||
%build-inputs "share/prjpeppercorn"))
|
||||
(string-append
|
||||
"-DEXPORT_BBA_FILES=" #$output:bba "/share/nextpnr/bba-files")
|
||||
(string-append "-DCURRENT_GIT_VERSION=nextpnr-" #$version)
|
||||
(string-append "-DICESTORM_INSTALL_PREFIX="
|
||||
#$(this-package-native-input "icestorm"))
|
||||
(string-append "-DTRELLIS_INSTALL_PREFIX="
|
||||
#$(this-package-native-input "prjtrellis")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unbundle-googletest
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("add_subdirectory\\(3rdparty\\/googletest.*")
|
||||
(string-append "find_package(GTest)\n"
|
||||
"add_library(gtest_main ALIAS "
|
||||
"GTest::gtest_main)\n"))
|
||||
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/googletest.*")
|
||||
(string-append
|
||||
#$(this-package-native-input "googletest") "/include)")))))
|
||||
(add-after 'unpack 'unbundle-sanitizers-cmake
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
;; Use the system sanitizers-cmake module. This is made
|
||||
;; necessary 'sanitizers-cmake' installing a FindPackage
|
||||
;; module but no CMake config file.
|
||||
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/sanitizers-cmake/cmake")
|
||||
(string-append
|
||||
#$(this-package-native-input "sanitizers-cmake")
|
||||
"/share/sanitizers-cmake/cmake")))))
|
||||
(add-after 'install 'run-tests
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "PATH"
|
||||
(string-append #$output "/bin:" (getenv "PATH")))
|
||||
;; ice40
|
||||
(invoke "./nextpnr-ice40-test")
|
||||
(chdir "../source")
|
||||
(setenv "NEXTPNR" "nextpnr-ice40")
|
||||
(with-directory-excursion "ice40/smoketest/attosoc"
|
||||
(invoke "./smoketest.sh"))
|
||||
(with-directory-excursion "tests/ice40/regressions"
|
||||
(invoke "make" (string-append
|
||||
"NPNR=" #$output "/bin/nextpnr-ice40")))
|
||||
;; generic
|
||||
(setenv "NPNR" "nextpnr-generic")
|
||||
(invoke "nextpnr-generic" "--uarch" "example" "--test")
|
||||
(with-directory-excursion "tests/generic/flow/bel-pin"
|
||||
(invoke "./run.sh"))
|
||||
;; ecp5
|
||||
(invoke "nextpnr-ecp5"
|
||||
"--um5g-25k" "--package" "CABGA381" "--test")
|
||||
(with-directory-excursion "tests/ecp5/regressions"
|
||||
(invoke "make"
|
||||
(string-append
|
||||
"NPNR=" #$output "/bin/nextpnr-ecp5")))))))))
|
||||
(native-inputs
|
||||
(list apycula
|
||||
googletest
|
||||
icestorm
|
||||
iverilog
|
||||
gzip
|
||||
prjbeyond-db
|
||||
`(,prjpeppercorn "db")
|
||||
prjtrellis
|
||||
python-minimal-wrapper
|
||||
sanitizers-cmake
|
||||
yosys))
|
||||
(inputs
|
||||
(list boost
|
||||
eigen
|
||||
pybind11-2
|
||||
qtimgui))
|
||||
(synopsis
|
||||
"Place-and-Route tool for @acronym{FPGA, Field Programmable Gate Array}")
|
||||
(description "@code{nextpnr} is an @acronym{EDA, Electronic Design
|
||||
Automation}, portable and vendor neutral FPGA place and route tool.")
|
||||
(home-page "https://github.com/YosysHQ/nextpnr/")
|
||||
(license license:isc)))
|
||||
(home-page "https://github.com/YosysHQ/nextpnr/")
|
||||
(license license:isc))))
|
||||
|
||||
(define-public nextpnr-cli
|
||||
(package
|
||||
@@ -1817,6 +1864,9 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
|
||||
(substitute-keyword-arguments (package-arguments nextpnr)
|
||||
((#:configure-flags flags '())
|
||||
#~(delete! "-DBUILD_GUI=ON" #$flags)))))
|
||||
(inputs
|
||||
(modify-inputs (package-inputs nextpnr)
|
||||
(delete "qtimgui")))
|
||||
(synopsis
|
||||
(string-append (package-synopsis nextpnr) " Cli only version."))))
|
||||
|
||||
@@ -1845,7 +1895,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
|
||||
(define-public nvc
|
||||
(package
|
||||
(name "nvc")
|
||||
(version "1.19.3")
|
||||
(version "1.19.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1854,7 +1904,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zizz2dafm53lzpjayy6vig5pz5ri9cszdivg0jzzh8s3ggkpy1i"))))
|
||||
"1wcniiphnzk81y9p093v6zqq9vd7qhw08639svacwmhd8a67yr6b"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:out-of-source? #t
|
||||
@@ -2055,7 +2105,7 @@ chip database for NG-Ultra architecture from NanoXplore.")
|
||||
(define-public prjpeppercorn
|
||||
(package
|
||||
(name "prjpeppercorn")
|
||||
(version "1.12")
|
||||
(version "1.9")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2064,7 +2114,7 @@ chip database for NG-Ultra architecture from NanoXplore.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "15qv7a0lpl671jlpafs9is0x0vms6i7jbkhp4l723lnr9kafqgm7"))))
|
||||
(base32 "1z0kzkdham3pwh4fj03yyv9bla5v08mbv0ysbyq1snxr8cdabm8y"))))
|
||||
(outputs (list "out"
|
||||
"db")) ;FPGA database files
|
||||
(build-system cmake-build-system)
|
||||
@@ -2090,7 +2140,7 @@ chip database for NG-Ultra architecture from NanoXplore.")
|
||||
(copy-recursively "tools"
|
||||
(string-append datadir "/tools"))))))))
|
||||
(inputs
|
||||
(list boost))
|
||||
(list boost-1.88))
|
||||
(synopsis "GateMate FPGAs bitstream tools")
|
||||
(description
|
||||
"@code{Prjpeppercorn} includes programming tools for GateMate
|
||||
@@ -2138,7 +2188,7 @@ architecture from Cologne Chip. It also provides data needed to produce a
|
||||
(lambda _
|
||||
(chdir "libtrellis"))))))
|
||||
(native-inputs (list python-minimal-wrapper))
|
||||
(inputs (list openocd boost pybind11))
|
||||
(inputs (list openocd boost-1.88 pybind11-2))
|
||||
(synopsis "Placement and routing for ECP5 FPGAs")
|
||||
(description
|
||||
"Project Trellis is a Nextpnr backend compatible with ECP5 FPGAs.
|
||||
@@ -2551,8 +2601,16 @@ for @acronym{EDA, elecronic design automation} and chip design.")))
|
||||
(define-public python-klayout
|
||||
(package
|
||||
(name "python-klayout")
|
||||
(version (package-version klayout))
|
||||
(source (package-source klayout))
|
||||
(version "0.30.6") ;keep in sync with klayout
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/klayout/klayout")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "0p4achjlynhg5wc0zmxkzljx115l7vcg3mp3f8i8pjydv8visnh4"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3300,7 +3358,7 @@ to enforce it.")
|
||||
(define-public python-vunit
|
||||
(package
|
||||
(name "python-vunit")
|
||||
(version "5.0.0-dev.9") ;v4.7.0 dates back from 2 years ago.
|
||||
(version "5.0.0-dev.8") ;v4.7.0 dates back from 2 years ago.
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3309,7 +3367,7 @@ to enforce it.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1j9rvlshzi4mdy7wah1j8ri63drkjb47xly22q40wvl2xp2ghqgs"))))
|
||||
(base32 "0a1bz5jh28i59x63fkgqf333jb68bm2hjicg2zlahzyydr4y1wji"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3319,31 +3377,35 @@ to enforce it.")
|
||||
(srfi srfi-26))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-ghdl-version
|
||||
(add-after 'unpack 'fix-ghdl-jit
|
||||
(lambda _
|
||||
;; Guix uses ghdl 6.0.0.
|
||||
(substitute* "tests/unit/test_ghdl_interface.py"
|
||||
(("GHDL 5\\.0\\.1") "GHDL 6.0.0")
|
||||
(("GNAT Version: 14\\.2\\.0") "GNAT Version: 15.2.0"))))
|
||||
;; TODO: Remove when fixed upstream (see:
|
||||
;; https://github.com/VUnit/vunit/pull/1121).
|
||||
(substitute* "vunit/sim_if/ghdl.py"
|
||||
((": \"llvm\",")
|
||||
(string-append
|
||||
": \"llvm\",\n\tr\"static elaboration, LLVM JIT code "
|
||||
"generator\": \"llvm-jit\",")))))
|
||||
(add-after 'install 'unbundle
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((site-packages
|
||||
(string-append (site-packages inputs outputs)
|
||||
"/vunit/vhdl/")))
|
||||
(mkdir-p (string-append site-packages "JSON-for-VHDL"))
|
||||
(symlink
|
||||
(search-input-directory inputs "share/json-for-vhdl/work/src")
|
||||
(string-append site-packages "JSON-for-VHDL/src"))
|
||||
(symlink
|
||||
(search-input-directory inputs "share/osvvm/work/osvvm")
|
||||
(string-append site-packages "osvvm")))))
|
||||
(add-after 'check 'run-examples
|
||||
;; Run examples as an extra check.
|
||||
(lambda* (#:key tests? parallel-build? #:allow-other-keys)
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(with-directory-excursion "examples/vhdl"
|
||||
(for-each
|
||||
(lambda (dir)
|
||||
(invoke "python3" (string-append dir "/run.py")
|
||||
"-p" (if parallel-build?
|
||||
(number->string (parallel-job-count))
|
||||
"1"))
|
||||
(invoke "python3" (string-append dir "/run.py"))
|
||||
(delete-file-recursively "vunit_out"))
|
||||
(scandir "."
|
||||
(negate
|
||||
@@ -3373,7 +3435,7 @@ to enforce it.")
|
||||
python-setuptools
|
||||
python-setuptools-scm))
|
||||
(inputs
|
||||
(list osvvm-2023.04))
|
||||
(list json-for-vhdl-for-vunit osvvm-2023.04))
|
||||
(propagated-inputs
|
||||
(list python-colorama))
|
||||
(home-page "https://vunit.github.io")
|
||||
|
||||
+31
-62
@@ -204,14 +204,12 @@
|
||||
#:use-module (gnu packages aspell)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages calendar)
|
||||
#:use-module (gnu packages chez)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages code)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages dav)
|
||||
#:use-module (gnu packages dictionaries)
|
||||
#:use-module (gnu packages djvu)
|
||||
#:use-module (gnu packages ebook)
|
||||
@@ -8046,7 +8044,7 @@ next matching page.")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/alezost-emacs/bui.el")
|
||||
(url "https://notabug.org/alezost/emacs-bui.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -8055,7 +8053,7 @@ next matching page.")
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-dash))
|
||||
(home-page "https://gitlab.com/alezost-emacs/bui.el")
|
||||
(home-page "https://notabug.org/alezost/emacs-bui")
|
||||
(synopsis "Buffer interface library for Emacs")
|
||||
(description
|
||||
"BUI (Buffer User Interface) is a library for making @code{list} and
|
||||
@@ -8124,7 +8122,7 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/alezost-emacs/build-farm")
|
||||
(url "https://notabug.org/alezost/emacs-build-farm.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -8133,7 +8131,7 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-bui emacs-magit-popup))
|
||||
(home-page "https://gitlab.com/alezost-emacs/build-farm")
|
||||
(home-page "https://notabug.org/alezost/emacs-build-farm")
|
||||
(synopsis "Emacs interface for Hydra and Cuirass build farms")
|
||||
(description
|
||||
"This Emacs package provides an interface for Hydra and
|
||||
@@ -8409,41 +8407,6 @@ them whenever another command is invoked.")
|
||||
a command.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-khalel
|
||||
(package
|
||||
(name "emacs-khalel")
|
||||
(version "0.1.15")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/hperrey/khalel")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06h5272kmg0ykf0zqdy2qwhlzszqsw176l1brk04bg8xyc3a4384"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'locate-input-binaries
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(emacs-substitute-variables "khalel.el"
|
||||
("khalel-khal-command"
|
||||
(search-input-file inputs "/bin/khal"))
|
||||
("khalel-vdirsyncer-command"
|
||||
(search-input-file inputs "/bin/vdirsyncer"))))))))
|
||||
(inputs (list khal vdirsyncer))
|
||||
(home-page "https://gitlab.com/hperrey/khalel")
|
||||
(synopsis "Interact with local or remote CalDAV calendars")
|
||||
(description
|
||||
"Khalel accesses calendars stored in ICS files and provides means of
|
||||
listing existing events, edit them as well as to create new ones largely
|
||||
through an Org mode interface.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-khardel
|
||||
(package
|
||||
(name "emacs-khardel")
|
||||
@@ -21261,25 +21224,29 @@ required by the LaTeX output produced by Org mode.")
|
||||
(license (license:fsf-free "https://www.tug.org/texlive/copying.html"))))
|
||||
|
||||
(define-public emacs-org-contacts
|
||||
(package
|
||||
(name "emacs-org-contacts")
|
||||
(version "1.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://repo.or.cz/org-contacts")
|
||||
(commit (string-append "release_" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1djnyswjbsb1k3ciyd2f9xfjfkhbkkfw3dzfmzzr8dx5v71gm47b"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://repo.or.cz/org-contacts")
|
||||
(synopsis "Contacts management system for Org mode")
|
||||
(description "Manage your contacts from Org mode. You can auto
|
||||
;; XXX: Upstream does not tag version bumps. Commit below matches latest
|
||||
;; version bump.
|
||||
(let ((commit "217ba04c9d638067a6ccb0829cf1885f54c1d568"))
|
||||
(package
|
||||
(name "emacs-org-contacts")
|
||||
(version "1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://repo.or.cz/org-contacts")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0f0vjdvx0hffj2xvyrya8yfl77djmzmpxdxsx58ym4lmdvwyb6x3"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-org))
|
||||
(home-page "https://repo.or.cz/org-contacts")
|
||||
(synopsis "Contacts management system for Org mode")
|
||||
(description "Manage your contacts from Org mode. You can auto
|
||||
complete email addresses, export contacts to a vCard file, put birthdays
|
||||
in your Org Agenda, and more.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-org-vcard
|
||||
(package
|
||||
@@ -41956,10 +41923,10 @@ service, and connect it with Emacs via inter-process communication.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-telega
|
||||
(let ((commit "805819bf81dffe2922e9e06ae02d58429d03aa1a"))
|
||||
(let ((commit "70945291fff62ad0c8c2d2c28cbad319138ae811"))
|
||||
(package
|
||||
(name "emacs-telega")
|
||||
(version "0.8.601") ; see telega-version in telega.el
|
||||
(version "0.8.600") ; see telega-version in telega.el
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -41967,7 +41934,7 @@ service, and connect it with Emacs via inter-process communication.")
|
||||
(url "https://github.com/zevlg/telega.el")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "0d02ymr5fw6fknzf9ikaky48swd9yfp5zn846zlwb5083p6bpmis"))
|
||||
(base32 "08z81m3aa7lf895iy5fkdp52qkvl2nw1r1k1k67dipnyrj4y2bfk"))
|
||||
(file-name (git-file-name "emacs-telega" version))
|
||||
(patches
|
||||
(search-patches "emacs-telega-test-env.patch"))))
|
||||
@@ -42024,8 +41991,10 @@ service, and connect it with Emacs via inter-process communication.")
|
||||
(string-append ";; " all))))))))
|
||||
(inputs
|
||||
(list emacs-telega-server ffmpeg tgs2png))
|
||||
(native-inputs '())
|
||||
(propagated-inputs
|
||||
(list emacs-transient ; requires 0.9.0
|
||||
(list emacs-company
|
||||
emacs-transient ; requires 0.9.0
|
||||
emacs-visual-fill-column))
|
||||
(home-page "https://zevlg.github.io/telega.el/")
|
||||
(synopsis "GNU Emacs client for the Telegram messenger")
|
||||
|
||||
@@ -255,7 +255,7 @@ wallet and graphical user interface.")
|
||||
(define-public bitcoin-cash-node
|
||||
(package
|
||||
(name "bitcoin-cash-node")
|
||||
(version "29.0.0")
|
||||
(version "28.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -264,7 +264,7 @@ wallet and graphical user interface.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0fk0zfnl99552yfhzzvzj46lg16fr4dbgh0agp5pqll30wbk78d9"))))
|
||||
(base32 "19v38clhxg6yd4xb8wh8bm3sf1ipv3ifg68nwgq0p8l5zqx41wgw"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list help2man
|
||||
@@ -1014,7 +1014,7 @@ the Monero command line client and daemon.")
|
||||
(define-public monero-gui
|
||||
(package
|
||||
(name "monero-gui")
|
||||
(version "0.18.4.7")
|
||||
(version "0.18.4.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1030,7 +1030,7 @@ the Monero command line client and daemon.")
|
||||
;; See the 'extract-monero-sources' phase.
|
||||
(delete-file-recursively "monero")))
|
||||
(sha256
|
||||
(base32 "1nbv07jjwznz2x0ch1467vhnd0b4j3y01gv78dzbm7pilbb9wh72"))))
|
||||
(base32 "0l2ris97ibl2smyd4dyav5d81ky22nyv21qhzmmxsbgz3ds7d1mx"))))
|
||||
(build-system qt-build-system)
|
||||
(native-inputs
|
||||
`(,@(package-native-inputs monero)
|
||||
@@ -2603,7 +2603,7 @@ mining.")
|
||||
(define-public p2pool
|
||||
(package
|
||||
(name "p2pool")
|
||||
(version "4.14")
|
||||
(version "4.13")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2612,7 +2612,7 @@ mining.")
|
||||
(commit (string-append "v" version))
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 "10dp6kxmvdx5lz4n144s9av32nzfxgfw28kf92dnmrv13q5p7id2"))
|
||||
(sha256 (base32 "1flpr0kzyl72hm5vjs9jixiv8fdhvwchlz3p2banb8naxlpads0x"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(for-each delete-file-recursively
|
||||
|
||||
@@ -447,87 +447,6 @@ referred to as the \"Odin 3 protocol\".")
|
||||
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")
|
||||
@@ -694,7 +613,7 @@ Unifinished Extensible Firmware Interface (UEFI) images.")
|
||||
(define-public openfpgaloader
|
||||
(package
|
||||
(name "openfpgaloader")
|
||||
(version "1.1.1")
|
||||
(version "1.1.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -703,7 +622,7 @@ Unifinished Extensible Firmware Interface (UEFI) images.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"00wbf7z5f55422fmqczxc6f7a2lmr52m1qx8m3ky5gl006rkf0sm"))))
|
||||
"1jr9vx0r53h2wkmcyjkc5l90wvk4glinlkf42m00j7rp41bckfvp"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
@@ -719,11 +638,9 @@ Unifinished Extensible Firmware Interface (UEFI) images.")
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-rules
|
||||
(lambda _
|
||||
(for-each
|
||||
(lambda (f)
|
||||
(install-file
|
||||
f (string-append #$output "/lib/udev/rules.d/")))
|
||||
(find-files "../source" "\\.rules$")))))))
|
||||
(install-file
|
||||
"../source/99-openfpgaloader.rules"
|
||||
(string-append #$output "/lib/udev/rules.d/")))))))
|
||||
(synopsis "Utility for programming FPGA")
|
||||
(description "This package provides a program to transfer a bitstream
|
||||
to an FPGA. To use @code{openfpgaloader} without root privileges it is
|
||||
|
||||
@@ -4206,7 +4206,8 @@ characteristic so that they sit smoothly with the Tamil glyphs.")
|
||||
(base32 "1594lxdk6788bb3i3c2fh74z4pwpzcp2r1xl3cz8cz77nrcjkl8m"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
(list #:modules '((guix build utils))
|
||||
(list #:modules '((guix build utils)
|
||||
(ice-9 ftw))
|
||||
#:builder
|
||||
#~(let* ((orig #$(package-source this-package))
|
||||
(dist (string-append orig "/dist/v" #$version))
|
||||
|
||||
+19
-191
@@ -19,7 +19,6 @@
|
||||
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Leo Nikkilä <hello@lnikki.la>
|
||||
;;; Copyright © 2025-2026 Jonas Meeuws <jonas.meeuws@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -56,10 +55,8 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix memoization)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (guix utils)
|
||||
@@ -1427,195 +1424,26 @@ as the 'native-search-paths' field."
|
||||
"gfortran" '("fortran")
|
||||
%generic-search-paths)))
|
||||
|
||||
(define* (make-gdc gcc #:optional bootstrap-gdc #:key frontend-version)
|
||||
(define gdc (custom-gcc gcc "gdc" '("d") (list $LIBRARY_PATH)))
|
||||
(define version (package-version gdc))
|
||||
(define (since-version? since) (version>=? version since))
|
||||
(define (until-version? until) (version>? until version))
|
||||
(package
|
||||
(inherit gdc)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments gdc)
|
||||
((#:modules modules)
|
||||
`(,@modules
|
||||
(ice-9 ftw)))
|
||||
((#:configure-flags flags)
|
||||
#~(append
|
||||
#$flags
|
||||
(list "--disable-c++tools"
|
||||
#$@(if (since-version? "11") #~("--disable-libatomic") #~())
|
||||
"--disable-libcc1"
|
||||
"--disable-libgomp"
|
||||
"--disable-libitm"
|
||||
"--disable-libquadmath"
|
||||
"--disable-libsanitizer"
|
||||
"--disable-libssp"
|
||||
#$@(if (until-version? "15") #~("--disable-libstdcxx") #~())
|
||||
"--disable-plugin")))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'strip 'gdc-cleanup-install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(define (delete-except-matches prefix patterns)
|
||||
;; Remove all files except for those matching any of the
|
||||
;; patterns.
|
||||
(define (should-delete? path statbuf)
|
||||
(define suffix (substring path (string-length prefix)))
|
||||
(not (or (zero? (string-length suffix))
|
||||
(any (cut string-match <> suffix)
|
||||
patterns))))
|
||||
(for-each (lambda (path)
|
||||
(format #t "Deleting ~a\n" path)
|
||||
(delete-file path))
|
||||
(find-files prefix should-delete?))
|
||||
;; Clean up empty directories.
|
||||
(define (dir-empty? path statbuf)
|
||||
(and (eq? (stat:type statbuf) 'directory)
|
||||
(zero? (length (filter
|
||||
(lambda (name)
|
||||
(not (or (string=? name ".")
|
||||
(string=? name ".."))))
|
||||
(scandir path))))))
|
||||
(while #t
|
||||
(let* ((empty-dirs (find-files prefix dir-empty?
|
||||
#:stat lstat
|
||||
#:directories? #t)))
|
||||
(if (zero? (length empty-dirs))
|
||||
(break)
|
||||
(for-each rmdir empty-dirs)))))
|
||||
;; Leave out non-GDC binaries, man pages, locale files, and
|
||||
;; c++ headers.
|
||||
(delete-except-matches
|
||||
(assoc-ref outputs "out")
|
||||
(list "^/bin/.*gdc$"
|
||||
"^/libexec/"
|
||||
"^/share/info/gdc"
|
||||
"^/share/man/man1/gdc"
|
||||
"^/share/man/man7/"))
|
||||
;; Leave out C/C++ libraries, headers and empty directories.
|
||||
(delete-except-matches
|
||||
(assoc-ref outputs "lib")
|
||||
(list "^/lib/gcc/.*/include/d/"
|
||||
"^/lib/gcc/.*/.*\\.[ao]$"
|
||||
"^/lib/libgcc_s.*"
|
||||
"^/lib/libgdruntime.*"
|
||||
"^/lib/libgphobos.*"))
|
||||
;; Repeat for the debug files.
|
||||
(delete-except-matches
|
||||
(assoc-ref outputs "debug")
|
||||
(list "^/lib/debug/.*/bin/.*gdc\\.debug$"
|
||||
"^/lib/debug/.*/lib/libgcc_s"
|
||||
"^/lib/debug/.*/lib/libgdruntime"
|
||||
"^/lib/debug/.*/lib/libgphobos"))))))))
|
||||
(inputs
|
||||
(modify-inputs (package-inputs gdc)
|
||||
;; This makes flags like -static-libstdc++ work. Required for using this
|
||||
;; compiler as a bootstrap compiler for GDC 12+.
|
||||
;; Additionally, this allows us to support linking with GCC libraries,
|
||||
;; without building or storing them ourselves.
|
||||
(append (list gcc "lib"))))
|
||||
(native-inputs
|
||||
(let ((orig (package-native-inputs gdc)))
|
||||
(if bootstrap-gdc
|
||||
(modify-inputs orig
|
||||
;; Since GCC 12, GDC is self-hosted, requiring a version of itself
|
||||
;; to build.
|
||||
(append bootstrap-gdc))
|
||||
orig)))
|
||||
(synopsis "GNU D Compiler")
|
||||
(description
|
||||
(string-append
|
||||
"GDC is the D frontend for the @acronym{GNU Compiler Collection,GCC}. It
|
||||
also includes the druntime and phobos libraries."
|
||||
(if frontend-version
|
||||
(format #f "~%~%This compiler is based on the DMD frontend version ~a."
|
||||
frontend-version)
|
||||
"")))
|
||||
(home-page "https://www.gdcproject.org/")))
|
||||
(define-public gdc-11 ;kept for bootstrapping
|
||||
(hidden-package
|
||||
(custom-gcc gcc-11 "gdc" '("d")
|
||||
%generic-search-paths)))
|
||||
|
||||
(define-public gdc-9
|
||||
(make-gdc gcc-9 #:frontend-version "2.076.2"))
|
||||
|
||||
(define-public gdc-10
|
||||
(make-gdc gcc-10 #:frontend-version "2.076.2"))
|
||||
|
||||
(define-public gdc-11
|
||||
(make-gdc gcc-11 #:frontend-version "2.076.2"))
|
||||
|
||||
(define-public gdc-12
|
||||
(make-gdc gcc-12 gdc-11 #:frontend-version "2.100.2"))
|
||||
|
||||
(define-public gdc-13
|
||||
(make-gdc gcc-13 gdc-11 #:frontend-version "2.103.1"))
|
||||
|
||||
(define-public gdc-14
|
||||
(make-gdc gcc-14 gdc-11 #:frontend-version "2.108.1"))
|
||||
|
||||
(define-public gdc-15
|
||||
(make-gdc gcc-15 gdc-11 #:frontend-version "2.111.0"))
|
||||
|
||||
(define-public gdc gdc-14)
|
||||
|
||||
(define* (make-gdmd gdc)
|
||||
(let ((gdc-version (package-version gdc))
|
||||
(gdmd-version "0.26.0"))
|
||||
(package
|
||||
(name "gdmd")
|
||||
(version (string-append gdc-version "-" gdmd-version))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/D-Programming-GDC/gdmd")
|
||||
(commit (string-append "script-" gdmd-version))))
|
||||
(file-name (git-file-name name gdmd-version))
|
||||
(sha256
|
||||
(base32
|
||||
"0i9warhlwyspjs3rpvs2989820909lgzjnsflpd9mp2flq7isjh0"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("dmd-script" "bin/gdmd")
|
||||
("dmd-script.1" "share/man/man1/gdmd.1"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'adjust-gdc-location
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "dmd-script"
|
||||
(("my \\$gdc_dir.*")
|
||||
(string-append "my $gdc_dir = \""
|
||||
(dirname
|
||||
(search-input-file inputs "/bin/gdc"))
|
||||
"\";\n"))))))))
|
||||
(inputs (list gdc perl))
|
||||
(synopsis "DMD-like wrapper for GDC")
|
||||
(description "This package provides a DMD-like wrapper for the
|
||||
@acronym{GNU D Compiler,GDC}.")
|
||||
(license gpl3+)
|
||||
(home-page "https://github.com/D-Programming-GDC/gdmd"))))
|
||||
|
||||
(define-public gdmd-9
|
||||
(make-gdmd gdc-9))
|
||||
|
||||
(define-public gdmd-10
|
||||
(make-gdmd gdc-10))
|
||||
|
||||
(define-public gdmd-11
|
||||
(make-gdmd gdc-11))
|
||||
|
||||
(define-public gdmd-12
|
||||
(make-gdmd gdc-12))
|
||||
|
||||
(define-public gdmd-13
|
||||
(make-gdmd gdc-13))
|
||||
|
||||
(define-public gdmd-14
|
||||
(make-gdmd gdc-14))
|
||||
|
||||
(define-public gdmd-15
|
||||
(make-gdmd gdc-15))
|
||||
|
||||
(define-public gdmd gdmd-14)
|
||||
;;; Alias tracking the latest GDC version.
|
||||
(define-public gdc
|
||||
(hidden-package
|
||||
(let ((base (custom-gcc gcc
|
||||
"gdc" '("d")
|
||||
%generic-search-paths)))
|
||||
(package
|
||||
(inherit base)
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs base)
|
||||
;; Since GCC 12, GDC is self-hosted, requiring a version of itself
|
||||
;; to build.
|
||||
;; XXX: GCC must be prepended as well to avoid an issue with the C++
|
||||
;; headers ordering.
|
||||
(prepend gcc gdc-11)))))))
|
||||
|
||||
(define-public gm2
|
||||
(hidden-package
|
||||
|
||||
+13
-9
@@ -20,7 +20,7 @@
|
||||
;;; Copyright © 2021, 2022 Nikolay Korotkiy <sikmir@disroot.org>
|
||||
;;; Copyright © 2022 Patrick Noll <patrick@patricknoll.com>
|
||||
;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com>
|
||||
;;; Copyright © 2022-2023, 2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
|
||||
;;; Copyright © 2024 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
@@ -500,7 +500,7 @@ topology functions.")
|
||||
(define-public gnome-maps
|
||||
(package
|
||||
(name "gnome-maps")
|
||||
(version "49.4")
|
||||
(version "49.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@@ -508,7 +508,7 @@ topology functions.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1c04z2ly9vri98gmn4p5lhmfxhqjsc6rqz7kyprf0shdsicazyl6"))))
|
||||
"1pxx50cig25dz0ab5xkbppnibb4zcv3r3vy31dkn6ncf24vykj5z"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -532,9 +532,14 @@ topology functions.")
|
||||
"share/zoneinfo"))))
|
||||
(add-after 'install 'wrap
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/bin/gnome-maps")
|
||||
`("GI_TYPELIB_PATH" ":" prefix
|
||||
(,(getenv "GI_TYPELIB_PATH")))))))))
|
||||
(let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")))
|
||||
(substitute* (string-append #$output "/share/gnome-maps/"
|
||||
"org.gnome.Maps")
|
||||
(("imports\\.package\\.init" all)
|
||||
(string-append "'" gi-typelib-path "'.split(':').forEach("
|
||||
"path => imports.gi.GIRepository.Repository."
|
||||
"prepend_search_path(path));\n"
|
||||
all)))))))))
|
||||
(native-inputs
|
||||
(list gettext-minimal
|
||||
`(,glib "bin")
|
||||
@@ -543,8 +548,7 @@ topology functions.")
|
||||
pkg-config
|
||||
tzdata-for-tests))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
folks
|
||||
(list folks
|
||||
evolution-data-server
|
||||
geoclue
|
||||
geocode-glib
|
||||
@@ -563,7 +567,7 @@ topology functions.")
|
||||
libshumate
|
||||
libsoup
|
||||
libxml2
|
||||
webkitgtk))
|
||||
webkitgtk-for-gtk3))
|
||||
(synopsis "Graphical map viewer and wayfinding program")
|
||||
(description "GNOME Maps is a graphical map viewer. It uses map data from
|
||||
the OpenStreetMap project. It can provide directions for walking, bicycling,
|
||||
|
||||
+11
-76
@@ -39,7 +39,7 @@
|
||||
;;; Copyright © 2019, 2024, 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
|
||||
;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
|
||||
;;; Copyright © 2019-2026 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2019-2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
|
||||
;;; Copyright © 2019 David Wilson <david@daviwil.com>
|
||||
;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
|
||||
@@ -188,7 +188,6 @@
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages node-xyz)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages ocr)
|
||||
#:use-module (gnu packages openldap)
|
||||
@@ -653,73 +652,6 @@ of writing test cases for asynchronous interactions.")
|
||||
(home-page "https://launchpad.net/gtx")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public decibels
|
||||
(package
|
||||
(name "decibels")
|
||||
(version "49.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "mirror://gnome/sources/" name "/"
|
||||
(version-major version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jkkyv9r87skqyjhzflzzczzwf3ycwnavw1r3qa6jzlnwai9pdr9"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:glib-or-gtk? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-gst-init
|
||||
(lambda _
|
||||
;; `null' is no longer accepted as of gstreamer 2.28.1 (see:
|
||||
;; <https://gitlab.gnome.org/GNOME/decibels/-/merge_requests/178>).
|
||||
(substitute* "src/stream.ts"
|
||||
(("Gst.init\\(null)")
|
||||
"Gst.init([])"))))
|
||||
(add-after 'unpack 'skip-gnome-post-install
|
||||
(lambda _
|
||||
(substitute* "meson.build"
|
||||
(("gtk_update_icon_cache: true")
|
||||
"gtk_update_icon_cache: false")
|
||||
(("update_desktop_database: true")
|
||||
"update_desktop_database: false"))))
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda _
|
||||
(let ((typelib-path (getenv "GI_TYPELIB_PATH")))
|
||||
(wrap-program (string-append #$output "/bin/org.gnome.Decibels")
|
||||
`("GI_TYPELIB_PATH" ":" prefix (,typelib-path))))))
|
||||
(add-after 'glib-or-gtk-wrap 'install-alias
|
||||
(lambda _
|
||||
(symlink (string-append #$output "/bin/org.gnome.Decibels")
|
||||
(string-append #$output "/bin/decibels")))))))
|
||||
(native-inputs
|
||||
(list blueprint-compiler
|
||||
gettext-minimal
|
||||
`(,glib "bin")
|
||||
pkg-config
|
||||
node-typescript))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
gjs
|
||||
gst-plugins-bad ;for GstPlay
|
||||
gstreamer
|
||||
libadwaita))
|
||||
(home-page "https://gitlab.gnome.org/GNOME/decibels")
|
||||
(synopsis "GNOME audio file player")
|
||||
(description "Decibels, also known as Audio Player, is an audio player
|
||||
focused on simplicity. It offers few advanced features such as:
|
||||
@itemize
|
||||
@item{An elegant waveform of the track.}
|
||||
@item{Adjustable playback speed.}
|
||||
@item{Easy seek controls.}
|
||||
@item{Playing multiple files at the same time.}
|
||||
@end itemize")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public dee
|
||||
(package
|
||||
(name "dee")
|
||||
@@ -983,7 +915,6 @@ tomorrow, the rest of the week and for special occasions.")
|
||||
gtk
|
||||
gvfs
|
||||
json-glib
|
||||
localsearch
|
||||
libadwaita
|
||||
libdazzle
|
||||
libmediaart
|
||||
@@ -991,7 +922,8 @@ tomorrow, the rest of the week and for special occasions.")
|
||||
python-pycairo
|
||||
python-pygobject
|
||||
python
|
||||
tinysparql))
|
||||
tracker
|
||||
tracker-miners))
|
||||
(synopsis "Simple music player for GNOME desktop")
|
||||
(description "GNOME Music is the new GNOME music playing application that
|
||||
aims to combine an elegant and immersive browsing experience with simple
|
||||
@@ -10480,7 +10412,6 @@ playing media, scanning, and much more.")
|
||||
(propagated-inputs
|
||||
(list baobab
|
||||
cheese
|
||||
decibels
|
||||
epiphany
|
||||
evince
|
||||
file-roller
|
||||
@@ -10514,7 +10445,7 @@ playing media, scanning, and much more.")
|
||||
dbus
|
||||
dconf
|
||||
desktop-file-utils
|
||||
font-adwaita
|
||||
font-abattis-cantarell
|
||||
font-dejavu
|
||||
gnome-default-applications
|
||||
gnome-online-accounts
|
||||
@@ -12541,7 +12472,7 @@ desktop environment.")
|
||||
(define-public gnome-boxes
|
||||
(package
|
||||
(name "gnome-boxes")
|
||||
(version "49.1")
|
||||
(version "48.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -12549,7 +12480,7 @@ desktop environment.")
|
||||
(version-major version) "/"
|
||||
"gnome-boxes-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1jj41r9ras2ys0r2cw8f5bs3nkz0fj1jl693sc5q50yhvl0qhism"))))
|
||||
(base32 "1q2zzq6hizz5dillhqqddddlyjz7wy1sffyj06mh9axdrpa5aaj1"))))
|
||||
(outputs '("out" "debug"))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
@@ -12565,7 +12496,11 @@ desktop environment.")
|
||||
(substitute* "src/installed-media.vala"
|
||||
(("qemu-img")
|
||||
(search-input-file inputs
|
||||
"/bin/qemu-img"))))))))
|
||||
"/bin/qemu-img")))))
|
||||
(add-before 'configure 'relax-gcc-14-strictness
|
||||
(lambda _
|
||||
(setenv "CFLAGS"
|
||||
"-g -O2 -Wno-error=int-conversion"))))))
|
||||
(native-inputs
|
||||
(list desktop-file-utils ;for update-desktop-database
|
||||
gettext-minimal
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
;;; Copyright © 2023 Jack Hill <jackhill@jackhill.us>
|
||||
;;; Copyright © 2023 Miguel Ángel Moreno <mail@migalmoreno.com>
|
||||
;;; Copyright © 2023 conses <contact@conses.eu>
|
||||
;;; Copyright © 2023, 2024, 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2023, 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info>
|
||||
;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
|
||||
;;; Copyright © 2024 Superfly Johnson <superfly.johnson@yahoo.com>
|
||||
@@ -182,31 +182,6 @@ can be ignored.")
|
||||
keys, no configuration options, and Unix-style composability.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-filippo-io-bigmod
|
||||
(package
|
||||
(name "go-filippo-io-bigmod")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/FiloSottile/bigmod")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "029h8qh9ym384q56aprm1if9arq7kmqdsv6l2wbjhkq8w307vd7r"))))
|
||||
(build-system go-build-system)
|
||||
(propagated-inputs
|
||||
(list go-golang-org-x-sys))
|
||||
(arguments
|
||||
'(#:import-path "filippo.io/bigmod"))
|
||||
(home-page "https://github.com/FiloSottile/bigmod")
|
||||
(synopsis "Constant-time library for big integers modulo a prime")
|
||||
(description "Bigmod is a constant-time library for big integers modulo a
|
||||
prime, usable for cryptographic applications. Exported from
|
||||
crypto/internal/bigmod, the backend of crypto/rsa and crypto/ecdsa.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-filippo-io-edwards25519
|
||||
(package
|
||||
(name "go-filippo-io-edwards25519")
|
||||
|
||||
@@ -1125,7 +1125,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(package
|
||||
(inherit go-1.24)
|
||||
(name "go")
|
||||
(version "1.25.8")
|
||||
(version "1.25.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1134,7 +1134,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(commit (string-append "go" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0vgz80mrxlkljr8ynficwvshinirqxbiv2ikscf941ladbv0g604"))))
|
||||
(base32 "0mjygpbswf91af07bbc1xpbw1adbcd210401rp5wpqv6d5rqn3jc"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments go-1.24)
|
||||
((#:phases phases)
|
||||
@@ -1170,7 +1170,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(package
|
||||
(inherit go-1.24)
|
||||
(name "go")
|
||||
(version "1.26.1")
|
||||
(version "1.26.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1179,7 +1179,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
||||
(commit (string-append "go" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1blfc89jxlr7n35j77i523k8rsxvz16f44qzd0h65c940zrrmf77"))))
|
||||
(base32 "1n37n62bg2kb39s4a5273lpmqk1n5f5yi6jgfm8m7489j11ay8rl"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments go-1.24)
|
||||
((#:phases phases)
|
||||
|
||||
+27
-43
@@ -338,14 +338,14 @@ another.")
|
||||
(define-public orc
|
||||
(package
|
||||
(name "orc")
|
||||
(version "0.4.42")
|
||||
(version "0.4.41")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gstreamer.freedesktop.org/data/src/"
|
||||
"orc/orc-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"03694b8jnaqhi9z49v45qchcbvp1i9maamn4fiwcjg5gb6mi5jby"))))
|
||||
"18kz8sc8vh0rzk0n221zc8km9pp9gdcjsr04phwwv2ajcm7zs6yb"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@@ -375,7 +375,7 @@ arrays of data.")
|
||||
(define-public gstreamer-docs
|
||||
(package
|
||||
(name "gstreamer-docs")
|
||||
(version "1.28.1")
|
||||
(version "1.26.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -383,7 +383,7 @@ arrays of data.")
|
||||
"/gstreamer-docs-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bp2rffj82a8c5l119dv4kxjkl1l35d9b0lynfc0vk2krcrb5xyv"))))
|
||||
"11q0yydchisd4c0jnqa6kmnf66kf25fim3l456krlwcy1qpsvd4j"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
@@ -435,7 +435,7 @@ the GStreamer multimedia framework.")
|
||||
(define-public gstreamer
|
||||
(package
|
||||
(name "gstreamer")
|
||||
(version "1.28.1")
|
||||
(version "1.26.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -444,7 +444,7 @@ the GStreamer multimedia framework.")
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0125cqbm5a2bhi37bzs6hgj89r057py3zhkmrfc8ggxx6px2ypmn"))))
|
||||
"1016z0znl2j43n08rl19zdhfvfsgnmg44qh8fk6dr4qj481icrnw"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:disallowed-references (list (this-package-native-input "python"))
|
||||
@@ -516,7 +516,7 @@ This package provides the core library and elements.")
|
||||
(define-public gst-plugins-base
|
||||
(package
|
||||
(name "gst-plugins-base")
|
||||
(version "1.28.1")
|
||||
(version "1.26.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -524,13 +524,11 @@ This package provides the core library and elements.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15r42ff1mwkj5p3z0dij6d9isi1q02gmjnp8i26xgx9gm71a8ihl"))
|
||||
(patches (search-patches "gst-plugins-base-null-pointer.patch"))))
|
||||
"0cvrq9767w0aqzinifbirbc95jg4i4md4b8f4b70hlq217pzkyaf"))))
|
||||
(build-system meson-build-system)
|
||||
(propagated-inputs
|
||||
(list glib ;required by gstreamer-sdp-1.0.pc
|
||||
gstreamer ;required by gstreamer-plugins-base-1.0.pc
|
||||
libdrm ;required by gstreamer-allocators-1.0.pc
|
||||
libgudev ;required by gstreamer-gl-1.0.pc
|
||||
;; wayland-client.h is referred to in
|
||||
;; include/gstreamer-1.0/gst/gl/wayland/gstgldisplay_wayland.h
|
||||
@@ -572,8 +570,9 @@ This package provides the core library and elements.")
|
||||
(lambda _
|
||||
(substitute* "tests/check/meson.build"
|
||||
;; This test causes nondeterministic failures (see:
|
||||
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/895>).
|
||||
((".*'elements/appsrc.c'.*") ""))
|
||||
;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/950).
|
||||
((".*'elements/appsrc.c'.*")
|
||||
""))
|
||||
;; Some other tests fail on other architectures.
|
||||
#$@(cond
|
||||
((target-x86-32?)
|
||||
@@ -625,7 +624,7 @@ for the GStreamer multimedia library.")
|
||||
(define-public gst-plugins-good
|
||||
(package
|
||||
(name "gst-plugins-good")
|
||||
(version "1.28.1")
|
||||
(version "1.26.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -634,7 +633,7 @@ for the GStreamer multimedia library.")
|
||||
"https://gstreamer.freedesktop.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "139n8in88003dbx4kv6i69zhl4bs07f1mf201q2n4yhvwjp2d3kk"))))
|
||||
(base32 "0lrwscda9yy8a61bv65c3392vb5m8phrl5i7bwgbprnz1rkwjkpy"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -745,14 +744,14 @@ model to base your own plug-in on, here it is.")
|
||||
(define-public gst-plugins-bad
|
||||
(package
|
||||
(name "gst-plugins-bad")
|
||||
(version "1.28.1")
|
||||
(version "1.26.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gstreamer.freedesktop.org/src/"
|
||||
name "/" name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18hk8gh97r2cwdazl5ikjwsczk3bkvr4z7nmjc45bdgqhwvmkhan"))
|
||||
"0qbmblksgl2nmbi6brw54b1bzziw9flvqk2zb576y9qlmyn8vi4m"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -958,7 +957,7 @@ par compared to the rest.")
|
||||
(define-public gst-plugins-ugly
|
||||
(package
|
||||
(name "gst-plugins-ugly")
|
||||
(version "1.28.1")
|
||||
(version "1.26.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -966,7 +965,7 @@ par compared to the rest.")
|
||||
(string-append "https://gstreamer.freedesktop.org/src/"
|
||||
name "/" name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0y2sz79ms498mag3rsvkng8q5pmg9f2v0njfq3zw7k1z0v5z70j0"))))
|
||||
(base32 "19fvv6rvrcvhw4lnx078xb4b85pzbwbrqwdk841sqd7pjpl5wzs1"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
|
||||
@@ -1015,7 +1014,7 @@ think twice about shipping them.")
|
||||
(define-public gst-libav
|
||||
(package
|
||||
(name "gst-libav")
|
||||
(version "1.28.1")
|
||||
(version "1.26.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1024,7 +1023,7 @@ think twice about shipping them.")
|
||||
"https://gstreamer.freedesktop.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "16zfxw6h865sqi71j47lllr3y7jlnwsrwmfxvjnxh3wdlfn1madz"))))
|
||||
(base32 "0kbjs8z545maj3j2qzgpg41v3yr53q1c852v80zbmf5rld87xnis"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list perl pkg-config python-wrapper ruby))
|
||||
(inputs (list ffmpeg))
|
||||
@@ -1038,7 +1037,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
|
||||
(define-public gst-editing-services
|
||||
(package
|
||||
(name "gst-editing-services")
|
||||
(version "1.28.1")
|
||||
(version "1.26.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -1046,7 +1045,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
|
||||
"gst-editing-services-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1p0ml4yyqs840l9zlgw41k1lh8z9jvaangap5azfwsrmw75h0q1x"))))
|
||||
"1lkgs5h76qzqfpqvi31vs5xr68bbi0kwkw2g0ahvcs1l5hysj86x"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1094,7 +1093,7 @@ given, also pass them to the build system instead of the ones used by PKG."
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'disable-auto-plugins
|
||||
(lambda _
|
||||
(substitute* "meson.options"
|
||||
(substitute* "meson_options.txt"
|
||||
(("'auto'") "'disabled'")))))))))))
|
||||
|
||||
(define-public gst-plugins-bad-minimal
|
||||
@@ -1108,14 +1107,14 @@ binary, but none of the actual plugins.")))
|
||||
(define-public gst-rtsp-server
|
||||
(package
|
||||
(name "gst-rtsp-server")
|
||||
(version "1.28.1")
|
||||
(version "1.26.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gstreamer.freedesktop.org/src/" name "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0cpqvdxr7falww14xblqs7la6q2f1z1zbli4vjdp9yqcy9mfil3c"))))
|
||||
(base32 "1ibg83sa0nswqan5fg378bg36jis5sn1dwfl1mvqjiw4m59qlpj1"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
@@ -1143,7 +1142,7 @@ RTSP connections and messages.")
|
||||
(define-public python-gst
|
||||
(package
|
||||
(name "python-gst")
|
||||
(version "1.28.1")
|
||||
(version "1.26.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -1151,7 +1150,7 @@ RTSP connections and messages.")
|
||||
"gst-python-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11bhdylgkfcgdlfcv61vyjp0f27sqp3i4y7d8c2a2nxrmnaylz6l"))))
|
||||
"04hv5pj8br56knvw1nsx74j1lpxskbm6znsdqac28iszqjkvjhwk"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1163,22 +1162,7 @@ RTSP connections and messages.")
|
||||
#:configure-flags
|
||||
#~(list (string-append
|
||||
"-Dpygi-overrides-dir="
|
||||
(py:site-packages %build-inputs %outputs) "/gi/overrides"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-problematic-tests
|
||||
(lambda _
|
||||
;; The 'fundamentals' test fails with a segmentation fault since
|
||||
;; 1.28.1 (see:
|
||||
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4937>).
|
||||
(substitute* "testsuite/meson.build"
|
||||
((".*'fundamentals',.*") ""))))
|
||||
(delete 'check) ;moved after install
|
||||
(add-after 'install 'check
|
||||
(assoc-ref %standard-phases 'check))
|
||||
(add-before 'check 'add-install-to-pythonpath
|
||||
;; Required for the 'plugins' test.
|
||||
(assoc-ref py:%standard-phases 'add-install-to-pythonpath)))))
|
||||
(py:site-packages %build-inputs %outputs) "/gi/overrides"))))
|
||||
(native-inputs
|
||||
(list pkg-config python))
|
||||
;; XXX: Move back to propagated-inputs once we no longer need to use
|
||||
|
||||
@@ -1672,6 +1672,62 @@ documents.")
|
||||
("guile-cairo" ,guile2.2-cairo)
|
||||
("guile-rsvg" ,guile2.2-rsvg)))))
|
||||
|
||||
(define-public guile-gnome
|
||||
(package
|
||||
(name "guile-gnome")
|
||||
(version "2.16.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "mirror://gnu/" name
|
||||
"/guile-gnome-platform/guile-gnome-platform-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gnf3j96nip5kl99a268i0dy1hj7s1cfs66sps3zwysnkd7qr399"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
at-spi2-core
|
||||
;;("corba" ,corba) ; not packaged yet
|
||||
gconf
|
||||
gobject-introspection
|
||||
;;("gthread" ,gthread) ; not packaged yet
|
||||
gnome-vfs
|
||||
gdk-pixbuf
|
||||
gtk+-2
|
||||
libglade
|
||||
libgnome
|
||||
libgnomecanvas
|
||||
libgnomeui
|
||||
pango
|
||||
libffi
|
||||
glib))
|
||||
(inputs (list guile-2.2))
|
||||
(propagated-inputs
|
||||
`(("guile-cairo" ,guile2.2-cairo)
|
||||
("g-wrap" ,g-wrap)
|
||||
("guile-lib" ,guile2.2-lib)))
|
||||
(arguments
|
||||
`(#:tests? #f ;FIXME
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-before 'configure 'pre-configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* (find-files "." "^Makefile.in$")
|
||||
(("guilesite :=.*guile/site" all)
|
||||
(string-append all "/@GUILE_EFFECTIVE_VERSION@")))
|
||||
#t))))))
|
||||
(outputs '("out" "debug"))
|
||||
(synopsis "Guile interface for GTK+ programming for GNOME")
|
||||
(description
|
||||
"Includes guile-clutter, guile-gnome-gstreamer,
|
||||
guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
|
||||
(home-page "https://www.gnu.org/software/guile-gnome/")
|
||||
(license license:gpl2+)
|
||||
(properties '((upstream-name . "guile-gnome-platform")
|
||||
(ftp-directory . "/gnu/guile-gnome/guile-gnome-platform")))))
|
||||
|
||||
;;;
|
||||
;;; C++ bindings.
|
||||
;;;
|
||||
|
||||
+116
-150
@@ -44,7 +44,7 @@
|
||||
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
|
||||
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
|
||||
;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2022, 2025-2026 Evgeny Pisemsky <mail@pisemsky.site>
|
||||
;;; Copyright © 2022, 2025 Evgeny Pisemsky <mail@pisemsky.site>
|
||||
;;; Copyright © 2022 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2023 Andrew Tropin <andrew@trop.in>
|
||||
;;; Copyright © 2024 Ilya Chernyshov <ichernyshovvv@gmail.com>
|
||||
@@ -169,13 +169,12 @@
|
||||
(name "artanis")
|
||||
(version "1.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://https.git.savannah.gnu.org/git/artanis.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"0qpksi681z10jsip8ka0phq5kmkpxfcy5nvm861dsbjb335klbb6"))
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/artanis/artanis-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16cwjyl0ykz6r7vvczrwaik6y4pc0fwc0hvwskfbgv9z71j2alzi"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -214,10 +213,7 @@
|
||||
(propagated-inputs
|
||||
(list guile-json-4 guile-curl guile-readline guile-redis))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
gnu-gettext ;for 'AC_LIB_LINKFLAGS_FROM_LIBS' macro
|
||||
bash-minimal ;for the `source' builtin
|
||||
(list bash-minimal ;for the `source' builtin
|
||||
pkg-config
|
||||
util-linux)) ;for the `script' command
|
||||
(arguments
|
||||
@@ -820,16 +816,16 @@ library for GNU Guile based on the actor model.")
|
||||
(name "guile-daemon")
|
||||
(version "0.1.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alezost/guile-daemon")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"0mdxdiwb52zgpz144vii8f4jdia8a7w1i1mpffw8zh3ghglfrjzl"))))
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/alezost/" name
|
||||
"/releases/download/v" version
|
||||
"/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08gaqrgjlly9k5si72vvpbr4xhq5v52l5ma5y6a7spid5dd057cy"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake texinfo pkg-config))
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list guile-3.0))
|
||||
(home-page "https://github.com/alezost/guile-daemon")
|
||||
@@ -1436,19 +1432,20 @@ HTML (via SXML) or any other format for rendering.")
|
||||
(name "guile-sjson")
|
||||
(version "0.2.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/dustyweb/guile-sjson")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"1npbla3vy1m0dqvr8gfzx1ncd2mp2cm59mnb7g490vak29kc8s9j"))
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dustycloud.org/misc/sjson-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08sr16fg5cqvik3wblav6k4b6djc5ydhgfvxa49bc5bh1irqvrcn"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Allow builds with Guile 3.0.
|
||||
#~(substitute* "configure.ac"
|
||||
(("2\\.2 2\\.0")
|
||||
"3.0 2.2 2.0")))))
|
||||
'(begin
|
||||
;; Allow builds with Guile 3.0.
|
||||
(substitute* "configure"
|
||||
(("2\\.2 2\\.0")
|
||||
"3.0 2.2 2.0"))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake pkg-config))
|
||||
@@ -1872,14 +1869,12 @@ types are supported.")
|
||||
(name "guile-aa-tree")
|
||||
(version "3.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://https.git.savannah.gnu.org/git/guile-aa-tree.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"0ghbrszjhv2abgpf11js6grqrri53frysf4360a5yvwhy9bb42pc"))))
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/guile-aa-tree/guile-aa-tree-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0044c105r3q9vpl17pv3phl1b79kjm1llhkakqgiasixyav01blh"))))
|
||||
(build-system guile-build-system)
|
||||
(inputs (list guile-3.0))
|
||||
(arguments
|
||||
@@ -2170,16 +2165,15 @@ allows users to interact with the Guile REPL through Jupyter.")
|
||||
(name "guile-sparql")
|
||||
(version "0.0.8")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/roelj/guile-sparql")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"0iy390dsa0rs6d4gapw1s03gz4zba26w5sdiyvnzlygwv0d1inww"))))
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/roelj/guile-sparql/releases/download/"
|
||||
version "/guile-sparql-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1jf4972f9fpm0rd865xpnc9mzl3xv6vhfnp0iygadydy905z9nln"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake texinfo pkg-config))
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list guile-3.0))
|
||||
(home-page "https://github.com/roelj/guile-sparql")
|
||||
@@ -2194,19 +2188,17 @@ using S-expressions.")
|
||||
(name "guile-debbugs")
|
||||
(version "0.0.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://https.git.savannah.gnu.org/git/guile-debbugs.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"0ipv3vywx02yhyssq5rp1bifg1qkydgh6kr16vfspxs601q8bbm2"))))
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/guile-debbugs/guile-debbugs-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cc63nw3xdfjrfk8c58r6d5lidmfq5cpqcy32yd5xp81yccprvn9"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
(list guile-email))
|
||||
(native-inputs
|
||||
(list autoconf automake texinfo guile-3.0 pkg-config))
|
||||
(list guile-3.0 pkg-config))
|
||||
(home-page "https://savannah.gnu.org/projects/guile-debbugs/")
|
||||
(synopsis "Guile interface to the Debbugs bug tracking service")
|
||||
(description
|
||||
@@ -2457,14 +2449,13 @@ written in pure Scheme by using Guile's foreign function interface.")
|
||||
(name "guile-xosd")
|
||||
(version "0.2.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alezost/guile-xosd")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/alezost/" name
|
||||
"/releases/download/v" version
|
||||
"/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jc88zg6icdg70mxbg732hx5by5bahqjm68yhx2ypqdqi7kqq1fk"))))
|
||||
"10r29bpyrsvjalnzkam2falj9k34lvxmch05zs606zp1nk93whp3"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@@ -2477,7 +2468,7 @@ written in pure Scheme by using Guile's foreign function interface.")
|
||||
(or (getenv "CPATH") "")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
(list autoconf automake libtool texinfo pkg-config))
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list guile-3.0 libx11 libxext libxinerama xosd))
|
||||
(home-page "https://github.com/alezost/guile-xosd")
|
||||
@@ -2521,6 +2512,10 @@ library}.")
|
||||
(assoc-ref %standard-phases 'check)))))
|
||||
(native-inputs (list autoconf automake libtool pkg-config))
|
||||
(inputs (list guile-3.0 yaml-cpp))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUILE_EXTENSIONS_PATH")
|
||||
(files (list "lib/guile/3.0")))))
|
||||
(home-page "https://gitlab.com/yorgath/guile-yamlpp")
|
||||
(synopsis "Guile YAML reader/writer based on @code{yaml-cpp}")
|
||||
(description
|
||||
@@ -3534,6 +3529,10 @@ wrap G-Golf applications when writing a Guix package.")))
|
||||
(install-file "socket.scm" share-dir))))
|
||||
(delete 'check)
|
||||
(delete 'install))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUILE_EXTENSIONS_PATH")
|
||||
(files (list "lib/guile/3.0")))))
|
||||
(inputs (list gcc guile-3.0))
|
||||
(synopsis "C bindings for UNIX sockets in multi-scheme (Guile, Gauche,
|
||||
Chicken) Wayland library")
|
||||
@@ -3607,6 +3606,10 @@ Probably can be replaced with guile's built-ins: @code{fdes->ports},
|
||||
(install-file "shm.scm" share-dir))))
|
||||
(delete 'check)
|
||||
(delete 'install))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUILE_EXTENSIONS_PATH")
|
||||
(files (list "lib/guile/3.0")))))
|
||||
(inputs (list gcc guile-3.0))
|
||||
(synopsis "C bindings for wayland shared memory (SHM) in multi-scheme
|
||||
(Guile, Gauche, Chicken) wayland library")
|
||||
@@ -3674,6 +3677,10 @@ Probably can be replaced with guile's built-in file-descriptor procedures.")
|
||||
(substitute* (list client-file)
|
||||
(("WAYLAND_BASE_PROTOCOL_PATH")
|
||||
core-protocol-file))))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUILE_EXTENSIONS_PATH")
|
||||
(files (list "lib/guile/3.0")))))
|
||||
(native-inputs (list guile-3.0 pkg-config texinfo autoconf automake))
|
||||
(inputs (list wayland wayland-protocols))
|
||||
(propagated-inputs (list guile-wayland-scm-socket guile-wayland-scm-shm))
|
||||
@@ -3688,22 +3695,15 @@ client bindings for Wayland.")
|
||||
(name "g-wrap")
|
||||
(version "1.9.15")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://https.git.savannah.gnu.org/git/g-wrap.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/g-wrap/g-wrap-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19bwqfk33djd51ijylvcmz3zz9pqvv1k7bk8k912b1bwbpfr3j0y"))))
|
||||
"0ak0bha37dfpj9kmyw1r8fj8nva639aw5xr66wr5gd3l1rqf5xhg"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
libtool
|
||||
gnu-gettext ;for 'AC_LIB_LINKFLAGS_FROM_LIBS' macro
|
||||
texinfo
|
||||
pkg-config))
|
||||
(list pkg-config))
|
||||
(propagated-inputs
|
||||
(list guile-2.2 guile-lib))
|
||||
(inputs
|
||||
@@ -3795,34 +3795,14 @@ quotes.")
|
||||
(name "guile-reader")
|
||||
(version "0.6.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://https.git.savannah.gnu.org/git/guile-reader.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/guile-reader/guile-reader-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0y3dq509hwm30ixb3cs3wci2lpni78438q7zz8f7way8vqp5164a"))))
|
||||
"0nqkk4x18i7p3k9jxld4fnk8d69bq9ag6hqsyjzbfw9fmhrh08kb"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'copy-config.rpath
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; This file is not automatically copied by 'autoreconf'.
|
||||
(let ((config-rpath (search-input-file
|
||||
inputs
|
||||
"/share/gettext/config.rpath")))
|
||||
(install-file config-rpath "build-aux")))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
libtool
|
||||
gnu-gettext ;for 'AC_LIB_LINKFLAGS_FROM_LIBS' macro
|
||||
texinfo
|
||||
pkg-config
|
||||
gperf))
|
||||
(native-inputs (list pkg-config gperf))
|
||||
(inputs (list guile-3.0))
|
||||
(synopsis "Framework for building readers for GNU Guile")
|
||||
(description
|
||||
@@ -3851,18 +3831,15 @@ many readers as needed).")
|
||||
(name "guile-ncurses")
|
||||
(version "3.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://https.git.savannah.gnu.org/git/guile-ncurses.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"00xhlca5s278i4g74qgks35ymisa98rhcj63bflja289gpb7j8wf"))))
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/guile-ncurses/guile-ncurses-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cypz1ikw66n8bc2klsnnaj1plpl22dwq6pwyc7dvffamz7fi2gf"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list ncurses guile-3.0))
|
||||
(native-inputs (list autoconf automake libtool texinfo pkg-config))
|
||||
(native-inputs (list pkg-config))
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
((guix build guile-build-system)
|
||||
@@ -3911,16 +3888,13 @@ library.")
|
||||
(name "guile-lib")
|
||||
(version "0.2.8.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://https.git.savannah.gnu.org/git/guile-lib.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"1f5a1mi1w487ia677nl8b6gixbgcavnbykzmgqs0yiyrc3w6vdcz"))
|
||||
(patches (search-patches
|
||||
"guile-lib-fix-tests-for-guile2.2.patch"))))
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/guile-lib/guile-lib-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ca95g15a88l7rpqcnzmhj1kyxc7gyfbvnni1hckv8z677cc4x0k"))
|
||||
(patches (search-patches "guile-lib-fix-tests-for-guile2.2.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags '("GUILE_AUTO_COMPILE=0") ;placate guild warnings
|
||||
@@ -3938,7 +3912,6 @@ $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
texinfo
|
||||
gettext-minimal
|
||||
guile-3.0
|
||||
pkg-config))
|
||||
@@ -4709,27 +4682,27 @@ a standalone WebAssembly toolchain.")
|
||||
(name "guile-file-names")
|
||||
(version "0.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/brandoninvergo/guile-file-names")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://brandon.invergo.net/software/download/"
|
||||
"guile-file-names/guile-file-names-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hmsbvbcl9a7366afcqi0pdhjhlq7l137nkmv1a5z9b8pcgzx90s"))))
|
||||
"01chizdxkhw6aqv629vxka9f5x3534ij7r0jqndawsg2vxm1r9sz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-target-directory
|
||||
(lambda _
|
||||
(substitute* "src/Makefile.am"
|
||||
(substitute* "src/Makefile.in"
|
||||
(("guilemoddir = \\$\\(GUILE_SITE\\)")
|
||||
"guilemoddir = $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n")))))))
|
||||
"guilemoddir = $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
|
||||
#t)))))
|
||||
(inputs
|
||||
(list guile-2.2))
|
||||
(native-inputs
|
||||
(list autoconf automake texinfo pkg-config))
|
||||
(list pkg-config))
|
||||
(home-page "https://gitlab.com/brandoninvergo/guile-file-names")
|
||||
(synopsis "Manipulate file names")
|
||||
(description
|
||||
@@ -5792,14 +5765,12 @@ processing filters.")
|
||||
(name "guile-cv")
|
||||
(version "0.4.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://https.git.savannah.gnu.org/git/guile-cv.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/guile-cv/guile-cv-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15qmhfiijca2468s8s9xhb0wskiy4wgym9p5jqi4xy30ddnpvyk2"))))
|
||||
"00620zxm1rxlws7vn1zp2zzcb6y6r3szzj6b4b9fyjb86k972izb"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -5813,7 +5784,8 @@ processing filters.")
|
||||
(("SITEDIR=\"\\$datadir/guile-cv\"")
|
||||
"SITEDIR=\"$datadir/guile/site/$GUILE_EFFECTIVE_VERSION\"")
|
||||
(("SITECCACHEDIR=\"\\$libdir/guile-cv/")
|
||||
"SITECCACHEDIR=\"$libdir/"))))
|
||||
"SITECCACHEDIR=\"$libdir/"))
|
||||
(delete-file "configure"))) ;trigger 'bootstrap' phase
|
||||
(add-after 'unpack 'substitute-libs
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(substitute* "cv/init.scm"
|
||||
@@ -6060,20 +6032,13 @@ implementation in itself.")
|
||||
(sha256
|
||||
(base32 "0g508aajkyi513wbhm1rhs03ilnb701lwlrvppkmc0vynydlk9ws"))))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'check
|
||||
(lambda _
|
||||
(invoke "guile" "--no-auto-compile" "run-tests.scm")
|
||||
(delete-file "run-tests.scm")
|
||||
(delete-file-recursively "tests")))
|
||||
(add-after 'build 'install-info-documentation
|
||||
(lambda _
|
||||
(invoke "makeinfo" "doc/guile-uuid.texi" "-o"
|
||||
(string-append #$output "/share/info/")))))))
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(add-before 'build 'remove-unnecessary-file
|
||||
(lambda _
|
||||
(delete-file "run-tests.scm")
|
||||
(delete-file-recursively "tests"))))))
|
||||
(build-system guile-build-system)
|
||||
(native-inputs (list guile-3.0 texinfo))
|
||||
(native-inputs (list guile-3.0))
|
||||
(propagated-inputs (list guile-gcrypt))
|
||||
(home-page "https://codeberg.org/elb/guile-uuid")
|
||||
(synopsis "UUID generation and manipulation library for Guile Scheme")
|
||||
@@ -6084,6 +6049,7 @@ standard hex-and-dash format of any variant and version.
|
||||
Conversion between binary and hex-and-dash string UUIDs is also included.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
|
||||
(define-public guile-semver
|
||||
(package
|
||||
(name "guile-semver")
|
||||
|
||||
@@ -638,7 +638,7 @@ RGB animations.")
|
||||
(define-public ddcutil
|
||||
(package
|
||||
(name "ddcutil")
|
||||
(version "2.2.5")
|
||||
(version "2.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -647,7 +647,7 @@ RGB animations.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0mmzfa0g726dmqrmyyysnzxrhdkd93ay4dzzv0kqkvgdcqizh5z8"))))
|
||||
(base32 "0wk82cdg7vddk6pbnn6qq3p71j4bppq13is2ck40glig08ax1bg5"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake libtool pkg-config))
|
||||
@@ -689,7 +689,7 @@ read/write access to i2c devices to users in the @samp{i2c} group.")
|
||||
(define-public ddcui
|
||||
(package
|
||||
(name "ddcui")
|
||||
(version "0.6.0")
|
||||
(version "0.5.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -698,7 +698,7 @@ read/write access to i2c devices to users in the @samp{i2c} group.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "13gqgswkkqbn1x97ayiwj4ds2rbdnw564c2rhpi89zymhc1azj19"))))
|
||||
(base32 "1hq19gdy9ybraclkqvv1nlf46irql5b6wrc1y6wi0ihkqly20vgz"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ; No test suite
|
||||
@@ -1813,7 +1813,7 @@ package also includes @code{usbrelayd}.")))
|
||||
(define-public guile-usbrelay
|
||||
(package
|
||||
(name "guile-usbrelay")
|
||||
(version "0.1.1")
|
||||
(version "0.1.0")
|
||||
(home-page "https://codeberg.org/pisemsky/guile-usbrelay")
|
||||
(source
|
||||
(origin
|
||||
@@ -1823,7 +1823,7 @@ package also includes @code{usbrelayd}.")))
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1nghzsash3z398p2bp2vw0a1rzaclq9a6iqxbm7ffyzbldcca81l"))))
|
||||
(base32 "0ndgkazv9bnyj45pccym11245c65hlvsvzmx0acpzlywz7xxyy72"))))
|
||||
(build-system guile-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1831,19 +1831,9 @@ package also includes @code{usbrelayd}.")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'compile-ffi
|
||||
(lambda _
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "GUILE_AUTO_COMPILE" "0")
|
||||
(invoke "guild" "compile-ffi" "--no-exec"
|
||||
"modules/usbrelay/ffi/hidapi.ffi")))
|
||||
(add-after 'build 'install-udev-rules
|
||||
(lambda _
|
||||
(let ((rules (string-append #$output "/lib/udev/rules.d")))
|
||||
(mkdir-p rules)
|
||||
(call-with-output-file (string-append rules "/50-usbrelay.rules")
|
||||
(lambda (port)
|
||||
(display (string-append
|
||||
"ATTRS{idVendor}==\"16c0\", ATTRS{idProduct}==\"05df\", "
|
||||
"MODE=\"0660\", GROUP=\"usbrelay\"\n") port)))))))))
|
||||
(invoke "guile" "make.scm"))))))
|
||||
(native-inputs (list gcc guile-3.0 nyacc pkg-config))
|
||||
(inputs (list hidapi))
|
||||
(propagated-inputs (list nyacc))
|
||||
|
||||
+3
-48
@@ -63,49 +63,6 @@ as approved and published by the @acronym{VHDL, Very High Speed Hardware
|
||||
Description Language} Analysis and Standardization Group.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public json-for-vhdl
|
||||
;; No tagged releases.
|
||||
(let ((commit "0dc9e317440263cd4941f157f5e5668baa858ec2")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "json-for-vhdl")
|
||||
(version (git-version "20220905" revision commit)) ;last revision
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Paebbels/JSON-for-VHDL/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1062g2c3dpsb67zhqrn1j04p7jl28g4mcxd6nhrqqfffjsvxkpw9"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("src" "share/json-for-vhdl/work/src"
|
||||
#:include ("vhdl")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; The examples/Encodings_VUnit test requires vhdl builtins.
|
||||
(add-after 'unpack 'fix-check
|
||||
(lambda _
|
||||
(substitute* "tests/VUnit/run.py"
|
||||
(("from_argv\\(\\)")
|
||||
"from_argv()\nvu.add_vhdl_builtins()")))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "FW_JSON_VHDL")
|
||||
(separator #f)
|
||||
(files (list "share/json-for-vhdl")))))
|
||||
(home-page "https://github.com/Paebbels/JSON-for-VHDL/")
|
||||
(synopsis "Parse and query JSON data structures in VHDL")
|
||||
(description
|
||||
"The JSON-for-VHDL library provides a parser to query JSON data
|
||||
structures from external files on disk. It provides a context to be
|
||||
used in the declarative section of design units.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public neorv32
|
||||
(package
|
||||
(name "neorv32")
|
||||
@@ -173,7 +130,7 @@ chip written in platform-independent VHDL.")
|
||||
(define-public open-logic
|
||||
(package
|
||||
(name "open-logic")
|
||||
(version "4.4.1")
|
||||
(version "4.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -185,7 +142,7 @@ chip written in platform-independent VHDL.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zydrmx35s3mi35im4s4lfd9mmzdwdrnxfh9fg4d12v4ai7ijfrk"))))
|
||||
"01kxrglbq50v73796iq9a1vi68i8k2wykk7gga9847smfznqwjwr"))))
|
||||
(outputs
|
||||
'("out" "olo"))
|
||||
(properties
|
||||
@@ -202,7 +159,6 @@ chip written in platform-independent VHDL.")
|
||||
(setenv "HOME" "/tmp")
|
||||
(with-directory-excursion "3rdParty/en_cl_fix/sim"
|
||||
(invoke "python3" "run.py" "--simulator" "nvc"
|
||||
"-p" (number->string (parallel-job-count))
|
||||
"--simulator-path"
|
||||
(dirname (search-input-file inputs "bin/nvc"))))
|
||||
(with-directory-excursion "sim"
|
||||
@@ -211,8 +167,7 @@ chip written in platform-independent VHDL.")
|
||||
;; https://github.com/VUnit/vunit/issues/777
|
||||
(("compile_builtins=False, ")
|
||||
""))
|
||||
(invoke "python3" "run.py" "--nvc" "-v"
|
||||
"-p" (number->string (parallel-job-count))))))))
|
||||
(invoke "python3" "run.py" "--nvc" "-v"))))))
|
||||
#:install-plan
|
||||
#~'(;; Library work.
|
||||
("src" "share/open-logic/work/src"
|
||||
|
||||
@@ -58,7 +58,6 @@
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages tls))
|
||||
|
||||
(define-public hexedit
|
||||
@@ -255,11 +254,11 @@ for specifying patterns in the ImHex Hex Editor.")
|
||||
(sha256 sha256-hash)))
|
||||
|
||||
(define-public imhex
|
||||
(let* ((version "1.38.1")
|
||||
(let* ((version "1.37.4")
|
||||
(imhex-patterns
|
||||
(make-imhex-patterns
|
||||
version
|
||||
(base32 "14c0w3pj3bcrwd6c5b0lbwdxbw003dcmyj5a4d86hab53v6hg91j"))))
|
||||
(base32 "0m9g93fzmj2rsgaq25y4mmfigjh1xxyh41zjs6lp5ydsl5hhrn6q"))))
|
||||
(package
|
||||
(name "imhex")
|
||||
(version version)
|
||||
@@ -272,7 +271,7 @@ for specifying patterns in the ImHex Hex Editor.")
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "17aj8k2zbj78347rvfdy9gassw7kz9xj5vj30skvs5w4gf4lajln"))
|
||||
(base32 "0l3fpizkz2ykdirbn9alddnnsg75w6kwpp92nvmird13l80z1sdr"))
|
||||
(modules '((guix build utils) (ice-9 ftw) (ice-9 match)))
|
||||
(snippet
|
||||
#~(begin
|
||||
@@ -301,7 +300,6 @@ for specifying patterns in the ImHex Hex Editor.")
|
||||
"imgui"
|
||||
;; Needs source to include miniaudio.h
|
||||
"miniaudio"
|
||||
"md4c"
|
||||
"microtar")) ; XXX: unbundle
|
||||
(delete-file-recursively dir)))
|
||||
(scandir "."))
|
||||
@@ -358,7 +356,7 @@ for specifying patterns in the ImHex Hex Editor.")
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-paths
|
||||
(lambda _
|
||||
(substitute* "main/gui/source/window/platform/linux.cpp"
|
||||
(substitute* "main/gui/source/window/linux_window.cpp"
|
||||
(("dbus-send")
|
||||
#$(file-append dbus "/bin/dbus-send")))
|
||||
(substitute* "cmake/build_helpers.cmake"
|
||||
@@ -382,12 +380,9 @@ for specifying patterns in the ImHex Hex Editor.")
|
||||
curl
|
||||
edlib
|
||||
fmt
|
||||
;; ImHex supports Wayland on GLFW >= 3.4. More info in:
|
||||
;; https://github.com/WerWolv/ImHex/issues/1941#issuecomment-2446252019
|
||||
glfw-3.4
|
||||
glfw
|
||||
libarchive
|
||||
libffi
|
||||
libssh2
|
||||
llvm-17
|
||||
lunasvg
|
||||
plutovg
|
||||
@@ -395,7 +390,6 @@ for specifying patterns in the ImHex Hex Editor.")
|
||||
mesa
|
||||
miniaudio
|
||||
nativefiledialog-extended
|
||||
openssl
|
||||
xz
|
||||
fontconfig
|
||||
lz4
|
||||
|
||||
@@ -2003,6 +2003,28 @@ bindings for interpreted languages. This package includes the C++,
|
||||
Python and R interfaces.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public stiff
|
||||
(package
|
||||
(name "stiff")
|
||||
(version "2.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.astromatic.net/download/stiff/stiff-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "14m92dskzw7bwsr64ha4p0mj3ndv13gwcbfic3qxrs3zq5353s7l"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list libtiff zlib libjpeg-turbo))
|
||||
(home-page "https://www.astromatic.net/software/stiff")
|
||||
(synopsis "Convert scientific FITS images to TIFF format")
|
||||
(description
|
||||
"STIFF is a program that converts scientific @acronym{FITS, Flexible Image
|
||||
Transport System} images to the more popular TIFF format for illustration
|
||||
purposes.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-imgviz
|
||||
(package
|
||||
(name "python-imgviz")
|
||||
|
||||
@@ -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 "20260228165433")
|
||||
(define %librewolf-build-id "20260310145002")
|
||||
|
||||
(define-public librewolf
|
||||
(package
|
||||
(name "librewolf")
|
||||
(version "148.0-1")
|
||||
(version "148.0.2-1")
|
||||
(source
|
||||
(make-librewolf-source
|
||||
#:version version
|
||||
#:firefox-hash "0vybaiiknrzk2zvg46w5sxb0i0m9rmy4msvpxklxpdr3182fb4zc"
|
||||
#:librewolf-hash "02sraza4xy4cp559nlc51m1vwhi52l58i3zz2h95lwymyvc5hv17"
|
||||
#:firefox-hash "142f4k4ykcm65kbvj60p472103r4k79v9fdsfljdav2rbr6qxjx6"
|
||||
#:librewolf-hash "0c664ci4j5xpqjf07bs8vcrl2scscc35sdcasd1aqn4fdssmghmq"
|
||||
#:l10n firefox-l10n))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
+17
-402
@@ -530,32 +530,32 @@ 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.6")
|
||||
(define-public linux-libre-6.19-version "6.19.5")
|
||||
(define-public linux-libre-6.19-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.19
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-6.19-version
|
||||
linux-libre-6.19-gnu-revision
|
||||
(base32 "0zl5352xsv12xkqrfygp5kd8nvjq718pg5iaz64y675abymacp8v")
|
||||
(base32 "0y9rb4mm1n83h9wa68ivbpqj13va3vv5954j2ywqm7apwpx9ini2")))
|
||||
(base32 "1awsjh9qs5inrwj34kzkrfvvysdaka6dnbilpn1ai66r6dqc2810")))
|
||||
(define-public linux-libre-6.19-pristine-source
|
||||
(let ((version linux-libre-6.19-version)
|
||||
(hash (base32 "051fq8mkb7sf3m24a45cacr73fmpljfdn0pgjh0qrxhl6bvkz7sd")))
|
||||
(hash (base32 "1yig0i2q7vn7p8g4lmkviddxi62mzhp0fv2hx3057qq9qz40bblm")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.19)))
|
||||
|
||||
(define-public linux-libre-6.18-version "6.18.16")
|
||||
(define-public linux-libre-6.18-version "6.18.15")
|
||||
(define-public linux-libre-6.18-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.18
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-6.18-version
|
||||
linux-libre-6.18-gnu-revision
|
||||
(base32 "1piyq7183bdf169w66k62yr1vbs0ls7pqx3cyyk7hisw8vhy643j")
|
||||
(base32 "1wnlnds2hgap36a0licjyjzyhhggbgp83dc9xbbw07y8jwmc17ai")))
|
||||
(base32 "1xdz33lshw1xs6a5qiwhvxzdh2a0acll1zdyk2mnn9d4579a4gn1")))
|
||||
(define-public linux-libre-6.18-pristine-source
|
||||
(let ((version linux-libre-6.18-version)
|
||||
(hash (base32 "1qwfsbr315c6qh3hnqmyjwjcj0h8j3w56hbrxnrx3h849lgw08ag")))
|
||||
(hash (base32 "0w7iy9mx1b42q4qz6y9rvny7nmvpwq0mf6b9vv84w4y4qcb64wbw")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.18)))
|
||||
@@ -564,22 +564,22 @@ 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.76")
|
||||
(define-public linux-libre-6.12-version "6.12.74")
|
||||
(define-public linux-libre-6.12-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.12
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-6.12-version
|
||||
linux-libre-6.12-gnu-revision
|
||||
(base32 "168aykyvyyp34549hqhlprl0n052q8wdb2y3vyxqw40wpf2vw3ln")
|
||||
(base32 "1v6glxf94p9z0yq5m102jwcpyh6anpbp3h8wwff9hxlfy2wdlzzk")))
|
||||
(base32 "1wyfggr9q0f10yr3nxsvx3nd3wscp5145fgxw0ps0b09ckcyr2mi")))
|
||||
(define-public linux-libre-6.12-pristine-source
|
||||
(let ((version linux-libre-6.12-version)
|
||||
(hash (base32 "15nq7agr492b9lh57xp10hs48dx9g7k253y2lm4vvrj69j1kxd5v")))
|
||||
(hash (base32 "0gm1mjn203gc11dqk82fkbsr96bnwcxq4sx5khc7yhwsvjqywmiv")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.12)))
|
||||
|
||||
(define-public linux-libre-6.6-version "6.6.129")
|
||||
(define-public linux-libre-6.6-version "6.6.127")
|
||||
(define-public linux-libre-6.6-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.6
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -589,12 +589,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "0z47f6mkllk1fgpq04x73djl5gh3mj50bxj2rpg4jlzm0rcirrag")))
|
||||
(define-public linux-libre-6.6-pristine-source
|
||||
(let ((version linux-libre-6.6-version)
|
||||
(hash (base32 "12j42awg44w97zq8fzifpm300jm9q9ya7qkpn7xbnkr2480qz86a")))
|
||||
(hash (base32 "1zn9z3ghjyff71s3yabfanrgyks3wnmn1p5w6301rczhnjbrrkd7")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.6)))
|
||||
|
||||
(define-public linux-libre-6.1-version "6.1.166")
|
||||
(define-public linux-libre-6.1-version "6.1.164")
|
||||
(define-public linux-libre-6.1-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.1
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -604,12 +604,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1jiwwl5sgpc16x0v6phbknv94mc46gvwgc2z8s4pdgn4j54yrd8v")))
|
||||
(define-public linux-libre-6.1-pristine-source
|
||||
(let ((version linux-libre-6.1-version)
|
||||
(hash (base32 "0jcl12gjlfdf9pwqg1m84rzwnrj3grxxgk5blrq8zlaq45sgr3c1")))
|
||||
(hash (base32 "074xlcrx5lvbkbwgahfvjlvak0j1nig9azfxfdl64zxzgdzhigrk")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.1)))
|
||||
|
||||
(define-public linux-libre-5.15-version "5.15.202")
|
||||
(define-public linux-libre-5.15-version "5.15.201")
|
||||
(define-public linux-libre-5.15-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.15
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -619,12 +619,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1s6km2r2mad0wpf7nqn4rqsykw1lm386l1yskmil24239fbva1f1")))
|
||||
(define-public linux-libre-5.15-pristine-source
|
||||
(let ((version linux-libre-5.15-version)
|
||||
(hash (base32 "1m6d53qx1ah4jwpa8hwjdmq0jn2hf7xmz1li6rwpdqjp97vvvh8b")))
|
||||
(hash (base32 "15hv8rqgr6ca9rnbpb6hvzskqvb4h8x3w6nl4y2npbfsxpxzyajg")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.15)))
|
||||
|
||||
(define-public linux-libre-5.10-version "5.10.252")
|
||||
(define-public linux-libre-5.10-version "5.10.251")
|
||||
(define-public linux-libre-5.10-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.10
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -634,7 +634,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1hgza8fsps7bkjf4i0f2xgvrh1r183z3i6lxrr2nr8qbi5d13qs7")))
|
||||
(define-public linux-libre-5.10-pristine-source
|
||||
(let ((version linux-libre-5.10-version)
|
||||
(hash (base32 "1yqa4zmvi5ihf50kxcff06abfi6xw0b9ajzagvy6gdzfr7igpcrl")))
|
||||
(hash (base32 "00ac9gzidby7b82s2prq4c3w99a077f5li4v4yq8gdg3zqjpd1g6")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.10)))
|
||||
@@ -931,16 +931,6 @@ ARCH and optionally VARIANT, or #f if there is no such configuration."
|
||||
("CONFIG_FUSE_FS" . m)
|
||||
("CONFIG_CIFS" . m)
|
||||
("CONFIG_9P_FS" . m)
|
||||
;; Enable DMABUF used by wayland, pipewire and libcamera
|
||||
;; https://codeberg.org/guix/guix/issues/5995
|
||||
("CONFIG_UDMABUF" . #t)
|
||||
("CONFIG_DMABUF_MOVE_NOTIFY" . #t)
|
||||
("CONFIG_DMABUF_HEAPS" . #t)
|
||||
("CONFIG_DMABUF_HEAPS_SYSTEM" . #t)
|
||||
("CONFIG_DMABUF_HEAPS_CMA" . #t)
|
||||
,@(if (version>=? version "6.17")
|
||||
'(("CONFIG_DMABUF_HEAPS_CMA_LEGACY" . #t))
|
||||
'())
|
||||
;; 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
|
||||
@@ -1483,48 +1473,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
("CONFIG_VHOST_VDPA" . m))
|
||||
(default-extra-linux-options linux-libre-lts-version))))
|
||||
|
||||
(define-public reform-debian-packages-for-6.19
|
||||
(package
|
||||
(name "reform-debian-packages")
|
||||
(version "2023-07-10-537-g032a28b") ;from git describe
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://source.mnt.re/reform/reform-debian-packages.git")
|
||||
(commit "032a28b6c8b48077523ea1631cde65b763ab3c43")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "084xnykhnhpbb0kd5wr4nml08g4gjy7jqzrdb9i0chbfx12fnnyr"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("linux/patches6.19/" "/patches6.19")
|
||||
("linux/" "/dts/amlogic"
|
||||
#:include-regexp ("meson.*\\.dts$"))
|
||||
("linux/" "/dts/freescale"
|
||||
#:include-regexp ("imx8.*\\.dts$"))
|
||||
("linux/" "/dts/freescale"
|
||||
#:include-regexp ("fsl.*\\.dts$"))
|
||||
("linux/" "/dts/rockchip"
|
||||
#:include-regexp ("rk3588.*\\.dts$"))
|
||||
("linux/config" "config"))))
|
||||
(home-page "https://source.mnt.re/reform/reform-debian-packages")
|
||||
(synopsis
|
||||
"Linux kernel patches and device-trees used for MNT Reform systems")
|
||||
(description
|
||||
"Linux kernel patches and device-trees used for the MNT Reform systems")
|
||||
(license (list
|
||||
(license:fsf-free "file://filter-output"
|
||||
"https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html")
|
||||
license:bsd-2
|
||||
license:expat
|
||||
license:gpl2
|
||||
license:gpl2+
|
||||
license:gpl3
|
||||
license:x11))))
|
||||
|
||||
(define-public reform-debian-packages-for-6.18
|
||||
(package
|
||||
(name "reform-debian-packages")
|
||||
@@ -1609,321 +1557,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
license:gpl3
|
||||
license:x11))))
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform-6.19
|
||||
;; Kernel for use on the MNT/Reform systems
|
||||
;; https://mntre.com/reform.html
|
||||
(let ((base (make-linux-libre* linux-libre-6.19-version
|
||||
linux-libre-6.19-gnu-revision
|
||||
linux-libre-6.19-source
|
||||
'("aarch64-linux")
|
||||
#:extra-version "arm64-mnt-reform"
|
||||
#:extra-options
|
||||
;; https://source.mnt.re/reform/reform-debian-packages/-/blob/main/linux/config
|
||||
(append `(("CONFIG_DRM_LVDS_CODEC" . m)
|
||||
("CONFIG_DRM_CDNS_MHDP8546" . m)
|
||||
("CONFIG_DRM_CDNS_HDMI_CEC" . m)
|
||||
("CONFIG_DRM_IMX_CDNS_MHDP" . m)
|
||||
("CONFIG_DRM_IMX_DCSS" . m)
|
||||
("CONFIG_PHY_FSL_IMX8MQ_HDPTX" . m)
|
||||
("CONFIG_DRM_PANEL_LVDS" . m)
|
||||
("CONFIG_I2C_IMX_LPI2C" . m)
|
||||
("CONFIG_I2C_MUX_REG" . m)
|
||||
("CONFIG_INTERCONNECT_IMX" . #true)
|
||||
("CONFIG_INTERCONNECT_IMX8MQ" . #true)
|
||||
("CONFIG_MFD_WM8994" . m)
|
||||
("CONFIG_MUX_GPIO" . m)
|
||||
("CONFIG_MUX_MMIO" . m)
|
||||
("CONFIG_RTC_DRV_PCF8523" . m)
|
||||
("CONFIG_USB_EHCI_FSL" . m)
|
||||
("CONFIG_NO_HZ_IDLE" . #true)
|
||||
("CONFIG_SND_SOC_FSL_MICFIL" . m)
|
||||
("CONFIG_SND_IMX_SOC" . m)
|
||||
("CONFIG_SND_SOC_FSL_ASOC_CARD" . m)
|
||||
("CONFIG_SND_SOC_IMX_AUDMIX" . m)
|
||||
("CONFIG_SND_SOC_IMX_HDMI" . m)
|
||||
("CONFIG_INPUT_JOYSTICK" . #true)
|
||||
("CONFIG_JOYSTICK_XPAD" . m)
|
||||
("CONFIG_JOYSTICK_XPAD_FF" . #true)
|
||||
("CONFIG_JOYSTICK_XPAD_LEDS" . #true)
|
||||
("CONFIG_INTERCONNECT_IMX8MP" . #true)
|
||||
("CONFIG_SND_SOC_FSL_ASRC" . #true)
|
||||
("CONFIG_DRM_IMX_LCDIF" . #true)
|
||||
("CONFIG_DRM_IMX8MP_DW_HDMI_BRIDGE" . #true)
|
||||
("CONFIG_DRM_IMX8MP_HDMI_PVI" . #true)
|
||||
("CONFIG_IMX8MM_THERMAL" . #true)
|
||||
("CONFIG_IMX2_WDT" . #true)
|
||||
("CONFIG_DRM_SAMSUNG_DSIM" . #true)
|
||||
("CONFIG_PHY_FSL_SAMSUNG_HDMI_PHY" . #true)
|
||||
("CONFIG_DRM" . #true)
|
||||
("CONFIG_DRM_PANEL_MNT_POCKET_REFORM" . #true)
|
||||
("CONFIG_IMX8M_BLK_CTRL" . #true)
|
||||
("CONFIG_IMX_GPCV2_PM_DOMAINS" . #true)
|
||||
("CONFIG_DRM_DISPLAY_CONNECTOR" . #true)
|
||||
("CONFIG_DRM_FSL_LDB" . #true)
|
||||
("CONFIG_BACKLIGHT_CLASS_DEVICE" . #true)
|
||||
("CONFIG_BACKLIGHT_PWM" . #true)
|
||||
("CONFIG_BACKLIGHT_GPIO" . #true)
|
||||
("CONFIG_BACKLIGHT_LED" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_PERFORMANCE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_POWERSAVE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_USERSPACE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_ONDEMAND" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_CONSERVATIVE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_SCHEDUTIL" . #true)
|
||||
("CONFIG_ARM_IMX_CPUFREQ_DT" . #true)
|
||||
("CONFIG_ARM_IMX_BUS_DEVFREQ" . #true)
|
||||
("CONFIG_IMX_IRQSTEER" . #true)
|
||||
("CONFIG_PCI_MESON" . #true)
|
||||
("CONFIG_DWMAC_MESON" . #true)
|
||||
("CONFIG_MDIO_BUS_MUX_MESON_G12A" . #true)
|
||||
("CONFIG_GPIO_ROCKCHIP" . #true)
|
||||
("CONFIG_PL330_DMA" . #true)
|
||||
("CONFIG_I2C_MESON" . #true)
|
||||
("CONFIG_PWM_MESON" . #true)
|
||||
("CONFIG_USB_DWC3_MESON_G12A" . #true)
|
||||
("CONFIG_MMC_MESON_GX" . #true)
|
||||
("CONFIG_MMC_MESON_MX_SDIO" . #true)
|
||||
("CONFIG_MESON_DDR_PMU" . #true)
|
||||
("CONFIG_RTW88_8822CS" . m)
|
||||
("CONFIG_PWM_FSL_FTM" . #true)
|
||||
("CONFIG_FSL_RCPM" . #true)
|
||||
("CONFIG_ARM_ROCKCHIP_CPUFREQ" . m)
|
||||
("CONFIG_DRM_PANTHOR" . m)
|
||||
("CONFIG_NVMEM_ROCKCHIP_OTP" . #true)
|
||||
("CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX" . m)
|
||||
("CONFIG_PHY_ROCKCHIP_USBDP" . m)
|
||||
("CONFIG_ROCKCHIP_REGULATOR_COUPLER" . #true)
|
||||
("CONFIG_SPI_ROCKCHIP" . #true)
|
||||
("CONFIG_SPI_ROCKCHIP_SFC" . m)
|
||||
("CONFIG_ARM_SCMI_CPUFREQ" . m)
|
||||
("CONFIG_PHY_ROCKCHIP_SAMSUNG_DCPHY" . #true)
|
||||
("CONFIG_VIDEO_ROCKCHIP_VDEC2" . m)
|
||||
("CONFIG_ROCKCHIP_DW_HDMI_QP" . #true)
|
||||
("CONFIG_ROCKCHIP_DW_MIPI_DSI2" . #true)
|
||||
;; Fixes https://codeberg.org/guix/guix/issues/101
|
||||
("CONFIG_CRYPTO_USER_API_HASH" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_SKCIPHER" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_RNG" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_AEAD" . #true)
|
||||
("CONFIG_KEY_DH_OPERATIONS" . #true)
|
||||
;; nftables support
|
||||
("CONFIG_NF_TABLES" . m)
|
||||
("CONFIG_NF_TABLES_INET" . #true)
|
||||
("CONFIG_NF_TABLES_NETDEV" . #true)
|
||||
("CONFIG_NF_TABLES_IPV4" . #true)
|
||||
("CONFIG_NF_TABLES_ARP" . #true)
|
||||
("CONFIG_NF_TABLES_IPV6" . #true)
|
||||
("CONFIG_NF_TABLES_BRIDGE" . m)
|
||||
("CONFIG_NFT_NUMGEN" . m)
|
||||
("CONFIG_NFT_CT" . m)
|
||||
("CONFIG_NFT_FLOW_OFFLOAD" . m)
|
||||
("CONFIG_NFT_CONNLIMIT" . m)
|
||||
("CONFIG_NFT_LOG" . m)
|
||||
("CONFIG_NFT_LIMIT" . m)
|
||||
("CONFIG_NFT_MASQ" . m)
|
||||
("CONFIG_NFT_REDIR" . m)
|
||||
("CONFIG_NFT_NAT" . m)
|
||||
("CONFIG_NFT_TUNNEL" . m)
|
||||
("CONFIG_NFT_QUEUE" . m)
|
||||
("CONFIG_NFT_QUOTA" . m)
|
||||
("CONFIG_NFT_REJECT" . m)
|
||||
("CONFIG_NFT_REJECT_INET" . m)
|
||||
("CONFIG_NFT_COMPAT" . m)
|
||||
("CONFIG_NFT_HASH" . m)
|
||||
("CONFIG_NFT_FIB" . m)
|
||||
("CONFIG_NFT_FIB_INET" . m)
|
||||
("CONFIG_NFT_XFRM" . m)
|
||||
("CONFIG_NFT_SOCKET" . m)
|
||||
("CONFIG_NFT_OSF" . m)
|
||||
("CONFIG_NFT_TPROXY" . m)
|
||||
("CONFIG_NFT_SYNPROXY" . m)
|
||||
("CONFIG_NFT_DUP_NETDEV" . m)
|
||||
("CONFIG_NFT_FWD_NETDEV" . m)
|
||||
("CONFIG_NFT_FIB_NETDEV" . m)
|
||||
("CONFIG_NFT_REJECT_NETDEV" . m)
|
||||
("CONFIG_NFT_REJECT_IPV4" . m)
|
||||
("CONFIG_NFT_DUP_IPV4" . m)
|
||||
("CONFIG_NFT_FIB_IPV4" . m)
|
||||
("CONFIG_NFT_COMPAT_ARP" . m)
|
||||
("CONFIG_NFT_REJECT_IPV6" . m)
|
||||
("CONFIG_NFT_DUP_IPV6" . m)
|
||||
("CONFIG_NFT_FIB_IPV6" . m)
|
||||
("CONFIG_NFT_BRIDGE_META" . m)
|
||||
("CONFIG_NFT_BRIDGE_REJECT" . m)
|
||||
;; Provides support for FBCON options
|
||||
("CONFIG_FRAMEBUFFER_CONSOLE_ROTATION" . #true)
|
||||
("CONFIG_HIDRAW" . #true)
|
||||
("CONFIG_FONT_SUPPORT" . #true)
|
||||
("CONFIG_FONTS" . #true)
|
||||
("CONFIG_FONT_8x8" . #true)
|
||||
("CONFIG_FONT_8x16" . #true)
|
||||
("CONFIG_FONT_TER10x18" . #true)
|
||||
("CONFIG_FONT_TER16x32" . #true)
|
||||
;; Provide support for USB tethering
|
||||
("CONFIG_USB_NET_CDC_EEM" . m)
|
||||
("CONFIG_USB_NET_RNDIS_HOST" . m)
|
||||
("CONFIG_USB_WDM" . m)
|
||||
("CONFIG_USB_GADGET" . m)
|
||||
("CONFIG_USB_ETH" . m)
|
||||
("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))
|
||||
(default-extra-linux-options
|
||||
linux-libre-6.19-version)))))
|
||||
(package
|
||||
(inherit base)
|
||||
(inputs (list reform-debian-packages-for-6.19))
|
||||
(synopsis (string-append (package-synopsis base)
|
||||
" for MNT/Reform systems"))
|
||||
(description (string-append (package-description base)
|
||||
" Configuration options and patches have been applied for use with MNT/Reform systems."))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'apply-reform-patches
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(for-each (lambda (patch)
|
||||
(invoke "patch" "-p1" "-i"
|
||||
(search-input-file inputs
|
||||
(string-append
|
||||
"patches6.19/" patch))))
|
||||
(list
|
||||
"imx8mp-mnt-pocket-reform/2ghz/0001-imx8mp-2ghz-clk.patch"
|
||||
"imx8mp-mnt-pocket-reform/2ghz/0002-imx8mp-2ghz-opp.patch"
|
||||
"imx8mp-mnt-pocket-reform/audio/0000-revert-crashy-audiomix-pm-support.patch"
|
||||
"imx8mp-mnt-pocket-reform/mmc-sdio/0001-sdhci-add-no-sd-uhs-sdr104-devicetree-property.patch"
|
||||
"imx8mp-mnt-pocket-reform/mmc-sdio/0002-During-the-card-init-the-host-side-sometimes-may-nee.patch"
|
||||
"imx8mp-mnt-pocket-reform/mmc-sdio/0003-USDHC-IP-has-one-limitation-the-tuning-circuit-can-t.patch"
|
||||
"imx8mp-mnt-pocket-reform/pocket-panel/0001-v5-add-multi-display-panel-driver.patch"
|
||||
"imx8mp-mnt-pocket-reform/pocket-panel/0002-pocket-panel-fix-sleep-add-orientation.patch"
|
||||
"imx8mp-mnt-reform2/0001-sn65dsi86-use-hs-clock-of-samsung-dsim-host-directly.patch"
|
||||
"imx8mp-mnt-reform2/0002-lcdif-dont-exceed-desired-pixel-clock.patch"
|
||||
"imx8mq-mnt-reform2/0001-imx8mq-mnt-reform2.dts-multiple-fixes-for-display-wi.patch"
|
||||
"imx8mq-mnt-reform2/0001-nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS.patch"
|
||||
"imx8mq-mnt-reform2/0002-Revert-drm-bridge-nwl-dsi-Use-vsync-hsync-polarity-f.patch"
|
||||
"imx8mq-mnt-reform2/0003-lcdif-fix-pcie-interference.patch"
|
||||
"imx8mq-mnt-reform2/0004-mnt4002-imx-gpcv2-wake-smccc.patch.patch"
|
||||
"imx8mq-mnt-reform2/0005-pci-imx6-add-support-for-internal-refclk-imx8mq.patch"
|
||||
"imx8mq-mnt-reform2/0006-imx8mq-import-HDMI-driver-and-make-DCSS-compatible-w.patch"
|
||||
"ls1028a-mnt-reform2/0000-dtsi-add-hdptx.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-pocket-reform/0001-a311d-viu-fifo-lines-config.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-pocket-reform/0002-a311d-viu-fifo-lines-config-header.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-pocket-reform/0003-tlv320aic31xx-add-1228800hz-support.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0001-Revert-drm-bridge-synopsys-dw-mipi-dsi-enable-EoTp-b.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0001-meson-g12b-bananapi-cm4-mnt-reform2.dts-fix-audio-an.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0011-dw-mipi-dsi-phy-stop-wait-time.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0012-innolux-n125hce-gn1-timing-tweaks.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0013-meson-viu-hold-fifo-lines.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0014-meson-venc-sync.patch.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0015-meson-dw-mipi-dsi-sync-invert.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0016-sn65dsi86-burst-mode-support.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0018-sn65dsi86-never-turn-off.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0020-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0021-HACK-of-partial-revert-of-fdt.c-changes.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0022-add-bt-and-eth-resets.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0023-sdio-pullups.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0024-sdio-improve-wifi-speed.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0030-WORKAROUND-meson-plane-disable-afbc-32x8.patch"
|
||||
"rk3588-mnt-reform2/0001-FROM-UPSTREAM-drm-bridge-dw-hdmi-qp-Add-support-for-.patch"
|
||||
"rk3588-mnt-reform2/0024-math.h-add-DIV_ROUND_UP_NO_OVERFLOW.patch"
|
||||
"rk3588-mnt-reform2/0025-clk-divider-Fix-divisor-masking-on-64-bit-platforms.patch"
|
||||
"rk3588-mnt-reform2/0026-clk-composite-replace-open-coded-abs_diff.patch"
|
||||
"rk3588-mnt-reform2/0029-Revert-PCI-dw-rockchip-Simplify-regulator-setup-with.patch"
|
||||
"rk3588-mnt-reform2/0030-mfd-rk8xx-Fix-shutdown-handler.patch"
|
||||
"rk3588-mnt-reform2/0031-dt-bindings-display-vop2-Add-VP-clock-resets.patch"
|
||||
"rk3588-mnt-reform2/0032-drm-rockchip-vop2-Add-clock-resets-support.patch"
|
||||
"rk3588-mnt-reform2/0033-arm64-dts-rockchip-Add-VOP-clock-resets-for-rk3588s.patch"
|
||||
"rk3588-mnt-reform2/0035-drm-rockchip-vop2-Add-core-reset-support.patch"
|
||||
"rk3588-mnt-reform2/0062-PCI-dw-rockchip-Move-devm_phy_get-out-of-phy_init.patch"
|
||||
"rk3588-mnt-reform2/0063-PCI-dw-rockchip-Add-helper-function-for-enhanced-LTS.patch"
|
||||
"rk3588-mnt-reform2/0064-PCI-dw-rockchip-Add-helper-function-for-controller-m.patch"
|
||||
"rk3588-mnt-reform2/0065-PCI-dw-rockchip-Add-helper-function-for-DDL-indicato.patch"
|
||||
"rk3588-mnt-reform2/0066-PCI-dw-rockchip-Add-pme_turn_off-support.patch"
|
||||
"rk3588-mnt-reform2/0067-PCI-dw-rockchip-Add-system-PM-support.patch"
|
||||
"rk3588-mnt-reform2/0074-MERGED-phy-hdmi-Add-HDMI-2.1-FRL-configuration-optio.patch"
|
||||
"rk3588-mnt-reform2/0075-PCI-host-common-Add-an-API-to-check-for-any-device-u.patch"
|
||||
"rk3588-mnt-reform2/0076-PCI-qcom-Check-for-the-presence-of-a-device-instead-.patch"
|
||||
"rk3588-mnt-reform2/0077-PCI-dwc-Check-for-the-device-presence-during-suspend.patch"
|
||||
"rk3588-mnt-reform2/0078-PCI-dw-rockchip-Fix-LTSSM-set-functions.patch"
|
||||
"rk3588-mnt-reform2/0079-MERGED-phy-rockchip-samsung-hdptx-Use-usleep_range-i.patch"
|
||||
"rk3588-mnt-reform2/0079-WIP-PCI-dw-rockchip-port-some-suspend-code-from-vend.patch"
|
||||
"rk3588-mnt-reform2/0080-MERGED-phy-rockchip-samsung-hdptx-Fix-coding-style-a.patch"
|
||||
"rk3588-mnt-reform2/0081-MERGED-phy-rockchip-samsung-hdptx-Consistently-use-r.patch"
|
||||
"rk3588-mnt-reform2/0082-MERGED-phy-rockchip-samsung-hdptx-Enable-lane-output.patch"
|
||||
"rk3588-mnt-reform2/0083-MERGED-phy-rockchip-samsung-hdptx-Cleanup-_cmn_init_.patch"
|
||||
"rk3588-mnt-reform2/0084-MERGED-phy-rockchip-samsung-hdptx-Compute-clk-rate-f.patch"
|
||||
"rk3588-mnt-reform2/0085-MERGED-phy-rockchip-samsung-hdptx-Drop-hw_rate-drive.patch"
|
||||
"rk3588-mnt-reform2/0086-MERGED-phy-rockchip-samsung-hdptx-Switch-to-driver-s.patch"
|
||||
"rk3588-mnt-reform2/0087-MERGED-phy-rockchip-samsung-hdptx-Extend-rk_hdptx_ph.patch"
|
||||
"rk3588-mnt-reform2/0088-MERGED-phy-rockchip-samsung-hdptx-Add-HDMI-2.1-FRL-s.patch"
|
||||
"rk3588-mnt-reform2/0089-DEBUG-phy-rockchip-samsung-hdptx-Add-verbose-logging.patch"
|
||||
"rk3588-mnt-reform2/0092-drm-rockchip-dw_hdmi_qp-Do-not-send-HPD-events-for-a.patch"
|
||||
"rk3588-mnt-reform2/0093-drm-Add-CRTC-background-color-property.patch"
|
||||
"rk3588-mnt-reform2/0094-drm-rockchip-vop2-Support-setting-custom-background-.patch"
|
||||
"rk3588-mnt-reform2/0095-drm-bridge-Add-detect_ctx-hook-and-drm_bridge_detect.patch"
|
||||
"rk3588-mnt-reform2/0096-drm-bridge-connector-Switch-to-using-detect_ctx-hook.patch"
|
||||
"rk3588-mnt-reform2/0097-drm-bridge-dw-hdmi-qp-Add-high-TMDS-clock-ratio-and-.patch"
|
||||
"rk3588-mnt-reform2/0098-WIP-YUV420-drm-rockchip-vop2-Add-YUV420-output-forma.patch"
|
||||
"rk3588-mnt-reform2/0099-WIP-YUV420-drm-rockchip-dw_hdmi_qp-Add-YUV420-output.patch"
|
||||
"rk3588-mnt-reform2/0103-WIP-FRL-arm64-dts-rockchip-Assign-ACLK_VOP-to-750-MH.patch"
|
||||
"rk3588-mnt-reform2/0104-WIP-FRL-drm-connector-hdmi-Handle-FRL-in-hdmi_clock_.patch"
|
||||
"rk3588-mnt-reform2/0105-WIP-FRL-drm-bridge-dw-hdmi-qp-Add-HDMI-2.1-FRL-suppo.patch"
|
||||
"rk3588-mnt-reform2/0106-WIP-FRL-drm-rockchip-dw_hdmi_qp-Add-HDMI-2.1-FRL-sup.patch"
|
||||
"rk3588-mnt-reform2/0107-WIP-FRL-drm-rockchip-vop2-Add-HDMI-2.1-FRL-support.patch"
|
||||
"rk3588-mnt-reform2/0108-dt-bindings-phy-rockchip-usbdp-add-improved-ports-sc.patch"
|
||||
"rk3588-mnt-reform2/2001-drm-bridge-dw-hdmi-qp-Return-0-in-audio-prepare-when.patch"
|
||||
"rk3588-mnt-reform2/2003-drm-bridge-synopsys-Do-not-warn-about-audio-params-c.patch"
|
||||
"rk3588-mnt-reform2/5200-drm-rockchip-Set-dma-mask-to-64-bit.patch"))))
|
||||
(add-after 'apply-reform-patches 'copy-reform-dts-files
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(for-each (lambda (dts)
|
||||
(copy-file (search-input-file inputs
|
||||
(string-append
|
||||
"/dts/" dts))
|
||||
(string-append "arch/arm64/boot/dts/"
|
||||
dts)))
|
||||
(list
|
||||
"amlogic/meson-g12b-bananapi-cm4-mnt-pocket-reform.dts"
|
||||
"freescale/fsl-ls1028a-mnt-reform2.dts"
|
||||
"freescale/imx8mp-mnt-pocket-reform.dts"
|
||||
"freescale/imx8mp-mnt-reform2.dts"
|
||||
"freescale/imx8mq-mnt-reform2-hdmi.dts"
|
||||
"rockchip/rk3588-mnt-desktop-reform.dts"
|
||||
"rockchip/rk3588-mnt-pocket-reform.dts"
|
||||
"rockchip/rk3588-mnt-reform-next.dts"
|
||||
"rockchip/rk3588-mnt-reform2.dts"
|
||||
"rockchip/rk3588-mnt-reform2-dsi.dts"
|
||||
))))
|
||||
(add-after 'apply-reform-patches 'adjust-makefiles-with-new-dtb
|
||||
(lambda _
|
||||
(substitute* "arch/arm64/boot/dts/amlogic/Makefile"
|
||||
(("meson-g12b-bananapi-cm4-mnt-reform2.dtb")
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-bananapi-cm4-mnt-pocket-reform.dtb"))
|
||||
(substitute* "arch/arm64/boot/dts/freescale/Makefile"
|
||||
(("fsl-ls1028a-rdb.dtb")
|
||||
"fsl-ls1028a-rdb.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-mnt-reform2.dtb"))
|
||||
(substitute* "arch/arm64/boot/dts/freescale/Makefile"
|
||||
(("imx8mq-mnt-reform2.dtb")
|
||||
"imx8mq-mnt-reform2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-mnt-reform2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-mnt-pocket-reform.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mq-mnt-reform2-hdmi.dtb"))
|
||||
(substitute* "arch/arm64/boot/dts/rockchip/Makefile"
|
||||
(("rk3588-mnt-reform2.dtb")
|
||||
"rk3588-mnt-reform2.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-desktop-reform.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform-6.18
|
||||
;; Kernel for use on the MNT/Reform systems
|
||||
;; https://mntre.com/reform.html
|
||||
@@ -2065,15 +1698,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
("CONFIG_NFT_FIB_IPV6" . m)
|
||||
("CONFIG_NFT_BRIDGE_META" . m)
|
||||
("CONFIG_NFT_BRIDGE_REJECT" . m)
|
||||
;; Provides support for FBCON options
|
||||
("CONFIG_FRAMEBUFFER_CONSOLE_ROTATION" . #true)
|
||||
("CONFIG_HIDRAW" . #true)
|
||||
("CONFIG_FONT_SUPPORT" . #true)
|
||||
("CONFIG_FONTS" . #true)
|
||||
("CONFIG_FONT_8x8" . #true)
|
||||
("CONFIG_FONT_8x16" . #true)
|
||||
("CONFIG_FONT_TER10x18" . #true)
|
||||
("CONFIG_FONT_TER16x32" . #true)
|
||||
;; Provide support for USB tethering
|
||||
("CONFIG_USB_NET_CDC_EEM" . m)
|
||||
("CONFIG_USB_NET_RNDIS_HOST" . m)
|
||||
@@ -2400,15 +2024,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
("CONFIG_NFT_FIB_IPV6" . m)
|
||||
("CONFIG_NFT_BRIDGE_META" . m)
|
||||
("CONFIG_NFT_BRIDGE_REJECT" . m)
|
||||
;; Provides support for FBCON options
|
||||
("CONFIG_FRAMEBUFFER_CONSOLE_ROTATION" . #true)
|
||||
("CONFIG_HIDRAW" . #true)
|
||||
("CONFIG_FONT_SUPPORT" . #true)
|
||||
("CONFIG_FONTS" . #true)
|
||||
("CONFIG_FONT_8x8" . #true)
|
||||
("CONFIG_FONT_8x16" . #true)
|
||||
("CONFIG_FONT_TER10x18" . #true)
|
||||
("CONFIG_FONT_TER16x32" . #true)
|
||||
;; Provide support for USB tethering
|
||||
("CONFIG_USB_NET_CDC_EEM" . m)
|
||||
("CONFIG_USB_NET_RNDIS_HOST" . m)
|
||||
|
||||
+46
-33
@@ -328,6 +328,9 @@ compatible, and adds new functionality.")
|
||||
(define-public cl-3d-math
|
||||
(sbcl-package->cl-source-package sbcl-3d-math))
|
||||
|
||||
(define-public ecl-3d-math
|
||||
(sbcl-package->ecl-package sbcl-3d-math))
|
||||
|
||||
(define-public sbcl-3d-matrices
|
||||
(let ((commit "bc1ffa08dcf4732523e09adcf9deba4ddeb559ff")
|
||||
(revision "3"))
|
||||
@@ -4391,8 +4394,8 @@ Lisp expressions in multiple implementations.")
|
||||
(sbcl-package->cl-source-package sbcl-cl-all))
|
||||
|
||||
(define-public sbcl-cl-ana
|
||||
(let ((commit "88abde5ad3fa327958720426b89a8457e6943b94")
|
||||
(revision "3"))
|
||||
(let ((commit "848185eed1ed65bab3a124870c122f761ce0d87e")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "sbcl-cl-ana")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
@@ -4403,9 +4406,8 @@ Lisp expressions in multiple implementations.")
|
||||
(url "https://github.com/ghollisjr/cl-ana")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-ana" version))
|
||||
(patches (search-patches "cl-ana-pr-49.patch"))
|
||||
(sha256
|
||||
(base32 "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"))))
|
||||
(base32 "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list openmpi ;; for hdf-cffi
|
||||
@@ -9451,6 +9453,9 @@ classes and cyclic data structures are supported.")
|
||||
(define-public cl-prevalence
|
||||
(sbcl-package->cl-source-package sbcl-cl-prevalence))
|
||||
|
||||
(define-public ecl-cl-prevalence
|
||||
(sbcl-package->ecl-package sbcl-cl-prevalence))
|
||||
|
||||
(define-public sbcl-cl-progress-bar
|
||||
(let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
|
||||
(package
|
||||
@@ -14729,8 +14734,8 @@ replacement, which is called @code{*let}).")
|
||||
(sbcl-package->clasp-package sbcl-defstar))
|
||||
|
||||
(define-public sbcl-deploy
|
||||
(let ((commit "c9b869d943d39fcddd8c4aa380995645bd2e3c0b")
|
||||
(revision "4"))
|
||||
(let ((commit "5d57fcce38b6156be951f3fed9fbbdacf4ba2912")
|
||||
(revision "3"))
|
||||
(package
|
||||
(name "sbcl-deploy")
|
||||
(version (git-version "3.0.0" revision commit))
|
||||
@@ -14742,17 +14747,13 @@ replacement, which is called @code{*let}).")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "deploy" version))
|
||||
(sha256
|
||||
(base32 "05xvv6f1nh7p1dmdyqbpddisf2f9v5kvq2ixa38i263p35rg82sr"))))
|
||||
(base32 "1f2sahr2k4d291hn7x7bcy4nxav4va3rrw2gcw122zsg97siqy8h"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-cl-mpg123
|
||||
sbcl-cl-out123))
|
||||
(list sbcl-cl-mpg123 sbcl-cl-out123))
|
||||
(inputs
|
||||
(list sbcl-cffi
|
||||
sbcl-documentation-utils
|
||||
sbcl-pathname-utils
|
||||
sbcl-trivial-features
|
||||
sbcl-sha3))
|
||||
(list sbcl-cffi sbcl-documentation-utils sbcl-pathname-utils
|
||||
sbcl-trivial-features sbcl-sha3))
|
||||
(home-page "https://codeberg.org/shinmera/deploy")
|
||||
(synopsis "Deployment tools for standalone Common Lisp application")
|
||||
(description
|
||||
@@ -21454,6 +21455,9 @@ in Common Lisp.")
|
||||
(define-public cl-lispbuilder-sdl
|
||||
(sbcl-package->cl-source-package sbcl-lispbuilder-sdl))
|
||||
|
||||
(define-public ecl-lispbuilder-sdl
|
||||
(sbcl-package->ecl-package sbcl-lispbuilder-sdl))
|
||||
|
||||
(define-public sbcl-list-named-class
|
||||
(let ((commit "2955791a7469131bcab42d800883f27993ee1d62")
|
||||
(revision "0"))
|
||||
@@ -25855,8 +25859,8 @@ variable portably in Common Lisp.")
|
||||
(sbcl-package->ecl-package sbcl-path-parse))
|
||||
|
||||
(define-public sbcl-pathname-utils
|
||||
(let ((commit "c0aa51ab78cb21581700d44deeed88a4743b6f13")
|
||||
(revision "5"))
|
||||
(let ((commit "3309d65a568acc392ade6a4096c940eb15e1149e")
|
||||
(revision "4"))
|
||||
(package
|
||||
(name "sbcl-pathname-utils")
|
||||
(version (git-version "1.1.0" revision commit))
|
||||
@@ -25864,17 +25868,17 @@ variable portably in Common Lisp.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/shinmera/pathname-utils")
|
||||
(url "https://github.com/Shinmera/pathname-utils")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-pathname-utils" version))
|
||||
(sha256
|
||||
(base32 "11hic5gspnkjfggdh4zzx9i1ha4vf7rjr2cyqmz1144sprl2nva6"))))
|
||||
(base32 "0w7h0qhi53myakfbwvwgr9srbz5mmgsdcbynzkh5vjiibwjg1c3i"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-trivial-features))
|
||||
(home-page "https://codeberg.org/shinmera/pathname-utils")
|
||||
(home-page "https://shinmera.github.io/pathname-utils/")
|
||||
(synopsis "Collection of utilities to help with pathname operations")
|
||||
(description
|
||||
"This package provides a Common Lisp system with a collection of common
|
||||
@@ -25885,12 +25889,6 @@ handling the accessing of files on the underlying system however.")
|
||||
(define-public cl-pathname-utils
|
||||
(sbcl-package->cl-source-package sbcl-pathname-utils))
|
||||
|
||||
(define-public clasp-pathname-utils
|
||||
(package
|
||||
(inherit (sbcl-package->clasp-package sbcl-pathname-utils))
|
||||
(arguments
|
||||
(list #:tests? #f)))) ;see ECL variant
|
||||
|
||||
(define-public ecl-pathname-utils
|
||||
(package
|
||||
(inherit (sbcl-package->ecl-package sbcl-pathname-utils))
|
||||
@@ -27050,6 +27048,9 @@ pattern-matching-like, but a char-by-char procedural parser.")
|
||||
(define-public cl-prometheus
|
||||
(sbcl-package->cl-source-package sbcl-prometheus))
|
||||
|
||||
(define-public ecl-prometheus
|
||||
(sbcl-package->ecl-package sbcl-prometheus))
|
||||
|
||||
(define-public sbcl-promise
|
||||
(let ((commit "801db8f853da7935ae2e487fd7f8763acbc5ad2a")
|
||||
(revision "0"))
|
||||
@@ -27646,8 +27647,8 @@ Lisp. It is intended to be a replacement of PURI.")
|
||||
(sbcl-package->ecl-package sbcl-quri))
|
||||
|
||||
(define-public sbcl-radiance
|
||||
(let ((commit "8249b00388ffe1c7e516a148c8ea8e7d9bc4243c")
|
||||
(revision "4"))
|
||||
(let ((commit "8d826c7fe1935338565580931db43f46181e0e85")
|
||||
(revision "3"))
|
||||
(package
|
||||
(name "sbcl-radiance")
|
||||
(version (git-version "2.1.2" revision commit))
|
||||
@@ -27655,14 +27656,26 @@ Lisp. It is intended to be a replacement of PURI.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/shirakumo/radiance")
|
||||
(commit commit)))
|
||||
(url "https://github.com/Shirakumo/radiance")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "radiance" version))
|
||||
(sha256
|
||||
(base32 "1kl1936kzv1j2fmnm6n3nq503bxz38zzymwbwq3vhqa0jsqjwynm"))))
|
||||
(base32 "1j823dgp87www0sjbcbv9j025bfxlkwhjd7kz6635mrqwmmlki4l"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(arguments
|
||||
(list #:tests? #f)) ; TODO: The tests require some configuration.
|
||||
`(#:tests? #f ; TODO: The tests require some configuration.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-quicklisp
|
||||
(lambda _
|
||||
;; Disable the automatic installation of systems by Quicklisp.
|
||||
;; (Maybe there would be a way to package Quicklisp and make it
|
||||
;; install things in the user's directory instead of
|
||||
;; /gnu/store/...).
|
||||
(substitute* "interfaces.lisp"
|
||||
(("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
|
||||
all)
|
||||
(string-append "#+quicklisp " all))))))))
|
||||
(native-inputs
|
||||
(list sbcl-alexandria
|
||||
sbcl-dexador
|
||||
@@ -27673,8 +27686,8 @@ Lisp. It is intended to be a replacement of PURI.")
|
||||
sbcl-bordeaux-threads
|
||||
sbcl-cl-ppcre
|
||||
sbcl-closer-mop
|
||||
sbcl-deploy
|
||||
sbcl-documentation-utils
|
||||
sbcl-deploy
|
||||
sbcl-form-fiddle
|
||||
sbcl-lambda-fiddle
|
||||
sbcl-local-time
|
||||
@@ -27684,7 +27697,7 @@ Lisp. It is intended to be a replacement of PURI.")
|
||||
sbcl-trivial-indent
|
||||
sbcl-trivial-mimes
|
||||
sbcl-ubiquitous))
|
||||
(home-page "https://codeberg.org/shirakumo/radiance")
|
||||
(home-page "https://shirakumo.github.io/radiance/")
|
||||
(synopsis "Common Lisp web application environment")
|
||||
(description
|
||||
"Radiance is a web application environment, which is sort of like a web
|
||||
|
||||
@@ -329,7 +329,7 @@ family of functions.")
|
||||
(define-public python-burr
|
||||
(package
|
||||
(name "python-burr")
|
||||
(version "0.42.0")
|
||||
(version "0.40.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -338,7 +338,7 @@ family of functions.")
|
||||
(commit (string-append "burr-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0a2sf72qy9jkamg6r7d37mv7ayp698h031md7arfyq7v8q9q121n"))))
|
||||
(base32 "0scdfdn2dkan5rkrh5ngai8j4i01rj6d6ncrhvab62r43c0h042q"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -4751,6 +4751,7 @@ different backends")
|
||||
,(python:site-packages inputs outputs)))))))))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
openblas
|
||||
python
|
||||
python-customtkinter
|
||||
spirv-headers
|
||||
@@ -6176,7 +6177,7 @@ Jax, PyTorch and TensorFlow — with a seamless integration between them.")
|
||||
(define-public ctranslate2
|
||||
(package
|
||||
(name "ctranslate2")
|
||||
(version "4.7.1")
|
||||
(version "4.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6184,7 +6185,7 @@ Jax, PyTorch and TensorFlow — with a seamless integration between them.")
|
||||
(url "https://github.com/OpenNMT/CTranslate2")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "CTranslate2" version))
|
||||
(sha256 (base32 "09gr7pvc2b4xacjg8jbb20rini51071q2x998h88jr85wp5a8824"))
|
||||
(sha256 (base32 "1msmf1imgvmhji48mjj8cq5y8d8fk8rywqh624vmilfawq75f497"))
|
||||
(patches (search-patches "ctranslate2-local-build.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
|
||||
+2
-36
@@ -507,13 +507,13 @@ triangulations.")
|
||||
(define-public units
|
||||
(package
|
||||
(name "units")
|
||||
(version "2.26")
|
||||
(version "2.25")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/units/units-" version
|
||||
".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0m1whwcggib8kyzmcjkw94sxnd8r19d7bh6k6gj2w8g2kyjgfhsc"))))
|
||||
"02zclvjji25hsdriz4jwys5i21dbcmz3i4gap8266k8bq0xg9v9n"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list bash-minimal ;for wrap-program
|
||||
@@ -4859,40 +4859,6 @@ wedges, pyramids, n-spheres, n-balls, n-cubes, n-simplices, and the
|
||||
integration of real-, complex-, and vector-valued functions.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-simplesat
|
||||
(package
|
||||
(name "python-simplesat")
|
||||
(version "0.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/enthought/sat-solver")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0z44pi8yb6pvc9bisl3qnn3glj7ir0ad2j4gd4jfg2kxvwvi0w0b"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags #~(list "--ignore=old")))
|
||||
(native-inputs
|
||||
(list python-mock
|
||||
python-pytest
|
||||
python-pyyaml
|
||||
python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-attrs
|
||||
python-okonomiyaki
|
||||
python-six))
|
||||
(home-page "https://github.com/enthought/sat-solver")
|
||||
(synopsis
|
||||
"@acronym{SAT, Boolean Satisfiability Problem} dependency handling")
|
||||
(description
|
||||
"This package provides a prototype Python implementation for SAT-based
|
||||
problems.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public slepc
|
||||
(package
|
||||
(name "slepc")
|
||||
|
||||
@@ -115,15 +115,15 @@ Health Federation.")
|
||||
(define-public orthanc
|
||||
(package
|
||||
(name "orthanc")
|
||||
(version "1.12.10")
|
||||
(version "1.12.7")
|
||||
(source
|
||||
(origin
|
||||
(method hg-fetch)
|
||||
(uri (hg-reference (url "https://orthanc.uclouvain.be/hg/orthanc")
|
||||
(changeset "8628c32729cf")))
|
||||
(changeset "a30cc2fa7250")))
|
||||
(file-name (hg-file-name name version))
|
||||
(sha256
|
||||
(base32 "16xkbs6amhx81yvn7avkg8nwha6sj55l6vipa5290yf0rgygyadr"))))
|
||||
(base32 "1n8v0dh17g9ihny8cpq63qd6ai5l95i5h3sz9vwzfnd7q3qh0rb9"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -147,7 +147,7 @@ Health Federation.")
|
||||
;; /etc/localtime is not present in the build container;
|
||||
;; don't let that stop the build.
|
||||
(substitute* "OrthancFramework/Sources/Toolbox.cpp"
|
||||
(("if \\(!boost::filesystem::exists\\(LOCALTIME\\)\\)")
|
||||
(("if \\(!SystemToolbox::IsExistingFile\\(LOCALTIME\\)\\)")
|
||||
"if (false)"))))
|
||||
;; There is no test target; simply run the binary.
|
||||
(replace 'check
|
||||
@@ -158,7 +158,7 @@ Health Federation.")
|
||||
glibc-utf8-locales ;for one test
|
||||
googletest
|
||||
python))
|
||||
(inputs (list boost
|
||||
(inputs (list boost-1.83
|
||||
civetweb
|
||||
curl
|
||||
dcmtk
|
||||
@@ -184,11 +184,11 @@ mechanism for extending its functionality.")
|
||||
|
||||
(define-public orthanc-postgresql
|
||||
;; No tags provided.
|
||||
(let ((changeset "81d837d7d20d")
|
||||
(let ((changeset "ddc98844d931")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "orthanc-postgresql")
|
||||
(version (git-version "10.0" revision changeset))
|
||||
(version (git-version "7.2" revision changeset))
|
||||
(source
|
||||
(origin
|
||||
(method hg-fetch)
|
||||
@@ -197,7 +197,7 @@ mechanism for extending its functionality.")
|
||||
(changeset changeset)))
|
||||
(file-name (hg-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ijxa8hlpxjcrcp0b54fzmxf01lqb9741bff4ak1nw24sn9z96ai"))))
|
||||
(base32 "1zv2lrj0f3fahmdyiwyj70ayv5ysa3cj33i58fbk7hy2zclrkjzf"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -695,15 +695,6 @@ is to provide an accurate identifier for record tracks.")
|
||||
(sha256
|
||||
(base32 "0v866n5rwdz45ks8dlhl8hzx3p54hcjl0rz7x3rbsj4c96jn0m5c"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-gst-init
|
||||
(lambda _
|
||||
;; `None' is no longer accepted as of gstreamer
|
||||
;; 2.28.1.
|
||||
(substitute* "audioread/gstdec.py"
|
||||
(("Gst.init\\(None\\)")
|
||||
"Gst.init([])")))))))
|
||||
(propagated-inputs (list ffmpeg python-pygobject))
|
||||
(native-inputs
|
||||
(list gstreamer
|
||||
|
||||
@@ -1450,11 +1450,10 @@ and auto-mapping slices to MIDI note numbers.")
|
||||
(home-page "https://github.com/clearly-broken-software/ninjas2")
|
||||
(license license:gpl3+)))
|
||||
|
||||
;; This package tracks the stable release of LilyPond.
|
||||
(define-public lilypond
|
||||
(package
|
||||
(name "lilypond")
|
||||
(version "2.24.4")
|
||||
(version "2.25.30")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1462,7 +1461,7 @@ and auto-mapping slices to MIDI note numbers.")
|
||||
"v" (version-major+minor version) "/"
|
||||
"lilypond-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "073qa7m9xkghad4x37rxb9v45vp4vfmsylwnjzhj17y7f4ss0vz9"))))
|
||||
(base32 "0q5id9v211i9zgjmwzmvi2qfvr3flh55kh476653r04a2br53962"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;out-test/collated-files.html fails
|
||||
|
||||
@@ -4040,7 +4040,7 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.")
|
||||
(define-public hcxtools
|
||||
(package
|
||||
(name "hcxtools")
|
||||
(version "7.1.2")
|
||||
(version "7.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -4048,7 +4048,7 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.")
|
||||
(url "https://github.com/ZerBea/hcxtools")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "0da9ad3v53x080b75q34zi16mnd58xl5s5w6afafgq406ajd2zdz"))
|
||||
(base32 "07j8fcy9fq1i4jns6v1gx85pm34q56022aw391mdzxq5yka7wpjr"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list pkg-config))
|
||||
@@ -5158,7 +5158,7 @@ daemon.")
|
||||
(define-public nebula
|
||||
(package
|
||||
(name "nebula")
|
||||
(version "1.10.3")
|
||||
(version "1.10.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -5167,7 +5167,7 @@ daemon.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0y0c9l6dzhdrhfzss1hv2sm18y2qzgmkcyiw9s3rav3ij1kcspxh"))
|
||||
"1x4r8b3ny0vxipf404l8z00m5cs7cfy810670gmznl61jkaq1zd7"))
|
||||
;; Remove windows-related binary blobs and files
|
||||
(snippet
|
||||
#~(begin
|
||||
@@ -5196,7 +5196,6 @@ daemon.")
|
||||
"nebula-cert")))))))
|
||||
(inputs
|
||||
(list go-dario-cat-mergo
|
||||
go-filippo-io-bigmod
|
||||
go-github-com-anmitsu-go-shlex
|
||||
go-github-com-armon-go-radix
|
||||
go-github-com-cyberdelia-go-metrics-graphite
|
||||
|
||||
+107
-20
@@ -32,7 +32,6 @@
|
||||
;;; Copyright © 2023 Arnaud DABY-SEESARAM <ds-ac@nanein.fr>
|
||||
;;; Copyright © 2024 Sören Tempel <soeren@soeren-tempel.net>
|
||||
;;; Copyright © 2025 Jussi Timperi <jussi.timperi@iki.fi>
|
||||
;;; Copyright © 2025 Jason Conroy <jconroy@tscripta.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -76,7 +75,6 @@
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module ((gnu packages ocaml5) #:prefix ocaml5:)
|
||||
#:use-module (gnu packages parallel)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages perl)
|
||||
@@ -224,6 +222,89 @@ OCaml and can effectively bootstrap OCaml 4.07.
|
||||
This package produces a native @command{ocamlc} and a bytecode @command{ocamllex}.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public ocaml-5.0
|
||||
(package
|
||||
(name "ocaml")
|
||||
(version "5.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ocaml/ocaml")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1p0p8wldrnbr61wfy3x4122017g4k5gjvfwlg3mvlqn8r2fxn2m5"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "OCAMLPATH")
|
||||
(files (list "lib/ocaml" "lib/ocaml/site-lib")))
|
||||
(search-path-specification
|
||||
(variable "CAML_LD_LIBRARY_PATH")
|
||||
(files (list "lib/ocaml/site-lib/stubslibs"
|
||||
"lib/ocaml/site-lib/stublibs")))))
|
||||
(native-inputs
|
||||
(list parallel perl pkg-config))
|
||||
(inputs
|
||||
(list libx11 libiberty ;needed for objdump support
|
||||
zlib)) ;also needed for objdump support
|
||||
(arguments
|
||||
`(#:configure-flags '("--enable-ocamltest")
|
||||
#:test-target "tests"
|
||||
;; This doesn't have the desired effect and makes test runs less
|
||||
;; stable. See https://codeberg.org/guix/guix/pulls/2933.
|
||||
#:parallel-tests? #f
|
||||
#:make-flags '("defaultentry")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enable-parallel-tests
|
||||
(lambda _
|
||||
;; Patch the `tests` build target to enable a special parallel
|
||||
;; execution mode based on GNU Parallel.
|
||||
(substitute* "Makefile"
|
||||
(("-C testsuite all") "-C testsuite parallel"))))
|
||||
(add-after 'unpack 'patch-/bin/sh-references
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((sh (search-input-file inputs "/bin/sh"))
|
||||
(quoted-sh (string-append "\"" sh "\"")))
|
||||
(with-fluids ((%default-port-encoding #f))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(substitute* file
|
||||
(("\"/bin/sh\"")
|
||||
(begin
|
||||
(format (current-error-port) "\
|
||||
patch-/bin/sh-references: ~a: changing `\"/bin/sh\"' to `~a'~%"
|
||||
file quoted-sh)
|
||||
quoted-sh))))
|
||||
(find-files "." "\\.ml$")))))))))
|
||||
(home-page "https://ocaml.org/")
|
||||
(synopsis "The OCaml programming language")
|
||||
(description
|
||||
"OCaml is a general purpose industrial-strength programming language with
|
||||
an emphasis on expressiveness and safety. Developed for more than 20 years at
|
||||
Inria it benefits from one of the most advanced type systems and supports
|
||||
functional, imperative and object-oriented styles of programming.")
|
||||
;; The compiler is distributed under qpl1.0 with a change to choice of
|
||||
;; law: the license is governed by the laws of France. The library is
|
||||
;; distributed under lgpl2.0.
|
||||
(license (list license:qpl license:lgpl2.0))))
|
||||
|
||||
(define-public ocaml-5.3
|
||||
(package
|
||||
(inherit ocaml-5.0)
|
||||
(version "5.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ocaml/ocaml")
|
||||
(commit version)))
|
||||
(file-name (git-file-name "ocaml" version))
|
||||
(sha256
|
||||
(base32
|
||||
"05jhy9zn53v12rn3sg3vllqf5blv1gp7f06803npimc58crxy6rv"))))))
|
||||
|
||||
(define-public ocaml-4.14
|
||||
(package
|
||||
(name "ocaml")
|
||||
@@ -1598,6 +1679,13 @@ compilers that can directly deal with packages.")
|
||||
(native-inputs
|
||||
(list m4 ocaml-4.09))))
|
||||
|
||||
(define-public ocaml5.0-findlib
|
||||
(package
|
||||
(inherit ocaml-findlib)
|
||||
(name "ocaml5.0-findlib")
|
||||
(native-inputs
|
||||
(list m4 ocaml-5.0))))
|
||||
|
||||
(define-public ocaml-ounit2
|
||||
(package
|
||||
(name "ocaml-ounit2")
|
||||
@@ -1929,6 +2017,9 @@ Descriptions of projects, libraries and executables are provided in
|
||||
(define-public ocaml4.09-dune-bootstrap
|
||||
(package-with-ocaml4.09 dune-bootstrap))
|
||||
|
||||
(define-public ocaml5.0-dune-bootstrap
|
||||
(package-with-ocaml5.0 dune-bootstrap))
|
||||
|
||||
(define-public dune-configurator
|
||||
(package
|
||||
(inherit dune-bootstrap)
|
||||
@@ -1950,8 +2041,7 @@ Descriptions of projects, libraries and executables are provided in
|
||||
(propagated-inputs
|
||||
(list ocaml-csexp))
|
||||
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-dune-configurator))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-dune-configurator))
|
||||
(ocaml5.3-variant . ,(delay ocaml5:ocaml5.3-dune-configurator))))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-dune-configurator))))
|
||||
(synopsis "Dune helper library for gathering system configuration")
|
||||
(description "Dune-configurator is a small library that helps writing
|
||||
OCaml scripts that test features available on the system, in order to generate
|
||||
@@ -1982,9 +2072,9 @@ config.h files for instance. Among other things, dune-configurator allows one t
|
||||
(name "ocaml5.0-dune-configurator")
|
||||
(arguments
|
||||
`(,@(package-arguments dune-configurator)
|
||||
#:dune ,ocaml5:ocaml5.0-dune-bootstrap
|
||||
#:ocaml ,ocaml5:ocaml-5.0
|
||||
#:findlib ,ocaml5:ocaml5.0-findlib))
|
||||
#:dune ,ocaml5.0-dune-bootstrap
|
||||
#:ocaml ,ocaml-5.0
|
||||
#:findlib ,ocaml5.0-findlib))
|
||||
(propagated-inputs (list ocaml5.0-csexp))))
|
||||
|
||||
(define-public dune
|
||||
@@ -1994,8 +2084,7 @@ config.h files for instance. Among other things, dune-configurator allows one t
|
||||
(list dune-configurator))
|
||||
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune))
|
||||
(ocaml4.09-variant . ,(delay ocaml4.09-dune))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-dune))
|
||||
(ocaml5.3-variant . ,(delay ocaml5:ocaml5.3-dune))))))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-dune))))))
|
||||
|
||||
(define-public ocaml4.09-dune
|
||||
(package
|
||||
@@ -2019,7 +2108,7 @@ config.h files for instance. Among other things, dune-configurator allows one t
|
||||
|
||||
(define-public ocaml5.0-dune
|
||||
(package
|
||||
(inherit ocaml5:ocaml5.0-dune-bootstrap)
|
||||
(inherit ocaml5.0-dune-bootstrap)
|
||||
(propagated-inputs
|
||||
(list ocaml5.0-dune-configurator))))
|
||||
|
||||
@@ -2148,8 +2237,7 @@ executables and libraries")))
|
||||
(propagated-inputs
|
||||
(list ocaml-result))
|
||||
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-csexp))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-csexp))
|
||||
(ocaml5.3-variant . ,(delay ocaml5:ocaml5.3-csexp))))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-csexp))))
|
||||
(home-page "https://github.com/ocaml-dune/csexp")
|
||||
(synopsis "Parsing and printing of S-expressions in Canonical form")
|
||||
(description "This library provides minimal support for Canonical
|
||||
@@ -2183,10 +2271,10 @@ module of this library is parameterised by the type of S-expressions.")
|
||||
(inherit ocaml-csexp)
|
||||
(name "ocaml5.0-csexp")
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml5:ocaml-5.0
|
||||
#:findlib ,ocaml5:ocaml5.0-findlib
|
||||
`(#:ocaml ,ocaml-5.0
|
||||
#:findlib ,ocaml5.0-findlib
|
||||
,@(substitute-keyword-arguments (package-arguments ocaml-csexp)
|
||||
((#:dune _) ocaml5:ocaml5.0-dune-bootstrap))))
|
||||
((#:dune _) ocaml5.0-dune-bootstrap))))
|
||||
(propagated-inputs
|
||||
`(("ocaml-result" ,ocaml5.0-result)))))
|
||||
|
||||
@@ -2309,8 +2397,7 @@ bitsrings in Erlang style as primitives to the language.")))
|
||||
(arguments
|
||||
`(#:dune ,dune-bootstrap))
|
||||
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-result))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-result))
|
||||
(ocaml5.3-variant . ,(delay ocaml5:ocaml5.3-result))))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-result))))
|
||||
(home-page "https://github.com/janestreet/result")
|
||||
(synopsis "Compatibility Result module")
|
||||
(description "Uses the new result type defined in OCaml >= 4.03 while
|
||||
@@ -2332,9 +2419,9 @@ defined in this library.")
|
||||
(inherit ocaml-result)
|
||||
(name "ocaml5.0-result")
|
||||
(arguments
|
||||
`(#:dune ,ocaml5:ocaml5.0-dune-bootstrap
|
||||
#:ocaml ,ocaml5:ocaml-5.0
|
||||
#:findlib ,ocaml5:ocaml5.0-findlib))))
|
||||
`(#:dune ,ocaml5.0-dune-bootstrap
|
||||
#:ocaml ,ocaml-5.0
|
||||
#:findlib ,ocaml5.0-findlib))))
|
||||
|
||||
(define-public ocaml-iso8601
|
||||
(package
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,33 +0,0 @@
|
||||
Upstream status: https://github.com/ghollisjr/cl-ana/pull/49
|
||||
|
||||
From 491ba1127126ca6209b7c4dc1485377c7f772f7e Mon Sep 17 00:00:00 2001
|
||||
From: Philip Taron <philip.taron@gmail.com>
|
||||
Date: Mon, 16 Feb 2026 12:32:04 -0800
|
||||
Subject: [PATCH] Fix type error in fixed-mem-cache for SBCL 2.6.0
|
||||
|
||||
In cl-ana.makeres, the fixed-mem-cache function uses
|
||||
(setf (cdr (last cache)) (list id)) where cache can be nil (initial
|
||||
state or after popping all elements). (last nil) returns nil, making
|
||||
(setf (cdr nil) ...) undefined. SBCL 2.6.0's stricter type inference
|
||||
catches this as a type conflict, causing COMPILE-FILE-ERROR.
|
||||
|
||||
Replace with nconc which handles the nil case correctly.
|
||||
---
|
||||
makeres/makeres.lisp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/makeres/makeres.lisp b/makeres/makeres.lisp
|
||||
index 1999ac4..373bb57 100644
|
||||
--- a/makeres/makeres.lisp
|
||||
+++ b/makeres/makeres.lisp
|
||||
@@ -936,8 +936,8 @@ compressed storage, but alas."
|
||||
(> total maxmem))
|
||||
do (unload-target (pop cache))))
|
||||
(load-target id)
|
||||
- (setf (cdr (last cache))
|
||||
- (list id)))))))))
|
||||
+ (setf cache
|
||||
+ (nconc cache (list id))))))))))
|
||||
|
||||
;; Caching utility functions:
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
Author: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: 2026-02-08
|
||||
License: ASL2.0
|
||||
|
||||
Remove [patch.crates-io] and [patch.'ssh://...'] sections and
|
||||
exclude network-proxy from workspace members.
|
||||
|
||||
The [patch] sections point to git repositories which are unavailable
|
||||
in an offline build. The vendored crossterm, ratatui,
|
||||
tokio-tungstenite and tungstenite forks are provided as cargo-inputs
|
||||
instead.
|
||||
|
||||
The network-proxy workspace member depends on rama which requires
|
||||
Rust 1.91+.
|
||||
|
||||
--- a/codex-rs/Cargo.toml
|
||||
+++ b/codex-rs/Cargo.toml
|
||||
@@ -28,7 +28,6 @@
|
||||
"lmstudio",
|
||||
"login",
|
||||
"mcp-server",
|
||||
- "network-proxy",
|
||||
"ollama",
|
||||
"process-hardening",
|
||||
"protocol",
|
||||
@@ -311,16 +310,3 @@
|
||||
debug = 1 # Reduce debug symbol size
|
||||
inherits = "test"
|
||||
opt-level = 0
|
||||
-
|
||||
-[patch.crates-io]
|
||||
-# Uncomment to debug local changes.
|
||||
-# ratatui = { path = "../../ratatui" }
|
||||
-crossterm = { git = "https://github.com/nornagon/crossterm", branch = "nornagon/color-query" }
|
||||
-ratatui = { git = "https://github.com/nornagon/ratatui", branch = "nornagon-v0.29.0-patch" }
|
||||
-tokio-tungstenite = { git = "https://github.com/JakkuSakura/tokio-tungstenite", rev = "2ae536b0de793f3ddf31fc2f22d445bf1ef2023d" }
|
||||
-
|
||||
-# Uncomment to debug local changes.
|
||||
-# rmcp = { path = "../../rust-sdk/crates/rmcp" }
|
||||
-
|
||||
-[patch."ssh://git@github.com/JakkuSakura/tungstenite-rs.git"]
|
||||
-tungstenite = { git = "https://github.com/JakkuSakura/tungstenite-rs", rev = "f514de8644821113e5d18a027d6d28a5c8cc0a6e" }
|
||||
@@ -0,0 +1,32 @@
|
||||
Upstream-status: Not presented upstream.
|
||||
|
||||
From a4eb7d1f2cbd02132a9f5512f1294182576d4653 Mon Sep 17 00:00:00 2001
|
||||
From: Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
Date: Fri, 8 Nov 2024 11:47:49 +0100
|
||||
Subject: [PATCH] osdep/hurd: Support the 64bit Hurd.
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
|
||||
* grub-core/osdep/hurd/getroot.c (grub_util_find_hurd_root_device):
|
||||
Use mach_msg_type_number_t instead of size_t.
|
||||
---
|
||||
grub-core/osdep/hurd/getroot.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/grub-core/osdep/hurd/getroot.c b/grub-core/osdep/hurd/getroot.c
|
||||
index 0efefdab4..b849700e6 100644
|
||||
--- a/grub-core/osdep/hurd/getroot.c
|
||||
+++ b/grub-core/osdep/hurd/getroot.c
|
||||
@@ -58,7 +58,7 @@ grub_util_find_hurd_root_device (const char *path)
|
||||
file_t file;
|
||||
error_t err;
|
||||
char *argz = NULL, *name = NULL, *ret;
|
||||
- size_t argz_len = 0;
|
||||
+ mach_msg_type_number_t argz_len = 0;
|
||||
int i;
|
||||
|
||||
file = file_name_lookup (path, 0, 0);
|
||||
--
|
||||
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
|
||||
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
From 7d7c9ce06837f20d5585f1bc28a47701d12cf8ec Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
|
||||
Date: Sun, 1 Mar 2026 10:53:21 +0200
|
||||
Subject: [PATCH] glcolorconvert: Fix NULL pointer dereference on buffers
|
||||
without video meta
|
||||
|
||||
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4935
|
||||
---
|
||||
.../gst-libs/gst/gl/gstglcolorconvert.c | 14 ++++++++------
|
||||
1 file changed, 8 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/gst-libs/gst/gl/gstglcolorconvert.c b/gst-libs/gst/gl/gstglcolorconvert.c
|
||||
index f2dc2dc7bbb..c13b4df69de 100644
|
||||
--- a/gst-libs/gst/gl/gstglcolorconvert.c
|
||||
+++ b/gst-libs/gst/gl/gstglcolorconvert.c
|
||||
@@ -3428,10 +3428,12 @@ _init_convert (GstGLColorConvert * convert)
|
||||
}
|
||||
|
||||
GstVideoMeta *v_meta = gst_buffer_get_video_meta (convert->inbuf);
|
||||
- if (v_meta->width != convert->priv->padded_width
|
||||
- || v_meta->height != convert->priv->padded_height) {
|
||||
- gdouble padded_width = v_meta->width;
|
||||
- gdouble padded_height = v_meta->height;
|
||||
+ if ((v_meta && (v_meta->width != convert->priv->padded_width
|
||||
+ || v_meta->height != convert->priv->padded_height)) ||
|
||||
+ (!v_meta && (convert->in_info.width != convert->priv->padded_width ||
|
||||
+ convert->in_info.height != convert->priv->padded_height))) {
|
||||
+ gdouble padded_width = v_meta ? v_meta->width : convert->in_info.width;
|
||||
+ gdouble padded_height = v_meta ? v_meta->height : convert->in_info.height;
|
||||
gdouble display_width = GST_VIDEO_INFO_WIDTH (&convert->in_info);
|
||||
gdouble display_height = GST_VIDEO_INFO_HEIGHT (&convert->in_info);
|
||||
|
||||
@@ -3449,8 +3451,8 @@ _init_convert (GstGLColorConvert * convert)
|
||||
crop_vertices, GL_STATIC_DRAW);
|
||||
gl->BindBuffer (GL_ARRAY_BUFFER, 0);
|
||||
|
||||
- convert->priv->padded_width = v_meta->width;
|
||||
- convert->priv->padded_height = v_meta->height;
|
||||
+ convert->priv->padded_width = padded_width;
|
||||
+ convert->priv->padded_height = padded_height;
|
||||
}
|
||||
|
||||
gl->BindTexture (GL_TEXTURE_2D, 0);
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
Uptream-status: https://github.com/YosysHQ/nextpnr/pull/1480
|
||||
|
||||
diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt
|
||||
index ff5d9208..c554cc96 100644
|
||||
--- a/gui/CMakeLists.txt
|
||||
+++ b/gui/CMakeLists.txt
|
||||
@@ -46,12 +46,42 @@ target_include_directories(nextpnr-${target}-gui PUBLIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
+# Detect whether imgui/qtimgui packages are available from the system.
|
||||
+find_path(IMGUI_INCLUDE_DIR NAMES imgui.h PATH_SUFFIXES imgui)
|
||||
+find_path(QTIMGUI_INCLUDE_DIR NAMES QtImGui.h PATH_SUFFIXES qtimgui)
|
||||
+find_library(IMGUI_LIB NAMES imgui)
|
||||
+find_library(QTIMGUI_LIB NAMES qt_imgui_widgets)
|
||||
+if (IMGUI_INCLUDE_DIR AND IMGUI_LIB)
|
||||
+ message("Using system imgui library:
|
||||
+ IMGUI_INCLUDE_DIR=${IMGUI_INCLUDE_DIR}
|
||||
+ IMGUI_LIB=${IMGUI_LIB}")
|
||||
+else()
|
||||
+ message("Using bundled imgui library")
|
||||
+ set(IMGUI_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/3rdparty/imgui)
|
||||
+ set(IMGUI_SOURCES
|
||||
+ ../3rdparty/imgui/imgui_widgets.cpp
|
||||
+ ../3rdparty/imgui/imgui_draw.cpp
|
||||
+ ../3rdparty/imgui/imgui.cpp
|
||||
+ ../3rdparty/imgui/imgui_demo.cpp)
|
||||
+endif()
|
||||
+if (QTIMGUI_INCLUDE_DIR AND QTIMGUI_LIB)
|
||||
+ message("Using system qtimgui library:
|
||||
+ QTIMGUI_INCLUDE_DIR=${QTIMGUI_INCLUDE_DIR}
|
||||
+ QTIMGUI_LIB=${QTIMGUI_LIB}")
|
||||
+else()
|
||||
+ message("Using bundled qtimgui library")
|
||||
+ set(QTIMGUI_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/3rdparty/qtimgui)
|
||||
+ set(QTIMGUI_SOURCES
|
||||
+ ../3rdparty/qtimgui/ImGuiRenderer.cpp
|
||||
+ ../3rdparty/qtimgui/QtImGui.cpp)
|
||||
+endif()
|
||||
+
|
||||
target_include_directories(nextpnr-${target}-gui PRIVATE
|
||||
${CMAKE_SOURCE_DIR}/frontend
|
||||
${CMAKE_SOURCE_DIR}/json
|
||||
${CMAKE_SOURCE_DIR}/3rdparty/QtPropertyBrowser/src
|
||||
- ${CMAKE_SOURCE_DIR}/3rdparty/imgui
|
||||
- ${CMAKE_SOURCE_DIR}/3rdparty/qtimgui
|
||||
+ ${IMGUI_INCLUDE_DIR}
|
||||
+ ${QTIMGUI_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
target_link_libraries(nextpnr-${target}-gui PUBLIC
|
||||
@@ -77,14 +107,17 @@ if (BUILD_PYTHON)
|
||||
../3rdparty/python-console/ParseMessage.cpp
|
||||
../3rdparty/python-console/modified/pyredirector.cc
|
||||
../3rdparty/python-console/modified/pyinterpreter.cc
|
||||
- ../3rdparty/imgui/imgui_widgets.cpp
|
||||
- ../3rdparty/imgui/imgui_draw.cpp
|
||||
- ../3rdparty/imgui/imgui.cpp
|
||||
- ../3rdparty/imgui/imgui_demo.cpp
|
||||
- ../3rdparty/qtimgui/ImGuiRenderer.cpp
|
||||
- ../3rdparty/qtimgui/QtImGui.cpp
|
||||
+ ${IMGUI_SOURCES}
|
||||
+ ${QTIMGUI_SOURCES}
|
||||
)
|
||||
|
||||
+ if (IMGUI_LIB)
|
||||
+ target_link_libraries(nextpnr-${target}-gui PRIVATE ${IMGUI_LIB})
|
||||
+ endif()
|
||||
+ if (QTIMGUI_LIB)
|
||||
+ target_link_libraries(nextpnr-${target}-gui PRIVATE ${QTIMGUI_LIB})
|
||||
+ endif()
|
||||
+
|
||||
target_include_directories(nextpnr-${target}-gui PRIVATE
|
||||
../3rdparty/python-console
|
||||
../3rdparty/python-console/modified
|
||||
@@ -1,56 +0,0 @@
|
||||
Author: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: 2026-02-27
|
||||
License: ASL2.0
|
||||
Subject: Use @SHELL@ placeholder for shebangs in embedded test scripts.
|
||||
|
||||
Tests that create and execute temporary shell scripts at runtime use
|
||||
a hardcoded "#!/bin/sh" shebang. Replace with @SHELL@ so the build
|
||||
phase can substitute the actual store path.
|
||||
|
||||
Also change assertions to print the actual error on failure.
|
||||
|
||||
diff -ruN a/codex-rs/rmcp-client/src/program_resolver.rs b/codex-rs/rmcp-client/src/program_resolver.rs
|
||||
--- a/codex-rs/rmcp-client/src/program_resolver.rs
|
||||
+++ b/codex-rs/rmcp-client/src/program_resolver.rs
|
||||
@@ -82,7 +82,7 @@
|
||||
cmd.envs(&env.mcp_env);
|
||||
|
||||
let output = cmd.output().await;
|
||||
- assert!(output.is_ok(), "Unix should execute scripts directly");
|
||||
+ output.expect("Unix should execute scripts directly");
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -134,10 +134,7 @@
|
||||
cmd.envs(&env.mcp_env);
|
||||
let output = cmd.output().await;
|
||||
|
||||
- assert!(
|
||||
- output.is_ok(),
|
||||
- "Resolved program should execute successfully"
|
||||
- );
|
||||
+ output.expect("Resolved program should execute successfully");
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -185,7 +182,7 @@
|
||||
#[cfg(unix)]
|
||||
{
|
||||
let file = dir.join(Self::TEST_PROGRAM);
|
||||
- fs::write(&file, "#!/bin/sh\nexit 0")?;
|
||||
+ fs::write(&file, "#!@SHELL@\nexit 0")?;
|
||||
Self::set_executable(&file)?;
|
||||
}
|
||||
|
||||
diff -ruN a/codex-rs/tui/src/external_editor.rs b/codex-rs/tui/src/external_editor.rs
|
||||
--- a/codex-rs/tui/src/external_editor.rs
|
||||
+++ b/codex-rs/tui/src/external_editor.rs
|
||||
@@ -159,7 +159,7 @@
|
||||
|
||||
let dir = tempdir().unwrap();
|
||||
let script_path = dir.path().join("edit.sh");
|
||||
- fs::write(&script_path, "#!/bin/sh\nprintf \"edited\" > \"$1\"\n").unwrap();
|
||||
+ fs::write(&script_path, "#!@SHELL@\nprintf \"edited\" > \"$1\"\n").unwrap();
|
||||
let mut perms = fs::metadata(&script_path).unwrap().permissions();
|
||||
perms.set_mode(0o755);
|
||||
fs::set_permissions(&script_path, perms).unwrap();
|
||||
@@ -1,20 +0,0 @@
|
||||
Author: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: 2026-03-05
|
||||
License: ASL2.0
|
||||
Subject: Increase per-event test timeout from 10 to 30 seconds.
|
||||
|
||||
In resource-constrained build environments, image processing (resize,
|
||||
base64-encode, JSON serialization) can exceed 10 seconds under CPU
|
||||
contention, causing intermittent test failures.
|
||||
|
||||
diff -ruN a/codex-rs/core/tests/common/lib.rs b/codex-rs/core/tests/common/lib.rs
|
||||
--- a/codex-rs/core/tests/common/lib.rs
|
||||
+++ b/codex-rs/core/tests/common/lib.rs
|
||||
@@ -174,7 +174,7 @@
|
||||
loop {
|
||||
// Allow a bit more time to accommodate async startup work (e.g. config IO, tool discovery)
|
||||
- let ev = timeout(wait_time.max(Duration::from_secs(10)), codex.next_event())
|
||||
+ let ev = timeout(wait_time.max(Duration::from_secs(30)), codex.next_event())
|
||||
.await
|
||||
.expect("timeout waiting for event")
|
||||
.expect("stream ended unexpectedly");
|
||||
@@ -1,23 +0,0 @@
|
||||
Author: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: 2026-02-25
|
||||
License: ASL2.0
|
||||
Subject: Add version to codex-protocol dependency in windows-sandbox-rs.
|
||||
|
||||
The codex-protocol dependency in windows-sandbox-rs uses the TOML table
|
||||
format with an explicit path, rather than workspace inheritance
|
||||
(workspace = true). Because it is not an intra-workspace dependency,
|
||||
cargo cannot resolve its version from the workspace root Cargo.toml
|
||||
and cargo package fails with "dependency `codex-protocol` does not
|
||||
specify a version".
|
||||
|
||||
diff -u a/codex-rs/windows-sandbox-rs/Cargo.toml b/codex-rs/windows-sandbox-rs/Cargo.toml
|
||||
--- a/codex-rs/windows-sandbox-rs/Cargo.toml
|
||||
+++ b/codex-rs/windows-sandbox-rs/Cargo.toml
|
||||
@@ -38,6 +38,7 @@
|
||||
[dependencies.codex-protocol]
|
||||
package = "codex-protocol"
|
||||
path = "../protocol"
|
||||
+version = "0.0.0"
|
||||
|
||||
[dependencies.rand]
|
||||
default-features = false
|
||||
@@ -236,7 +236,7 @@ it.")
|
||||
(define-public trealla
|
||||
(package
|
||||
(name "trealla")
|
||||
(version "2.91.5")
|
||||
(version "2.91.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -245,7 +245,7 @@ it.")
|
||||
(url "https://github.com/trealla-prolog/trealla")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1ih4jx652nnw1cyvsjmz8dmmcylrwl6lmczav9r8m4z7n6flgkql"))
|
||||
(base32 "1ypwpxgcjz4gxb77pzjj1b202yr083cwj4dwp9m0vw0ynqgsl6va"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
||||
@@ -938,30 +938,6 @@ files (.Z), such as the ones created by Unix's shell tool compress.")
|
||||
Python.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-zipfile2
|
||||
(package
|
||||
(name "python-zipfile2")
|
||||
(version "0.0.12")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/itziakos/zipfile2/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1hmq33r3ffrrvm5nggsp69cjdbgjbwn6zbcrs2rhmb8pds0h81q7"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-setuptools))
|
||||
(home-page "https://github.com/itziakos/zipfile2/")
|
||||
(synopsis "Improved @code{ZipFile} Python class")
|
||||
(description
|
||||
"Zipfile2 is a backward compatible replacement to @code{ZipFile}. It
|
||||
provides handling of symlinks, and exception management.")
|
||||
(license license:psfl)))
|
||||
|
||||
(define-public python-zipp
|
||||
(package
|
||||
(name "python-zipp")
|
||||
|
||||
+84
-60
@@ -4014,16 +4014,14 @@ commits.")
|
||||
(define-public python-mkdocs-material
|
||||
(package
|
||||
(name "python-mkdocs-material")
|
||||
(version "7.3.6")
|
||||
(version "7.1.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/squidfunk/mkdocs-material")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(pypi-uri "mkdocs-material" version))
|
||||
(sha256
|
||||
(base32 "06ghwidcdqimx6jc6yz1zdbyc8rqklkwj5h5cxsihazh0f52fivk"))
|
||||
(base32 "0ci9xiasq9nfn09v11m7p49vzazdbgslw7rpzjd6y3hsmn9vljz3"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; TODO There are still bundled assets and minified JS.
|
||||
@@ -4054,8 +4052,8 @@ commits.")
|
||||
""))))
|
||||
(add-after 'ensure-no-mtimes-pre-1980 'inject-javascript-assets
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(mkdir-p "material/assets/javascripts/lunr/min")
|
||||
(with-directory-excursion "material/assets/javascripts/lunr/min"
|
||||
(mkdir-p "material/assets/javascripts/min/")
|
||||
(with-directory-excursion "material/assets/javascripts/min/"
|
||||
(symlink-js inputs))))
|
||||
(add-after 'wrap 'replace-javascript-assets
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
@@ -4063,9 +4061,9 @@ commits.")
|
||||
(js-assets (string-append site "/material/"
|
||||
"assets/javascripts")))
|
||||
(with-directory-excursion js-assets
|
||||
(delete-file-recursively "lunr/min")
|
||||
(mkdir-p "lunr/min")
|
||||
(with-directory-excursion "lunr/min"
|
||||
(delete-file-recursively "min")
|
||||
(mkdir-p "min")
|
||||
(with-directory-excursion "min"
|
||||
(symlink-js inputs))))))))))
|
||||
(native-inputs (list python-setuptools))
|
||||
(inputs (list js-lunr-ar
|
||||
@@ -17921,49 +17919,24 @@ JSON Reference and JSON Pointer.")
|
||||
(define-public python-fastbencode
|
||||
(package
|
||||
(name "python-fastbencode")
|
||||
(version "0.3.9")
|
||||
(version "0.3.2") ;the last non Rust version
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/breezy-team/fastbencode")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "fastbencode" version))
|
||||
(modules '((guix build utils)))
|
||||
;; Delete pre-generated Cython C files.
|
||||
(snippet '(for-each delete-file (find-files "." "\\.c$")))
|
||||
(sha256
|
||||
(base32 "0d4sd1c2yv85spxx2gvi2fm0avlgpnb7nfkvw7hpxlx6qlaqi4ad"))))
|
||||
(base32 "1daal7xgsl2sjxq8pcilcas9wd9j9796wd4rlkhrvv5h0k2k4k53"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-backend #~'unittest
|
||||
#:test-flags #~(list "tests.test_suite")
|
||||
#:imported-modules (append %cargo-build-system-modules
|
||||
%pyproject-build-system-modules)
|
||||
#:modules '(((guix build cargo-build-system) #:prefix cargo:)
|
||||
(guix build pyproject-build-system)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'prepare-cargo-build-system
|
||||
(lambda args
|
||||
(for-each
|
||||
(lambda (phase)
|
||||
(format #t "Running cargo phase: ~a~%" phase)
|
||||
(apply (assoc-ref cargo:%standard-phases phase)
|
||||
#:cargo-target #$(cargo-triplet)
|
||||
args))
|
||||
'(unpack-rust-crates
|
||||
configure
|
||||
check-for-pregenerated-files
|
||||
patch-cargo-checksums)))))))
|
||||
(inputs (cargo-inputs 'fastbencode))
|
||||
#:test-flags #~(list "fastbencode.tests.test_suite")))
|
||||
(native-inputs
|
||||
(append
|
||||
(list python-setuptools-rust
|
||||
rust
|
||||
`(,rust "cargo"))
|
||||
(or (and=> (%current-target-system)
|
||||
(compose list make-rust-sysroot))
|
||||
'())))
|
||||
(list python-cython
|
||||
python-setuptools))
|
||||
(home-page "https://github.com/breezy-team/fastbencode")
|
||||
(synopsis "Python Bencode (de)serializer with optional fast C extensions")
|
||||
(description
|
||||
@@ -18219,6 +18192,40 @@ how many previous alarms had gone off, and if there is music playing at the
|
||||
time.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-simplesat
|
||||
(package
|
||||
(name "python-simplesat")
|
||||
(version "0.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/enthought/sat-solver")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0z44pi8yb6pvc9bisl3qnn3glj7ir0ad2j4gd4jfg2kxvwvi0w0b"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags #~(list "--ignore=old")))
|
||||
(propagated-inputs
|
||||
(list python-attrs
|
||||
python-okonomiyaki
|
||||
python-six))
|
||||
(native-inputs
|
||||
(list python-mock
|
||||
python-pytest
|
||||
python-pyyaml
|
||||
python-setuptools))
|
||||
(home-page "https://github.com/enthought/sat-solver")
|
||||
(synopsis
|
||||
"@acronym{SAT, Boolean Satisfiability Problem} dependency handling")
|
||||
(description
|
||||
"This package provides a prototype Python implementation for SAT-based
|
||||
problems.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-haas
|
||||
;; A recent revision is required to avoid obsoleted dependencies.
|
||||
(let ((commit "e9c45e88b682c9129ea0971ba31671429495de2c")
|
||||
@@ -18250,6 +18257,27 @@ with Python's built-in unittest test-cases, but supports more advanced
|
||||
features, such as project-specific plugins.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public python-zipfile2
|
||||
(package
|
||||
(name "python-zipfile2")
|
||||
(version "0.0.12")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/itziakos/zipfile2/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1hmq33r3ffrrvm5nggsp69cjdbgjbwn6zbcrs2rhmb8pds0h81q7"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-setuptools python-pytest))
|
||||
(home-page "https://github.com/itziakos/zipfile2/")
|
||||
(synopsis "Improved @code{ZipFile} Python class")
|
||||
(description "Zipfile2 is a backward compatible replacement to
|
||||
@code{ZipFile}. It provides handling of symlinks, and exception management.")
|
||||
(license license:psfl)))
|
||||
|
||||
(define-public python-okonomiyaki
|
||||
(package
|
||||
(name "python-okonomiyaki")
|
||||
@@ -41235,19 +41263,17 @@ you do not want to store entirely on disk or on memory.")
|
||||
(arguments
|
||||
`(#:configure-flags '("PYTHON_VERSION=2")))))
|
||||
|
||||
(define-public python-yamlcore
|
||||
(define-public python-yamlcore-0.0.2
|
||||
;; This is a pinned version dependency for librelane
|
||||
(package
|
||||
(name "python-yamlcore")
|
||||
(version "0.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/perlpunk/pyyaml-core")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "03y7fabyky67cw4g71xcbwfdal79wxcnmr303qyllz21x2d4s5ac"))))
|
||||
(version "0.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "yamlcore" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vwjiryrx58ycmlbv668izswda4jmdpw7g9cn6bsy5my3iabjblb"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-setuptools))
|
||||
(inputs (list python-pyyaml))
|
||||
@@ -41257,8 +41283,6 @@ you do not want to store entirely on disk or on memory.")
|
||||
files.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-deprecated-package python-yamlcore-0.0.2 python-yamlcore)
|
||||
|
||||
(define-public shrinkwrap
|
||||
(package
|
||||
(name "shrinkwrap")
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
;;; Copyright © 2025 Jordan Moore <lockbox@struct.foo>
|
||||
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2025 Laura Kirsch <laurakirsch240406@gmail.com>
|
||||
;;; Copyright © 2026 bdunahu <bdunahu@operationnull.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -832,58 +831,6 @@ library.")
|
||||
devices that are supported by the SoapySDR library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-meshtastic
|
||||
(package
|
||||
(name "python-meshtastic")
|
||||
(version "2.7.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/meshtastic/python")
|
||||
(commit version)
|
||||
(recursive? #t))) ;TODO: package meshtastic/protobufs subproject
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0fdxlwdf1ga00wa7vbfvhhd0dpwcxakdlmrjs24zhd6pq5k7jicf"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; tests: 220 passed, 3 skipped, 77 deselected
|
||||
#:test-flags
|
||||
;; requires pytap2 input, which is not in Guix
|
||||
#~(list "-k not test_tunnel_tunnel_arg")))
|
||||
(native-inputs
|
||||
(list python-poetry-core
|
||||
python-pytest))
|
||||
;; unpackaged (optional) inputs: python-print-color, python-dash
|
||||
;; python-pytap2, python-dash-bootstrap-components
|
||||
(propagated-inputs
|
||||
(list python-argcomplete
|
||||
python-bleak
|
||||
python-dotmap
|
||||
python-packaging
|
||||
python-pandas
|
||||
python-pandas-stubs
|
||||
python-protobuf
|
||||
python-pypubsub
|
||||
python-pyqrcode
|
||||
python-pyserial
|
||||
python-pyyaml
|
||||
python-requests
|
||||
python-tabulate
|
||||
python-wcwidth))
|
||||
(home-page "https://github.com/meshtastic/python")
|
||||
(synopsis "Python library and CLI for talking to Meshtastic devices")
|
||||
(description
|
||||
"@url{https://meshtastic.org/,Meshtastic} Python is a small library which
|
||||
provides an easy API for sending and receiving messages over mesh radios. It
|
||||
provides access to any of the operations/data available in the device user
|
||||
interface or the Android applications. Events are delivered using a
|
||||
publish-subscribe model, and you can subscribe to only the message types you
|
||||
are interested in.")
|
||||
(license license:gpl3))) ;XXX: both python API and protobufs
|
||||
|
||||
(define-public qspectrumanalyzer
|
||||
(package
|
||||
(name "qspectrumanalyzer")
|
||||
|
||||
+2
-414
@@ -97,7 +97,6 @@
|
||||
#:use-module (gnu packages haskell-xyz)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages ibus)
|
||||
#:use-module (gnu packages icu4c)
|
||||
@@ -125,7 +124,6 @@
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages ruby-xyz)
|
||||
#:use-module (gnu packages rust)
|
||||
#:use-module (gnu packages rust-sources)
|
||||
#:use-module (gnu packages security-token)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages terminals)
|
||||
@@ -699,90 +697,6 @@ Rust source code.")
|
||||
through tools like `gdb`.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public cocogitto
|
||||
(package
|
||||
(name "cocogitto")
|
||||
(version "6.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cocogitto" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0wpsvrws2lwy1kix0xfs5dqs8b7j5ixnaz2x25apfbnh6gf99vda"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "website")))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:cargo-test-flags
|
||||
'(list "--"
|
||||
;; Disable tests that depend on being run inside of the source repository
|
||||
"--skip=conventional::changelog::release::test::should_get_a_release"
|
||||
"--skip=git::hook::tests::add_all"
|
||||
"--skip=git::hook::tests::add_pre_commit_hook"
|
||||
"--skip=git::hook::tests::overwrite_pre_commit_hook"
|
||||
"--skip=git::rev::cache::test::init_cache_ok"
|
||||
"--skip=git::rev::revwalk::test::all_commits"
|
||||
"--skip=git::rev::revwalk::test::from_previous_to_tag"
|
||||
"--skip=git::rev::revwalk::test::from_tag_to_head"
|
||||
"--skip=git::rev::revwalk::test::from_tag_to_tag_ok"
|
||||
"--skip=git::rev::revwalk::test::get_release_range_integration_test"
|
||||
"--skip=git::rev::revwalk::test::recursive_from_origin_to_head"
|
||||
"--skip=cog_tests::changelog::get_changelog_range"
|
||||
"--skip=cog_tests::commit::should_run_git_hooks")
|
||||
#:modules '((guix build cargo-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'prepare-for-tests
|
||||
(lambda _
|
||||
;; The tests try to run git as if it were already set up.
|
||||
(setenv "HOME" (getcwd))
|
||||
(invoke "git" "config" "--global" "user.email" "git@example.com")
|
||||
(invoke "git" "config" "--global" "user.name" "Guix")))
|
||||
(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/cog")
|
||||
(in-vicinity #$output "bin/cog"))))
|
||||
(with-output-to-file (in-vicinity #$output path)
|
||||
(lambda _
|
||||
(invoke binary "generate-completions" shell))))))
|
||||
'(("bash" . "share/bash-completion/completions/cog")
|
||||
("elvish" . "share/elvish/lib/cog")
|
||||
("fish" . "share/fish/vendor_completions.d/cog.fish")
|
||||
("nu" . "share/nushell/vendor/autoload/cog")
|
||||
("zsh" . "share/zsh/site-functions/_cog"))))))))
|
||||
(native-inputs
|
||||
(append (if (%current-target-system)
|
||||
(list this-package)
|
||||
'())
|
||||
(list git-minimal
|
||||
gnupg
|
||||
openssh
|
||||
pkg-config)))
|
||||
(inputs (cons* libgit2-1.9
|
||||
libssh2
|
||||
openssl
|
||||
zlib
|
||||
(cargo-inputs 'cocogitto)))
|
||||
(home-page "https://github.com/cocogitto/cocogitto")
|
||||
(synopsis
|
||||
"Set of CLI tools for the Conventional Commit and SemVer specifications")
|
||||
(description
|
||||
"This package provides Cocogitto, a set of CLI tools for the Conventional
|
||||
Commit and SemVer specifications.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public codeberg-cli
|
||||
(package
|
||||
(name "codeberg-cli")
|
||||
@@ -837,331 +751,6 @@ Commit and SemVer specifications.")
|
||||
"This package provides CLI Tool for codeberg similar to gh and glab.")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public codex
|
||||
(package
|
||||
(name "codex")
|
||||
(version (package-version rust-codex-0.98.0))
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source rust-codex-0.98.0))
|
||||
(patches (search-patches
|
||||
"rust-codex-0.98.0-execpolicy-file-lock.patch"
|
||||
"rust-codex-0.98.0-core-file-lock.patch"
|
||||
"rust-codex-0.98.0-arg0-file-lock.patch"
|
||||
"codex-0.98.0-remove-patch-sections.patch"
|
||||
"rust-codex-0.98.0-test-shebangs.patch"
|
||||
"rust-codex-0.98.0-test-timeout.patch"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:cargo-install-paths '(list "cli" "exec" "exec-server"
|
||||
"linux-sandbox" "mcp-server"
|
||||
"app-server" "tui")
|
||||
;; schema_fixtures_match_generated (upstream fixture is stale:
|
||||
;; FileChange::Update in codex-protocol gained old_content,
|
||||
;; new_content, move_path fields but the committed JSON schema
|
||||
;; fixture was not regenerated).
|
||||
#:cargo-test-flags '(list "--workspace"
|
||||
"--exclude" "codex-app-server-protocol"
|
||||
"--"
|
||||
;; These tests exercise sandbox denial and
|
||||
;; escalation, which requires Landlock to
|
||||
;; cleanly deny filesystem access. Inside the
|
||||
;; build container Landlock returns NotEnforced
|
||||
;; and the sandbox binary panics instead.
|
||||
;; Disabling Landlock would not help either,
|
||||
;; since these tests need a working sandbox to
|
||||
;; have anything to deny and escalate.
|
||||
"--skip" "sandbox_denied_shell_returns_original_output"
|
||||
"--skip" "shell_escalated_permissions_rejected_then_ok"
|
||||
"--skip" "unified_exec_runs_under_sandbox"
|
||||
;; These tests (in codex-exec) directly call
|
||||
;; spawn_command_under_linux_sandbox to verify
|
||||
;; that python and bash work correctly inside
|
||||
;; the Landlock sandbox. The sandbox binary
|
||||
;; (codex-exec) panics with LandlockRestrict
|
||||
;; (exit code 101) before the inner command
|
||||
;; even starts.
|
||||
"--skip" "python_getpwuid_works_under_sandbox"
|
||||
"--skip" "python_multiprocessing_lock_works_under_sandbox"
|
||||
"--skip" "sandbox_distinguishes_command_and_policy_cwds"
|
||||
;; These linux-sandbox tests directly invoke
|
||||
;; the Landlock sandbox via
|
||||
;; process_exec_tool_call; same root cause.
|
||||
"--skip" "test_writable_root"
|
||||
"--skip" "test_timeout"
|
||||
"--skip" "test_root_read"
|
||||
"--skip" "test_dev_null_write"
|
||||
"--skip" "test_no_new_privs_is_enabled"
|
||||
;; This test iterates many approval scenarios;
|
||||
;; one of them
|
||||
;; (danger_full_access_on_request_allows_network)
|
||||
;; runs a command through the Landlock sandbox
|
||||
;; binary, which panics with LandlockRestrict
|
||||
;; inside the build container. Cargo --skip
|
||||
;; cannot target individual scenarios, so we
|
||||
;; skip the entire matrix.
|
||||
"--skip" "approval_matrix_covers_all_modes"
|
||||
;; This test verifies session-level patch
|
||||
;; approval caching: approve once, skip
|
||||
;; future prompts for the same file. When
|
||||
;; Landlock is unavailable (as in the Guix
|
||||
;; build container) the sandbox binary panics,
|
||||
;; triggering the escalation-retry path, which
|
||||
;; interferes with the approval cache and
|
||||
;; causes a spurious re-prompt on the second
|
||||
;; patch.
|
||||
"--skip" "approving_apply_patch_for_session_skips_future_prompts_for_same_file"
|
||||
;; These tests expect to interrupt a
|
||||
;; long-running 'sleep 60' and receive
|
||||
;; TurnAborted. Default test config is
|
||||
;; OnRequest + ReadOnly. What happens:
|
||||
;;
|
||||
;; 1. ReadOnly wraps the command with
|
||||
;; codex-linux-sandbox (Landlock-based).
|
||||
;; 2. Landlock is unavailable in the Guix
|
||||
;; build container, so the sandbox
|
||||
;; binary exits instantly (~1 ms).
|
||||
;; 3. Orchestrator gets SandboxErr::Denied.
|
||||
;; wants_no_sandbox_approval(OnRequest)
|
||||
;; returns false (sandboxing.rs:222),
|
||||
;; so no escalation -- denial returned
|
||||
;; directly.
|
||||
;; 4. ToolEmitter::finish sends the error
|
||||
;; to the mock model as
|
||||
;; function_call_output.
|
||||
;; 5. Second mock SSE response fires,
|
||||
;; turn finishes with TurnComplete.
|
||||
;; 6. Op::Interrupt arrives 100 ms later,
|
||||
;; but the turn is already done --
|
||||
;; TurnAborted is never emitted,
|
||||
;; test times out.
|
||||
;;
|
||||
;; The similar interrupt_long_running_tool_
|
||||
;; emits_turn_aborted passes because it
|
||||
;; sends the interrupt with no delay and
|
||||
;; has only one mock response (so the turn
|
||||
;; cannot complete first).
|
||||
"--skip" "interrupt_persists_turn_aborted_marker_in_next_request"
|
||||
"--skip" "interrupt_tool_records_history_entries"
|
||||
;; Upstream bug: test hardcodes "0.0.0" in the
|
||||
;; expected user-agent string but the workspace
|
||||
;; version is "0.98.0".
|
||||
"--skip" "get_user_agent_returns_current_codex_user_agent"
|
||||
;; Same upstream bug: mcp-server tests
|
||||
;; check the initialize response which
|
||||
;; includes "version": "0.0.0" but the
|
||||
;; server returns "0.98.0".
|
||||
"--skip" "test_codex_tool_passes_base_instructions"
|
||||
"--skip" "test_shell_command_approval_triggers_elicitation"
|
||||
"--skip" "test_patch_approval_triggers_elicitation"
|
||||
;; These codex-exec-server tests need
|
||||
;; "dotslash", a Meta tool that lazily
|
||||
;; downloads pre-built binaries from a
|
||||
;; JSON manifest. The test helper
|
||||
;; create_transport runs
|
||||
;; `dotslash -- fetch <path>` to obtain a
|
||||
;; custom bash binary described in
|
||||
;; exec-server/tests/suite/bash.
|
||||
;; dotslash is not available in the build
|
||||
;; container.
|
||||
"--skip" "list_tools"
|
||||
"--skip" "accept_elicitation_for_prompt_rule"
|
||||
;;; Test isolation bug: each test in
|
||||
;;; state/src/runtime.rs calls
|
||||
;;; unique_temp_dir() to get its own
|
||||
;;; temporary directory (and thus its
|
||||
;;; own SQLite database). That function
|
||||
;;; names directories using the current
|
||||
;;; nanosecond timestamp, so when tests
|
||||
;;; run in parallel several can receive
|
||||
;;; the same name and open the same
|
||||
;;; database. The initial SQLite
|
||||
;;; migration runs CREATE TABLE threads
|
||||
;;; (without IF NOT EXISTS), so any init
|
||||
;;; after the first panics with "table
|
||||
;;; threads already exists". Any of
|
||||
;;; these tests
|
||||
;;; can be the victim.
|
||||
"--skip" "init_removes_legacy_state_db_files"
|
||||
"--skip" "upsert_and_get_thread_memory"
|
||||
"--skip" "get_last_n_thread_memories_for_cwd_matches_exactly"
|
||||
"--skip" "upsert_thread_memory_errors_for_unknown_thread"
|
||||
"--skip" "get_last_n_thread_memories_for_cwd_zero_returns_empty"
|
||||
"--skip" "get_last_n_thread_memories_for_cwd_does_not_prefix_match"
|
||||
"--skip" "deleting_thread_cascades_thread_memory")
|
||||
#:cargo-package-crates
|
||||
''(;;; Tier 0: No internal deps.
|
||||
"codex-async-utils"
|
||||
"codex-client"
|
||||
"codex-execpolicy"
|
||||
"codex-file-search"
|
||||
"codex-git"
|
||||
"codex-keyring-store"
|
||||
"codex-utils-absolute-path"
|
||||
"codex-utils-cache"
|
||||
"codex-utils-cargo-bin"
|
||||
"codex-utils-home-dir"
|
||||
"codex-utils-json-to-toml"
|
||||
"codex-utils-pty"
|
||||
"codex-utils-readiness"
|
||||
"codex-utils-string"
|
||||
"codex-backend-openapi-models"
|
||||
"codex-process-hardening"
|
||||
"codex-ansi-escape"
|
||||
;;; Tier 1: Depends on tier 0.
|
||||
"codex-utils-image"
|
||||
"codex-apply-patch"
|
||||
"codex-protocol"
|
||||
"codex-windows-sandbox"
|
||||
"codex-api"
|
||||
"codex-experimental-api-macros"
|
||||
"codex-secrets"
|
||||
"codex-execpolicy-legacy"
|
||||
"codex-debug-client"
|
||||
;;; Tier 2.
|
||||
"codex-app-server-protocol"
|
||||
"codex-rmcp-client"
|
||||
"codex-otel"
|
||||
"codex-state"
|
||||
"codex-core"
|
||||
"codex-linux-sandbox"
|
||||
"codex-feedback"
|
||||
;;; Tier 3.
|
||||
"codex-arg0"
|
||||
"codex-lmstudio"
|
||||
"codex-login"
|
||||
"codex-ollama"
|
||||
"codex-common"
|
||||
"codex-mcp-server"
|
||||
"codex-backend-client"
|
||||
"codex-responses-api-proxy"
|
||||
;;; Tier 4.
|
||||
"codex-cloud-requirements"
|
||||
"codex-exec"
|
||||
"codex-exec-server"
|
||||
"codex-stdio-to-uds"
|
||||
;; codex-network-proxy requires rama which needs Rust 1.91+.
|
||||
"codex-chatgpt"
|
||||
"codex-cloud-tasks-client"
|
||||
;;; Tier 5.
|
||||
"codex-app-server"
|
||||
"codex-app-server-test-client"
|
||||
"codex-tui"
|
||||
;;; Tier 6.
|
||||
"codex-cloud-tasks"
|
||||
;; The main executable.
|
||||
"codex-cli")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir-to-workspace
|
||||
(lambda _
|
||||
(chdir "codex-rs")))
|
||||
(add-after 'chdir-to-workspace 'update-version-in-snapshots
|
||||
(lambda _
|
||||
;; Snapshot test files contain hardcoded v0.0.0 version strings.
|
||||
;; Update them to match the actual package version.
|
||||
(let ((snap-files (find-files "." "\\.snap$")))
|
||||
(substitute* snap-files
|
||||
(("\\(v0\\.0\\.0\\) ") "(v0.98.0)")))))
|
||||
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
|
||||
(lambda _
|
||||
;; Replace git dependencies with version references so cargo
|
||||
;; resolves them from the vendored sources.
|
||||
(substitute* "Cargo.toml"
|
||||
(("nucleo = \\{ git = [^}]+\\}")
|
||||
"nucleo = \"0.5.0\"")
|
||||
(("runfiles = \\{ git = [^}]+\\}")
|
||||
"runfiles = \"0.1.0\""))))
|
||||
(add-after 'chdir-to-workspace 'add-version-to-workspace-deps
|
||||
(lambda _
|
||||
;; cargo package requires all dependencies to have versions.
|
||||
;; cargo package requires all dependencies to have versions.
|
||||
;; Add version = "0.98.0" to internal path dependencies.
|
||||
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
|
||||
(substitute* cargo-files
|
||||
;; Handle inline deps: name = { path = "..." }
|
||||
(("(codex-[a-z0-9-]+) = \\{ path = " all name)
|
||||
(string-append name " = { version = \"0.98.0\", path = "))
|
||||
;; Handle inline deps with package: name = { package = "...", path = "..." }
|
||||
(("(codex-[a-z0-9-]+) = \\{ package = " all name)
|
||||
(string-append name " = { version = \"0.98.0\", package = "))
|
||||
;; Handle section deps: [dependencies.X] with path = "..."
|
||||
(("^(path = \"\\.\\./[^\"]*\")" all path-line)
|
||||
(string-append path-line "\nversion = \"0.98.0\""))))))
|
||||
(add-after 'chdir-to-workspace 'patch-hardcoded-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((bash-bin (string-append
|
||||
(assoc-ref inputs "bash-minimal") "/bin"))
|
||||
(coreutils-bin (string-append
|
||||
(assoc-ref inputs "coreutils") "/bin"))
|
||||
(git-bin (string-append
|
||||
(assoc-ref inputs "git-minimal") "/bin"))
|
||||
(sed-bin (string-append
|
||||
(assoc-ref inputs "sed") "/bin"))
|
||||
;; Include .policy files: the execpolicy-legacy
|
||||
;; crate embeds default.policy via include_str!
|
||||
;; at compile time, so its paths must also be
|
||||
;; patched.
|
||||
(rs-files (find-files "." "\\.(rs|policy)$")))
|
||||
(substitute* rs-files
|
||||
(("\"/bin/bash\"")
|
||||
(string-append "\"" bash-bin "/bash\""))
|
||||
(("\"/bin/sh\"")
|
||||
(string-append "\"" bash-bin "/sh\""))
|
||||
(("\"/usr/bin/bash\"")
|
||||
(string-append "\"" bash-bin "/bash\""))
|
||||
(("\"/usr/bin/sh\"")
|
||||
(string-append "\"" bash-bin "/sh\""))
|
||||
;;; bash/sh with inline arguments, e.g. "/bin/bash -i".
|
||||
(("\"/bin/bash ")
|
||||
(string-append "\"" bash-bin "/bash "))
|
||||
(("\"/bin/sh ")
|
||||
(string-append "\"" bash-bin "/sh "))
|
||||
;; coreutils.
|
||||
(("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch)\"" all cmd)
|
||||
(string-append "\"" coreutils-bin "/" cmd "\""))
|
||||
;; coreutils.
|
||||
(("\"/usr/bin/(cat|cp|head|ls|touch|true)\"" all cmd)
|
||||
(string-append "\"" coreutils-bin "/" cmd "\""))
|
||||
;; coreutils with inline arguments
|
||||
;; like "/bin/echo END-EVENT".
|
||||
(("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch) " all cmd)
|
||||
(string-append "\"" coreutils-bin "/" cmd " "))
|
||||
(("\"/usr/bin/git\"")
|
||||
(string-append "\"" git-bin "/git\""))
|
||||
(("\"/usr/bin/sed\"")
|
||||
(string-append "\"" sed-bin "/sed\"")))
|
||||
;; @SHELL@ placeholder from test-shebangs patch
|
||||
(substitute*
|
||||
(list "rmcp-client/src/program_resolver.rs"
|
||||
"tui/src/external_editor.rs")
|
||||
(("@SHELL@")
|
||||
(string-append bash-bin "/sh")))
|
||||
;; shebang in test-only file
|
||||
(substitute*
|
||||
"core/tests/suite/user_notification.rs"
|
||||
(("#!/bin/bash")
|
||||
(string-append "#!" bash-bin "/bash"))))))
|
||||
(add-before 'check 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")
|
||||
(setenv "USER" "nixbld"))))))
|
||||
(native-inputs (list perl python-minimal ;for tests
|
||||
pkg-config))
|
||||
(inputs (cons* bash-minimal coreutils git-minimal sed
|
||||
openssl sqlite `(,zstd "lib")
|
||||
(cargo-inputs 'codex)))
|
||||
(home-page "https://github.com/openai/codex")
|
||||
(synopsis "AI-assisted coding CLI and TUI")
|
||||
(description
|
||||
"Codex is an AI-powered coding assistant that runs in the terminal.
|
||||
It provides an interactive TUI for conversations with AI models, with
|
||||
support for shell command execution, file editing, and code generation.
|
||||
Configure providers via @file{~/.codex/config.toml}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public codex-acp
|
||||
(package
|
||||
(name "codex-acp")
|
||||
@@ -2194,7 +1783,7 @@ JSON viewer and jq filter editor.")
|
||||
(define-public jujutsu
|
||||
(package
|
||||
(name "jujutsu")
|
||||
(version "0.39.0")
|
||||
(version "0.38.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2203,7 +1792,7 @@ JSON viewer and jq filter editor.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0c0n56b5y6wmyvcc18nhrfsmcavjlh2zwv9224lrcs6h602a5jdd"))))
|
||||
(base32 "0c3fgxvvf7lj5p8s7fzx1mnxbiigplmgfqn49szj3z51m74d0xhm"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2213,7 +1802,6 @@ JSON viewer and jq filter editor.")
|
||||
''("--"
|
||||
"--skip=test_gerrit_upload::test_gerrit_upload_rejected_by_remote"
|
||||
"--skip=test_git_push::test_git_push_rejected_by_remote"
|
||||
"--skip=test_git::test_push_updates_with_options"
|
||||
"--skip=test_util_command::test_util_exec_sets_env")
|
||||
#:modules
|
||||
'((guix build cargo-build-system)
|
||||
|
||||
+250
-3470
File diff suppressed because it is too large
Load Diff
@@ -818,115 +818,6 @@ intelligence.")
|
||||
and runtime for AI-assisted coding.")
|
||||
(license license:asl2.0)))))
|
||||
|
||||
(define-public rust-codex-0.98.0
|
||||
(hidden-package
|
||||
(package
|
||||
(name "rust-codex")
|
||||
(version "0.98.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openai/codex")
|
||||
(commit "82464689ce0ba8a3b2065e73a8aa0cfdf2ad0625")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1mn322gbir4gn4y5jihdqg0wprjlnx771chyfmmm7ri7pnim1zmc"))
|
||||
;; TODO: Remove patches when Rust provides stable file locking API.
|
||||
;; The file_lock feature is tracked at
|
||||
;; <https://github.com/rust-lang/rust/issues/130994>.
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
;;; These are JSON manifests with a dotslash
|
||||
;;; shebang that download and run pre-built
|
||||
;;; binaries (ripgrep, bash) at runtime.
|
||||
(delete-file "codex-cli/bin/rg")
|
||||
(delete-file "codex-rs/exec-server/tests/suite/bash")
|
||||
;; Bundled bubblewrap source tree; includes a
|
||||
;; compiled BPF blob (demos/flatpak.bpf).
|
||||
(delete-file-recursively "codex-rs/vendor/bubblewrap")))
|
||||
(patches (search-patches "rust-codex-0.98.0-execpolicy-file-lock.patch"
|
||||
"rust-codex-0.98.0-core-file-lock.patch"
|
||||
"rust-codex-0.98.0-arg0-file-lock.patch"
|
||||
"rust-codex-0.98.0-core-remove-self-dep.patch"
|
||||
"rust-codex-0.98.0-windows-sandbox-protocol-version.patch"
|
||||
"rust-codex-0.98.0-test-shebangs.patch"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skip-build? #t
|
||||
#:cargo-package-crates
|
||||
;; Order matters: dependencies must come before packages that need them
|
||||
''("codex-async-utils" ; No internal deps
|
||||
"codex-client" ; No internal deps
|
||||
"codex-execpolicy" ; No internal deps
|
||||
"codex-file-search" ; No internal deps
|
||||
"codex-git" ; No internal deps
|
||||
"codex-keyring-store" ; No internal deps
|
||||
"codex-utils-absolute-path" ; No internal deps
|
||||
"codex-utils-cache" ; No internal deps
|
||||
"codex-utils-cargo-bin" ; No internal deps
|
||||
"codex-utils-home-dir" ; No internal deps
|
||||
"codex-utils-json-to-toml" ; No internal deps
|
||||
"codex-utils-pty" ; No internal deps
|
||||
"codex-utils-readiness" ; No internal deps
|
||||
"codex-utils-string" ; No internal deps
|
||||
"codex-utils-image" ; Depends on codex-utils-cache
|
||||
"codex-apply-patch" ; Depends on codex-utils-cargo-bin
|
||||
"codex-protocol" ; Depends on codex-git, codex-utils-*
|
||||
"codex-windows-sandbox" ; Depends on codex-utils-absolute-path, codex-protocol
|
||||
"codex-api" ; Depends on codex-client, codex-protocol
|
||||
"codex-experimental-api-macros" ; Macro crate (must come before app-server-protocol)
|
||||
"codex-app-server-protocol" ; Depends on codex-protocol, codex-experimental-api-macros
|
||||
"codex-rmcp-client" ; Depends on codex-keyring-store, codex-protocol
|
||||
"codex-otel" ; Depends on codex-app-server-protocol, codex-api
|
||||
"codex-state" ; Depends on codex-protocol, codex-otel
|
||||
"codex-core" ; Depends on many packages above
|
||||
"codex-linux-sandbox" ; Depends on codex-core, codex-utils-absolute-path
|
||||
"codex-arg0" ; Depends on codex-apply-patch, codex-core, codex-linux-sandbox
|
||||
"codex-lmstudio" ; Depends on codex-core
|
||||
"codex-login" ; Depends on codex-core
|
||||
"codex-ollama" ; Depends on codex-core
|
||||
"codex-common" ; Depends on codex-core, codex-lmstudio, codex-ollama
|
||||
"codex-mcp-server") ; Depends on codex-core, codex-common
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir-to-workspace
|
||||
(lambda _
|
||||
(chdir "codex-rs")))
|
||||
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
|
||||
(lambda _
|
||||
(substitute* "Cargo.toml"
|
||||
(("crossterm = \\{ git = [^}]+\\}")
|
||||
"crossterm = { version = \"0.28.1\" }")
|
||||
(("ratatui = \\{ git = [^}]+\\}")
|
||||
"ratatui = { version = \"0.29.0\" }")
|
||||
(("tokio-tungstenite = \\{ git = [^}]+\\}")
|
||||
"tokio-tungstenite = { version = \"0.28.0\" }")
|
||||
(("nucleo = \\{ git = [^}]+\\}")
|
||||
"nucleo = { version = \"0.5.0\" }")
|
||||
(("runfiles = \\{ git = [^}]+\\}")
|
||||
"runfiles = { version = \"0.1.0\" }"))))
|
||||
(add-after 'chdir-to-workspace 'add-version-to-workspace-deps
|
||||
(lambda _
|
||||
;; cargo package requires all dependencies to have versions.
|
||||
;; Add version = "0.98.0" to internal path dependencies.
|
||||
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
|
||||
(substitute* cargo-files
|
||||
(("(codex-[a-z0-9-]+) = \\{ path = " all name)
|
||||
(string-append name " = { version = \"0.98.0\", path = "))
|
||||
(("(codex-[a-z0-9-]+) = \\{ package = " all name)
|
||||
(string-append name " = { version = \"0.98.0\", package = "))
|
||||
(("(mcp-types) = \\{ path = " all name)
|
||||
(string-append name " = { version = \"0.98.0\", path = ")))))))))
|
||||
(inputs (cargo-inputs 'rust-codex-0.0.0.785c0c43))
|
||||
(home-page "https://github.com/openai/codex")
|
||||
(synopsis "OpenAI Codex workspace crates")
|
||||
(description
|
||||
"This package provides the workspace crates for the OpenAI Codex CLI
|
||||
and runtime for AI-assisted coding.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
;; Also update (@ (gnu packages gnome) glycin-loaders) when updating this.
|
||||
(define-public rust-glycin-3
|
||||
(package
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
expat
|
||||
ffmpeg
|
||||
findutils
|
||||
fmt
|
||||
fmt-11
|
||||
freetype
|
||||
gdal
|
||||
gl2ps
|
||||
@@ -161,7 +161,7 @@
|
||||
readline
|
||||
trilinos-zoltan
|
||||
utfcpp
|
||||
vtk-9.5
|
||||
vtk
|
||||
xz
|
||||
zlib))
|
||||
(outputs '("debug" ;~60MB
|
||||
|
||||
@@ -953,49 +953,3 @@ using a Python-based domain-specific language.")
|
||||
ONNX Runtime. It supports models including Whisper and NeMo Parakeet.
|
||||
Includes bundled Parakeet TDT V3 model weights (int8, CC-BY-4.0, NVIDIA).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pocket-tts
|
||||
(package
|
||||
(name "python-pocket-tts")
|
||||
(version "1.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kyutai-labs/pocket-tts")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0b9xxyrwa8vsz6r6fi7p47z8rd7q2gjjnwq47br89zp2lkzym3zm"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list ;;; These tests try to download models from HuggingFace Hub.
|
||||
"--ignore=tests/test_cli_generate.py"
|
||||
"--ignore=tests/test_documentation_examples.py")))
|
||||
(propagated-inputs
|
||||
(list python-beartype
|
||||
python-einops
|
||||
python-fastapi
|
||||
python-huggingface-hub
|
||||
python-numpy
|
||||
python-pydantic
|
||||
python-pytorch
|
||||
python-safetensors
|
||||
python-scipy
|
||||
python-sentencepiece
|
||||
python-soundfile
|
||||
python-typer
|
||||
python-typing-extensions
|
||||
python-uvicorn))
|
||||
(native-inputs
|
||||
(list nss-certs-for-test
|
||||
python-hatchling
|
||||
python-pytest))
|
||||
(home-page "https://github.com/kyutai-labs/pocket-tts")
|
||||
(synopsis "Fast neural text-to-speech")
|
||||
(description
|
||||
"Pocket TTS is a fast neural text-to-speech engine with ~100M parameters,
|
||||
running at approximately 6x realtime on CPU. English only.")
|
||||
(license license:expat)))
|
||||
|
||||
@@ -381,6 +381,8 @@ Additionally, various channel-specific options can be negotiated.")
|
||||
#$flags))
|
||||
((#:modules mods %default-gnu-modules)
|
||||
(cons '(ice-9 string-fun) mods))
|
||||
((#:imported-modules mods %default-gnu-imported-modules)
|
||||
(cons '(ice-9 string-fun) mods))
|
||||
((#:phases phases #~(list))
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'patch-ssh-stuff
|
||||
@@ -437,7 +439,6 @@ of the ssh protocol. It was originally developed to address performance issues
|
||||
(define-public hpn-ssh-sans-x
|
||||
(package
|
||||
(inherit hpn-ssh)
|
||||
(name "hpn-ssh-sans-x")
|
||||
(inputs
|
||||
(modify-inputs (package-inputs hpn-ssh)
|
||||
(delete "xauth")))
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2025 Zheng Junjie <z572@z572.online>
|
||||
;;; Copyright © 2026 Foster Hangdaan <foster@hangdaan.email>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -65,7 +64,6 @@
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
@@ -78,7 +76,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 cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
@@ -532,80 +529,3 @@ applications.")
|
||||
(synopsis "Dynamic swap manager for Linux")
|
||||
(description "This package provides a dynamic swap manager for Linux.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public garage
|
||||
(package
|
||||
(name "garage")
|
||||
(version "2.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.deuxfleurs.fr/Deuxfleurs/garage.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0nqda782by02ybqv44lpjagn3aqsgpaszvqbicg9iz3lymj8g9ai"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "doc")))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Disable default features and explicitly set them instead.
|
||||
#:cargo-build-flags `(list "--no-default-features")
|
||||
;; The tests fail to compile without the '--release' flag.
|
||||
#:cargo-test-flags `(list "--release" "--no-default-features")
|
||||
#:cargo-install-paths ''("src/garage")
|
||||
#:features '(list "system-libs"
|
||||
"k2v"
|
||||
"kubernetes-discovery"
|
||||
"lmdb"
|
||||
"metrics"
|
||||
"sqlite"
|
||||
"syslog"
|
||||
"telemetry-otlp")
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; The 'check phase doesn't honor #:features
|
||||
(replace 'check
|
||||
(lambda* (#:key features cargo-test-flags #:allow-other-keys
|
||||
#:rest args)
|
||||
(apply (assoc-ref %standard-phases 'check)
|
||||
(append
|
||||
args
|
||||
(list #:cargo-test-flags
|
||||
(append cargo-test-flags
|
||||
(list "--features"
|
||||
(string-join features))))))))
|
||||
;; The 'install phase can't pass '--no-default-features'
|
||||
(replace 'install
|
||||
(lambda* (#:key cargo-install-paths features #:allow-other-keys)
|
||||
(mkdir-p #$output)
|
||||
(setenv "CARGO_TARGET_DIR" "./target")
|
||||
(for-each
|
||||
(lambda (path)
|
||||
(invoke "cargo" "install" "--offline" "--no-track"
|
||||
"--path" path "--root" #$output
|
||||
"--no-default-features"
|
||||
"--features" (string-join features)))
|
||||
(if (null? cargo-install-paths)
|
||||
'(".")
|
||||
cargo-install-paths)))))))
|
||||
(native-inputs (list nss-certs-for-test
|
||||
pkg-config
|
||||
protobuf))
|
||||
(inputs
|
||||
(cons* libsodium
|
||||
lmdb
|
||||
openssl
|
||||
sqlite
|
||||
`(,zstd "lib")
|
||||
(cargo-inputs 'garage)))
|
||||
(home-page "https://garagehq.deuxfleurs.fr/")
|
||||
(synopsis "S3-compatible, distributed object storage designed for self-hosting")
|
||||
(description "Garage is a lightweight, geo-distributed data store that
|
||||
implements the @url{https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html,
|
||||
Amazon S3} object storage protocol, with a focus on simplicity and resiliency.")
|
||||
(license license:agpl3)))
|
||||
|
||||
@@ -205,7 +205,7 @@ Protocol.")
|
||||
python-bcrypt
|
||||
python-dateutil
|
||||
python-pycairo
|
||||
python-pygobject-3.50
|
||||
python-pygobject
|
||||
psmisc
|
||||
syncthing))
|
||||
(home-page "https://github.com/kozec/syncthing-gtk")
|
||||
|
||||
+42
-103
@@ -7,7 +7,7 @@
|
||||
;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
|
||||
;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020, 2023, 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
;;; Copyright © 2022 ( <paren@disroot.org>
|
||||
;;;
|
||||
@@ -38,13 +38,9 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages perl-compression)
|
||||
@@ -117,38 +113,18 @@ is on expressing the content semantically, avoiding physical markup commands.")
|
||||
(inherit texinfo)
|
||||
(version "7.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.savannah.gnu.org/git/texinfo.git")
|
||||
(commit (string-append "texinfo-" version))))
|
||||
(file-name (git-file-name "texinfo" version))
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/texinfo/texinfo-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ln3rr34b9k9m8mhg01ygifj945610cn5qk11mfvgzpavyy5rghg"))))
|
||||
(native-inputs (list autoconf
|
||||
automake
|
||||
bash-minimal
|
||||
coreutils-minimal
|
||||
gawk
|
||||
gettext-minimal
|
||||
gperf
|
||||
help2man
|
||||
(libc-utf8-locales-for-target)
|
||||
libtool
|
||||
ncurses
|
||||
perl
|
||||
perl-text-unidecode
|
||||
perl-unicode-eastasianwidth))
|
||||
"0bn7ckhxjqrgfvxz122vr5z9bs26bpfxyr2jp1rriyhwynq4xxsi"))))
|
||||
(inputs (modify-inputs (package-inputs texinfo)
|
||||
(append perl-archive-zip ;needed for 'tex2any --epub3'
|
||||
(append perl-archive-zip ;needed for 'tex2any --epub3'
|
||||
perl-unicode-eastasianwidth perl-text-unidecode
|
||||
perl-libintl-perl)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments texinfo)
|
||||
((#:modules modules `((guix build utils)
|
||||
(guix build gnu-build-system)))
|
||||
`((srfi srfi-26)
|
||||
,@modules))
|
||||
((#:configure-flags flags
|
||||
''())
|
||||
#~(cons* "--with-external-Unicode-EastAsianWidth"
|
||||
@@ -157,38 +133,6 @@ is on expressing the content semantically, avoiding physical markup commands.")
|
||||
#$flags))
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'patch-bootstrap-shebangs
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(let ((sh (search-input-file (or native-inputs inputs)
|
||||
"/bin/sh"))
|
||||
(perl (search-input-file (or native-inputs inputs)
|
||||
"/bin/perl")))
|
||||
(for-each
|
||||
(cute patch-shebang <> (list (dirname sh)))
|
||||
(find-files "." ".*[.]sh"))
|
||||
(for-each
|
||||
(cute patch-shebang <> (list (dirname perl)))
|
||||
(find-files "." ".*[.]pl")))))
|
||||
#$@(if (%current-target-system)
|
||||
;; Texinfo uses a C binary during the build process, but
|
||||
;; lacks the concept of `CC_FOR_BUILD'
|
||||
;; Hack around that by building it manually.
|
||||
#~((add-after 'configure 'build-native-tools
|
||||
(lambda _
|
||||
(with-directory-excursion "info"
|
||||
(lambda _
|
||||
(invoke "make" "CC=gcc" "makedoc")))))
|
||||
(add-after 'configure 'fixup-texindex-building-from-git
|
||||
(lambda _
|
||||
(symlink "../../texindex/texindex"
|
||||
"tools/texindex/texindex"))))
|
||||
#~())
|
||||
(add-after 'configure 'patch-jrtangle
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(let ((mv (search-input-file (or native-inputs inputs)
|
||||
"/bin/mv")))
|
||||
(substitute* "texindex/jrtangle"
|
||||
(("mv") mv)))))
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
@@ -277,49 +221,44 @@ is on expressing the content semantically, avoiding physical markup commands.")
|
||||
(package/inherit texinfo-7
|
||||
(name "info-reader")
|
||||
(arguments
|
||||
(append
|
||||
(substitute-keyword-arguments (package-arguments texinfo-7)
|
||||
((#:modules modules `((guix build utils)
|
||||
(guix build gnu-build-system)))
|
||||
`((srfi srfi-1)
|
||||
(ice-9 ftw)
|
||||
,@modules))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
;; Make sure 'info-reader' can read compressed info files
|
||||
;; in a pure environment. There are also a few other
|
||||
;; uncompressors listed in this file (lzip, unxz, bunzip2, ...)
|
||||
;; but let's not include them because info manuals in Guix
|
||||
;; are always compressed with 'gzip'.
|
||||
;; TODO(core-updates): maybe move to the 'texinfo' package.
|
||||
(add-after 'unpack 'absolute-binary-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "info/filesys.c"
|
||||
(("gunzip") (search-input-file inputs "/bin/gunzip"))
|
||||
(("gzip") (search-input-file inputs "/bin/gzip")))))
|
||||
(add-after 'install 'keep-only-info-reader
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Remove everything but 'bin/info' and associated
|
||||
;; files.
|
||||
(define (files)
|
||||
(scandir "." (lambda (file)
|
||||
(not (member file '("." ".."))))))
|
||||
`(,@(substitute-keyword-arguments (package-arguments texinfo)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
;; Make sure 'info-reader' can read compressed info files
|
||||
;; in a pure environment. There are also a few other
|
||||
;; uncompressors listed in this file (lzip, unxz, bunzip2, ...)
|
||||
;; but let's not include them because info manuals in Guix
|
||||
;; are always compressed with 'gzip'.
|
||||
;; TODO(core-updates): maybe move to the 'texinfo' package.
|
||||
(add-after 'unpack 'absolute-binary-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "info/filesys.c"
|
||||
(("gunzip") (search-input-file inputs "/bin/gunzip"))
|
||||
(("gzip") (search-input-file inputs "/bin/gzip")))))
|
||||
(add-after 'install 'keep-only-info-reader
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Remove everything but 'bin/info' and associated
|
||||
;; files.
|
||||
(define (files)
|
||||
(scandir "." (lambda (file)
|
||||
(not (member file '("." ".."))))))
|
||||
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(with-directory-excursion out
|
||||
(for-each delete-file-recursively
|
||||
(fold delete (files) '("bin" "share"))))
|
||||
(with-directory-excursion (string-append out "/bin")
|
||||
(for-each delete-file (delete "info" (files))))
|
||||
(with-directory-excursion (string-append out "/share")
|
||||
(for-each delete-file-recursively
|
||||
(fold delete (files)
|
||||
'("info" "locale")))))))
|
||||
(delete 'wrap-program))))
|
||||
(list
|
||||
#:disallowed-references (list (this-package-input "perl")))))
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(with-directory-excursion out
|
||||
(for-each delete-file-recursively
|
||||
(fold delete (files) '("bin" "share"))))
|
||||
(with-directory-excursion (string-append out "/bin")
|
||||
(for-each delete-file (delete "info" (files))))
|
||||
(with-directory-excursion (string-append out "/share")
|
||||
(for-each delete-file-recursively
|
||||
(fold delete (files)
|
||||
'("info" "locale"))))
|
||||
#t))))))
|
||||
#:disallowed-references ,(list (this-package-input "perl"))
|
||||
#:modules ((ice-9 ftw) (srfi srfi-1)
|
||||
,@%default-gnu-modules)))
|
||||
(synopsis "Standalone Info documentation reader")
|
||||
(inputs (modify-inputs (package-inputs texinfo-7)
|
||||
(inputs (modify-inputs (package-inputs texinfo)
|
||||
(prepend gzip)))))
|
||||
|
||||
(define-public texi2html
|
||||
|
||||
@@ -1037,7 +1037,8 @@ coding footprint.")
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build utils))
|
||||
#:modules '((guix build utils)
|
||||
(srfi srfi-26))
|
||||
#:builder
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
|
||||
@@ -909,81 +909,6 @@ logs to GNU ChangeLog format.")
|
||||
to GitHub contributions calendar.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public git-cliff
|
||||
(package
|
||||
(name "git-cliff")
|
||||
(version "2.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "git-cliff" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1vz1qix1yi6j5lb95q39pdxn4b6nrq8m235kjjh605m2mf0r8wyd"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:imported-modules (append %copy-build-system-modules
|
||||
%cargo-build-system-modules)
|
||||
#:modules '((guix build cargo-build-system)
|
||||
((guix build copy-build-system) #:prefix copy:)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-extras
|
||||
(lambda args
|
||||
(mkdir "assets")
|
||||
(setenv "OUT_DIR" "assets")
|
||||
(let ((git-cliff-mangen
|
||||
(if #$(%current-target-system)
|
||||
(search-input-file native-inputs
|
||||
"bin/git-cliff-mangen")
|
||||
(in-vicinity #$output "bin/git-cliff-mangen")))
|
||||
(git-cliff-completions
|
||||
(if #$(%current-target-system)
|
||||
(search-input-file native-inputs
|
||||
"bin/git-cliff-completions")
|
||||
(in-vicinity #$output "bin/git-cliff-completions"))))
|
||||
(invoke git-cliff-mangen)
|
||||
(invoke git-cliff-completions))
|
||||
;; Then delete the extra binaries.
|
||||
(delete-file (string-append #$output "/bin/git-cliff-mangen"))
|
||||
(delete-file (string-append #$output "/bin/git-cliff-completions"))
|
||||
(apply (assoc-ref copy:%standard-phases 'install)
|
||||
#:install-plan
|
||||
'(("assets/git-cliff.bash"
|
||||
"share/bash-completion/completions/git-cliff")
|
||||
("assets/git-cliff.elv"
|
||||
"share//elvish/lib/git-cliff")
|
||||
("assets/git-cliff.fish"
|
||||
"share/fish/vendor_completions.d/")
|
||||
("assets/_git-cliff" "share/zsh/site-functions/")
|
||||
("assets/git-cliff.1" "share/man/man1/"))
|
||||
args))))))
|
||||
(native-inputs
|
||||
(append (if (%current-target-system)
|
||||
(list this-package)
|
||||
'())
|
||||
(list pkg-config)))
|
||||
(inputs (cons* libgit2-1.9
|
||||
zlib
|
||||
`(,zstd "lib")
|
||||
(cargo-inputs 'git-cliff)))
|
||||
(home-page "https://github.com/orhun/git-cliff")
|
||||
(synopsis "Highly customizable changelog generator")
|
||||
(description "@command{git-cliff} can generate
|
||||
@url{https://en.wikipedia.org/wiki/Changelog, changelog} files from the
|
||||
@url{https://git-scm.com/, Git} history by utilizing
|
||||
@url{https://git-cliff.org/docs/configuration/git#conventional_commits,
|
||||
conventional commits} as well as regex-powered
|
||||
@url{https://git-cliff.org/docs/configuration/git#commit_parsers,
|
||||
custom parsers}. The @url{https://git-cliff.org/docs/category/templating,
|
||||
changelog template} can be customized with a
|
||||
@url{https://git-cliff.org/docs/configuration, configuration file} to match the
|
||||
desired format.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public git-tools
|
||||
(package
|
||||
(name "git-tools")
|
||||
|
||||
@@ -1008,8 +1008,8 @@ shared library and encoder and decoder command-line executables.")
|
||||
(define-public libx264
|
||||
;; There are no tags in the repository, so we take the version number from
|
||||
;; the X264_BUILD variable defined in x264.h.
|
||||
(let ((version "165")
|
||||
(commit "0480cb05fa188d37ae87e8f4fd8f1aea3711f7ee")
|
||||
(let ((version "164")
|
||||
(commit "b093bbe7d9bc642c8f24067cbdcc73bb43562eab")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "libx264")
|
||||
@@ -1022,7 +1022,7 @@ shared library and encoder and decoder command-line executables.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"136vma04rfzn8kcass8psnxygmn3ykrsyrv0q2dy3iv080vywpy9"))))
|
||||
"095pv8y6fqjg8mdvsfk12d0jqgyhip536a6vxhzm7qz8hfp96qhq"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config nasm))
|
||||
@@ -1865,8 +1865,7 @@ operate properly.")
|
||||
#$@(if (target-powerpc?)
|
||||
;; These tests fail on powerpc64-le (see:
|
||||
;; https://trac.ffmpeg.org/ticket/9604).
|
||||
'("--ignore-tests=checkasm-sw_scale,\
|
||||
filter-scale2ref_keep_aspect,sws-floatimg-cmp")
|
||||
'("--ignore-tests=checkasm-sw_scale,filter-scale2ref_keep_aspect")
|
||||
'())
|
||||
"--enable-gpl" ;enable optional gpl licensed parts
|
||||
"--enable-shared"
|
||||
@@ -7268,7 +7267,7 @@ included for convenience.")
|
||||
(define-public showmethekey
|
||||
(package
|
||||
(name "showmethekey")
|
||||
(version "1.21.0")
|
||||
(version "1.20.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -7277,7 +7276,7 @@ included for convenience.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1zncwnv0w3khd3vc73r2zmhg3j96km021nlszgrmsj0xz5qnbi31"))))
|
||||
(base32 "1hfr2qhlgpp4fiy8885lv2b0cqa5kpyix32d9lg5xhg1hhxnsmc4"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -44,7 +44,6 @@
|
||||
;;; Copyright © 2025 Douglas Deslauriers <Douglas.Deslauriers@vector.com>
|
||||
;;; Copyright © 2025 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2026 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -203,14 +202,14 @@
|
||||
;; Do not forget to update the various firmware used by QEMU, and sync the
|
||||
;; configuration options used by the seabios-qemu package with those
|
||||
;; provided by QEMU.
|
||||
(version "10.2.1")
|
||||
(version "10.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.qemu.org/qemu-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1qf9j6cnh9ycs33dmrm1bas3wafkdh7w5yzz1dilvj72v1vp8wd3"))
|
||||
(base32 "0fl8hlkngmm61h65822xxb6cyfbz56mx30hm01il8ywzicdssc4y"))
|
||||
(patches (search-patches "qemu-build-info-manual.patch"
|
||||
"qemu-fix-agent-paths.patch"
|
||||
"qemu-fix-test-virtio-version.patch"))
|
||||
@@ -338,8 +337,8 @@
|
||||
(substitute* "tests/meson.build"
|
||||
(("subdir.*qtest.*") ""))
|
||||
;; efi-ne2k_pci.rom is from ipxe-qemu.
|
||||
(substitute* "tests/functional/ppc/meson.build"
|
||||
((".*'74xx',.*") "")))))
|
||||
(substitute* "tests/functional/meson.build"
|
||||
((".*ppc_74xx.*") "")))))
|
||||
#~())
|
||||
(add-after 'unpack 'extend-test-time-outs
|
||||
(lambda _
|
||||
@@ -1328,41 +1327,42 @@ it emulates a variety of hardware and peripherals.")
|
||||
(license (list license:gpl3+ license:mpl2.0))))
|
||||
|
||||
(define-public spike
|
||||
(let ((commit "591cff16109ced6a21bb2a612a3853b4e9cbd86d")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "spike")
|
||||
(version (git-version "1.1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/riscv-software-src/riscv-isa-sim")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "07lhf524y0kkrap5lvfqddrq6hhc0g2ypfcq341w2nrjw95izasc"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'configure-dtc-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Reference dtc by its absolute store path.
|
||||
(substitute* "riscv/dts.cc"
|
||||
(("DTC")
|
||||
(string-append "\"" (search-input-file inputs "/bin/dtc")
|
||||
"\""))))))))
|
||||
(inputs
|
||||
(list dtc))
|
||||
(native-inputs
|
||||
(list python-minimal-wrapper))
|
||||
(home-page "https://github.com/riscv-software-src/riscv-isa-sim")
|
||||
(synopsis "RISC-V ISA Simulator")
|
||||
(description "Spike, the RISC-V ISA Simulator, implements a functional model
|
||||
(package
|
||||
(name "spike")
|
||||
(version "1.1.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/riscv-software-src/riscv-isa-sim")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0cik2m0byfp9ppq0hpg3xyrlp5ag1i4dww7a7872mlm36xxqagg0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'gcc14
|
||||
(lambda _
|
||||
(substitute* "fesvr/device.h"
|
||||
(("#include <string>" all)
|
||||
(string-append all "\n#include <cstdint>")))))
|
||||
(add-before 'configure 'configure-dtc-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Reference dtc by its absolute store path.
|
||||
(substitute* "riscv/dts.cc"
|
||||
(("DTC")
|
||||
(string-append "\"" (search-input-file inputs "/bin/dtc") "\""))))))))
|
||||
(inputs
|
||||
(list bash-minimal dtc))
|
||||
(native-inputs
|
||||
(list python-wrapper))
|
||||
(home-page "https://github.com/riscv-software-src/riscv-isa-sim")
|
||||
(synopsis "RISC-V ISA Simulator")
|
||||
(description "Spike, the RISC-V ISA Simulator, implements a functional model
|
||||
of one or more RISC-V harts.")
|
||||
(license license:bsd-3))))
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public incus
|
||||
(package
|
||||
|
||||
+2
-3
@@ -1191,14 +1191,13 @@ to events.")
|
||||
(define-public qtile
|
||||
(package
|
||||
(name "qtile")
|
||||
;; TODO: Update when Python is upgraded to >=3.12.
|
||||
(version "0.33.0")
|
||||
(version "0.34.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "qtile" version))
|
||||
(sha256
|
||||
(base32 "1kqpf6kc98c7ck5w8xvzlzawnmsckpnwdd3xkv08k81zmai71d44"))))
|
||||
(base32 "061bghddw47k86qf7xp7c3rmwp7f71grk1q969nwq22rsafs4040"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -73,8 +73,7 @@
|
||||
(define-public wxwidgets
|
||||
(package
|
||||
(name "wxwidgets")
|
||||
;; There is a newer versions 3.3, but this is tagged "development".
|
||||
(version "3.2.9")
|
||||
(version "3.2.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -82,7 +81,7 @@
|
||||
"releases/download/v" version
|
||||
"/wxWidgets-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0aqi3wrf99djdbvwislza2gsyascq6h3f07qvcpa1mpzid9zk47v"))
|
||||
(base32 "0mnpnwndkw9f6xvjyq4sv6sxfv1h3b9c7lwsm2kg3p0mi30zc35d"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
|
||||
@@ -2000,7 +2000,7 @@ to an arbitrary balanced color.")
|
||||
libxxf86vm
|
||||
libxcb
|
||||
python
|
||||
python-pygobject-3.50
|
||||
python-pygobject
|
||||
python-pyxdg
|
||||
wayland))
|
||||
(home-page "https://gitlab.com/chinstrap/gammastep")
|
||||
|
||||
+12
-4
@@ -636,10 +636,18 @@ appended to the configuration.")
|
||||
(stop #~(make-kill-destructor))
|
||||
(actions
|
||||
(list (shepherd-configuration-action config-file)
|
||||
(shepherd-signal-action
|
||||
'reopen SIGHUP
|
||||
#:documentation "Re-open log files and flush caches."
|
||||
#:message "Issued SIGHUP to Service MPD.")))))))
|
||||
(shepherd-action
|
||||
(name 'reopen)
|
||||
(documentation "Re-open log files and flush caches.")
|
||||
(procedure
|
||||
#~(lambda (pid)
|
||||
(if pid
|
||||
(begin
|
||||
(kill pid SIGHUP)
|
||||
(format #t
|
||||
"Issued SIGHUP to Service MPD (PID ~a)."
|
||||
pid))
|
||||
(format #t "Service MPD is not running.")))))))))))
|
||||
|
||||
(define (mpd-accounts config)
|
||||
(match-record config <mpd-configuration> (user group)
|
||||
|
||||
+10
-4
@@ -1708,11 +1708,17 @@ mail.* -/var/log/maillog
|
||||
(requirement '(user-processes))
|
||||
(actions
|
||||
(list (shepherd-configuration-action syslog.conf)
|
||||
(shepherd-signal-action
|
||||
'reload SIGHUP
|
||||
#:documentation "Reload the configuration file from disk."
|
||||
#:message "Service syslog has been asked to \
|
||||
(shepherd-action
|
||||
(name 'reload)
|
||||
(documentation "Reload the configuration file from disk.")
|
||||
(procedure
|
||||
#~(lambda (pid)
|
||||
(if pid
|
||||
(begin
|
||||
(kill pid SIGHUP)
|
||||
(display #$(G_ "Service syslog has been asked to \
|
||||
reload its settings file.")))
|
||||
(display #$(G_ "Service syslog is not running."))))))))
|
||||
;; Note: a static file name is used for syslog.conf so that the reload
|
||||
;; action work as intended.
|
||||
(start #~(make-forkexec-constructor
|
||||
|
||||
+16
-8
@@ -969,16 +969,24 @@ cache.size = 100 * MB
|
||||
(mkdir-p "/var/lib/misc")))
|
||||
|
||||
(define (dnsmasq-service-reload-action config)
|
||||
(shepherd-signal-action
|
||||
'reload SIGHUP
|
||||
#:documentation "Send a @code{SIGHUP} signal to @command{dnsmasq} to clear
|
||||
cache and reload hosts files."))
|
||||
(match-record config <dnsmasq-configuration> ()
|
||||
(shepherd-action
|
||||
(name 'reload)
|
||||
(documentation "Send a @code{SIGHUP} signal to @command{dnsmasq} to clear
|
||||
cache and reload hosts files.")
|
||||
(procedure #~(lambda (running)
|
||||
(let ((pid (process-id running)))
|
||||
(kill pid SIGHUP)))))))
|
||||
|
||||
(define (dnsmasq-service-stats-action config)
|
||||
(shepherd-signal-action
|
||||
'stats SIGUSR1
|
||||
#:documentation "Send a @code{SIGUSR1} to write statistics to the system
|
||||
log."))
|
||||
(match-record config <dnsmasq-configuration> ()
|
||||
(shepherd-action
|
||||
(name 'stats)
|
||||
(documentation "Send a @code{SIGUSR1} to write statistics to the system
|
||||
log.")
|
||||
(procedure #~(lambda (running)
|
||||
(let ((pid (process-id running)))
|
||||
(kill pid SIGUSR1)))))))
|
||||
|
||||
(define dnsmasq-service-type
|
||||
(service-type
|
||||
|
||||
@@ -656,11 +656,17 @@ satisfy requests from peers."))
|
||||
|
||||
(actions
|
||||
(list
|
||||
(shepherd-signal-action
|
||||
'reload SIGHUP
|
||||
#:documentation "Reload the settings file from disk."
|
||||
#:message "Service transmission-daemon has \
|
||||
been asked to reload its settings file.")))))))
|
||||
(shepherd-action
|
||||
(name 'reload)
|
||||
(documentation "Reload the settings file from disk.")
|
||||
(procedure #~(lambda (pid)
|
||||
(if pid
|
||||
(begin
|
||||
(kill pid SIGHUP)
|
||||
(display #$(G_ "Service transmission-daemon has \
|
||||
been asked to reload its settings file.")))
|
||||
(display #$(G_ "Service transmission-daemon is not \
|
||||
running."))))))))))))
|
||||
|
||||
(define %transmission-daemon-accounts
|
||||
(list (user-group
|
||||
|
||||
+20
-8
@@ -2483,14 +2483,26 @@ worker \"fuzzy\" {
|
||||
(actions
|
||||
(list
|
||||
(shepherd-configuration-action config-file)
|
||||
(shepherd-signal-action
|
||||
'reload SIGHUP
|
||||
#:documentation "Reload rspamd."
|
||||
#:message "Service rspamd has been reloaded")
|
||||
(shepherd-signal-action
|
||||
'reopen SIGUSR1
|
||||
#:documentation "Reopen log files."
|
||||
#:message "Reopening the logs for rspamd.")))))))
|
||||
(shepherd-action
|
||||
(name 'reload)
|
||||
(documentation "Reload rspamd.")
|
||||
(procedure
|
||||
#~(lambda (pid)
|
||||
(if pid
|
||||
(begin
|
||||
(kill pid SIGHUP)
|
||||
(display "Service rspamd has been reloaded"))
|
||||
(format #t "Service rspamd is not running.")))))
|
||||
(shepherd-action
|
||||
(name 'reopen)
|
||||
(documentation "Reopen log files.")
|
||||
(procedure
|
||||
#~(lambda (pid)
|
||||
(if pid
|
||||
(begin
|
||||
(kill pid SIGUSR1)
|
||||
(display "Reopening the logs for rspamd"))
|
||||
(format #t "Service rspamd is not running.")))))))))))
|
||||
|
||||
(define rspamd-service-type
|
||||
(service-type
|
||||
|
||||
@@ -640,10 +640,18 @@ resolution.")
|
||||
(stop #~(make-kill-destructor))
|
||||
(actions
|
||||
(list (shepherd-configuration-action config-file)
|
||||
(shepherd-signal-action
|
||||
'reload SIGHUP
|
||||
#:documentation "Reload vnstatd."
|
||||
#:message "Issued SIGHUP to vnstatd.")))))))
|
||||
(shepherd-action
|
||||
(name 'reload)
|
||||
(documentation "Reload vnstatd.")
|
||||
(procedure
|
||||
#~(lambda (pid)
|
||||
(if pid
|
||||
(begin
|
||||
(kill pid SIGHUP)
|
||||
(format #t
|
||||
"Issued SIGHUP to vnstatd (PID ~a)."
|
||||
pid))
|
||||
(format #t "vnstatd is not running.")))))))))))
|
||||
|
||||
(define (vnstat-account-service config)
|
||||
(match-record config <vnstat-configuration> (daemon-group daemon-user)
|
||||
|
||||
@@ -71,7 +71,6 @@
|
||||
shepherd-action-documentation
|
||||
shepherd-action-procedure
|
||||
|
||||
shepherd-signal-action
|
||||
shepherd-configuration-action
|
||||
shepherd-timer
|
||||
shepherd-trigger-action
|
||||
@@ -422,26 +421,6 @@ and return the resulting '.go' file. SHEPHERD is used as shepherd package."
|
||||
#:options '(#:local-build? #t
|
||||
#:substitutable? #f)))))
|
||||
|
||||
(define* (shepherd-signal-action
|
||||
name signal
|
||||
#:key
|
||||
(documentation (format #f "Send signal ~a to the running service."
|
||||
signal))
|
||||
(message (format #f "Service has been asked to perform '~a'."
|
||||
name)))
|
||||
"Return a shepherd action with NAME to send SIGNAL to the running process.
|
||||
The documentation string of the action will be set to DOC.
|
||||
The action will print MESSAGE after sending the signal."
|
||||
(shepherd-action
|
||||
(name name)
|
||||
(documentation documentation)
|
||||
(procedure #~(lambda (running . args)
|
||||
(if running
|
||||
(let ((pid (process-id running)))
|
||||
(kill pid #$signal)
|
||||
(display #$message))
|
||||
(display "Service is not running."))))))
|
||||
|
||||
(define (shepherd-configuration-action file)
|
||||
"Return a 'configuration' action to display FILE, which should be the name
|
||||
of the service's configuration file."
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
|
||||
;;; Copyright © 2025 Evgeny Pisemsky <mail@pisemsky.site>
|
||||
;;; Copyright © 2026 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -27,14 +26,12 @@
|
||||
(define-module (gnu services version-control)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services base)
|
||||
#:use-module (gnu services configuration)
|
||||
#:use-module (gnu services shepherd)
|
||||
#:use-module (gnu services web)
|
||||
#:use-module (gnu system shadow)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix store)
|
||||
@@ -96,44 +93,7 @@
|
||||
gitile-configuration-footer
|
||||
gitile-configuration-nginx
|
||||
|
||||
gitile-service-type
|
||||
|
||||
fossil-configuration
|
||||
fossil-configuration-fields
|
||||
fossil-configuration?
|
||||
fossil-configuration-package
|
||||
fossil-configuration-user
|
||||
fossil-configuration-group
|
||||
fossil-configuration-log-file
|
||||
fossil-configuration-repository
|
||||
fossil-configuration-acme?
|
||||
fossil-configuration-base-url
|
||||
fossil-configuration-chroot
|
||||
fossil-configuration-ckout-alias
|
||||
fossil-configuration-compress?
|
||||
fossil-configuration-create?
|
||||
fossil-configuration-error-log-file
|
||||
fossil-configuration-ext-root
|
||||
fossil-configuration-files
|
||||
fossil-configuration-from
|
||||
fossil-configuration-jail?
|
||||
fossil-configuration-js-mode
|
||||
fossil-configuration-https?
|
||||
fossil-configuration-ip
|
||||
fossil-configuration-local-authentication?
|
||||
fossil-configuration-main-menu
|
||||
fossil-configuration-max-latency
|
||||
fossil-configuration-port
|
||||
fossil-configuration-list-repositories?
|
||||
fossil-configuration-redirect-to-https?
|
||||
fossil-configuration-skin
|
||||
fossil-configuration-socket-file
|
||||
fossil-configuration-socket-mode
|
||||
fossil-configuration-th-trace?
|
||||
fossil-configuration-tls-certificate
|
||||
fossil-configuration-tls-private-key
|
||||
|
||||
fossil-service-type))
|
||||
gitile-service-type))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
@@ -643,218 +603,3 @@ on the web.")
|
||||
gitile-shepherd-service)
|
||||
(service-extension nginx-service-type
|
||||
gitile-nginx-server-block)))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Fossil HTTP server.
|
||||
;;;
|
||||
|
||||
(define (port-number? n)
|
||||
(and (integer? n)
|
||||
(> n 0)
|
||||
(< n (expt 2 16))))
|
||||
|
||||
(define (mode-number? n)
|
||||
(and (integer? n)
|
||||
(>= n 0)
|
||||
(<= n #o777)))
|
||||
|
||||
(define (fossil-js-mode? x)
|
||||
(and (memq x '(inline separate bundled))
|
||||
#t))
|
||||
|
||||
(define-maybe/no-serialization number)
|
||||
(define-maybe/no-serialization string)
|
||||
(define-maybe/no-serialization list-of-strings)
|
||||
(define-maybe/no-serialization fossil-js-mode)
|
||||
|
||||
(define-configuration/no-serialization fossil-configuration
|
||||
(package (package fossil)
|
||||
"The Fossil package to use.")
|
||||
(user (string "fossil")
|
||||
"The user running the Fossil server.")
|
||||
(group (string "fossil")
|
||||
"The user group running the Fossil server.")
|
||||
(log-file (string "/var/log/fossil.log")
|
||||
"The path to the server's log.")
|
||||
(repository (string "/var/lib/fossil")
|
||||
"The name of the Fossil repository to be served, or a directory
|
||||
containing one or more repositories with names ending in @code{.fossil}.
|
||||
|
||||
In the latter case, a prefix of the URL pathname is used
|
||||
to search the directory for an appropriate repository.
|
||||
Files not matching the pattern @code{*.fossil*}
|
||||
will be served as static content. Invoke @command{fossil server --help}
|
||||
for more information.")
|
||||
(acme? (boolean #f)
|
||||
"Deliver files from the @code{.well-known} subdirectory.")
|
||||
(base-url maybe-string
|
||||
"The URL used as the base (useful for reverse proxies)")
|
||||
(chroot maybe-string
|
||||
"The directory to use for chroot instead of @code{repository}.")
|
||||
(ckout-alias maybe-string
|
||||
"The @var{name} for @code{/doc/@var{name}/...}
|
||||
to be treated as @code{/doc/ckout/...}.")
|
||||
(compress? (boolean #t) "Compress HTTP response.")
|
||||
(create? (boolean #f)
|
||||
"Create a new @code{repository} if it does not already exist.")
|
||||
(error-log-file maybe-string "The path for HTTP error log.")
|
||||
(ext-root maybe-string "The document root for the /ext extension mechanism.")
|
||||
(files maybe-list-of-strings "The glob patterns for static files.")
|
||||
(from maybe-string
|
||||
"The path to be used as the diff baseline for the /ckout page.")
|
||||
(jail? (boolean #t)
|
||||
"Whether to enter the chroot jail after dropping root privileges.")
|
||||
(js-mode maybe-fossil-js-mode
|
||||
"How JavaScript is delivered with pages, either @code{'inline}
|
||||
at the end of the HTML file, as @code{'separate} HTTP requests,
|
||||
or one single HTTP request for all JavaScript @code{'bundled} together.
|
||||
|
||||
Depending on the needs of any given page, @code{'inline}
|
||||
and @code{'bundled} modes might result in a single amalgamated script
|
||||
or several, but both approaches result in fewer HTTP requests
|
||||
than the @code{'separate} mode.")
|
||||
(https? (boolean #f)
|
||||
"Indicate that the requests are coming through a reverse proxy
|
||||
that has already translated HTTPS into HTTP.")
|
||||
(ip maybe-string "The IP for the server to listen on.")
|
||||
(local-authentication? (boolean #f)
|
||||
"Enable automatic login for requests from localhost.")
|
||||
(localhost? (boolean #f) "Listen on @code{127.0.0.1} only.")
|
||||
(main-menu maybe-string ;TODO: structure
|
||||
"The file whose contents is to override
|
||||
the repository's @code{mainmenu} setting.")
|
||||
(max-latency maybe-number
|
||||
"The maximum latency in seconds for a single HTTP request.")
|
||||
(port (port-number 8080) "The port number for the server to listen on.")
|
||||
(list-repositories? (boolean #f)
|
||||
"If @code{repository} is dir, URL @code{/} lists repos.")
|
||||
(redirect-to-https? (boolean #t)
|
||||
"If set to @code{#f}, do not force redirects to HTTPS
|
||||
regardless of the repository setting @code{redirect-to-https}.")
|
||||
(scgi? (boolean #f) "Accept SCGI rather than HTTP.")
|
||||
(skin maybe-string "The skin label to use, overriding repository settings.")
|
||||
(socket-file maybe-string
|
||||
"The unix-domain socket to use instead of TCP/IP.")
|
||||
(socket-mode (mode-number #o640)
|
||||
"The file permissions to set for the unix socket.")
|
||||
(th-trace? (boolean #f)
|
||||
"Trace TH1 execution (for debugging purposes).")
|
||||
(tls-certificate maybe-string
|
||||
"The certicate file (@file{fullchain.pem})
|
||||
with which to enable TLS (HTTPS) encryption.")
|
||||
(tls-private-key maybe-string "The file storing the TLS private key."))
|
||||
|
||||
(define (fossil-accounts config)
|
||||
(match-record config <fossil-configuration> (user group)
|
||||
(list (user-group (name group)
|
||||
(system? #t))
|
||||
(user-account (name user)
|
||||
(group group)
|
||||
(system? #t)
|
||||
(comment "Fossil server user")
|
||||
(home-directory "/var/empty")
|
||||
(shell (file-append shadow "/sbin/nologin"))))))
|
||||
|
||||
(define (fossil-activation config)
|
||||
(match-record config <fossil-configuration> (user create? repository)
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((pw (getpwnam #$user))
|
||||
(uid (passwd:uid pw))
|
||||
(gid (passwd:gid pw)))
|
||||
(unless #$create? (chown #$repository uid gid)))))))
|
||||
|
||||
(define (fossil-shepherd-service config)
|
||||
(match-record config <fossil-configuration>
|
||||
(package user group log-file repository acme? base-url
|
||||
chroot ckout-alias compress? create? error-log-file ext-root
|
||||
files from https? ip jail? js-mode list-repositories?
|
||||
local-authentication? localhost? main-menu max-latency port
|
||||
redirect-to-https? scgi? skin socket-file socket-mode
|
||||
th-trace? tls-certificate tls-private-key)
|
||||
(shepherd-service
|
||||
(provision '(fossil))
|
||||
(requirement '(user-processes networking))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$(file-append package "/bin/fossil")
|
||||
"server"
|
||||
#$@(if acme? '("--acme") '())
|
||||
#$@(if (maybe-value-set? base-url)
|
||||
(list "--baseurl" base-url)
|
||||
'())
|
||||
#$@(if (maybe-value-set? chroot)
|
||||
(list "--chroot" chroot)
|
||||
'())
|
||||
#$@(if (maybe-value-set? ckout-alias)
|
||||
(list "--ckout-alias" ckout-alias)
|
||||
'())
|
||||
#$@(if compress? '() '("--nocompress"))
|
||||
#$@(if create? '("--create") '())
|
||||
#$@(if (maybe-value-set? error-log-file)
|
||||
(list "--errorlog" error-log-file)
|
||||
'())
|
||||
#$@(if (maybe-value-set? ext-root)
|
||||
(list "--extroot" ext-root)
|
||||
'())
|
||||
#$@(if (maybe-value-set? files)
|
||||
(list "--files" (string-join files ","))
|
||||
'())
|
||||
#$@(if (maybe-value-set? from) (list "--from" from) '())
|
||||
#$@(if https? '("--https") '())
|
||||
#$@(if jail? '() '("--nojail"))
|
||||
#$@(if (maybe-value-set? js-mode)
|
||||
(list "--jsmode" (symbol->string js-mode))
|
||||
'())
|
||||
#$@(if local-authentication? '("--localauth") '())
|
||||
#$@(if localhost? '("--localhost") '())
|
||||
#$@(if (maybe-value-set? main-menu)
|
||||
(list "--mainmenu" main-menu)
|
||||
'())
|
||||
#$@(if (maybe-value-set? max-latency)
|
||||
(list "--max-latency"
|
||||
(number->string max-latency))
|
||||
'())
|
||||
#$@(if redirect-to-https? '() '("--nossl"))
|
||||
#$@(if scgi? '("--scgi") '())
|
||||
#$@(if list-repositories? '("--repolist") '())
|
||||
#$@(if (maybe-value-set? skin) (list "--skin" skin) '())
|
||||
#$@(if (maybe-value-set? socket-file)
|
||||
(list "--socket-name" socket-file
|
||||
"--socket-mode" socket-mode
|
||||
"--socket-owner"
|
||||
(simple-format #f "~a:~a" user group))
|
||||
(list "--port"
|
||||
(if (maybe-value-set? ip)
|
||||
(simple-format #f "~a:~a" ip port)
|
||||
(number->string port))))
|
||||
#$@(if th-trace? '("--th-trace") '())
|
||||
#$@(if (maybe-value-set? tls-certificate)
|
||||
(list "--cert" tls-certificate)
|
||||
'())
|
||||
#$@(if (maybe-value-set? tls-private-key)
|
||||
(list "--pkey" tls-private-key)
|
||||
'())
|
||||
"--user" #$user
|
||||
#$repository)
|
||||
#:user #$user
|
||||
#:group #$group
|
||||
#:log-file #$log-file))
|
||||
(stop #~(make-kill-destructor))
|
||||
(documentation
|
||||
"Run the HTTP server
|
||||
for the Fossil software configuration management system."))))
|
||||
|
||||
(define fossil-service-type
|
||||
(service-type
|
||||
(name 'fossil)
|
||||
(extensions
|
||||
(list (service-extension account-service-type fossil-accounts)
|
||||
(service-extension activation-service-type fossil-activation)
|
||||
(service-extension shepherd-root-service-type
|
||||
(compose list fossil-shepherd-service))))
|
||||
(description
|
||||
"Run the HTTP server for the Fossil software configuration management
|
||||
system. In addition to distributed version control, Fossil also supports
|
||||
bug tracking, wiki, forum, email alerts, chat, and technotes.")))
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
;;; Copyright © 2017-2018, 2020-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
|
||||
;;; Copyright © 2026 Nguyễn Gia Phong <cnx@loang.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -40,8 +39,7 @@
|
||||
#:export (%test-cgit
|
||||
%test-git-http
|
||||
%test-gitolite
|
||||
%test-gitile
|
||||
%test-fossil))
|
||||
%test-gitile))
|
||||
|
||||
(define README-contents
|
||||
"Hello! This is what goes inside the 'README' file.")
|
||||
@@ -521,74 +519,3 @@ HTTP-PORT."
|
||||
(name "gitile")
|
||||
(description "Connect to a running Gitile server.")
|
||||
(value (run-gitile-test))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Fossil server.
|
||||
;;;
|
||||
|
||||
(define %test-fossil
|
||||
(system-test
|
||||
(name "fossil")
|
||||
(description "Connect to a running Fossil server.")
|
||||
(value
|
||||
(gexp->derivation
|
||||
(string-append name "-test")
|
||||
(let* ((port 8080)
|
||||
(base-url (simple-format #f "http://localhost:~a" port))
|
||||
(index-url (string-append base-url "/index"))
|
||||
(os (marionette-operating-system
|
||||
(simple-operating-system
|
||||
(service dhcpcd-service-type)
|
||||
(service fossil-service-type
|
||||
(fossil-configuration
|
||||
(repository "/tmp/test.fossil")
|
||||
(base-url base-url)
|
||||
(create? #t)
|
||||
(port port))))))
|
||||
(vm (virtual-machine (operating-system os)
|
||||
(port-forwardings (list (cons port port))))))
|
||||
(with-imported-modules '((gnu build marionette)
|
||||
(guix build utils))
|
||||
#~(begin
|
||||
(use-modules (gnu build marionette)
|
||||
(guix build utils)
|
||||
(srfi srfi-64)
|
||||
(srfi srfi-71)
|
||||
(web client)
|
||||
(web response))
|
||||
(define marionette (make-marionette (list #$vm)))
|
||||
(test-runner-current (system-test-runner #$output))
|
||||
(test-begin #$name)
|
||||
|
||||
(test-assert "server running"
|
||||
(wait-for-tcp-port #$port marionette))
|
||||
|
||||
(test-assert "server log file"
|
||||
(wait-for-file "/var/log/fossil.log" marionette))
|
||||
|
||||
(test-assert "cloning"
|
||||
(begin
|
||||
(setenv "HOME" #$output) ; fossil writes to $HOME
|
||||
(invoke/quiet #$(file-append fossil "/bin/fossil") "clone"
|
||||
"--admin-user" "alice"
|
||||
"--httptrace"
|
||||
"--verbose"
|
||||
#$base-url
|
||||
(string-append #$output "/test.fossil"))))
|
||||
|
||||
(test-assert "index redirect"
|
||||
(let ((response text
|
||||
(http-get #$base-url #:decode-body? #t)))
|
||||
(and (= 302 (response-code response))
|
||||
(string-contains text #$index-url))))
|
||||
|
||||
(test-equal "index page"
|
||||
200 (response-code (http-get #$index-url)))
|
||||
|
||||
(test-equal "tarball download"
|
||||
200 (response-code
|
||||
(http-get (string-append #$base-url
|
||||
"/tarball/test.tar.gz"))))
|
||||
|
||||
(test-end))))))))
|
||||
|
||||
+50
-72
@@ -3,7 +3,6 @@
|
||||
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2021, 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2021 pukkamustard <pukkamustard@posteo.net>
|
||||
;;; Copyright © 2025 Jason Conroy <jconroy@tscripta.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -32,22 +31,12 @@
|
||||
#:use-module (srfi srfi-1)
|
||||
#:export (%dune-build-system-modules
|
||||
dune-build
|
||||
dune-build-system
|
||||
ocaml5-dune-build-system))
|
||||
dune-build-system))
|
||||
|
||||
;; Commentary:
|
||||
;;
|
||||
;; Standard build procedures for packages using dune. These are implemented as
|
||||
;; extensions of `ocaml-build-system'.
|
||||
;;
|
||||
;; Multiple instances of the build system exist to support different versions
|
||||
;; of the OCaml compiler and its associated tools. Choose `dune-build-system`
|
||||
;; for a build system that works with Guix's default version of the compiler,
|
||||
;; or choose `ocamlX-dune-build-system` for some other compiler version X.
|
||||
;;
|
||||
;; Adaptor functions of the form `package-with-ocamlX.Y` defined in the OCaml
|
||||
;; build system will also work on packages with the Dune build system, subject
|
||||
;; to the same caveats.
|
||||
;; Standard build procedure for packages using dune. This is implemented as an
|
||||
;; extension of `ocaml-build-system'.
|
||||
;;
|
||||
;; Code:
|
||||
|
||||
@@ -56,49 +45,54 @@
|
||||
`((guix build dune-build-system)
|
||||
,@ocaml:%ocaml-build-system-modules))
|
||||
|
||||
(define (make-lower default-ocaml default-findlib default-dune)
|
||||
(lambda* (name
|
||||
#:key source inputs native-inputs outputs system target
|
||||
(dune (default-dune))
|
||||
(ocaml (default-ocaml))
|
||||
(findlib (default-findlib))
|
||||
#:allow-other-keys
|
||||
#:rest arguments)
|
||||
"Return a bag for NAME."
|
||||
(define (default-dune)
|
||||
"Return the default OCaml package."
|
||||
|
||||
;; Flags that put dune into reproducible build mode.
|
||||
(define dune-release-flags
|
||||
(if (version>=? (package-version dune) "2.5.0")
|
||||
;; For dune >= 2.5.0 this is just --release.
|
||||
''("--release")
|
||||
;; --release does not exist before 2.5.0. Replace with flags compatible
|
||||
;; with our old ocaml4.07-dune (1.11.3)
|
||||
''("--root" "." "--ignore-promoted-rules" "--no-config"
|
||||
"--profile" "release")))
|
||||
;; Do not use `@' to avoid introducing circular dependencies.
|
||||
(let ((module (resolve-interface '(gnu packages ocaml))))
|
||||
(module-ref module 'dune)))
|
||||
|
||||
(define private-keywords
|
||||
'(#:target #:dune #:findlib #:ocaml #:inputs #:native-inputs))
|
||||
(define* (lower name
|
||||
#:key source inputs native-inputs outputs system target
|
||||
(dune (default-dune))
|
||||
(ocaml (ocaml:default-ocaml))
|
||||
(findlib (ocaml:default-findlib))
|
||||
#:allow-other-keys
|
||||
#:rest arguments)
|
||||
"Return a bag for NAME."
|
||||
|
||||
(and (not target) ;XXX: no cross-compilation
|
||||
(let ((base ((ocaml:make-lower default-ocaml default-findlib)
|
||||
name
|
||||
#:source source
|
||||
#:inputs inputs
|
||||
#:native-inputs native-inputs
|
||||
#:outputs outputs
|
||||
#:system system
|
||||
#:target target
|
||||
#:ocaml ocaml
|
||||
#:findlib findlib
|
||||
arguments)))
|
||||
(bag
|
||||
(inherit base)
|
||||
(build-inputs `(("dune" ,dune)
|
||||
,@(bag-build-inputs base)))
|
||||
(build dune-build)
|
||||
(arguments (append
|
||||
`(#:dune-release-flags ,dune-release-flags)
|
||||
(strip-keyword-arguments private-keywords arguments))))))))
|
||||
;; Flags that put dune into reproducible build mode.
|
||||
(define dune-release-flags
|
||||
(if (version>=? (package-version dune) "2.5.0")
|
||||
;; For dune >= 2.5.0 this is just --release.
|
||||
''("--release")
|
||||
;; --release does not exist before 2.5.0. Replace with flags compatible
|
||||
;; with our old ocaml4.07-dune (1.11.3)
|
||||
''("--root" "." "--ignore-promoted-rules" "--no-config"
|
||||
"--profile" "release")))
|
||||
|
||||
(define private-keywords
|
||||
'(#:target #:dune #:findlib #:ocaml #:inputs #:native-inputs))
|
||||
|
||||
(and (not target) ;XXX: no cross-compilation
|
||||
(let ((base (ocaml:lower name
|
||||
#:source source
|
||||
#:inputs inputs
|
||||
#:native-inputs native-inputs
|
||||
#:outputs outputs
|
||||
#:system system
|
||||
#:target target
|
||||
#:ocaml ocaml
|
||||
#:findlib findlib
|
||||
arguments)))
|
||||
(bag
|
||||
(inherit base)
|
||||
(build-inputs `(("dune" ,dune)
|
||||
,@(bag-build-inputs base)))
|
||||
(build dune-build)
|
||||
(arguments (append
|
||||
`(#:dune-release-flags ,dune-release-flags)
|
||||
(strip-keyword-arguments private-keywords arguments)))))))
|
||||
|
||||
(define* (dune-build name inputs
|
||||
#:key
|
||||
@@ -164,26 +158,10 @@ provides a 'setup.ml' file as its build system."
|
||||
#:graft? #f
|
||||
#:guile-for-build guile))
|
||||
|
||||
(define (make-dune-build-system default-ocaml
|
||||
default-findlib
|
||||
default-dune)
|
||||
(define dune-build-system
|
||||
(build-system
|
||||
(name 'dune)
|
||||
(description "The standard Dune build system")
|
||||
(lower (make-lower default-ocaml
|
||||
default-findlib
|
||||
default-dune))))
|
||||
|
||||
(define dune-build-system
|
||||
;; The default instance of the build system, using Guix's default OCaml
|
||||
;; compiler version.
|
||||
(make-dune-build-system ocaml:default-ocaml
|
||||
ocaml:default-findlib
|
||||
ocaml:default-dune))
|
||||
|
||||
(define ocaml5-dune-build-system
|
||||
(make-dune-build-system ocaml:default-ocaml5
|
||||
ocaml:default-ocaml5-findlib
|
||||
ocaml:default-ocaml5-dune))
|
||||
(lower lower)))
|
||||
|
||||
;;; dune.scm ends here
|
||||
|
||||
+52
-119
@@ -2,7 +2,6 @@
|
||||
;;; Copyright © 2016, 2017, 2018 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2021-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2025 Jason Conroy <jconroy@tscripta.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -34,51 +33,32 @@
|
||||
strip-ocaml4.09-variant
|
||||
package-with-ocaml5.0
|
||||
strip-ocaml5.0-variant
|
||||
package-with-ocaml5.3
|
||||
strip-ocaml5.3-variant
|
||||
default-findlib
|
||||
default-ocaml
|
||||
default-dune
|
||||
default-ocaml5-findlib
|
||||
default-ocaml5
|
||||
default-ocaml5-dune
|
||||
make-lower
|
||||
lower
|
||||
ocaml-build
|
||||
ocaml-build-system
|
||||
ocaml5-build-system))
|
||||
ocaml-build-system))
|
||||
|
||||
;; Commentary:
|
||||
;;
|
||||
;; Standard build procedures for packages using ocaml. These are implemented
|
||||
;; as extensions of `gnu-build-system'.
|
||||
;; Standard build procedure for packages using ocaml. This is implemented as an
|
||||
;; extension of `gnu-build-system'.
|
||||
;;
|
||||
;; OCaml packages don't use a single standard for their build
|
||||
;; system. Historically, some use autotools, other use custom configure
|
||||
;; scripts with Makefiles, others use oasis to generate the configure script
|
||||
;; and Makefile, and some use custom ocaml scripts. The majority of new
|
||||
;; packages instead use Dune, which has a separate `dune-build-system`.
|
||||
;; OCaml packages don't use a single standard for their build system. Some use
|
||||
;; autotools, other use custom configure scripts with Makefiles, others use
|
||||
;; oasis to generate the configure script and Makefile and lastly, some use
|
||||
;; custom ocaml scripts.
|
||||
;;
|
||||
;; Each phase in this build system will try to figure out which of the
|
||||
;; approaches above is used for the package. Most packages come with a custom
|
||||
;; configure script and a Makefile that in turn call custom build
|
||||
;; tools. Packages built with oasis will have a `setup.ml' file in the top
|
||||
;; directory, that can be used for all phases. In that case the Makefile is
|
||||
;; here only to call that script. In case the setup.ml do not work as
|
||||
;; expected, the @var{use-make} argument can be used to ignore the setup.ml
|
||||
;; file and run make instead. Some packages use their own custom scripts
|
||||
;; (e.g., `pkg/pkg.ml' or `pkg/build.ml') which can be used here too.
|
||||
;; Each phase in the build system will try to figure out what the build system
|
||||
;; is for that package. Most packages come with a custom configure script and
|
||||
;; a Makefile that in turn call custom build tools. Packages built with oasis
|
||||
;; will have a `setup.ml' file in the top directory, that can be used for all
|
||||
;; phases. In that case the Makefile is here only to call that script. In case
|
||||
;; the setup.ml do not work as expected, the @var{use-make} argument can be
|
||||
;; used to ignore the setup.ml file and run make instead.
|
||||
;;
|
||||
;; Multiple instances of the build system exist to support different versions
|
||||
;; of the OCaml compiler and its associated tools. Choose `ocaml-build-system`
|
||||
;; for a build system that works with Guix's default version of the compiler,
|
||||
;; or choose `ocamlX-build-system` for some other compiler version X.
|
||||
;;
|
||||
;; Adaptor functions of the form `package-with-ocamlX.Y` transform a package
|
||||
;; to use a different compiler version for its own build and for those of all
|
||||
;; transitive dependencies. These adaptors exist for user convenience, but a
|
||||
;; package shipped with the distribution should generally use the
|
||||
;; `build-system` field instead to identify the version of the OCaml stack
|
||||
;; that it supports.
|
||||
;; Some packages use their own custom scripts, `pkg/pkg.ml' or
|
||||
;; `pkg/build.ml'. They can be used here too.
|
||||
;;
|
||||
;; Code:
|
||||
|
||||
@@ -95,10 +75,6 @@
|
||||
"Return the default OCaml-findlib package, resolved lazily."
|
||||
(@* (gnu packages ocaml) ocaml-findlib))
|
||||
|
||||
(define (default-dune)
|
||||
"Return the default Dune package, resolved lazily."
|
||||
(@* (gnu packages ocaml) dune))
|
||||
|
||||
(define (default-dune-build-system)
|
||||
"Return the dune-build-system, resolved lazily."
|
||||
(@* (guix build-system dune) dune-build-system))
|
||||
@@ -122,31 +98,14 @@
|
||||
(@* (gnu packages ocaml) ocaml4.09-dune))
|
||||
|
||||
(define (default-ocaml5.0)
|
||||
(@* (gnu packages ocaml5) ocaml-5.0))
|
||||
(@* (gnu packages ocaml) ocaml-5.0))
|
||||
|
||||
(define (default-ocaml5.0-findlib)
|
||||
(@* (gnu packages ocaml5) ocaml5.0-findlib))
|
||||
(@* (gnu packages ocaml) ocaml5.0-findlib))
|
||||
|
||||
(define (default-ocaml5.0-dune)
|
||||
(@* (gnu packages ocaml) ocaml5.0-dune))
|
||||
|
||||
(define (default-ocaml5.3)
|
||||
(@* (gnu packages ocaml5) ocaml-5.3))
|
||||
|
||||
(define (default-ocaml5.3-findlib)
|
||||
(@* (gnu packages ocaml5) ocaml5.3-findlib))
|
||||
|
||||
(define (default-ocaml5.3-dune)
|
||||
(@* (gnu packages ocaml5) ocaml5.3-dune))
|
||||
|
||||
;; The default versions of core packages within the 5.x series.
|
||||
|
||||
(define default-ocaml5 default-ocaml5.3)
|
||||
|
||||
(define default-ocaml5-findlib default-ocaml5.3-findlib)
|
||||
|
||||
(define default-ocaml5-dune default-ocaml5.3-dune)
|
||||
|
||||
(define* (package-with-explicit-ocaml ocaml findlib dune old-prefix new-prefix
|
||||
#:key variant-property)
|
||||
"Return a procedure of one argument, P. The procedure creates a package
|
||||
@@ -171,12 +130,6 @@ pre-defined variants."
|
||||
variant-property))
|
||||
(const #f)))
|
||||
|
||||
(define (has-ocaml-build-system? p)
|
||||
(eq? 'ocaml (build-system-name (package-build-system p))))
|
||||
|
||||
(define (has-dune-build-system? p)
|
||||
(eq? 'dune (build-system-name (package-build-system p))))
|
||||
|
||||
(define (transform p)
|
||||
(cond
|
||||
;; If VARIANT-PROPERTY is present, use that.
|
||||
@@ -184,7 +137,8 @@ pre-defined variants."
|
||||
=> force)
|
||||
|
||||
;; Otherwise build the new package object graph.
|
||||
((or (has-ocaml-build-system? p) (has-dune-build-system? p))
|
||||
((or (eq? (package-build-system p) ocaml-build-system)
|
||||
(eq? (package-build-system p) (default-dune-build-system)))
|
||||
(package
|
||||
(inherit p)
|
||||
(location (package-location p))
|
||||
@@ -201,13 +155,15 @@ pre-defined variants."
|
||||
(ensure-keyword-arguments (package-arguments p)
|
||||
`(#:ocaml ,ocaml
|
||||
#:findlib ,findlib
|
||||
,@(if (has-dune-build-system? p)
|
||||
,@(if (eq? (package-build-system p)
|
||||
(default-dune-build-system))
|
||||
`(#:dune ,dune)
|
||||
'())))))))
|
||||
(else p)))
|
||||
|
||||
(define (cut? p)
|
||||
(or (not (or (has-ocaml-build-system? p) (has-dune-build-system? p)))
|
||||
(or (not (or (eq? (package-build-system p) ocaml-build-system)
|
||||
(eq? (package-build-system p) (default-dune-build-system))))
|
||||
(package-variant p)))
|
||||
|
||||
(package-mapping transform cut?))
|
||||
@@ -251,47 +207,33 @@ pre-defined variants."
|
||||
(inherit p)
|
||||
(properties (alist-delete 'ocaml5.0-variant (package-properties p)))))
|
||||
|
||||
(define package-with-ocaml5.3
|
||||
(package-with-explicit-ocaml (delay (default-ocaml5.3))
|
||||
(delay (default-ocaml5.3-findlib))
|
||||
(delay (default-ocaml5.3-dune))
|
||||
"ocaml-" "ocaml5.3-"
|
||||
#:variant-property 'ocaml5.3-variant))
|
||||
(define* (lower name
|
||||
#:key source inputs native-inputs outputs system target
|
||||
(ocaml (default-ocaml))
|
||||
(findlib (default-findlib))
|
||||
#:allow-other-keys
|
||||
#:rest arguments)
|
||||
"Return a bag for NAME."
|
||||
(define private-keywords
|
||||
'(#:target #:ocaml #:findlib #:inputs #:native-inputs))
|
||||
|
||||
(define (strip-ocaml5.3-variant p)
|
||||
"Remove the 'ocaml5.3-variant' property from P."
|
||||
(package
|
||||
(inherit p)
|
||||
(properties (alist-delete 'ocaml5.3-variant (package-properties p)))))
|
||||
(and (not target) ;XXX: no cross-compilation
|
||||
(bag
|
||||
(name name)
|
||||
(system system)
|
||||
(host-inputs `(,@(if source
|
||||
`(("source" ,source))
|
||||
'())
|
||||
,@inputs))
|
||||
(build-inputs `(("ocaml" ,ocaml)
|
||||
("findlib" ,findlib)
|
||||
,@native-inputs
|
||||
|
||||
(define (make-lower default-ocaml default-findlib)
|
||||
(lambda* (name
|
||||
#:key source inputs native-inputs outputs system target
|
||||
(ocaml (default-ocaml))
|
||||
(findlib (default-findlib))
|
||||
#:allow-other-keys
|
||||
#:rest arguments)
|
||||
"Return a bag for NAME."
|
||||
(define private-keywords
|
||||
'(#:target #:ocaml #:findlib #:inputs #:native-inputs))
|
||||
|
||||
(and (not target) ;XXX: no cross-compilation
|
||||
(bag
|
||||
(name name)
|
||||
(system system)
|
||||
(host-inputs `(,@(if source
|
||||
`(("source" ,source))
|
||||
'())
|
||||
,@inputs))
|
||||
(build-inputs `(("ocaml" ,ocaml)
|
||||
("findlib" ,findlib)
|
||||
,@native-inputs
|
||||
|
||||
;; Keep the standard inputs of 'gnu-build-system'.
|
||||
,@(standard-packages)))
|
||||
(outputs outputs)
|
||||
(build ocaml-build)
|
||||
(arguments (strip-keyword-arguments private-keywords arguments))))))
|
||||
;; Keep the standard inputs of 'gnu-build-system'.
|
||||
,@(standard-packages)))
|
||||
(outputs outputs)
|
||||
(build ocaml-build)
|
||||
(arguments (strip-keyword-arguments private-keywords arguments)))))
|
||||
|
||||
(define* (ocaml-build name inputs
|
||||
#:key
|
||||
@@ -351,19 +293,10 @@ provides a 'setup.ml' file as its build system."
|
||||
#:graft? #f
|
||||
#:guile-for-build guile))
|
||||
|
||||
(define (make-ocaml-build-system default-ocaml default-findlib)
|
||||
(define ocaml-build-system
|
||||
(build-system
|
||||
(name 'ocaml)
|
||||
(description "The standard OCaml build system")
|
||||
(lower (make-lower default-ocaml default-findlib))))
|
||||
|
||||
(define ocaml-build-system
|
||||
;; The default instance of the build system, using Guix's default OCaml
|
||||
;; compiler version.
|
||||
(make-ocaml-build-system default-ocaml default-findlib))
|
||||
|
||||
(define ocaml5-build-system
|
||||
(make-ocaml-build-system default-ocaml5 default-ocaml5-findlib))
|
||||
|
||||
(lower lower)))
|
||||
|
||||
;;; ocaml.scm ends here
|
||||
|
||||
@@ -89,25 +89,13 @@
|
||||
#:allow-other-keys)
|
||||
"Install the given package."
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(cond
|
||||
((and (file-exists? "setup.ml") (not use-make?))
|
||||
(if (and (file-exists? "setup.ml") (not use-make?))
|
||||
(apply invoke "ocaml" "setup.ml"
|
||||
(string-append "-" install-target) build-flags))
|
||||
((file-exists? "Makefile")
|
||||
(apply invoke "make" install-target make-flags))
|
||||
;; Use either opam-installer or opaline, which both understand
|
||||
;; opam's `.install` file format. opam-installer is the standard
|
||||
;; platform tool, while opaline is a fallback for packages with
|
||||
;; circular dependencies involving opam.
|
||||
;; (https://codeberg.org/guix/guix/issues/3588)
|
||||
((which "opam-installer")
|
||||
(invoke "opam-installer" "-i" (string-append "--prefix=" out)
|
||||
(string-append "--libdir=" out "/lib/ocaml/site-lib")))
|
||||
((which "opaline")
|
||||
(invoke "opaline" "-prefix" out
|
||||
"-libdir" (string-append out "/lib/ocaml/site-lib")))
|
||||
(else (error (string-append "Either 'opam-installer' or 'opaline' "
|
||||
"must exist in $PATH at build time.")))))
|
||||
(string-append "-" install-target) build-flags)
|
||||
(if (file-exists? "Makefile")
|
||||
(apply invoke "make" install-target make-flags)
|
||||
(invoke "opam-installer" "-i" (string-append "--prefix=" out)
|
||||
(string-append "--libdir=" out "/lib/ocaml/site-lib")))))
|
||||
#t)
|
||||
|
||||
(define* (prepare-install #:key outputs #:allow-other-keys)
|
||||
|
||||
+2
-2
@@ -224,7 +224,7 @@ returned by 'gexp->sexp'."
|
||||
(let ((extra (length inputs)))
|
||||
(lambda args
|
||||
(apply (gexp-proc gexp) (drop args extra))))
|
||||
(and=> (gexp-location gexp) location->source-properties)))
|
||||
(gexp-location gexp)))
|
||||
|
||||
|
||||
;;;
|
||||
@@ -1250,7 +1250,7 @@ The other arguments are as for 'derivation'."
|
||||
(append modules (gexp-self-modules exp))
|
||||
(gexp-self-extensions exp)
|
||||
(gexp-proc exp)
|
||||
(and=> (gexp-location exp) location->source-properties))))
|
||||
(gexp-location exp))))
|
||||
|
||||
(mlet* %store-monad ( ;; The following binding forces '%current-system' and
|
||||
;; '%current-target-system' to be looked up at >>=
|
||||
|
||||
+1
-37
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012-2013, 2018-2020, 2023, 2025-2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012-2013, 2018-2020, 2023, 2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
|
||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2017, 2019, 2020, 2022, 2023, 2024, 2025 Ricardo Wurmus <rekado@elephly.net>
|
||||
@@ -58,11 +58,6 @@
|
||||
#:use-module (ice-9 rdelim)
|
||||
#:use-module (ice-9 receive)
|
||||
#:use-module (ice-9 regex)
|
||||
#:autoload (web uri) (string->uri
|
||||
uri-scheme
|
||||
uri-host
|
||||
uri-path
|
||||
split-and-decode-uri-path)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-11)
|
||||
@@ -81,7 +76,6 @@
|
||||
peek-body
|
||||
|
||||
git-repository-url?
|
||||
tarball-url->git-repository-url
|
||||
download-git-repository
|
||||
git-origin
|
||||
git->origin
|
||||
@@ -208,36 +202,6 @@ thrown."
|
||||
;; Fallback.
|
||||
(string-suffix? ".git" url)))
|
||||
|
||||
(define (tarball-url->git-repository-url url)
|
||||
"Given URL, the URL of a source code tarball, return the URL of the
|
||||
corresponding Git repository or #f if it could not be guessed."
|
||||
(let ((uri (string->uri url)))
|
||||
(match (uri-scheme uri)
|
||||
('mirror
|
||||
(match (uri-host uri)
|
||||
((or "gnu" "savannah")
|
||||
(string-append "https://https.git.savannah.gnu.org/git/"
|
||||
(match (split-and-decode-uri-path (uri-path uri))
|
||||
((name _ ...)
|
||||
(string-append name ".git")))))
|
||||
("gnome"
|
||||
(string-append "https://gitlab.gnome.org/GNOME/"
|
||||
(match (split-and-decode-uri-path (uri-path uri))
|
||||
(("sources" name _ ...)
|
||||
(string-append name ".git")))))
|
||||
;; TODO: Add "kernel" and other mirrors.
|
||||
(_ #f)))
|
||||
((or 'https 'http)
|
||||
(match (uri-host uri)
|
||||
((or "github.com" "gitlab.com")
|
||||
(match (split-and-decode-uri-path (uri-path uri))
|
||||
((owner repository _ ...)
|
||||
(string-append "https://" (uri-host uri)
|
||||
"/" owner "/" repository))))
|
||||
(_
|
||||
#f)))
|
||||
(_ #f))))
|
||||
|
||||
(define* (download-git-repository url ref #:key recursive?)
|
||||
"Fetch the given REF from the Git repository at URL. Return three values :
|
||||
the commit hash, the downloaded directory and its content hash."
|
||||
|
||||
+53
-54
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013-2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013-2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2014, 2016 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
@@ -1676,62 +1676,61 @@ files for the fonts of the @var{manifest} entries."
|
||||
(module-ref (resolve-interface '(gnu packages xorg)) 'mkfontdir))
|
||||
|
||||
(define build
|
||||
(with-imported-modules '((guix build utils)
|
||||
(guix build union))
|
||||
#~(begin
|
||||
(use-modules (srfi srfi-26)
|
||||
(guix build utils)
|
||||
(guix build union))
|
||||
|
||||
(let ((fonts-dirs (filter file-exists?
|
||||
(map (cut string-append <>
|
||||
"/share/fonts")
|
||||
'#$(manifest-inputs manifest)))))
|
||||
(mkdir #$output)
|
||||
(if (null? fonts-dirs)
|
||||
(exit #t)
|
||||
(let* ((share-dir (string-append #$output "/share"))
|
||||
(fonts-dir (string-append share-dir "/fonts"))
|
||||
(mkfontscale (string-append #+mkfontscale
|
||||
"/bin/mkfontscale"))
|
||||
(mkfontdir (string-append #+mkfontdir
|
||||
"/bin/mkfontdir"))
|
||||
(empty-file? (lambda (filename)
|
||||
(call-with-ascii-input-file filename
|
||||
(lambda (p)
|
||||
(eqv? #\0 (read-char p))))))
|
||||
(fonts-dir-file "fonts.dir")
|
||||
(fonts-scale-file "fonts.scale"))
|
||||
(mkdir-p share-dir)
|
||||
;; Create all sub-directories, because we may create fonts.dir
|
||||
;; and fonts.scale files in the sub-directories.
|
||||
(union-build fonts-dir fonts-dirs
|
||||
#:log-port (%make-void-port "w")
|
||||
#:create-all-directories? #t)
|
||||
(let ((directories
|
||||
(find-files fonts-dir
|
||||
(lambda (file stat)
|
||||
(eq? 'directory (stat:type stat)))
|
||||
#:directories? #t)))
|
||||
(for-each (lambda (dir)
|
||||
(with-directory-excursion dir
|
||||
(when (file-exists? fonts-scale-file)
|
||||
(delete-file fonts-scale-file))
|
||||
(when (file-exists? fonts-dir-file)
|
||||
(delete-file fonts-dir-file))
|
||||
(unless (and (zero? (system* mkfontscale))
|
||||
(zero? (system* mkfontdir)))
|
||||
(exit #f))
|
||||
(when (and (file-exists? fonts-scale-file)
|
||||
(empty-file? fonts-scale-file))
|
||||
(delete-file fonts-scale-file))
|
||||
(when (and (file-exists? fonts-dir-file)
|
||||
(empty-file? fonts-dir-file))
|
||||
(delete-file fonts-dir-file))))
|
||||
directories))))))))
|
||||
#~(begin
|
||||
(use-modules (srfi srfi-26)
|
||||
(guix build utils)
|
||||
(guix build union))
|
||||
(let ((fonts-dirs (filter file-exists?
|
||||
(map (cut string-append <>
|
||||
"/share/fonts")
|
||||
'#$(manifest-inputs manifest)))))
|
||||
(mkdir #$output)
|
||||
(if (null? fonts-dirs)
|
||||
(exit #t)
|
||||
(let* ((share-dir (string-append #$output "/share"))
|
||||
(fonts-dir (string-append share-dir "/fonts"))
|
||||
(mkfontscale (string-append #+mkfontscale
|
||||
"/bin/mkfontscale"))
|
||||
(mkfontdir (string-append #+mkfontdir
|
||||
"/bin/mkfontdir"))
|
||||
(empty-file? (lambda (filename)
|
||||
(call-with-ascii-input-file filename
|
||||
(lambda (p)
|
||||
(eqv? #\0 (read-char p))))))
|
||||
(fonts-dir-file "fonts.dir")
|
||||
(fonts-scale-file "fonts.scale"))
|
||||
(mkdir-p share-dir)
|
||||
;; Create all sub-directories, because we may create fonts.dir
|
||||
;; and fonts.scale files in the sub-directories.
|
||||
(union-build fonts-dir fonts-dirs
|
||||
#:log-port (%make-void-port "w")
|
||||
#:create-all-directories? #t)
|
||||
(let ((directories (find-files fonts-dir
|
||||
(lambda (file stat)
|
||||
(eq? 'directory (stat:type stat)))
|
||||
#:directories? #t)))
|
||||
(for-each (lambda (dir)
|
||||
(with-directory-excursion dir
|
||||
(when (file-exists? fonts-scale-file)
|
||||
(delete-file fonts-scale-file))
|
||||
(when (file-exists? fonts-dir-file)
|
||||
(delete-file fonts-dir-file))
|
||||
(unless (and (zero? (system* mkfontscale))
|
||||
(zero? (system* mkfontdir)))
|
||||
(exit #f))
|
||||
(when (and (file-exists? fonts-scale-file)
|
||||
(empty-file? fonts-scale-file))
|
||||
(delete-file fonts-scale-file))
|
||||
(when (and (file-exists? fonts-dir-file)
|
||||
(empty-file? fonts-dir-file))
|
||||
(delete-file fonts-dir-file))))
|
||||
directories)))))))
|
||||
|
||||
(gexp->derivation "fonts-dir" build
|
||||
#:system system
|
||||
#:modules '((guix build utils)
|
||||
(guix build union)
|
||||
(srfi srfi-26))
|
||||
#:local-build? #t
|
||||
#:substitutable? #f
|
||||
#:properties
|
||||
|
||||
+1
-2
@@ -362,8 +362,7 @@ expressions and blanks that were read."
|
||||
;; of 1, except that indent is 1 instead of 2 columns.
|
||||
(vhashq
|
||||
('source '(package))
|
||||
('git-reference '(uri origin))
|
||||
('snippet '(origin))
|
||||
('git-reference '(uri origin source))
|
||||
('sha256 '(origin source package))
|
||||
('arguments '(package))
|
||||
('list '(arguments package))
|
||||
|
||||
+29
-44
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2021-2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2021-2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
@@ -33,8 +33,7 @@
|
||||
#:autoload (gnu packages) (specification->package fold-packages)
|
||||
#:autoload (guix import utils) (default-git-error
|
||||
generate-git-source
|
||||
git-repository-url?
|
||||
tarball-url->git-repository-url)
|
||||
git-repository-url?)
|
||||
#:use-module (guix combinators)
|
||||
#:use-module (guix scripts)
|
||||
#:use-module ((guix scripts build) #:select (%standard-build-options))
|
||||
@@ -48,6 +47,7 @@
|
||||
#:use-module (ice-9 control)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-2)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-11)
|
||||
#:use-module (srfi srfi-26)
|
||||
@@ -569,7 +569,7 @@ are put in alphabetical order."
|
||||
;;; url-fetch->git-fetch
|
||||
;;;
|
||||
|
||||
(define (transform-to-git-fetch location origin repository-url version)
|
||||
(define (transform-to-git-fetch location origin home-page version)
|
||||
"Transform an origin using url-fetch to use git-fetch if appropriate.
|
||||
Return the new origin S-expression or #f if transformation isn't applicable."
|
||||
(match origin
|
||||
@@ -578,22 +578,15 @@ Return the new origin S-expression or #f if transformation isn't applicable."
|
||||
('uri uri-expr)
|
||||
('sha256 ('base32 _))
|
||||
rest ...)
|
||||
(catch 'git-error
|
||||
(lambda ()
|
||||
(let ((rest (filter (match-lambda
|
||||
(('patches . _) #t)
|
||||
(('modules . _) #t)
|
||||
(('snippet . _) #t)
|
||||
(_ #f))
|
||||
rest)))
|
||||
`(,@(generate-git-source repository-url version
|
||||
(lambda args
|
||||
(apply throw args)))
|
||||
,@rest)))
|
||||
(let ((report-error (default-git-error repository-url location)))
|
||||
(lambda args
|
||||
(apply report-error args)
|
||||
#f))))
|
||||
(let ((rest (filter (match-lambda
|
||||
(('patches . _) #t)
|
||||
(('modules . _) #t)
|
||||
(('snippet . _) #t)
|
||||
(_ #f))
|
||||
rest)))
|
||||
`(,@(generate-git-source home-page version
|
||||
(default-git-error home-page location))
|
||||
,@rest)))
|
||||
(_ #f)))
|
||||
|
||||
(define* (url-fetch->git-fetch package
|
||||
@@ -601,39 +594,31 @@ Return the new origin S-expression or #f if transformation isn't applicable."
|
||||
(policy 'safe)
|
||||
(edit-expression edit-expression))
|
||||
"Transform PACKAGE's source from url-fetch to git-fetch when appropriate."
|
||||
(define (transform-source location repository-url str)
|
||||
(define (transform-source location str)
|
||||
(let* ((origin-exp (call-with-input-string str read-with-comments))
|
||||
(home-page (package-home-page package))
|
||||
(new-origin (transform-to-git-fetch location
|
||||
origin-exp
|
||||
repository-url
|
||||
home-page
|
||||
(package-version package))))
|
||||
(if new-origin
|
||||
(begin
|
||||
(info location (G_ "~a: changing source to 'git-fetch'~%")
|
||||
(package-full-name package))
|
||||
(info location (G_ "transforming source from url-fetch to git-fetch~%"))
|
||||
(object->string* new-origin (location-column location)))
|
||||
str)))
|
||||
|
||||
;; Check if this package uses 'url-fetch' and has a known corresponding Git
|
||||
;; repository.
|
||||
(let* ((source (package-source package))
|
||||
(home-page (package-home-page package))
|
||||
(repository-url (and (origin? source)
|
||||
(eq? url-fetch (origin-method source))
|
||||
(or (and (git-repository-url? home-page)
|
||||
home-page)
|
||||
(and=> (match (origin-uri source)
|
||||
(((? string? head) . _) head)
|
||||
((? string? url) url)
|
||||
(_ #f))
|
||||
tarball-url->git-repository-url))))
|
||||
(location ;source might be inherited
|
||||
(and=> (package-field-location package 'source)
|
||||
absolute-location)))
|
||||
(when (and repository-url location)
|
||||
(edit-expression
|
||||
(location->source-properties location)
|
||||
(cut transform-source location repository-url <>)))))
|
||||
;; Check if this package uses url-fetch and has a git repository home-page
|
||||
(and-let* ((source (package-source package))
|
||||
(home-page (package-home-page package))
|
||||
(location ; source might be inherited
|
||||
(and=> (and (origin? source)
|
||||
(eq? url-fetch (origin-method source))
|
||||
(git-repository-url? home-page)
|
||||
(package-field-location package 'source))
|
||||
absolute-location)))
|
||||
(edit-expression
|
||||
(location->source-properties location)
|
||||
(cut transform-source location <>))))
|
||||
|
||||
|
||||
;;;
|
||||
|
||||
+3
-7
@@ -118,8 +118,6 @@
|
||||
set-store-connection-cache
|
||||
set-store-connection-cache!
|
||||
|
||||
%default-store-connection-buffer-size
|
||||
|
||||
connect-to-daemon
|
||||
open-connection
|
||||
port->connection
|
||||
@@ -358,11 +356,10 @@ non-blocking."
|
||||
(errno (system-error-errno args)))))
|
||||
(loop rest)))))))))
|
||||
|
||||
(define %default-store-connection-buffer-size 8192)
|
||||
(define %default-buffer-size 8192)
|
||||
|
||||
(define* (connect-to-daemon uri-or-filename #:key non-blocking?
|
||||
(buffer-size
|
||||
%default-store-connection-buffer-size))
|
||||
(buffer-size %default-buffer-size))
|
||||
"Connect to the daemon at URI-OR-FILENAME and return an input/output port.
|
||||
If NON-BLOCKING?, use a non-blocking socket when using the file, unix or guix
|
||||
URI schemes. Use BUFFER-SIZE defaulting to 8192.
|
||||
@@ -409,8 +406,7 @@ the daemon. Use 'open-connection' for that."
|
||||
(define* (open-connection #:optional (uri (%daemon-socket-uri))
|
||||
#:key port (reserve-space? #t) cpu-affinity
|
||||
non-blocking? built-in-builders
|
||||
(buffer-size
|
||||
%default-store-connection-buffer-size))
|
||||
(buffer-size %default-buffer-size))
|
||||
"Connect to the daemon at URI (a string), or, if PORT is not #f, use it as
|
||||
the I/O port over which to communicate to a build daemon.
|
||||
|
||||
|
||||
@@ -344,13 +344,4 @@ error procedure has been called."
|
||||
(let ((sexp error-called? (test-generate-git-source "1.0.0" "2.0.0")))
|
||||
error-called?))
|
||||
|
||||
(test-equal "tarball-url->git-repository-url, guile"
|
||||
'("https://https.git.savannah.gnu.org/git/guile.git"
|
||||
"https://gitlab.gnome.org/GNOME/brasero.git"
|
||||
"https://github.com/aide/aide")
|
||||
(map tarball-url->git-repository-url
|
||||
'("mirror://gnu/guile/guile-3.0.11.tar.gz"
|
||||
"mirror://gnome/sources/brasero/3.12/brasero-3.12.3.tar.xz"
|
||||
"https://github.com/aide/aide/releases/download/v0.19.3/aide-0.19.3.tar.gz")))
|
||||
|
||||
(test-end "import-utils")
|
||||
|
||||
+1
-36
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2021-2024, 2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2021-2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -669,41 +669,6 @@
|
||||
(cut string-contains <> "patches")))))))
|
||||
"1"))
|
||||
|
||||
(unless (false-if-exception
|
||||
(getaddrinfo "https.git.savannah.gnu.org" "https"))
|
||||
(test-skip 1))
|
||||
(test-equal "url-fetch->git-fetch, mirror:// URL"
|
||||
'(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://https.git.savannah.gnu.org/git/sed.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"00p6v3aa22jz365scmifr06fspkylzrvbqda0waz4x06q5qv0263")))
|
||||
(call-with-test-package
|
||||
'((version "4.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/sed/sed-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0000000000000000000000000000000000000000000000000000")))))
|
||||
(lambda (directory)
|
||||
(define file
|
||||
(string-append directory "/my-packages-1.scm"))
|
||||
|
||||
;; Note: This ends up cloning the 'sed' repository on Savannah.
|
||||
(system* "guix" "style" "-L" directory "-S" "git-source" "my-coreutils-1")
|
||||
|
||||
(load file)
|
||||
(call-with-input-string (read-package-field
|
||||
(@ (my-packages-1) my-coreutils-1) 'source 8)
|
||||
read))
|
||||
"1"))
|
||||
|
||||
(test-assert "url-fetch->git-fetch, non-git home-page unchanged"
|
||||
(call-with-test-package
|
||||
'((home-page "https://www.example.com")
|
||||
|
||||
Reference in New Issue
Block a user