Merge branch 'staging' into core-updates
This commit is contained in:
commit
884548b476
@ -10,11 +10,25 @@
|
||||
. "\\(<https?://\\bugs\\.gnu\\.org/\\([0-9]+\\)>\\)")
|
||||
(bug-reference-url-format . "https://bugs.gnu.org/%s")
|
||||
|
||||
(eval . (add-to-list 'completion-ignored-extensions ".go"))
|
||||
|
||||
;; Emacs-Guix
|
||||
(eval . (setq-local guix-directory
|
||||
(locate-dominating-file default-directory
|
||||
".dir-locals.el")))
|
||||
|
||||
;; YASnippet
|
||||
(eval . (with-eval-after-load
|
||||
'yasnippet
|
||||
(let ((guix-yasnippets
|
||||
(expand-file-name
|
||||
"etc/snippets/yas"
|
||||
(locate-dominating-file default-directory
|
||||
".dir-locals.el"))))
|
||||
(unless (member guix-yasnippets yas-snippet-dirs)
|
||||
(add-to-list 'yas-snippet-dirs guix-yasnippets)
|
||||
(yas-reload-all)))))
|
||||
|
||||
;; Geiser
|
||||
;; This allows automatically setting the `geiser-guile-load-path'
|
||||
;; variable when using various Guix checkouts (e.g., via git worktrees).
|
||||
|
@ -402,10 +402,6 @@ AUX_FILES = \
|
||||
gnu/packages/aux-files/linux-libre/5.19-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.19-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.19-x86_64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.18-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.18-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.18-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.18-x86_64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.15-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.15-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.15-i686.conf \
|
||||
|
@ -1627,14 +1627,23 @@ git config commit.gpgsign true
|
||||
git config user.signingkey CABBA6EA1DC0FF33
|
||||
@end example
|
||||
|
||||
You can prevent yourself from accidentally pushing unsigned commits to
|
||||
Savannah by using the pre-push Git hook located at
|
||||
@file{etc/git/pre-push}:
|
||||
To check that commits are signed with correct key, use:
|
||||
|
||||
@example
|
||||
make authenticate
|
||||
@end example
|
||||
|
||||
You can prevent yourself from accidentally pushing unsigned or signed
|
||||
with the wrong key commits to Savannah by using the pre-push Git hook
|
||||
located at @file{etc/git/pre-push}:
|
||||
|
||||
@example
|
||||
cp etc/git/pre-push .git/hooks/pre-push
|
||||
@end example
|
||||
|
||||
It additionally calls @code{make check-channel-news} to be sure
|
||||
@file{news.scm} file is correct.
|
||||
|
||||
@subsection Commit Policy
|
||||
|
||||
If you get commit access, please make sure to follow
|
||||
|
@ -98,7 +98,7 @@ Copyright @copyright{} 2021 pukkamustard@*
|
||||
Copyright @copyright{} 2021 Alice Brenon@*
|
||||
Copyright @copyright{} 2021, 2022 Josselin Poiret@*
|
||||
Copyright @copyright{} 2021 muradm@*
|
||||
Copyright @copyright{} 2021 Andrew Tropin@*
|
||||
Copyright @copyright{} 2021, 2022 Andrew Tropin@*
|
||||
Copyright @copyright{} 2021 Sarah Morgensen@*
|
||||
Copyright @copyright{} 2022 Remco van 't Veer@*
|
||||
Copyright @copyright{} 2022 Aleksandr Vityazev@*
|
||||
@ -7322,6 +7322,14 @@ unavailable to the build process, possibly leading to a build failure.
|
||||
|
||||
@xref{package Reference}, for a full description of possible fields.
|
||||
|
||||
@quotation Going further
|
||||
@cindex Scheme programming language, getting started
|
||||
Intimidated by the Scheme language or curious about it? The Cookbook
|
||||
has a short section to get started that recaps some of the things shown
|
||||
above and explains the fundamentals. @xref{A Scheme Crash Course,,,
|
||||
guix-cookbook, GNU Guix Cookbook}, for more information.
|
||||
@end quotation
|
||||
|
||||
Once a package definition is in place, the
|
||||
package may actually be built using the @code{guix build} command-line
|
||||
tool (@pxref{Invoking guix build}), troubleshooting any build failures
|
||||
@ -22724,15 +22732,16 @@ Enable polling the kernel for battery level changes.
|
||||
@item @code{ignore-lid?} (default: @code{#f})
|
||||
Ignore the lid state, this can be useful if it's incorrect on a device.
|
||||
|
||||
@item @code{use-percentage-for-policy?} (default: @code{#f})
|
||||
Whether battery percentage based policy should be used. The default is to use
|
||||
the time left, change to @code{#t} to use the percentage.
|
||||
@item @code{use-percentage-for-policy?} (default: @code{#t})
|
||||
Whether a to use a policy based on battery percentage rather than on
|
||||
estimated time left. A policy based on battery percentage is usually
|
||||
more reliable.
|
||||
|
||||
@item @code{percentage-low} (default: @code{10})
|
||||
@item @code{percentage-low} (default: @code{20})
|
||||
When @code{use-percentage-for-policy?} is @code{#t}, this sets the percentage
|
||||
at which the battery is considered low.
|
||||
|
||||
@item @code{percentage-critical} (default: @code{3})
|
||||
@item @code{percentage-critical} (default: @code{5})
|
||||
When @code{use-percentage-for-policy?} is @code{#t}, this sets the percentage
|
||||
at which the battery is considered critical.
|
||||
|
||||
@ -28808,6 +28817,14 @@ types, or alternatively, a config file can be provided.
|
||||
@item @code{nginx} (default: @code{nginx})
|
||||
The nginx package to use.
|
||||
|
||||
@item @code{shepherd-requirement} (default: @code{'()})
|
||||
This is a list of symbols naming Shepherd services the nginx service
|
||||
will depend on.
|
||||
|
||||
This is useful if you would like @command{nginx} to be started after a
|
||||
back-end web server or a logging service such as Anonip has been
|
||||
started.
|
||||
|
||||
@item @code{log-directory} (default: @code{"/var/log/nginx"})
|
||||
The directory to which NGinx will write log files.
|
||||
|
||||
@ -36396,7 +36413,7 @@ This is the data type representing the configuration of rshiny.
|
||||
@item @code{package} (default: @code{r-shiny})
|
||||
The package to use.
|
||||
|
||||
@item @code{binary} (defaunlt @code{"rshiny"})
|
||||
@item @code{binary} (default @code{"rshiny"})
|
||||
The name of the binary or shell script located at @code{package/bin/} to
|
||||
run when the service is run.
|
||||
|
||||
|
@ -26,6 +26,13 @@
|
||||
(channel-news
|
||||
(version 0)
|
||||
|
||||
(entry (commit "c188cf57f161c0c26e2d7c8516bd1ddd1492d686")
|
||||
(title
|
||||
(en "Linux-libre kernel updated to 5.19"))
|
||||
(body
|
||||
(en "The default version of the linux-libre kernel has been
|
||||
updated to the 5.19 release series.")))
|
||||
|
||||
(entry (commit "a15542d26df42dabdb5e2f76d150ae200230c3b0")
|
||||
(title
|
||||
(en "New @option{--whole-file} option for @command{guix style}")
|
||||
|
@ -185,6 +185,14 @@ and the maven-build-system."))
|
||||
"Taking care about Icecat and Icedove, built from Mozilla Firefox
|
||||
and Thunderbird."))
|
||||
|
||||
(define-team racket
|
||||
(team 'racket
|
||||
#:name "Racket team"
|
||||
#:description
|
||||
"The Racket language and Racket-based languages, Racket packages,
|
||||
Racket's variant of Chez Scheme, and development of a Racket build system and
|
||||
importer."))
|
||||
|
||||
|
||||
(define-member (person "Thiago Jung Bauermann"
|
||||
"bauermann@kolabnow.com")
|
||||
@ -230,6 +238,10 @@ and Thunderbird."))
|
||||
"julien@lepiller.eu")
|
||||
java ocaml translations)
|
||||
|
||||
(define-member (person "Philip McGrath"
|
||||
"philip@philipmcgrath.com")
|
||||
racket)
|
||||
|
||||
(define-member (person "Mathieu Othacehe"
|
||||
"othacehe@gnu.org")
|
||||
core installer mentors)
|
||||
|
@ -98,6 +98,18 @@ standard input is /dev/null."
|
||||
system*/console)
|
||||
program args))
|
||||
|
||||
(define (call-with-input-file file proc)
|
||||
"Like 'call-with-input-file', but pass O_CLOEXEC."
|
||||
(let ((port #f))
|
||||
(dynamic-wind
|
||||
(lambda ()
|
||||
(set! port (open file (logior O_RDONLY O_CLOEXEC))))
|
||||
(lambda ()
|
||||
(proc port))
|
||||
(lambda ()
|
||||
(close-port port)
|
||||
(set! port #f)))))
|
||||
|
||||
(define (bind-mount source target)
|
||||
"Bind-mount SOURCE at TARGET."
|
||||
(mount source target "" MS_BIND))
|
||||
@ -1183,7 +1195,8 @@ corresponds to the symbols listed in FLAGS."
|
||||
(not (file-is-directory? source)))
|
||||
(unless (file-exists? target)
|
||||
(mkdir-p (dirname target))
|
||||
(call-with-output-file target (const #t)))
|
||||
(close-fdes
|
||||
(open-fdes target (logior O_WRONLY O_CREAT O_CLOEXEC))))
|
||||
(mkdir-p target))
|
||||
|
||||
(cond
|
||||
|
@ -589,15 +589,6 @@ upon error."
|
||||
(load-linux-modules-from-directory linux-modules
|
||||
linux-module-directory)
|
||||
|
||||
(unless (or (member "hibernate=noresume" args)
|
||||
;; Also handle the equivalent old-style argument.
|
||||
;; See Documentation/admin-guide/kernel-parameters.txt.
|
||||
(member "noresume" args))
|
||||
;; Try to resume immediately after loading (storage) modules
|
||||
;; but before any on-disk file systems have been mounted.
|
||||
(false-if-exception ; failure is not fatal
|
||||
(resume-if-hibernated (find-long-option "resume" args))))
|
||||
|
||||
(when keymap-file
|
||||
(let ((status (system* "loadkeys" keymap-file)))
|
||||
(unless (zero? status)
|
||||
@ -631,6 +622,15 @@ the root file system...\n" root-delay)
|
||||
(unless (pre-mount)
|
||||
(error "pre-mount actions failed")))
|
||||
|
||||
(unless (or (member "hibernate=noresume" args)
|
||||
;; Also handle the equivalent old-style argument.
|
||||
;; See Documentation/admin-guide/kernel-parameters.txt.
|
||||
(member "noresume" args))
|
||||
;; Try to resume immediately after loading (storage) modules
|
||||
;; but before any on-disk file systems have been mounted.
|
||||
(false-if-exception ; failure is not fatal
|
||||
(resume-if-hibernated (find-long-option "resume" args))))
|
||||
|
||||
(setenv "EXT2FS_NO_MTAB_OK" "1")
|
||||
|
||||
;; Mount the root file system.
|
||||
|
@ -2,6 +2,7 @@
|
||||
;;; Copyright © 2017, 2018, 2019, 2020, 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Mathieu Othacehe <othacehe@gnu.org>
|
||||
;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
|
||||
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -186,7 +187,7 @@ namespace, in addition to essential bind-mounts such /proc."
|
||||
(when log-file
|
||||
;; Create LOG-FILE so we can map it in the container.
|
||||
(unless (file-exists? log-file)
|
||||
(call-with-output-file log-file (const #t))
|
||||
(close (open log-file (logior O_CREAT O_APPEND O_CLOEXEC) #o640))
|
||||
(when user
|
||||
(let ((pw (getpwnam user)))
|
||||
(chown log-file (passwd:uid pw) (passwd:gid pw))))))
|
||||
|
@ -114,6 +114,7 @@ numeric expression ~%") value 'field))))
|
||||
(define-record-type* <partition> partition make-partition
|
||||
partition?
|
||||
(size partition-size ;size in bytes as integer or 'guess
|
||||
(default 'guess)
|
||||
(sanitize validate-size))
|
||||
(offset partition-offset
|
||||
(default 0) ;offset in bytes as integer
|
||||
@ -124,12 +125,12 @@ numeric expression ~%") value 'field))))
|
||||
(default '())) ;list of strings
|
||||
(label partition-label) ;string
|
||||
(uuid partition-uuid
|
||||
(default #f)) ;<uuid>
|
||||
(default #false)) ;<uuid>
|
||||
(flags partition-flags
|
||||
(default '()) ;list of symbols
|
||||
(sanitize validate-partition-flags))
|
||||
(initializer partition-initializer
|
||||
(default #f))) ;gexp | #f
|
||||
(default #false))) ;gexp | #false
|
||||
|
||||
|
||||
;;;
|
||||
@ -161,11 +162,11 @@ that is not in SET, mentioning FIELD in the error message."
|
||||
image make-image
|
||||
image?
|
||||
(name image-name ;symbol
|
||||
(default #f))
|
||||
(default #false))
|
||||
(format image-format ;symbol
|
||||
(sanitize validate-image-format))
|
||||
(platform image-platform ;<platform>
|
||||
(default #f))
|
||||
(default #false))
|
||||
(size image-size ;size in bytes as integer
|
||||
(default 'guess)
|
||||
(sanitize validate-size))
|
||||
@ -177,15 +178,15 @@ that is not in SET, mentioning FIELD in the error message."
|
||||
(partitions image-partitions ;list of <partition>
|
||||
(default '()))
|
||||
(compression? image-compression? ;boolean
|
||||
(default #t))
|
||||
(default #true))
|
||||
(volatile-root? image-volatile-root? ;boolean
|
||||
(default #t))
|
||||
(default #true))
|
||||
(shared-store? image-shared-store? ;boolean
|
||||
(default #f))
|
||||
(default #false))
|
||||
(shared-network? image-shared-network? ;boolean
|
||||
(default #f))
|
||||
(default #false))
|
||||
(substitutable? image-substitutable? ;boolean
|
||||
(default #t)))
|
||||
(default #true)))
|
||||
|
||||
|
||||
;;;
|
||||
|
13
gnu/local.mk
13
gnu/local.mk
@ -417,7 +417,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/moe.scm \
|
||||
%D%/packages/motti.scm \
|
||||
%D%/packages/monitoring.scm \
|
||||
%D%/packages/mono.scm \
|
||||
%D%/packages/moreutils.scm \
|
||||
%D%/packages/mpd.scm \
|
||||
%D%/packages/mp3.scm \
|
||||
@ -938,6 +937,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/calibre-remove-test-sqlite.patch \
|
||||
%D%/packages/patches/calibre-remove-test-unrar.patch \
|
||||
%D%/packages/patches/catdoc-CVE-2017-11110.patch \
|
||||
%D%/packages/patches/chez-scheme-bin-sh.patch \
|
||||
%D%/packages/patches/circos-remove-findbin.patch \
|
||||
%D%/packages/patches/cdparanoia-fpic.patch \
|
||||
%D%/packages/patches/cdrkit-libre-cross-compile.patch \
|
||||
@ -1509,7 +1509,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/mpg321-gcc-10.patch \
|
||||
%D%/packages/patches/module-init-tools-moduledir.patch \
|
||||
%D%/packages/patches/monero-use-system-miniupnpc.patch \
|
||||
%D%/packages/patches/mono-mdoc-timestamping.patch \
|
||||
%D%/packages/patches/mosaicatcher-unbundle-htslib.patch \
|
||||
%D%/packages/patches/mrrescue-support-love-11.patch \
|
||||
%D%/packages/patches/mrustc-riscv64-support.patch \
|
||||
@ -1636,6 +1635,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/plib-CVE-2011-4620.patch \
|
||||
%D%/packages/patches/plib-CVE-2012-4552.patch \
|
||||
%D%/packages/patches/plotutils-spline-test.patch \
|
||||
%D%/packages/patches/polkit-disable-systemd.patch \
|
||||
%D%/packages/patches/portaudio-audacity-compat.patch \
|
||||
%D%/packages/patches/portmidi-modular-build.patch \
|
||||
%D%/packages/patches/postgresql-disable-resolve_symlinks.patch \
|
||||
@ -1669,6 +1669,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-3-fix-tests.patch \
|
||||
%D%/packages/patches/python-3-hurd-configure.patch \
|
||||
%D%/packages/patches/python-3-no-static-lib.patch \
|
||||
%D%/packages/patches/python-apsw-3.39.2.1-test-fix.patch \
|
||||
%D%/packages/patches/python-aionotify-0.2.0-py3.8.patch \
|
||||
%D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \
|
||||
%D%/packages/patches/python-cross-compile.patch \
|
||||
@ -1751,7 +1752,10 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ripperx-missing-file.patch \
|
||||
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
|
||||
%D%/packages/patches/rtags-separate-rct.patch \
|
||||
%D%/packages/patches/racket-minimal-sh-via-rktio.patch \
|
||||
%D%/packages/patches/racket-backport-8.6-zuo.patch \
|
||||
%D%/packages/patches/racket-chez-scheme-bin-sh.patch \
|
||||
%D%/packages/patches/racket-rktio-bin-sh.patch \
|
||||
%D%/packages/patches/racket-zuo-bin-sh.patch \
|
||||
%D%/packages/patches/remake-impure-dirs.patch \
|
||||
%D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \
|
||||
%D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \
|
||||
@ -1806,6 +1810,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/slim-reset.patch \
|
||||
%D%/packages/patches/slim-login.patch \
|
||||
%D%/packages/patches/slim-display.patch \
|
||||
%D%/packages/patches/stex-copy-from-immutable-store.patch \
|
||||
%D%/packages/patches/syslinux-gcc10.patch \
|
||||
%D%/packages/patches/syslinux-strip-gnu-property.patch \
|
||||
%D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \
|
||||
@ -1867,6 +1872,8 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/trytond-add-guix_trytond_path.patch \
|
||||
%D%/packages/patches/ttf2eot-cstddef.patch \
|
||||
%D%/packages/patches/tup-unbundle-dependencies.patch \
|
||||
%D%/packages/patches/turbovnc-custom-paths.patch \
|
||||
%D%/packages/patches/turbovnc-find-system-packages.patch \
|
||||
%D%/packages/patches/tuxpaint-stamps-path.patch \
|
||||
%D%/packages/patches/twinkle-bcg729.patch \
|
||||
%D%/packages/patches/u-boot-allow-disabling-openssl.patch \
|
||||
|
@ -1,6 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
|
||||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2022 Matthew James Kraai <kraai@ftbfs.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -407,7 +408,7 @@ environment type of 'digital-ocean-environment-type'."
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (G_ "No Digital Ocean access token was provided. This \
|
||||
may be fixed by setting the environment variable GUIX_DIGITAL_OCAEN_TOKEN to \
|
||||
may be fixed by setting the environment variable GUIX_DIGITAL_OCEAN_TOKEN to \
|
||||
one procured from https://cloud.digitalocean.com/account/api/tokens.")))))))
|
||||
|
||||
(define (maybe-raise-unsupported-configuration-error machine)
|
||||
|
@ -1384,14 +1384,16 @@ connection alive.")
|
||||
;; build system uses the built 'gen' executable.
|
||||
(setenv "BUILD_CC" "gcc"))))
|
||||
'())
|
||||
(add-before 'build 'update-config-scripts
|
||||
(add-before 'configure 'update-config-scripts
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(for-each (lambda (file)
|
||||
(install-file
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append "/bin/" file)) "."))
|
||||
'("config.guess" "config.sub"))
|
||||
'("config.guess" "config.sub"))))
|
||||
(add-before 'build 'update-config-scripts-for-bind
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(for-each (lambda (file)
|
||||
(install-file
|
||||
(search-input-file
|
||||
|
@ -74,7 +74,8 @@
|
||||
#:use-module (guix hg-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
|
||||
(define-public mpfrcx
|
||||
@ -325,7 +326,7 @@ precision.")
|
||||
(define-public giac
|
||||
(package
|
||||
(name "giac")
|
||||
(version "1.9.0-19")
|
||||
(version "1.9.0-21")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -337,7 +338,7 @@ precision.")
|
||||
"~parisse/debian/dists/stable/main/source/"
|
||||
"giac_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1zl3wpw4mwsc2zm2mnxnajxql0df68mlfyivbkk4i300wjfqkdvb"))))
|
||||
(base32 "1zh7bf0ag4vbyyj5n8lbvy2ivp0kshms40ra5lq1ff035rpx230j"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@ -1009,10 +1010,39 @@ extends it by a set of algebraic capabilities.")
|
||||
#t))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(;; Turn off debugging symbols to save space.
|
||||
`(;; Turn off debugging symbols to save space.
|
||||
#:build-type "Release"
|
||||
|
||||
#:modules ((ice-9 match)
|
||||
(guix build utils)
|
||||
(guix build cmake-build-system))
|
||||
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-some-tests
|
||||
;; Not all platforms are well supported by the test suite.
|
||||
(lambda _
|
||||
,@(match (%current-system)
|
||||
("i686-linux"
|
||||
`((substitute* "test/CMakeLists.txt"
|
||||
((".*packetmath.*") ""))))
|
||||
("aarch64-linux"
|
||||
`((substitute* "test/CMakeLists.txt"
|
||||
((".*array_cwise.*") "")
|
||||
((".*vectorization_logic.*") ""))))
|
||||
("armhf-linux"
|
||||
`((substitute* "test/CMakeLists.txt"
|
||||
((".*geo_quaternion.*") "")
|
||||
((".*jacobisvd.*") "")
|
||||
((".*packetmath.*") "")
|
||||
((".*prec_inverse.*") "")
|
||||
((".*qr_colpivoting.*") "")
|
||||
((".*vectorization_logic.*") ""))))
|
||||
("riscv64-linux"
|
||||
`((substitute* "test/CMakeLists.txt"
|
||||
((".*array_cwise.*") "")
|
||||
((".*geo_quaternion.*") ""))))
|
||||
(_
|
||||
'((display "No tests to disable on this architecture.\n"))))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(let* ((cores (parallel-job-count))
|
||||
@ -1101,6 +1131,11 @@ features, and more.")
|
||||
(substitute* "unsupported/CMakeLists.txt"
|
||||
(("add_subdirectory\\(test.*")
|
||||
"# Do not build the tests for unsupported features.\n"))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments eigen)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'disable-some-tests)))))
|
||||
(native-inputs
|
||||
(list gcc-7)))))
|
||||
|
||||
@ -1129,7 +1164,12 @@ features, and more.")
|
||||
'(begin
|
||||
(substitute* "unsupported/CMakeLists.txt"
|
||||
(("add_subdirectory\\(test.*")
|
||||
"# Do not build the tests for unsupported features.\n")))))))))
|
||||
"# Do not build the tests for unsupported features.\n"))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments eigen)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'disable-some-tests))))))))
|
||||
|
||||
(define-public xtensor
|
||||
(package
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -275,15 +275,62 @@ file metadata operations that can be performed per second.")
|
||||
(define-public phoronix-test-suite
|
||||
(package
|
||||
(name "phoronix-test-suite")
|
||||
(version "10.8.3")
|
||||
(version "10.8.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://phoronix-test-suite.com/releases/"
|
||||
name "-" version ".tar.gz"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(ice-9 regex)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Many test profiles have their license identified as "Free",
|
||||
;; while they are in fact non-free (see:
|
||||
;; https://github.com/phoronix-test-suite/phoronix-test-suite/issues/667).
|
||||
(define problems ;see:
|
||||
'("bioshock-infinite-1" ;mis-licensed as free
|
||||
"firefox" ;not FSDG-compliant
|
||||
"dirt-rally" ;mis-licensed as free
|
||||
"dirt-showdown" ;mis-licensed as free
|
||||
"dota2" ;mis-licensed as free
|
||||
"dow3" ;mis-licensed as free
|
||||
"etqw-demo" ;mis-licensed as free
|
||||
"f12015" ;mis-licensed as free
|
||||
"f12017" ;mis-licensed as free
|
||||
"geexlab" ;mis-licensed as free
|
||||
"gfxbench" ;mis-licensed as free
|
||||
"gnupg" ;downloads ubuntu image
|
||||
"hitman-1" ;mis-licensed as free
|
||||
"hl2lostcoast" ;mis-licensed as free
|
||||
"linux" ;contains blobs
|
||||
"madmax" ;mis-licensed as free
|
||||
"metro" ;mis-licensed as free
|
||||
"minion" ;mis-licensed as free
|
||||
"sam2017" ;mis-licensed as free
|
||||
"talos-principle" ;mis-licensed as free
|
||||
"tomb-raider" ;mis-licensed as free
|
||||
"tf2" ;mis-licensed as free
|
||||
"ue4" ;mis-licensed as free
|
||||
"unigine" ;mis-licensed as free
|
||||
"ut2004")) ;mis-licensed as free
|
||||
|
||||
(define rx (format #f "(~a)" (string-join problems "|")))
|
||||
|
||||
(define (mark-as-non-free directory)
|
||||
(format #t "Marking ~s as non-free...~%" directory)
|
||||
(substitute* (find-files directory "^(test|suite)-definition.xml$")
|
||||
(("Free")
|
||||
"Non-free")))
|
||||
|
||||
(with-directory-excursion "ob-cache/test-profiles/pts"
|
||||
(for-each (cut mark-as-non-free <>)
|
||||
(scandir "." (cut string-match rx <>))))))
|
||||
(sha256
|
||||
(base32
|
||||
"105shk78jy46nwj6vnlmgp3y3lv9klar3dmcgasy4bslm4l2wx2b"))
|
||||
"1x5pyzzn7ipi0ia1xlvq3bpw0rgf7h7sbr2kzhz1k8y06var480z"))
|
||||
(patches (search-patches "phoronix-test-suite-fsdg.patch"))))
|
||||
(arguments
|
||||
(list
|
||||
|
@ -4113,17 +4113,17 @@ global-scaling and full-quantile normalization.")
|
||||
(define-public r-edger
|
||||
(package
|
||||
(name "r-edger")
|
||||
(version "3.38.1")
|
||||
(version "3.38.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "edgeR" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1q933m76155gy30wgps2gdd8pxzsfhppydjqn0fhjrwj6kqz8mik"))))
|
||||
"1ww69xrg9qrmq7dix2k48j6akgn58ss3340hm7pjvzx508x1j6n6"))))
|
||||
(properties `((upstream-name . "edgeR")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-limma r-locfit r-rcpp r-statmod)) ;for estimateDisp
|
||||
(list r-limma r-locfit r-rcpp))
|
||||
(home-page "http://bioinf.wehi.edu.au/edgeR")
|
||||
(synopsis "EdgeR does empirical analysis of digital gene expression data")
|
||||
(description "This package can do differential expression analysis of
|
||||
@ -4355,13 +4355,13 @@ names in their natural, rather than lexicographic, order.")
|
||||
(define-public r-genomicalignments
|
||||
(package
|
||||
(name "r-genomicalignments")
|
||||
(version "1.32.0")
|
||||
(version "1.32.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "GenomicAlignments" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ifmlc0488f5yzcf4p92dmdc7psxl5c0aa7qpxjk0a07gf7lldbi"))))
|
||||
"09pg7822camyav5zvlpv360sj5gz8q1bhk528qa2da2qsz74a3cz"))))
|
||||
(properties
|
||||
`((upstream-name . "GenomicAlignments")))
|
||||
(build-system r-build-system)
|
||||
|
@ -15518,6 +15518,8 @@ sequence motif analysis.")
|
||||
(base32
|
||||
"1023hadgcsgi53kz53ql45207hfizf9sw57z0qij3ay1bx68zbpm"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:tests? #false)) ;no tests
|
||||
(native-inputs
|
||||
(list python-cython python-nose2))
|
||||
;; The package mainly consists of a command-line tool, but also has a
|
||||
|
@ -51,7 +51,7 @@ supported content to the Kodi media center.")
|
||||
(define ublock-origin
|
||||
(package
|
||||
(name "ublock-origin")
|
||||
(version "1.44.0")
|
||||
(version "1.44.2")
|
||||
(home-page "https://github.com/gorhill/uBlock")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
@ -62,7 +62,7 @@ supported content to the Kodi media center.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0sws7xd8nvxnzcyw92i9sc5xv3hpqw1kzdj9vm8bhfxlh042l7ly"))))
|
||||
"0hci19wv5sj4vph8k24bmcz7q74y1adyykwijqyga4p7h68jklw1"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("xpi" "firefox" "chromium"))
|
||||
(arguments
|
||||
|
@ -1083,6 +1083,28 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
|
||||
(home-page "https://github.com/awslabs/aws-c-mqtt")
|
||||
(license license:asl2.0)))
|
||||
|
||||
;; Note: there is another mimalloc embedded in rust-mimalloc (version 1.6.4).
|
||||
(define-public mimalloc
|
||||
(package
|
||||
(name "mimalloc")
|
||||
(version "2.0.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/microsoft/mimalloc")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"05x2dl3zimflfj91ns3vrphmzpdlyyr230p9adqgfds101f16qmv"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:build-type "Release"))
|
||||
(synopsis "General purpose memory allocator")
|
||||
(description "@code{mimalloc} is a drop-in replacement for @code{malloc}.")
|
||||
(home-page "https://microsoft.github.io/mimalloc/")
|
||||
(license license:expat)))
|
||||
|
||||
;;; Factored out of the ck package so that it can be adjusted and called on
|
||||
;;; the host side easily, without impacting the package definition.
|
||||
(define (gnu-triplet->ck-machine target)
|
||||
|
@ -3146,14 +3146,14 @@ directories and files.")
|
||||
(define-public python-pytest-regressions
|
||||
(package
|
||||
(name "python-pytest-regressions")
|
||||
(version "2.2.0")
|
||||
(version "2.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-regressions" version))
|
||||
(sha256
|
||||
(base32
|
||||
"05jpsvv8rj8i4x24fphpnar5dl4s6d6bw6ikjk5d8v96rdviz9qm"))))
|
||||
"0792s1rp4hksfarnnciy0yiy2q2yqqsbin3mc9h2gxp86kdlrv5k"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-pytest-datadir python-pyyaml))
|
||||
|
@ -37,6 +37,7 @@
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages netpbm)
|
||||
#:use-module (gnu packages racket)
|
||||
@ -49,6 +50,7 @@
|
||||
#:use-module (srfi srfi-26)
|
||||
#:export (chez-scheme-for-system
|
||||
racket-cs-native-supported-system?
|
||||
nix-system->pbarch-machine-type
|
||||
unpack-nanopass+stex))
|
||||
|
||||
;; Commentary:
|
||||
@ -115,7 +117,7 @@ in Chez Scheme machine types, or '#f' if none is defined."
|
||||
((target-linux? system)
|
||||
"le")
|
||||
((target-hurd? system)
|
||||
#f)
|
||||
"gnu")
|
||||
((target-mingw? system)
|
||||
"nt")
|
||||
;; missing (guix utils) predicates
|
||||
@ -131,6 +133,8 @@ in Chez Scheme machine types, or '#f' if none is defined."
|
||||
;; Nix says "x86_64-solaris", but accommodate "-solaris2"
|
||||
((string-contains system "solaris")
|
||||
"s2")
|
||||
((string-suffix? "-qnx" system)
|
||||
"qnx")
|
||||
;; unknown
|
||||
(else
|
||||
#f)))
|
||||
@ -167,6 +171,9 @@ in Chez Scheme machine types, or '#f' if none is defined."
|
||||
("arm32" bootstrap-bootfiles)
|
||||
("arm64" . #f)
|
||||
("ppc32" threads))
|
||||
;; Hurd
|
||||
("gnu"
|
||||
("i3" . #f))
|
||||
;; FreeBSD
|
||||
("fb"
|
||||
("i3" threads) ;; commented out
|
||||
@ -192,6 +199,9 @@ in Chez Scheme machine types, or '#f' if none is defined."
|
||||
("s2"
|
||||
("i3" threads) ;; commented out
|
||||
("a6" threads)) ;; commented out
|
||||
;; QNX
|
||||
("qnx"
|
||||
("i3" . #f))
|
||||
;; Windows
|
||||
("nt"
|
||||
("i3" threads bootstrap-bootfiles)
|
||||
@ -223,18 +233,41 @@ future."
|
||||
(and=> (assoc-ref %chez-features-table chez-os)
|
||||
(cut assoc-ref <> chez-arch))))
|
||||
|
||||
(define* (nix-system->pbarch-machine-type #:optional
|
||||
(system
|
||||
(or (%current-target-system)
|
||||
(%current-system)))
|
||||
#:key (threads? #t))
|
||||
"Return a string naming the pseudo–machine type used by Racket's variant of
|
||||
Chez Scheme to represent the appropriate ``pbarch'' backend for SYSTEM: that
|
||||
is, the ``portable bytecode'' backend specialized for SYSTEM's word size and
|
||||
endianness. The result will name the threaded machine type unless THREADS? is
|
||||
provided and is #f."
|
||||
(string-append (if threads?
|
||||
"t"
|
||||
"")
|
||||
"pb"
|
||||
(if (target-64bit? system)
|
||||
"64"
|
||||
"32")
|
||||
;; missing (guix utils) predicate target-little-endian?
|
||||
(if (target-ppc32? system)
|
||||
"b"
|
||||
"l")))
|
||||
|
||||
(define* (racket-cs-native-supported-system? #:optional
|
||||
(system
|
||||
(or (%current-target-system)
|
||||
(%current-system))))
|
||||
"Can Racket's variant of Chez Scheme generate native code for SYSTEM?
|
||||
Otherwise, SYSTEM can use only the ``portable bytecode'' backends."
|
||||
"Can Racket's variant of Chez Scheme generate native code for SYSTEM? If
|
||||
so, return the applicable machine type as a string. Otherwise, when SYSTEM
|
||||
can use only the ``portable bytecode'' backends, return #f."
|
||||
(let ((chez-arch (target-chez-arch system))
|
||||
(chez-os (target-chez-os system)))
|
||||
(and (and=> (assoc-ref %chez-features-table chez-os)
|
||||
;; NOT assoc-ref: supported even if cdr is #f
|
||||
(cut assoc chez-arch <>))
|
||||
#t)))
|
||||
(string-append "t" chez-arch chez-os))))
|
||||
|
||||
;;
|
||||
;; Chez Scheme:
|
||||
@ -269,6 +302,7 @@ Otherwise, SYSTEM can use only the ``portable bytecode'' backends."
|
||||
(base32
|
||||
"0xchqq8cm0ka5wgpn18sjs0hh15rc3nb7xrjqbbc9al3asq0d7gc"))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "chez-scheme-bin-sh.patch"))
|
||||
(snippet #~(begin
|
||||
(use-modules (guix build utils))
|
||||
;; TODO: consider putting this in a (guix ...) or
|
||||
@ -284,6 +318,7 @@ Otherwise, SYSTEM can use only the ``portable bytecode'' backends."
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list
|
||||
chez-scheme-bootstrap-bootfiles
|
||||
`(,util-linux "lib") ;<-- libuuid
|
||||
zlib
|
||||
lz4
|
||||
@ -291,8 +326,7 @@ Otherwise, SYSTEM can use only the ``portable bytecode'' backends."
|
||||
;; for X11 clipboard support in expeditor:
|
||||
;; https://github.com/cisco/ChezScheme/issues/9#issuecomment-222057232
|
||||
libx11))
|
||||
(native-inputs (list chez-scheme-bootstrap-bootfiles
|
||||
chez-nanopass-bootstrap
|
||||
(native-inputs (list chez-nanopass-bootstrap
|
||||
stex-bootstrap))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
@ -329,7 +363,7 @@ Otherwise, SYSTEM can use only the ``portable bytecode'' backends."
|
||||
(when (directory-exists? "boot")
|
||||
(delete-file-recursively "boot"))
|
||||
(copy-recursively
|
||||
(search-input-directory (or native-inputs inputs)
|
||||
(search-input-directory inputs
|
||||
"lib/chez-scheme-bootfiles")
|
||||
"boot")))
|
||||
;; NOTE: The custom Chez 'configure' script doesn't allow
|
||||
@ -432,40 +466,118 @@ and 32-bit PowerPC architectures.")
|
||||
(package
|
||||
(inherit chez-scheme)
|
||||
(name "chez-scheme-for-racket")
|
||||
(version "9.5.7.6")
|
||||
(version "9.5.9.2")
|
||||
;; The version should match `(scheme-fork-version-number)`.
|
||||
;; See racket/src/ChezScheme/s/cmacros.ss c. line 360.
|
||||
;; It will always be different than the upstream version!
|
||||
;; When updating, remember to also update %racket-version in racket.scm.
|
||||
(source #f) ; avoid problematic cycle with racket.scm
|
||||
(inputs
|
||||
(modify-inputs (package-inputs chez-scheme)
|
||||
(delete "libx11" "util-linux:lib")))
|
||||
(let ((inputs (modify-inputs (package-inputs chez-scheme)
|
||||
(replace "chez-scheme-bootstrap-bootfiles"
|
||||
chez-scheme-for-racket-bootstrap-bootfiles)
|
||||
(delete "libx11" "util-linux:lib"))))
|
||||
(if (racket-cs-native-supported-system?)
|
||||
inputs
|
||||
(modify-inputs inputs
|
||||
(prepend libffi)))))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs chez-scheme)
|
||||
(replace "chez-scheme-bootstrap-bootfiles"
|
||||
chez-scheme-for-racket-bootstrap-bootfiles)))
|
||||
(let ((native-inputs (modify-inputs (package-native-inputs chez-scheme)
|
||||
(prepend zuo))))
|
||||
(if (%current-target-system)
|
||||
(modify-inputs native-inputs
|
||||
(prepend this-package))
|
||||
native-inputs)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments chez-scheme)
|
||||
((#:out-of-source? _ #f)
|
||||
#t)
|
||||
((#:tests? _ #t)
|
||||
;; FIXME: There have been some flaky test failures. Some have been
|
||||
;; fixed upstream post-release but have proven non-trivial to
|
||||
;; backport; at least one issue remains. Re-enable tests once
|
||||
;; https://github.com/racket/racket/issues/4359 is fixed.
|
||||
#f)
|
||||
((#:configure-flags cfg-flags #~'())
|
||||
#~(cons* "--disable-x11"
|
||||
"--threads" ;; ok to potentially duplicate
|
||||
#$cfg-flags))
|
||||
#~`("--disable-x11"
|
||||
"--threads" ;; ok to potentially duplicate
|
||||
#$(string-append "-m=" (or (racket-cs-native-supported-system?)
|
||||
(nix-system->pbarch-machine-type)))
|
||||
;; ^ could skip -m= for non-cross non-pbarch builds
|
||||
#$@(if (racket-cs-native-supported-system?)
|
||||
#~()
|
||||
;; not inferred on non-native platforms: see
|
||||
;; https://racket.discourse.group/t/950/9
|
||||
#~("--enable-libffi"
|
||||
"CFLAGS=-g -O2 -D_REENTRANT -pthread"
|
||||
"LIBS=-lm -ldl -lrt -lffi -lncurses"))
|
||||
#$@(if (%current-target-system)
|
||||
(list (string-append "--toolprefix="
|
||||
(%current-target-system)
|
||||
"-"))
|
||||
'())
|
||||
,@(let* ((chez+version (strip-store-file-name #$output))
|
||||
(doc-prefix (assoc-ref %outputs "doc"))
|
||||
(doc-dir (string-append doc-prefix
|
||||
"/share/doc/"
|
||||
chez+version)))
|
||||
(list (string-append "--installcsug="
|
||||
doc-dir
|
||||
"/csug")
|
||||
(string-append "--installreleasenotes="
|
||||
doc-dir
|
||||
"/release_notes")))
|
||||
,@#$cfg-flags))
|
||||
((#:make-flags mk-flags #~'())
|
||||
#~(cons* (string-append "ZUO="
|
||||
#+(this-package-native-input "zuo")
|
||||
"/bin/zuo")
|
||||
(string-append "STEXLIB="
|
||||
#+(this-package-native-input "stex")
|
||||
"/lib/stex")
|
||||
#$mk-flags))
|
||||
((#:phases those-phases #~%standard-phases)
|
||||
#~(let* ((those-phases #$those-phases)
|
||||
(unpack (assoc-ref those-phases 'unpack)))
|
||||
(gnu:unpack (assoc-ref those-phases 'unpack))
|
||||
(gnu:build (assoc-ref those-phases 'build)))
|
||||
(modify-phases those-phases
|
||||
(replace 'build
|
||||
;; need to override target for cross-compilation
|
||||
;; https://racket.discourse.group/t/950/19
|
||||
(lambda* (#:key target (make-flags '()) (parallel-build? #t)
|
||||
#:allow-other-keys)
|
||||
(gnu:build #:make-flags (if target
|
||||
(cons "kernel" make-flags)
|
||||
make-flags)
|
||||
#:parallel-build? parallel-build?)))
|
||||
(replace 'install-docs
|
||||
(lambda* (#:key native-inputs (make-flags '())
|
||||
#:allow-other-keys)
|
||||
;; The tests for 'native-inputs' are cross-compilation
|
||||
;; workarounds that would be better to address upstream:
|
||||
;; see <https://racket.discourse.group/t/950/20>.
|
||||
(when native-inputs
|
||||
(substitute* "Makefile"
|
||||
(("install-docs: build \\$[(]ZUO[)]")
|
||||
"install-docs: $(ZUO)")))
|
||||
(apply invoke
|
||||
"make"
|
||||
"install-docs"
|
||||
(if native-inputs
|
||||
(cons (string-append
|
||||
"Scheme="
|
||||
(search-input-file native-inputs
|
||||
"/bin/scheme"))
|
||||
make-flags)
|
||||
make-flags))))
|
||||
(replace 'unpack
|
||||
(lambda args
|
||||
(unpack #:source #$(or (package-source this-package)
|
||||
(package-source racket-vm-bc)))))
|
||||
(gnu:unpack #:source #$(or (package-source this-package)
|
||||
(package-source racket-vm-bc)))))
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda args
|
||||
(chdir "racket/src/ChezScheme"))))))))
|
||||
;; TODO: How to build pbarch/pbchunks for other systems?
|
||||
;; See https://racket.discourse.group/t/950
|
||||
(supported-systems (filter racket-cs-native-supported-system?
|
||||
%supported-systems))
|
||||
(supported-systems %supported-systems)
|
||||
(home-page "https://github.com/racket/ChezScheme")
|
||||
;; ^ This is downstream of https://github.com/racket/racket,
|
||||
;; but it's designed to be a friendly landing place for people
|
||||
@ -478,13 +590,17 @@ supported by upstream Chez Scheme.
|
||||
Main additions to Chez Scheme in the Racket variant:
|
||||
@itemize @bullet
|
||||
@item
|
||||
AArch64 support
|
||||
AArch64 code generation
|
||||
@item
|
||||
Portable bytes (@code{pb}) support, which is mainly useful for bootstrapping
|
||||
a build on any supported platform
|
||||
Portable bytecode (@code{pb}) mode, which is mainly useful for bootstrapping a
|
||||
build on any platform, but can also be used on platforms without native-code
|
||||
generation, compiled via Emscripten, linked with @code{libffi}, or used with
|
||||
bytecode partially compiled to C
|
||||
@item
|
||||
Unboxed floating-point arithmetic and flvectors
|
||||
@item
|
||||
Faster multiplication and division for large exact numbers
|
||||
@item
|
||||
Type reconstruction during optimization (especially for safe code)
|
||||
@item
|
||||
Continuation attachments
|
||||
@ -495,8 +611,6 @@ accounting
|
||||
@item
|
||||
Ordered finalization, immobile (but collectable) objects, weak/ephemeron
|
||||
generic hash tables, and reference bytevectors
|
||||
@item
|
||||
Faster multiplication and division for large exact numbers
|
||||
@end itemize")
|
||||
(license asl2.0)))
|
||||
|
||||
@ -540,8 +654,12 @@ source.")))
|
||||
(name "chez-scheme-for-racket-bootstrap-bootfiles")
|
||||
(version (package-version chez-scheme-for-racket))
|
||||
(source #f) ; avoid problematic cycle with racket.scm
|
||||
(native-inputs (list chez-nanopass-bootstrap racket-vm-bc))
|
||||
;; TODO: cross compilation
|
||||
(native-inputs
|
||||
(cons* chez-nanopass-bootstrap
|
||||
(if (%current-target-system)
|
||||
(list zuo
|
||||
chez-scheme-for-racket)
|
||||
(list racket-vm-bc))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments
|
||||
(package-arguments chez-scheme-bootstrap-bootfiles)
|
||||
@ -561,9 +679,27 @@ source.")))
|
||||
#$unpack-nanopass+stex))
|
||||
(add-before 'install 'build
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(invoke (search-input-file (or native-inputs inputs)
|
||||
"/opt/racket-vm/bin/racket")
|
||||
"rktboot/main.rkt"))))))))
|
||||
#$(cond
|
||||
((%current-target-system)
|
||||
;; cross-compiling
|
||||
#~(invoke
|
||||
(search-input-file (or native-inputs inputs)
|
||||
"/bin/zuo")
|
||||
"makefiles/boot.zuo"
|
||||
(search-input-file (or native-inputs inputs)
|
||||
"/bin/scheme")
|
||||
#$(or (racket-cs-native-supported-system?)
|
||||
(nix-system->pbarch-machine-type))))
|
||||
(else
|
||||
;; bootstrapping
|
||||
#~(invoke
|
||||
(search-input-file (or native-inputs inputs)
|
||||
"/opt/racket-vm/bin/racket")
|
||||
"rktboot/main.rkt"
|
||||
#$@(if (racket-cs-native-supported-system?)
|
||||
#~()
|
||||
(let ((m (nix-system->pbarch-machine-type)))
|
||||
#~("--machine" #$m)))))))))))))
|
||||
(supported-systems
|
||||
(package-supported-systems chez-scheme-for-racket))
|
||||
(home-page "https://github.com/racket/ChezScheme")
|
||||
@ -594,8 +730,8 @@ Chez Scheme.")))
|
||||
(define-public stex-bootstrap
|
||||
;; This commit includes a fix which we would otherwise want to use as
|
||||
;; patch. Let's revert to tagged releases as soon as one becomes available.
|
||||
(let ((commit "54051494434a197772bf6ca5b4e6cf6be55f39a5")
|
||||
(revision "1"))
|
||||
(let ((commit "afa607564a5662ffd748e824801277a6b5a3d11c")
|
||||
(revision "2"))
|
||||
(hidden-package
|
||||
(package
|
||||
(name "stex")
|
||||
@ -611,8 +747,11 @@ Chez Scheme.")))
|
||||
(url "https://github.com/dybvig/stex")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "01jnvw8qw33gnpzwrakwhsr05h6b609lm180jnspcrb7lds2p23d"))
|
||||
(base32 "0n6dryv5j7cw2qmsj55wqb0ph901h83a2hl4j891ppxp0xx18nkp"))
|
||||
(file-name (git-file-name name version))
|
||||
(patches
|
||||
;; submitted upstream in https://github.com/dybvig/stex/pull/6
|
||||
(search-patches "stex-copy-from-immutable-store.patch"))
|
||||
(snippet
|
||||
#~(for-each delete-file
|
||||
'("sbin/install" "doc/stex.pdf" "doc/stex.html")))))
|
||||
|
@ -317,7 +317,7 @@
|
||||
;; run the Blink performance tests, just remove everything to save ~70MiB.
|
||||
'("third_party/blink/perf_tests"))
|
||||
|
||||
(define %chromium-version "105.0.5195.52")
|
||||
(define %chromium-version "105.0.5195.102")
|
||||
(define %ungoogled-revision (string-append %chromium-version "-1"))
|
||||
(define %debian-revision "debian/102.0.5005.61-1")
|
||||
|
||||
@ -329,7 +329,7 @@
|
||||
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
|
||||
(sha256
|
||||
(base32
|
||||
"1smzgnd3zmh57pz7sk9nb7m31wbhx1x9y3ll3m4zaxwrrb41kghn"))))
|
||||
"17n06lqzbz19a3fdqbv5wj7s6v3rc0bfshdz8syw0k2gkw3x6ivc"))))
|
||||
|
||||
(define %debian-origin
|
||||
(origin
|
||||
@ -506,7 +506,7 @@
|
||||
%chromium-version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hkwjilzy0x28knm6nrkywnsmldhz4kgpnxka2iaghihkjzb4wfw"))
|
||||
"0qlj6s182d4nv0g76r0pcr1rvvh74pngcv79ml3cbqsir4khbfhw"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet (force ungoogled-chromium-snippet))))
|
||||
(build-system gnu-build-system)
|
||||
|
@ -1,6 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2021 Timmy Douglas <mail@timmydouglas.com>
|
||||
;;; Copyright © 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -271,7 +272,7 @@ configure network interfaces in Linux containers.")
|
||||
(define-public podman
|
||||
(package
|
||||
(name "podman")
|
||||
(version "3.4.4")
|
||||
(version "4.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -279,46 +280,49 @@ configure network interfaces in Linux containers.")
|
||||
(url "https://github.com/containers/podman")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1q09qsl1wwiiy5njvb97n1j5f5jin4ckmzj5xbdfs28czb2kx3g5"))
|
||||
(base32 "00wyjppd11hznmals9ax4s2qjklj6p1vfz4jjkp50bk8q4blxfbj"))
|
||||
(file-name (git-file-name name version))))
|
||||
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list ,(string-append "CC=" (cc-for-target))
|
||||
(string-append "PREFIX=" %output))
|
||||
#:tests? #f ; /sys/fs/cgroup not set up in guix sandbox
|
||||
#:test-target "test"
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'set-env
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; when running go, things fail because
|
||||
;; HOME=/homeless-shelter.
|
||||
(setenv "HOME" "/tmp")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; (invoke "strace" "-f" "bin/podman" "version")
|
||||
(invoke "make" "localsystem")
|
||||
(invoke "make" "remotesystem"))))
|
||||
(add-after 'unpack 'fix-hardcoded-paths
|
||||
(lambda _
|
||||
(substitute* (find-files "libpod" "\\.go")
|
||||
(("exec.LookPath[(][\"]slirp4netns[\"][)]")
|
||||
(string-append "exec.LookPath(\""
|
||||
(which "slirp4netns") "\")")))
|
||||
(substitute* "hack/install_catatonit.sh"
|
||||
(("CATATONIT_PATH=\"[^\"]+\"")
|
||||
(string-append "CATATONIT_PATH=" (which "true"))))
|
||||
(substitute* "vendor/github.com/containers/common/pkg/config/config_linux.go"
|
||||
(("/usr/local/libexec/podman")
|
||||
(string-append (assoc-ref %outputs "out") "/bin")))
|
||||
(substitute* "vendor/github.com/containers/common/pkg/config/default.go"
|
||||
(("/usr/libexec/podman/conmon") (which "conmon"))
|
||||
(("/usr/local/libexec/cni")
|
||||
(string-append (assoc-ref %build-inputs "cni-plugins")
|
||||
"/bin"))
|
||||
(("/usr/bin/crun") (which "crun"))))))))
|
||||
(list
|
||||
#:make-flags
|
||||
#~(list #$(string-append "CC=" (cc-for-target))
|
||||
(string-append "PREFIX=" #$output))
|
||||
#:tests? #f ; /sys/fs/cgroup not set up in guix sandbox
|
||||
#:test-target "test"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'set-env
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; when running go, things fail because
|
||||
;; HOME=/homeless-shelter.
|
||||
(setenv "HOME" "/tmp")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; (invoke "strace" "-f" "bin/podman" "version")
|
||||
(invoke "make" "localsystem")
|
||||
(invoke "make" "remotesystem"))))
|
||||
(add-after 'unpack 'fix-hardcoded-paths
|
||||
(lambda _
|
||||
(substitute* (find-files "libpod" "\\.go")
|
||||
(("exec.LookPath[(][\"]slirp4netns[\"][)]")
|
||||
(string-append "exec.LookPath(\""
|
||||
(which "slirp4netns") "\")")))
|
||||
(substitute* "hack/install_catatonit.sh"
|
||||
(("CATATONIT_PATH=\"[^\"]+\"")
|
||||
(string-append "CATATONIT_PATH=" (which "true"))))
|
||||
(substitute* "vendor/github.com/containers/common/pkg/config/config_linux.go"
|
||||
(("/usr/local/libexec/podman")
|
||||
(string-append #$output "/bin")))
|
||||
(substitute* "vendor/github.com/containers/common/pkg/config/default.go"
|
||||
(("/usr/libexec/podman/conmon") (which "conmon"))
|
||||
(("/usr/local/libexec/cni")
|
||||
(string-append #$(this-package-input "cni-plugins")
|
||||
"/bin"))
|
||||
(("/usr/bin/crun") (which "crun"))))))))
|
||||
(inputs
|
||||
(list btrfs-progs
|
||||
cni-plugins
|
||||
|
@ -1023,7 +1023,7 @@ Google's C++ code base.")
|
||||
(let ((base abseil-cpp-20200923.3))
|
||||
(package/inherit base
|
||||
(name "abseil-cpp")
|
||||
(version "20220623.0")
|
||||
(version "20220623.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -1032,7 +1032,7 @@ Google's C++ code base.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1kyvlpdkkh8spqrdh9yvq2d4ri46hwxljicy3i9mp7mk2rqcnyvj"))))
|
||||
"0vxh2a74g4s45yr8kdjqnzl64k10qdlc0hbnn987a4cnwdj4bp9r"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:configure-flags flags)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3540,18 +3540,22 @@ PickleShare.")
|
||||
(define-public python-apsw
|
||||
(package
|
||||
(name "python-apsw")
|
||||
(version "3.39.2.0")
|
||||
(version "3.39.2.1")
|
||||
;; The compressed release has fetching functionality disabled.
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rogerbinns/apsw")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/rogerbinns/apsw/releases/download/"
|
||||
version "/apsw-" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0q7fnk8n3m5mpjzh6xyhj409k8sacdbjsfis98my9c50fdn5sr7y"))))
|
||||
"06x3qgg71xz8l3kz8gz04wkfp5f6zfrg476a4mm1c5hikqyw6ykj"))
|
||||
;; Cherry-picked from upstream, remove when bumping to 3.39.3.
|
||||
(patches
|
||||
(search-patches "python-apsw-3.39.2.1-test-fix.patch"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs (list unzip))
|
||||
(inputs (list sqlite))
|
||||
(arguments
|
||||
(list #:phases
|
||||
|
@ -156,14 +156,14 @@ work, such as sentence length and other readability measures.")
|
||||
(define-public ding
|
||||
(package
|
||||
(name "ding")
|
||||
(version "1.8.1")
|
||||
(version "1.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://ftp.tu-chemnitz.de/pub/Local/urz/" name
|
||||
(uri (string-append "https://ftp.tu-chemnitz.de/pub/Local/urz/" name
|
||||
"/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0chjqs3z9zs1w3l7b5lsaj682rgnkf9kibcbzhggqqcn1pbvl5sq"))))
|
||||
"1rcqn04l6hvsf15mqqai533p31nc04r2yd9s0mn2hnkqrwgwi9k9"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list tk))
|
||||
(arguments
|
||||
|
@ -47,7 +47,6 @@
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mono)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages pascal)
|
||||
@ -191,7 +190,6 @@
|
||||
libarchive
|
||||
llvm-9
|
||||
lz4
|
||||
mono
|
||||
ocaml
|
||||
odt2txt
|
||||
openssh
|
||||
|
@ -573,18 +573,18 @@ and can dramatically shorten the lifespan of the drive if left unchecked.")
|
||||
(define-public gparted
|
||||
(package
|
||||
(name "gparted")
|
||||
(version "1.3.1")
|
||||
(version "1.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/gparted/gparted/gparted-"
|
||||
version "/gparted-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "02g1s6hrhnias7kj241l0f72kllfhq6338mk2dmzjpmifinjxvjy"))))
|
||||
(base32 "1gl7g1lg72s63a9xlc4kcc6ksq6r7h8k9a6456xbxzak5rwklag5"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
;; Tests require access to paths outside the build container, such
|
||||
;; as '/dev/disk/by-id'
|
||||
;; Tests require access to files outside the build container, such
|
||||
;; as ‘/dev/disk/by-id/’.
|
||||
`(#:tests? #f))
|
||||
(inputs
|
||||
(list `(,util-linux "lib") parted glib gtkmm-3 libxml2))
|
||||
|
@ -36,7 +36,7 @@
|
||||
(define-public elixir
|
||||
(package
|
||||
(name "elixir")
|
||||
(version "1.13.4")
|
||||
(version "1.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -45,7 +45,7 @@
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1z19hwnv7czmg3p56hdk935gqxig3x7z78yxckh8fs1kdkmslqn4"))
|
||||
(base32 "16rc4qaykddda6ax5f8zw70yhapgwraqbgx5gp3f40dvfax3d51l"))
|
||||
(patches (search-patches "elixir-path-length.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -61,7 +61,7 @@
|
||||
;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
|
||||
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
|
||||
;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
|
||||
;;; Copyright © 2020, 2021 Masaya Tojo <masaya@tojo.tokyo>
|
||||
;;; Copyright © 2020, 2021, 2022 Masaya Tojo <masaya@tojo.tokyo>
|
||||
;;; Copyright © 2020, 2021 Martin Becze <mjbecze@riseup.net>
|
||||
;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
@ -166,6 +166,7 @@
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages games)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages gtk)
|
||||
@ -250,7 +251,7 @@
|
||||
(define-public emacs-geiser
|
||||
(package
|
||||
(name "emacs-geiser")
|
||||
(version "0.26")
|
||||
(version "0.26.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -259,7 +260,7 @@
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1pm33zlcq84h61xhplmrlicckrax1pv39zrmv8ryzhi9mqrb6bdg"))))
|
||||
(base32 "1k5ligm1aba9b6dqg0yi86a2y2fhnxi7jsjgxj9jw7icgfa11djn"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
@ -297,16 +298,16 @@ e.g. emacs-geiser-guile for Guile.")
|
||||
(define-public emacs-geiser-guile
|
||||
(package
|
||||
(name "emacs-geiser-guile")
|
||||
(version "0.23.2")
|
||||
(version "0.26.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/emacs-geiser/guile.git")
|
||||
(url "https://gitlab.com/emacs-geiser/guile")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18m5ldj4r4c2hxgvv5b4azl90r8az1kn5f3s913h971asyv4wx06"))))
|
||||
(base32 "06939mv9i7zzqvq71d0ixk3y9135132f3pk9jgjdwvacl1d31h8k"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@ -3015,7 +3016,7 @@ or XEmacs.")
|
||||
(define-public emacs-autothemer
|
||||
(package
|
||||
(name "emacs-autothemer")
|
||||
(version "0.2.10")
|
||||
(version "0.2.14")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -3025,7 +3026,7 @@ or XEmacs.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dz09n8qiqvzxckmy6mjnpw4f62jpk35cw16w0lhfpvfa8by4mp8"))))
|
||||
"0jxlfwcfqdjr3da2xzjnigmckarhjbn6b1i1x4pdzb5djjcz00qc"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-dash))
|
||||
@ -3034,7 +3035,7 @@ or XEmacs.")
|
||||
(description
|
||||
"Autothemer provides a thin layer on top of @code{deftheme} and
|
||||
@code{custom-theme-set-faces} that creates a new custom color theme, based on
|
||||
a set of simplified face specifications and a user-supplied color palette")
|
||||
a set of simplified face specifications and a user-supplied color palette.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-howm
|
||||
@ -3386,6 +3387,57 @@ environment set through Direnv.")
|
||||
that the binary uses instead of the actual binary contents.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-org-fc
|
||||
(let ((commit "f64b5336485a42be91cfe77850c02a41575f5984")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-org-fc")
|
||||
(version (git-version "0.1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~l3kn/org-fc")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1d0a3vr09zkplclypcgpfbfd6r0h0i3g3zsqb4pcz6x239d59gd5"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:include #~(cons* "\\.awk$" "\\.org$" %default-include)
|
||||
#:exclude #~(cons "^tests/" %default-exclude)
|
||||
#:tests? #t
|
||||
#:test-command #~(list "emacs" "--batch"
|
||||
"-L" "."
|
||||
"-L" "tests/"
|
||||
"-l" "tests/org-fc-filter-test.el"
|
||||
"-l" "tests/org-fc-indexer-test.el"
|
||||
"-l" "tests/org-fc-review-data-test.el"
|
||||
"-f" "ert-run-tests-batch-and-exit")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'qualify-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((find (search-input-file inputs "/bin/find"))
|
||||
(gawk (search-input-file inputs "/bin/gawk"))
|
||||
(xargs (search-input-file inputs "/bin/xargs")))
|
||||
(substitute* "org-fc-awk.el"
|
||||
(("\"find ") (string-append "\"" find " "))
|
||||
(("\"gawk ") (string-append "\"" gawk " "))
|
||||
(("\"xargs ") (string-append "\"" xargs " ")))))))))
|
||||
(inputs (list findutils gawk))
|
||||
(propagated-inputs (list emacs-hydra))
|
||||
(home-page "https://www.leonrische.me/fc/index.html")
|
||||
(synopsis "Spaced repetition system for Emacs Org mode")
|
||||
(description
|
||||
"Org-fc is a spaced-repetition system for Emacs' Org mode.
|
||||
It allows you to mark headlines in a file as flashcards, turning pieces of
|
||||
knowledge you want to learn into a question-answer test. These cards are
|
||||
reviewed at regular interval. After each review, the next review interval is
|
||||
calculated based on how well you remembered the contents of the card.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-font-lock-studio
|
||||
(let ((commit "12c35967b31233e06946c70627aa3152dacfe261")
|
||||
(revision "1"))
|
||||
@ -13233,7 +13285,7 @@ passive voice.")
|
||||
(define-public emacs-org
|
||||
(package
|
||||
(name "emacs-org")
|
||||
(version "9.5.4")
|
||||
(version "9.5.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -13242,7 +13294,7 @@ passive voice.")
|
||||
(commit (string-append "release_" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1an866kkn5r84933s04agm1c3197kza2pvk8lqp2xzpjd09ba394"))))
|
||||
(base32 "0bswysz5laiya9pm689v4rpxjlfqg21azyh1jal9jq80iwjwi2p8"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:tests? #t
|
||||
@ -15954,7 +16006,7 @@ running a customisable handler command (@code{ignore} by default).")
|
||||
(define-public emacs-json-reformat
|
||||
(package
|
||||
(name "emacs-json-reformat")
|
||||
(version "0.0.6")
|
||||
(version "0.0.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -15963,7 +16015,7 @@ running a customisable handler command (@code{ignore} by default).")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0qp4n2k6s69jj4gwwimkpadjv245y54wk3bxb1x96f034gkp81vs"))
|
||||
(base32 "1gaifz1brh7yh1wk1c02gddwis4ab6bggv27gy7gcd2s861f8bkx"))
|
||||
(patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
@ -15982,6 +16034,15 @@ running a customisable handler command (@code{ignore} by default).")
|
||||
"ert-deftest json-reformat-test:json-reformat-region")
|
||||
(beginning-of-line)
|
||||
(kill-sexp))
|
||||
(basic-save-buffer)))))
|
||||
(add-before 'check 'delete-json-reformat-region-occur-error-test
|
||||
(lambda _
|
||||
(emacs-batch-edit-file "test/json-reformat-test.el"
|
||||
`(progn (goto-char (point-min))
|
||||
(re-search-forward
|
||||
"ert-deftest json-reformat-test:json-reformat-region-occur-error")
|
||||
(beginning-of-line)
|
||||
(kill-sexp)
|
||||
(basic-save-buffer))))))))
|
||||
(native-inputs
|
||||
(list emacs-dash emacs-ert-runner emacs-shut-up))
|
||||
@ -16710,6 +16771,30 @@ query them from the comfort of your editor.")
|
||||
(home-page "https://github.com/hrs/engine-mode")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-engrave-faces
|
||||
(package
|
||||
(name "emacs-engrave-faces")
|
||||
(version "0.3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/engrave-faces-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"1q4sjl2rvcfwcirm32nmi53258ln71yhh1dgszlxwknm38a14v3i"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/tecosaur/engrave-faces")
|
||||
(synopsis "Convert font-lock faces to other formats")
|
||||
(description "There are some great packages for exporting buffers to
|
||||
particular formats, but each one seems to reinvent the core mechanism of
|
||||
processing the font-lock in a buffer such that it can be exported to
|
||||
a particular format.
|
||||
|
||||
This package aims to produce a versatile generic core which can process
|
||||
a fontified buffer and pass the data to any number of backends which can deal
|
||||
with specific output formats.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-inheritenv
|
||||
(package
|
||||
(name "emacs-inheritenv")
|
||||
@ -27966,6 +28051,30 @@ With org-reveal, you can create beautiful presentations with 3D effects from
|
||||
simple but powerful Org contents.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-ox-rss
|
||||
;; XXX: Upstream provides no version nor tags whatsoever.
|
||||
(let ((commit "83dc898fa5493925b01716e5dd495d5e07c3d41a")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-ox-rss")
|
||||
(version (git-version "0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/nsavage/ox-rss")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0513kixv9bgkignmji95m3rskn6px6c0fack4zdl61qq09fg8w6h"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://gitlab.com/nsavage/ox-rss")
|
||||
(synopsis "RSS 2.0 back-end for Org export engine")
|
||||
(description
|
||||
"This library implements an RSS 2.0 back-end for Org exporter, based
|
||||
on the HTML back-end.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-wc-mode
|
||||
(package
|
||||
(name "emacs-wc-mode")
|
||||
@ -30385,7 +30494,7 @@ support for the Nicola keyboard layout to it.")))
|
||||
(define-public emacs-tamil99
|
||||
(package
|
||||
(name "emacs-tamil99")
|
||||
(version "0.1.1")
|
||||
(version "0.1.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -30394,7 +30503,7 @@ support for the Nicola keyboard layout to it.")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0f9s3b6fd42j21922qkxfr3j83a7qym73nynph86w87vkis40zqw"))))
|
||||
"12sr59b2ngay66snb2m4a5zy6n11ahnmc5wy42l3ks7fd4cc5rgs"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://git.systemreboot.net/tamil99/about/")
|
||||
(synopsis "Tamil99 input method for Emacs")
|
||||
@ -30767,29 +30876,26 @@ rather excellent completion provided by both Bash and Zsh.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-shell-command+
|
||||
;; XXX: Upstream did not tag last release. The commit below corresponds to
|
||||
;; the exact version bump.
|
||||
(let ((commit "bf744c63bbd1e3bbb93407bd32d6da670b23e67e"))
|
||||
(package
|
||||
(name "emacs-shell-command+")
|
||||
(version "2.3.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~pkal/shell-command-plus")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0prlvcryq5ngrzn5f45rkw09wbr99v7nnwps2bjrjc3wvr2rp6h0"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "http://elpa.gnu.org/packages/shell-command+.html")
|
||||
(synopsis "Extended Emacs @code{shell-command}")
|
||||
(description
|
||||
"Shell-command+ is a @code{shell-command} substitute that extends the
|
||||
(package
|
||||
(name "emacs-shell-command+")
|
||||
(version "2.4.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~pkal/shell-command-plus")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "14akj7pavfhch6ljwl26mhv7qczgmqn7mld62cf6mh4ghmhy3z4y"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "http://elpa.gnu.org/packages/shell-command+.html")
|
||||
(synopsis "Extended Emacs @code{shell-command}")
|
||||
(description
|
||||
"Shell-command+ is a @code{shell-command} substitute that extends the
|
||||
regular Emacs command with several features. You can for example count all
|
||||
the lines in a buffer with @code{> wc -l}, or delete all lower case letters in
|
||||
the selected region with @code{| tr -d a-z}.")
|
||||
(license license:gpl3+))))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-shell-pop
|
||||
(let ((commit "4b4394037940a890a313d715d203d9ead2d156a6")
|
||||
@ -31699,7 +31805,7 @@ dict.org) from within Emacs.")
|
||||
(define-public emacs-multitran
|
||||
(package
|
||||
(name "emacs-multitran")
|
||||
(version "0.4.14")
|
||||
(version "0.4.16")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -31708,7 +31814,7 @@ dict.org) from within Emacs.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "13lmhp2vm953s4phqdd119kp7s3p0kb3kqz4z6g3ga6m6py3gq3i"))))
|
||||
(base32 "0zjl7zyydx2pan2ashbwbp70nlmw17hq5w03sfk12wi7j1nihwbz"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/zevlg/multitran.el")
|
||||
(synopsis "Emacs interface to the multitran.com online dictionary")
|
||||
@ -32389,6 +32495,33 @@ tree to go back to previous buffer states. To use vundo, type @kbd{M-x vundo RE
|
||||
the buffer you want to undo. An undo tree buffer should pop up.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-project-x
|
||||
;; There is no proper release.
|
||||
;; The base version is extracted from the README.org.
|
||||
(let ((revision "0")
|
||||
(commit "0b78f4e33b994612fcb305b3cf6d3b1e3b62cea7"))
|
||||
(package
|
||||
(name "emacs-project-x")
|
||||
(version (git-version "0.1.6" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/karthink/project-x")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xxzxxm0jila5s9sfay6ywj2j8pyz4wwcrycvnrrzh0vxcsgzf9s"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/karthink/project-x")
|
||||
(synopsis "Enhancement to Emacs built-in Project library")
|
||||
(description
|
||||
"Project-X provides convenience features for Emacs' Project library.
|
||||
In particular, it saves and restores project files and window configurations
|
||||
across sessions.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-vertico-posframe
|
||||
(package
|
||||
(name "emacs-vertico-posframe")
|
||||
|
@ -78,6 +78,7 @@
|
||||
#:use-module (gnu packages bdw-gc)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages commencement)
|
||||
@ -2895,6 +2896,97 @@ for the milling of PCBs. It also includes an autoleveller for the automatic
|
||||
dynamic calibration of the milling depth.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
;; libdxfrw has no readme, no version release, no tags. Initial commit says
|
||||
;; "libdxfrw-0.6.3 import", but it shares no git history with "upstream"
|
||||
;; https://github.com/codelibs/libdxfrw. Both are difficult to package
|
||||
;; separately as they don't install properly. Copying in-tree instead of
|
||||
;; #:recursive #t to avoid downloading the other bigger dependencies which
|
||||
;; aren't needed.
|
||||
(define libdxfrw-sources
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url
|
||||
"https://github.com/solvespace/libdxfrw")
|
||||
(commit
|
||||
"0b7b7b709d9299565db603f878214656ef5e9ddf")))
|
||||
(sha256 (base32
|
||||
"0d2wjq81466m3hb5cffiy99vhx0irwwy47yfxp318k2q4cvd5z2a"))))
|
||||
|
||||
(define-public solvespace
|
||||
(let ((commit "70bde63cb32a7f049fa56cbdf924e2695fcb2916")
|
||||
(version "3.1"))
|
||||
(package
|
||||
(name "solvespace")
|
||||
(version version)
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/solvespace/solvespace")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hbdln44k00a6vlklv2mq2c9zda3i9d5x0f7ks85w4v6zskhqnra"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs (list pkg-config gettext-minimal))
|
||||
(arguments
|
||||
(list
|
||||
#:build-type "Release"
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-libdxfrw
|
||||
(lambda _
|
||||
(copy-recursively #$libdxfrw-sources
|
||||
"extlib/libdxfrw")))
|
||||
(add-before 'configure 'embed-git-commit-hash
|
||||
(lambda _
|
||||
;; `git describe` doesn't work here, so embed
|
||||
;; the commit hash directly in CMakeLists.txt as
|
||||
;; described instead.
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("include\\(GetGitCommitHash\\)")
|
||||
(string-append "set(GIT_COMMIT_HASH "
|
||||
#$commit ")")))))
|
||||
(add-before 'configure 'use-packaged-mimalloc
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("message\\(STATUS \"Using in-tree mimalloc\"\\)")
|
||||
"message(STATUS \"Using guix packaged mimalloc\")")
|
||||
(("add_subdirectory\\(extlib/mimalloc EXCLUDE_FROM_ALL\\)")
|
||||
"find_package(mimalloc REQUIRED)")))))))
|
||||
(inputs (list cairo
|
||||
eigen
|
||||
freetype
|
||||
gtkmm-3
|
||||
json-c
|
||||
libpng
|
||||
libspnav ;spaceware
|
||||
mimalloc
|
||||
mesa
|
||||
zlib))
|
||||
(synopsis
|
||||
"Parametric 2D/3D @acronym{CAD, computer-aided design} software")
|
||||
(description
|
||||
"SOLVESPACE is a parametric 3D @acronym{CAD,
|
||||
computer-aided design} tool. Applications include:
|
||||
|
||||
@itemize
|
||||
@item modeling 3D parts — draw with extrudes, revolves, helixes and
|
||||
Boolean (union / difference / intersection) operations
|
||||
@item modeling 2D parts — draw the part as a single section,
|
||||
and export DXF, PDF, SVG; use 3D assembly to verify fit
|
||||
@item 3D-printed parts — export the STL or other triangle mesh
|
||||
expected by most 3D printers
|
||||
@item preparing CAM data — export 2D vector art for a waterjet
|
||||
machine or laser cutter; or generate STEP or STL, for import into
|
||||
third-party CAM software for machining
|
||||
@item mechanism design — use the constraint solver to simulate planar
|
||||
or spatial linkages, with pin, ball, or slide joints
|
||||
@item plane and solid geometry — replace hand-solved trigonometry and spreadsheets
|
||||
with a live dimensioned drawing
|
||||
@end itemize")
|
||||
(home-page "https://solvespace.com/")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public syscall-intercept
|
||||
;; Upstream provides no tag. Also, last version update is 4 years old.
|
||||
(let ((commit "304404581c57d43478438d175099d20260bae74e")
|
||||
|
@ -44,7 +44,7 @@
|
||||
(define-public erlang
|
||||
(package
|
||||
(name "erlang")
|
||||
(version "25.0.2")
|
||||
(version "25.0.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
;; The tarball from http://erlang.org/download contains many
|
||||
@ -56,7 +56,7 @@
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xgp035vy0yy5m155rpmf22m6rq7pvw3m65s5mz22bcpj2rw4b0x"))
|
||||
"0n39pd5d8mmyj03d8fdan0zb2pcc383pmqf0v7s356fgirdbsrcm"))
|
||||
(patches (search-patches "erlang-man-path.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
|
@ -2735,7 +2735,7 @@ and readability. This package bundles those icons into a font.")
|
||||
(define-public font-lxgw-wenkai
|
||||
(package
|
||||
(name "font-lxgw-wenkai")
|
||||
(version "1.235.2")
|
||||
(version "1.240")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -2743,7 +2743,7 @@ and readability. This package bundles those icons into a font.")
|
||||
version "/lxgw-wenkai-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17li3xry4j4ccdnwz2pcnf0gv7c5mwq0h5fwvl7ar28brn2qgdbk"))))
|
||||
"1rg6i6fqs1b0b2g4kijimkyqbxfn6n8ac74rppsizq65n6crvfib"))))
|
||||
(build-system font-build-system)
|
||||
(home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/")
|
||||
(synopsis "Simplified Chinese Imitation Song typeface")
|
||||
@ -2757,7 +2757,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
|
||||
(package
|
||||
(inherit font-lxgw-wenkai)
|
||||
(name "font-lxgw-wenkai-tc")
|
||||
(version "0.920")
|
||||
(version "0.921")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -2765,7 +2765,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
|
||||
version "/lxgw-wenkai-tc-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kysqzi19ldd1a3pd9axmggcbm1719myq6i6q6fdb1afscn272cp"))))
|
||||
"0s7zvb8i1f7ziw8r94l1f3rcv21b80dbgc43zjwz34s43465lwrb"))))
|
||||
(home-page "https://github.com/lxgw/LxgwWenKaitc")
|
||||
(synopsis "Traditional Chinese Imitation Song typeface")
|
||||
(description
|
||||
|
@ -552,3 +552,35 @@ then compiled by a C++ compiler (GCC/Clang/etc.). The resulting executable
|
||||
performs the design simulation. Verilator also supports linking its generated
|
||||
libraries, optionally encrypted, into other simulators.")
|
||||
(license license:lgpl3)))
|
||||
|
||||
(define-public fftgen
|
||||
(let ((commit "1d75a992efd0528edea128a903aafdabe133cb08") ;no releases
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "fftgen")
|
||||
(version (git-version "0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ZipCPU/dblclockfft")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qq874yalzpjdwnxhc5df8a0ifywv29wcncb09945x56xplvkcmd"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no tests
|
||||
#:make-flags '("CFLAGS=-g -O2") ;default flags lack -O2
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out")
|
||||
"/bin")))
|
||||
(install-file "sw/fftgen" bin)))))))
|
||||
(synopsis "Generic pipelined FFT core generator")
|
||||
(description "fftgen produces @acronym{FFT, fast-Fourier transforms}
|
||||
hardware designs in Verilog.")
|
||||
(home-page "https://zipcpu.com/")
|
||||
(license license:lgpl3+))))
|
||||
|
@ -87,7 +87,6 @@
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages mono)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages music)
|
||||
@ -2306,58 +2305,6 @@ specific knowledge of the hardware they are targeting.")
|
||||
double-buffering.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public fna
|
||||
(package
|
||||
(name "fna")
|
||||
(version "19.12.01")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/FNA-XNA/FNA")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1vdyi9hac24fqcs8kpj6yk36bf5rrl4dvlvdd9fc701fawcf6lrr"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; No tests.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'link-dep-src
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((sdl2 (assoc-ref inputs "sdl2-cs-src"))
|
||||
(mojoshader (assoc-ref inputs "mojoshader-src"))
|
||||
(faudio (assoc-ref inputs "faudio-src"))
|
||||
(theorafile (assoc-ref inputs "theorafile-src")))
|
||||
(symlink (string-append sdl2 "/src") "lib/SDL2-CS/src")
|
||||
(symlink (string-append mojoshader "/csharp") "lib/MojoShader/csharp")
|
||||
(symlink (string-append faudio "/csharp") "lib/FAudio/csharp")
|
||||
(symlink (string-append theorafile "/csharp") "lib/Theorafile/csharp"))))
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "make" "release")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(install-file "bin/Release/FNA.dll" (string-append out "/lib"))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
(list mono))
|
||||
(inputs `(("sdl2-cs-src" ,(package-source sdl2-cs))
|
||||
("mojoshader-src" ,(package-source mojoshader-cs))
|
||||
("faudio-src" ,(package-source faudio))
|
||||
("theorafile-src" ,(package-source theorafile))))
|
||||
(home-page "https://fna-xna.github.io/")
|
||||
(synopsis "Accuracy-focused XNA4 reimplementation")
|
||||
(description "FNA is a Microsoft XNA Game Studio 4.0 reimplementation that
|
||||
focuses solely on developing a fully accurate XNA4 runtime for the desktop.")
|
||||
(license (list license:ms-pl ; FNA
|
||||
license:lgpl2.1 ; LzxDecoder.cs
|
||||
;; Mono.Xna:
|
||||
license:expat))))
|
||||
|
||||
(define-public libccd
|
||||
(package
|
||||
(name "libccd")
|
||||
|
@ -3961,6 +3961,103 @@ This game is based on the GPL version of the famous game TuxRacer.")
|
||||
(home-page "https://sourceforge.net/projects/extremetuxracer/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public exult
|
||||
(package
|
||||
(name "exult")
|
||||
(version "1.8")
|
||||
(source
|
||||
(origin
|
||||
;; The release tarball isn't bootstrapped, and Git is more robust (SWH).
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/exult/exult")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1qfbkz05w8989vafc6dvw1wmdi1mvkr4kkgk3ccixadf4616kcb3"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs (list "out" "gimp" "studio"))
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
#~(list "--enable-shared"
|
||||
"--disable-static"
|
||||
"--enable-lto"
|
||||
"--enable-exult-studio"
|
||||
"--enable-exult-studio-support"
|
||||
"--enable-compiler"
|
||||
"--enable-mods" ; needs --enable-compiler!
|
||||
"--enable-gimp-plugin"
|
||||
;; A few lines on stdout can save a lot of head-scratching:
|
||||
"CPPFLAGS=-DDEBUG_PATHS=1")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'patch-game-home-directory
|
||||
(lambda _
|
||||
(substitute* "gamemgr/modmgr.cc"
|
||||
;; EXULT_DATADIR is in the store where it's rather hard for
|
||||
;; users to put game assets. Use a more writable home by
|
||||
;; default, which users can override in their ~/.exult.cfg.
|
||||
(("<GAMEHOME>")
|
||||
(string-append "<HOME>/.local/share/exult"))
|
||||
;; …however, this causes a regression: the mods which we'll
|
||||
;; install to EXULT_DATADIR are no longer found. So: don't
|
||||
;; look for mods alongside the assets by default. This too
|
||||
;; can be overridden in users' ~/.exult.cfg.
|
||||
(("game_path( \\+ \"/mods\")" _ +suffix)
|
||||
(string-append "get_system_path(\"<GAMEHOME>/\") + "
|
||||
"cfgname" +suffix)))))
|
||||
(add-before 'bootstrap 'move-exult-studio
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "studio")))
|
||||
(substitute* "mapedit/studio.cc"
|
||||
(("(esdir, )EXULT_DATADIR" _ prefix)
|
||||
(string-append prefix "\"" out "/share/exult\"")))
|
||||
(substitute* "data/Makefile.am"
|
||||
(("(estudionewdir =.*)\\$\\(datadir\\)(.*)"
|
||||
_ variable= suffix)
|
||||
(string-append variable= out "/share" suffix "\n"))))))
|
||||
(add-before 'bootstrap 'fix-gimp-plug-in-prefix
|
||||
;; ./configure will propagate this value to myriad Makefiles
|
||||
;; scattered across the tree, so fix it early.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "gimp")))
|
||||
(substitute* "configure.ac"
|
||||
(("(GIMP_PLUGIN_PREFIX=).*" _ variable=)
|
||||
(string-append variable= out "/lib/gimp/2.0"))))))
|
||||
(add-after 'install 'move-exult_studio
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((source (assoc-ref outputs "out"))
|
||||
(target (assoc-ref outputs "studio"))
|
||||
(file "/bin/exult_studio"))
|
||||
(mkdir-p (string-append target (dirname file)))
|
||||
(rename-file (string-append source file)
|
||||
(string-append target file))))))))
|
||||
(native-inputs
|
||||
(list autoconf automake libtool pkg-config
|
||||
;; The following are needed only by the GIMP plug-in.
|
||||
gimp libjpeg-turbo
|
||||
gegl gtk+-2 ; needed by gimpui-2.0.pc
|
||||
;; The following are needed only by the Usecode compiler.
|
||||
bison flex))
|
||||
(inputs
|
||||
(list fluidsynth freetype libvorbis sdl2
|
||||
;; GTK is needed only by Exult Studio.
|
||||
gtk+))
|
||||
(synopsis "Role-playing game engine compatible with Ultima VII")
|
||||
(description
|
||||
"Exult is an Ultima 7 game engine that runs on modern operating systems.
|
||||
Ultima 7 (or Ultima VII) is a two-part @acronym{RPG, role-playing game} from the
|
||||
early 1990s.
|
||||
|
||||
Exult is fully compatible with the original Ultima 7, but doesn't require any
|
||||
of its data files to be useful. Explore entirely new game worlds---or create
|
||||
your own with the included game and map editor, Exult Studio.
|
||||
|
||||
This package expects the game(s) to be placed in subdirectories of
|
||||
@file{~/.local/share/exult}.")
|
||||
(home-page "http://exult.info/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public supertuxkart
|
||||
(package
|
||||
(name "supertuxkart")
|
||||
|
@ -2377,14 +2377,14 @@ growing set of geoscientific methods.")
|
||||
(define-public qgis
|
||||
(package
|
||||
(name "qgis")
|
||||
(version "3.16.3")
|
||||
(version "3.26.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://qgis.org/downloads/qgis-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "012dv8dcg7w4lf6k37i41wialwhi0kpkxw2dnq19yqqk35632mzx"))))
|
||||
(base32 "1hsq3wchsf7db7134fgg9xzzap35q1s4r6649d0krbw80xw5asca"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build cmake-build-system)
|
||||
@ -2405,7 +2405,7 @@ growing set of geoscientific methods.")
|
||||
(("sip_dir = cfg.default_sip_dir")
|
||||
(string-append "sip_dir = \""
|
||||
(assoc-ref inputs "python-pyqt+qscintilla")
|
||||
"/share/sip\""))
|
||||
"/share/sip\"")))
|
||||
;; Fix building with python-sip@5.
|
||||
;;
|
||||
;; The reason for this is that python-sip@5 introduces some
|
||||
@ -2416,31 +2416,15 @@ growing set of geoscientific methods.")
|
||||
;; are, messing up the build. The long term solution is to fully
|
||||
;; upgrade SIP, use sip-build and fix all failing packages, but
|
||||
;; for now I just want to get the build working.
|
||||
((".pyqt_sip_dir...os.path.join.*,")
|
||||
(string-append "'pyqt_sip_dir': \""
|
||||
(substitute* "cmake/FindPyQt5.cmake"
|
||||
(("SET\\(PYQT5_SIP_DIR \"\\$\\{Python_SITEARCH\\}/PyQt5/bindings\"\\)")
|
||||
(string-append "SET(PYQT5_SIP_DIR \""
|
||||
(assoc-ref inputs "python-pyqt+qscintilla")
|
||||
"/share/sip" "\",")))
|
||||
(substitute* (list "scripts/prepare_commit.sh"
|
||||
"scripts/qstringfixup.sh"
|
||||
"scripts/release.pl"
|
||||
"scripts/runtests_local_travis_config.sh"
|
||||
"scripts/sip_include.sh"
|
||||
"scripts/sipdiff"
|
||||
"scripts/sipify_all.sh"
|
||||
"scripts/spell_check/check_spelling.sh"
|
||||
"scripts/spell_check/spell_test.sh"
|
||||
"scripts/verify_indentation.sh"
|
||||
"tests/code_layout/test_banned_keywords.sh"
|
||||
"tests/code_layout/test_licenses.sh"
|
||||
"tests/code_layout/test_shellcheck.sh"
|
||||
"tests/code_layout/test_sip_include.sh"
|
||||
"tests/code_layout/test_sipfiles.sh"
|
||||
"tests/code_layout/test_sipify.sh")
|
||||
"/share/sip\")")))
|
||||
(substitute* (list "tests/code_layout/test_qt_imports.sh"
|
||||
"tests/code_layout/test_qgsscrollarea.sh")
|
||||
(("\\$\\(git rev-parse --show-toplevel\\)")
|
||||
(getcwd)))
|
||||
(substitute* "tests/code_layout/test_sip_include.sh"
|
||||
(("^REV=.*") "REV=currentrev\n"))
|
||||
#t))
|
||||
(getcwd)))))
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
@ -2454,113 +2438,85 @@ growing set of geoscientific methods.")
|
||||
'(;; Disable tests that require network access
|
||||
"qgis_filedownloader"
|
||||
;; TODO: Find why the following tests fail
|
||||
"ProcessingGdalAlgorithmsRasterTest"
|
||||
"ProcessingGdalAlgorithmsVectorTest"
|
||||
"ProcessingGrass7AlgorithmsImageryTest"
|
||||
"ProcessingGrass7AlgorithmsRasterTest"
|
||||
"ProcessingGrass7AlgorithmsVectorTest"
|
||||
"ProcessingOtbAlgorithmsTest"
|
||||
"ProcessingQgisAlgorithmsTestPt1"
|
||||
"ProcessingQgisAlgorithmsTestPt2"
|
||||
"ProcessingQgisAlgorithmsTestPt3"
|
||||
"ProcessingQgisAlgorithmsTestPt4"
|
||||
"PyCoreAdittions"
|
||||
"ProcessingGdalAlgorithmsVectorTest"
|
||||
"ProcessingGrass7AlgorithmsImageryTest"
|
||||
"ProcessingGrass7AlgorithmsRasterTestPt1"
|
||||
"ProcessingGrass7AlgorithmsRasterTestPt2"
|
||||
"ProcessingGrass7AlgorithmsVectorTest"
|
||||
"ProcessingOtbAlgorithmsTest"
|
||||
"test_core_authmanager"
|
||||
"test_core_compositionconverter"
|
||||
"test_core_gdalutils"
|
||||
"test_core_labelingengine"
|
||||
"test_core_layout"
|
||||
"test_core_layouthtml"
|
||||
"test_core_layoutlabel"
|
||||
"test_core_layoutmultiframe"
|
||||
"test_core_layoutpicture"
|
||||
"test_core_legendrenderer"
|
||||
"test_core_networkaccessmanager"
|
||||
"test_core_tiledownloadmanager"
|
||||
"test_gui_dualview"
|
||||
"test_gui_htmlwidgetwrapper"
|
||||
"test_gui_filedownloader"
|
||||
"test_gui_queryresultwidget"
|
||||
"test_analysis_processingalgspt2"
|
||||
"test_analysis_processing"
|
||||
"test_provider_wcsprovider"
|
||||
"qgis_grassprovidertest7"
|
||||
"test_app_gpsinformationwidget"
|
||||
"PyQgsAnnotation"
|
||||
"PyQgsAppStartup"
|
||||
"PyQgsAuthBasicMethod"
|
||||
"PyQgsAttributeTableModel"
|
||||
"PyQgsAuthenticationSystem"
|
||||
"PyQgsAuxiliaryStorage"
|
||||
"PyQgsDBManagerGpkg"
|
||||
"PyQgsDBManagerSpatialite"
|
||||
"PyQgsDataItem"
|
||||
"PyQgsFieldValidator"
|
||||
"PyQgsExternalStorageWebDAV"
|
||||
"PyQgsFieldFormattersTest"
|
||||
"PyQgsFileUtils"
|
||||
"PyQgsGeometryTest"
|
||||
"PyQgsImageCache"
|
||||
"PyQgsImportIntoPostGIS"
|
||||
"PyQgsLayerDependencies"
|
||||
"PyQgsLayerMetadata"
|
||||
"PyQgsLayout"
|
||||
"PyQgsGoogleMapsGeocoder"
|
||||
"PyQgsHashLineSymbolLayer"
|
||||
"PyQgsLayoutExporter"
|
||||
"PyQgsLayoutHtml"
|
||||
"PyQgsLayoutLegend"
|
||||
"PyQgsLayoutMapGrid"
|
||||
"PyQgsMapClippingUtils"
|
||||
"PyQgsLineSymbolLayers"
|
||||
"PyQgsMapLayer"
|
||||
"PyQgsMetadataBase"
|
||||
"PyQgsOGRProvider"
|
||||
"PyQgsNetworkContentFetcherRegistry"
|
||||
"PyQgsOGRProviderGpkg"
|
||||
"PyQgsOapifProvider"
|
||||
"PyQgsOGRProviderSqlite"
|
||||
"PyQgsPalLabelingCanvas"
|
||||
"PyQgsPalLabelingLayout"
|
||||
"PyQgsProcessingInPlace"
|
||||
"PyQgsProject"
|
||||
"PyQgsPalLabelingPlacement"
|
||||
"PyQgsProcessExecutable"
|
||||
"PyQgsProviderConnectionGpkg"
|
||||
"PyQgsProviderConnectionPostgres"
|
||||
"PyQgsProviderConnectionSpatialite"
|
||||
"PyQgsPythonProvider"
|
||||
"PyQgsRasterLayer"
|
||||
"PyQgsRasterResampler"
|
||||
"PyQgsRulebasedRenderer"
|
||||
"PyQgsSelectiveMasking"
|
||||
"PyQgsSettings"
|
||||
"PyQgsShapefileProvider"
|
||||
"PyQgsOGRProvider"
|
||||
"PyQgsSpatialiteProvider"
|
||||
"PyQgsSvgCache"
|
||||
"PyQgsSymbolExpressionVariables"
|
||||
"PyQgsTextRenderer"
|
||||
"PyQgsVectorFileWriter"
|
||||
"PyQgsVectorLayer"
|
||||
"PyQgsVectorLayerUtils"
|
||||
"PyQgsVectorLayerEditBuffer"
|
||||
"PyQgsVectorLayerEditBufferGroup"
|
||||
"PyQgsVectorLayerProfileGenerator"
|
||||
"PyQgsVirtualLayerProvider"
|
||||
"PyQgsWFSProvider"
|
||||
"qgis_arcgisrestutilstest"
|
||||
"qgis_authmanagertest"
|
||||
"qgis_compositionconvertertest"
|
||||
"qgis_coordinatereferencesystemtest"
|
||||
"qgis_expressiontest"
|
||||
"qgis_fontmarkertest"
|
||||
"qgis_geometrycheckstest"
|
||||
"qgis_geometrytest"
|
||||
"qgis_gpsinformationwidget"
|
||||
"qgis_grassprovidertest7"
|
||||
"qgis_imagecachetest"
|
||||
"qgis_labelingenginetest"
|
||||
"qgis_layouthtmltest"
|
||||
"qgis_layoutlabeltest"
|
||||
"qgis_layoutmanualtabletest"
|
||||
"qgis_layoutmapgridtest"
|
||||
"qgis_layoutmapoverviewtest"
|
||||
"qgis_layoutmaptest"
|
||||
"qgis_layoutmultiframetest"
|
||||
"qgis_layoutpicturetest"
|
||||
"qgis_layouttabletest"
|
||||
"qgis_layouttest"
|
||||
"qgis_mapdevicepixelratiotest"
|
||||
"qgis_maprendererjobtest"
|
||||
"qgis_meshcontourstest"
|
||||
"qgis_ogrproviderguitest"
|
||||
"qgis_painteffecttest"
|
||||
"qgis_pallabelingtest"
|
||||
"qgis_processingtest"
|
||||
"qgis_rasterlayertest"
|
||||
"PyQgsWFSProviderGUI"
|
||||
"PyQgsOapifProvider"
|
||||
"PyQgsLayerDependencies"
|
||||
"PyQgsDBManagerGpkg"
|
||||
"PyQgsDBManagerSpatialite"
|
||||
"PyQgsAuxiliaryStorage"
|
||||
"PyQgsSelectiveMasking"
|
||||
"qgis_shellcheck"
|
||||
"qgis_sip_include"
|
||||
"qgis_sip_uptodate"
|
||||
"qgis_sipify"
|
||||
"qgis_styletest"
|
||||
"qgis_svgmarkertest"
|
||||
"qgis_taskmanagertest"
|
||||
"qgis_wcsprovidertest"
|
||||
"qgis_ziplayertest"
|
||||
"TestQgsRandomMarkerSymbolLayer")
|
||||
"qgis_sip_include"
|
||||
"qgis_sip_uptodate")
|
||||
"|")))))
|
||||
(add-after 'install 'wrap-python
|
||||
(assoc-ref python:%standard-phases 'wrap))
|
||||
(add-after 'wrap-python 'wrap-qt
|
||||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(wrap-qt-program "qgis" #:output out #:inputs inputs))
|
||||
#t))
|
||||
(wrap-qt-program "qgis" #:output out #:inputs inputs))))
|
||||
(add-after 'wrap-qt 'wrap-gis
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; TODO: Find if there is a way to get SAGA to work.
|
||||
@ -2578,10 +2534,10 @@ growing set of geoscientific methods.")
|
||||
(wrap-program (string-append out "/bin/qgis")
|
||||
;;`("PATH" ":" prefix (,saga))
|
||||
`("QGIS_PREFIX_PATH" = (,out))
|
||||
`("GISBASE" = (,grass))))
|
||||
#t)))))
|
||||
`("GISBASE" = (,grass)))))))))
|
||||
(inputs
|
||||
(list exiv2
|
||||
(list bash-minimal
|
||||
exiv2
|
||||
expat
|
||||
gdal
|
||||
geos
|
||||
@ -2623,8 +2579,9 @@ growing set of geoscientific methods.")
|
||||
qtserialport
|
||||
qtsvg-5
|
||||
qwt
|
||||
;;("saga" ,saga)
|
||||
sqlite))
|
||||
;; saga
|
||||
sqlite
|
||||
(list zstd "lib")))
|
||||
(native-inputs
|
||||
(list bison
|
||||
flex
|
||||
@ -2633,6 +2590,7 @@ growing set of geoscientific methods.")
|
||||
pkg-config
|
||||
python-mock
|
||||
python-nose2
|
||||
python-pyqt-builder
|
||||
qttools-5
|
||||
shellcheck
|
||||
xorg-server-for-tests))
|
||||
|
@ -48,7 +48,6 @@
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages mono)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
@ -1035,44 +1034,6 @@ the shaders at runtime.")
|
||||
the glProgramViewportFlip before it was replaced with glProgramViewportInfo.")
|
||||
(license license:zlib))))
|
||||
|
||||
(define-public mojoshader-cs
|
||||
(let ((commit "10d0dba21ff1cfe332eb7de328a2adce01286bd7"))
|
||||
(package
|
||||
(name "mojoshader-cs")
|
||||
(version (git-version "20191205" "1" commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/FNA-XNA/MojoShader")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"11mdhf3fmb9rsn2iv753gmb596j4dh5j2iipgw078vg0lj23rml7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; No tests.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "make" "-C" "csharp")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(install-file "csharp/bin/MojoShader-CS.dll" (string-append out "/lib"))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
(list mono))
|
||||
(home-page "https://github.com/FNA-XNA/MojoShader")
|
||||
(synopsis "C# wrapper for MojoShader")
|
||||
(description
|
||||
"Mojoshader-CS provides C# bindings for the Mojoshader library.
|
||||
The C# wrapper was written to be used for FNA's platform support. However, this
|
||||
is written in a way that can be used for any general C# application.")
|
||||
(license license:zlib))))
|
||||
|
||||
(define-public glmark2
|
||||
(package
|
||||
(name "glmark2")
|
||||
|
@ -3193,6 +3193,31 @@ the GNOME desktop environment.")
|
||||
(variable "GLADE_MODULE_SEARCH_PATH")
|
||||
(files '("lib/glade/modules")))))))
|
||||
|
||||
(define-public blueprint-compiler
|
||||
(let ((commit "87cedc2c7e48b01dc1b07aef937e2fe02111b18c"))
|
||||
(package
|
||||
(name "blueprint-compiler")
|
||||
(version "0.2.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://gitlab.gnome.org/jwestman/blueprint-compiler")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" commit "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mrj5dyjf5d325yc28fpph588qfsz6bm2nx5nnsgcv02bagplxid"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list gobject-introspection gtk))
|
||||
(inputs (list python))
|
||||
(synopsis "Template markup language")
|
||||
(description
|
||||
"Blueprint is a markup language for GTK user interfaces. Internally, it
|
||||
compiles to GTKBuilder XML.")
|
||||
(home-page "https://gitlab.gnome.org/jwestman/blueprint-compiler")
|
||||
(license license:lgpl3+))))
|
||||
|
||||
(define-public cambalache
|
||||
(package
|
||||
(name "cambalache")
|
||||
@ -7033,7 +7058,7 @@ metadata in photo and video files of various formats.")
|
||||
(define-public shotwell
|
||||
(package
|
||||
(name "shotwell")
|
||||
(version "0.30.12")
|
||||
(version "0.30.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/shotwell/"
|
||||
@ -7041,7 +7066,7 @@ metadata in photo and video files of various formats.")
|
||||
"shotwell-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1h5crjq59lqi8f8mdkadzi8pc3i9i2ik4lsx2nrhzq486fzdfhw6"))))
|
||||
"1yhqfmz49qkls4i6xaznm5ybwzv19jxsqjdic60wn0ykvbxjr269"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
'(#:glib-or-gtk? #t
|
||||
@ -10650,7 +10675,7 @@ photo-booth-like software, such as Cheese.")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(version-major+minor version) "/" name "-"
|
||||
(version-major version) "/" name "-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
@ -12353,7 +12378,7 @@ profiler via Sysprof, debugging support, and more.")
|
||||
(define-public komikku
|
||||
(package
|
||||
(name "komikku")
|
||||
(version "0.40.0")
|
||||
(version "0.41.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -12363,7 +12388,7 @@ profiler via Sysprof, debugging support, and more.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"12l6qks4kwi75ss61yx1f515nb30d987qw3yhi4a36w5xz721p5z"))))
|
||||
"17r059srxrx26w40swy47pdpyigyjdczp8550g4rfh86qs3ld4il"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
|
@ -33,6 +33,7 @@
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages aidc)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages curl)
|
||||
@ -349,29 +350,35 @@ services.")
|
||||
(define-public gnunet-scheme
|
||||
(package
|
||||
(name "gnunet-scheme")
|
||||
(version "0.2")
|
||||
(version "0.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.gnunet.org/git/gnunet-scheme.git")
|
||||
(commit (string-append "v" version))))
|
||||
;; Go three commits beyond the v0.3 tag, as these three
|
||||
;; commits work-around
|
||||
;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49623>.
|
||||
(commit "f5dc44e66373c29f1c84ea89d8080939a8dfbfd2")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0a11n58m346vs2khns2hfnxv8lbscf8aaqzhmq0d7nwdpn808nrp"))
|
||||
"0kvqbqijfyp3fhsqjyzwd7b3cm5khwv557wq196mv6rx47aaivgd"))
|
||||
(modules '((guix build utils)))
|
||||
;; XXX: Work-around
|
||||
;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49623>,
|
||||
;; this can be removed once Guile > 3.0.7 is released.
|
||||
(snippet '(substitute* '("gnu/gnunet/config/parser.scm"
|
||||
"tests/config-parser.scm")
|
||||
(("#\\{\\$\\{\\}\\}#") "#{${;};}#")
|
||||
(("#\\{\\$\\{:-\\}\\}#") "#{${;:-};}#")
|
||||
(("#\\{\\$\\{\\}\\}# #\\{\\$\\{:-\\}\\}#")
|
||||
"#{$\\x7b;\\x7d;}# #{$\\x7b;:-\\x7d;}#")
|
||||
(("'#\\{\\$\\{\\}\\}# '#\\{\\$\\{:-\\}\\}#")
|
||||
"'#{$\\x7b;\\x7d;}# '#{$\\x7b;:-\\x7d;}#")))))
|
||||
(snippet
|
||||
;; Unbundle dependencies. TODO: build-aux/test-driver.scm
|
||||
;; is bundled too, but it's not yet automatically copied by
|
||||
;; autoreconf -i.
|
||||
#~(delete-file "build-aux/config.rpath"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; For reproducibility, do not insert real timestamps in the PDF.
|
||||
(add-after 'unpack 'reproducible-timestamp
|
||||
(lambda _
|
||||
(substitute* "Makefile.am"
|
||||
(("\\$\\(TEXMACS_CONVERT\\)")
|
||||
"faketime -m -f '1970-01-01 00:00:00' $(TEXMACS_CONVERT)")))))))
|
||||
(inputs (list guile-3.0)) ;for pkg-config
|
||||
(propagated-inputs (list guile-bytestructures guile-gcrypt guile-pfds
|
||||
guile-fibers-1.1))
|
||||
@ -382,6 +389,7 @@ services.")
|
||||
guile-gcrypt
|
||||
guile-pfds
|
||||
guile-fibers-1.1
|
||||
libfaketime
|
||||
automake
|
||||
autoconf
|
||||
pkg-config
|
||||
@ -390,11 +398,19 @@ services.")
|
||||
guile-quickcheck)) ;for tests
|
||||
(synopsis "Guile implementation of GNUnet client libraries")
|
||||
(description
|
||||
"This package provides Guile modules for connecting to the NSE (network
|
||||
size estimation) and DHT (distributed hash table) services of GNUnet. It also
|
||||
has infrastructure for writing new GNUnet services and connecting to them and
|
||||
can be used from multi-threaded environments. It is not to be confused with
|
||||
@code{guile-gnunet} -- @code{guile-gnunet} supports a different set of services.")
|
||||
"This package provides Guile modules for connecting to various
|
||||
GNUnet services. It also has infrastructure for writing new GNUnet services and
|
||||
connecting to them and can be used from multi-threaded environments. It is not
|
||||
to be confused with @code{guile-gnunet} -- @code{guile-gnunet} supports a different
|
||||
set of services.
|
||||
|
||||
The following services are supported:
|
||||
|
||||
@itemize
|
||||
@item NSE (network size estimation)
|
||||
@item DHT (distributed hash table)
|
||||
@item CADET (secure end-to-end communication between arbitrary peers)
|
||||
@end itemize")
|
||||
;; Most code is licensed as AGPL and a few modules are licensed as LGPL
|
||||
;; or GPL. Documentation is licensed as GFDL.
|
||||
(license (list license:agpl3+ license:gpl3+ license:fdl1.3+ license:lgpl3+))
|
||||
|
@ -36,6 +36,7 @@
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages autotools)
|
||||
@ -335,3 +336,37 @@ entering the dock a burning spot replaces the cursor, and after two seconds
|
||||
symbols to represent the current monitor are \"burnt\" onscreen. The flame
|
||||
colour can also be changed.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public wmamixer
|
||||
(package
|
||||
(name "wmamixer")
|
||||
(version "1.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/gryf/wmamixer")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"04vv4kr4mj1nwri6zqgdg4yzbbmmng73qd4h0azliril75m7sldf"))))
|
||||
(inputs (list libx11 libxpm libxext alsa-lib))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'check)
|
||||
(replace 'install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "wmamixer" bin)))))))
|
||||
(synopsis "Window maker applet to display the current volume")
|
||||
(description
|
||||
"wmamixer is an applet for window maker which displays the
|
||||
current volume level both numerically and visiaully with a volume bar. It
|
||||
includes the ability to toggle through different outputs to show their
|
||||
respective volume level.")
|
||||
(home-page "https://github.com/gryf/wmamixer")
|
||||
(license license:gpl2+)))
|
||||
|
||||
|
@ -9969,3 +9969,26 @@ implementation.")
|
||||
(description
|
||||
"Package jsonrpc2 provides a Go implementation of JSON-RPC 2.0.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-disintegration-imaging
|
||||
(package
|
||||
(name "go-github-com-disintegration-imaging")
|
||||
(version "1.6.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/disintegration/imaging")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1sl201nmk601h0aii4234sycn4v2b0rjxf8yhrnik4yjzd68q9x5"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/disintegration/imaging"))
|
||||
(inputs (list go-golang-org-x-image))
|
||||
(home-page "https://github.com/disintegration/imaging")
|
||||
(synopsis "Simple image processing for Go")
|
||||
(description "This package provides basic image processing functions
|
||||
(resize, rotate, crop, brightness/contrast adjustments, etc.).")
|
||||
(license license:expat)))
|
||||
|
@ -61,6 +61,7 @@
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages documentation)
|
||||
@ -88,6 +89,7 @@
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
@ -208,7 +210,7 @@ framebuffer graphics, audio output and input event.")
|
||||
("opengl" ,mesa)
|
||||
("png" ,libpng)
|
||||
("sdl" ,sdl)
|
||||
("svg" ,librsvg)
|
||||
("svg" ,(librsvg-for-system))
|
||||
("tiff" ,libtiff)
|
||||
("tslib" ,tslib)
|
||||
("vdpau" ,libvdpau)
|
||||
@ -734,6 +736,12 @@ many more.")
|
||||
(sha256
|
||||
(base32 "1nyld18mf220ghm1vidnfnn0rdns9z5i4l9s66xgd0kfdgarb31f"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
;; XXX: On i686-linux, tests fail due to rounding issues (excess
|
||||
;; precision), as was discussed and patched long ago:
|
||||
;; <https://issues.guix.gnu.org/22049>. It seems the relevant fixes
|
||||
;; didn't make it upstream, so skip tests.
|
||||
(list #:tests? (not (target-x86-32?))))
|
||||
(home-page "https://github.com/AcademySoftwareFoundation/Imath")
|
||||
(synopsis "Library of math operations for computer graphics")
|
||||
(description
|
||||
@ -1148,13 +1156,15 @@ with strong support for multi-part, multi-channel use cases.")
|
||||
#t))
|
||||
,@(if (not (target-64bit?))
|
||||
`((add-after 'change-directory 'disable-broken-test
|
||||
;; This test fails on i686. Upstream developers suggest that
|
||||
;; this test is broken on i686 and can be safely disabled:
|
||||
;; https://github.com/openexr/openexr/issues/67#issuecomment-21169748
|
||||
(lambda _
|
||||
(substitute* "IlmImfTest/main.cpp"
|
||||
((".*testOptimizedInterleavePatterns.*") ""))
|
||||
#t)))
|
||||
;; This test fails on i686. Upstream developers suggest
|
||||
;; that this test is broken on i686 and can be safely
|
||||
;; disabled:
|
||||
;; https://github.com/openexr/openexr/issues/67#issuecomment-21169748
|
||||
((".*testOptimizedInterleavePatterns.*") "")
|
||||
;; This one fails similarly on i686.
|
||||
((".*testCompression.*") "")))))
|
||||
'()))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
@ -2269,71 +2279,89 @@ a tetrahedral mesh, isovalue discretization and Lagrangian movement;
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public f3d
|
||||
;; There have been many improvements since the last tagged version (1.2.1,
|
||||
;; released in December 2021), including support for the Alembic file
|
||||
;; format.
|
||||
(let ((commit "9cc79b65ed750b178f58012dbba091aa24722dab")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "f3d")
|
||||
(version (git-version "1.2.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/f3d-app/f3d")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "041gqi2wfny2br4j68vhifg0bd18kbl0qsaallkz7yywk47njxfi"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Many tests require files supplied by git-lfs.
|
||||
;; Also, some tests segfault (after an exception?) but the tested
|
||||
;; behavior, i.e., when the program is run manually, does not (for
|
||||
;; example, TestNonExistentConfigFile and TestInvalidConfigFile).
|
||||
;; Upstream is aware of occasionally flaky tests (see
|
||||
;; https://github.com/f3d-app/f3d/issues/92) but the tests run in CI
|
||||
;; seem to be passing.
|
||||
;; Anyway, the program runs and is able to open at least STL files
|
||||
;; without issue.
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_TESTING=OFF"
|
||||
"-DF3D_MODULE_ALEMBIC=ON"
|
||||
"-DF3D_MODULE_ASSIMP=ON"
|
||||
"-DF3D_MODULE_OCCT=ON"
|
||||
;; Prefer Guix's versioned documentation directory to F3D's
|
||||
;; unversioned one.
|
||||
(string-append "-DCMAKE_INSTALL_DOCDIR=" #$output
|
||||
"/share/doc/" #$name "-" #$version))))
|
||||
(inputs
|
||||
(list alembic
|
||||
assimp
|
||||
double-conversion
|
||||
eigen
|
||||
expat
|
||||
fontconfig
|
||||
freetype
|
||||
glew
|
||||
hdf5
|
||||
imath
|
||||
jsoncpp
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libtiff
|
||||
libx11
|
||||
lz4
|
||||
netcdf
|
||||
opencascade-occt
|
||||
vtk
|
||||
zlib))
|
||||
(home-page "https://f3d-app.github.io/f3d/")
|
||||
(synopsis "VTK based 3D viewer")
|
||||
(description "F3D (pronounced @samp{/fɛd/}) is a VTK-based 3D viewer, it
|
||||
has simple interaction mechanisms and is fully controllable using arguments on
|
||||
the command line. It supports a range of file formats (including animated
|
||||
(package
|
||||
(name "f3d")
|
||||
(version "1.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/f3d-app/f3d")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0hdfgwf5d24ykab634xg4vv9r09nh96ss7hhnqnh5nmw4abhxzg7"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(delete-file "application/cxxopts.hpp")
|
||||
(delete-file "application/json.hpp")
|
||||
(substitute* "application/F3DOptionsParser.cxx"
|
||||
(("^#include \"cxxopts\\.hpp\"")
|
||||
"#include <cxxopts.hpp>")
|
||||
(("^#include \"json\\.hpp\"")
|
||||
"#include <nlohmann/json.hpp>"))))))
|
||||
(build-system cmake-build-system)
|
||||
;; The package cannot easily be split into out and lib outputs because
|
||||
;; VTK's vtkModule.cmake complains, and also the CMake files in
|
||||
;; /lib/cmake/f3d expect the f3d executable and library to be available,
|
||||
;; as they set up targets for both of them.
|
||||
(arguments
|
||||
(list
|
||||
;; Many tests require files supplied by git-lfs.
|
||||
;; Also, some tests segfault (after an exception?) but the tested
|
||||
;; behavior, i.e., when the program is run manually, does not (for
|
||||
;; example, TestNonExistentConfigFile and TestInvalidConfigFile).
|
||||
;; Upstream is aware of occasionally flaky tests [1], but the tests
|
||||
;; run in CI seem to be passing.
|
||||
;; Anyway, the program runs and is able to open at least STL files
|
||||
;; without issue.
|
||||
;;
|
||||
;; [1]: https://github.com/f3d-app/f3d/issues/92
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
#~(list (string-append "-DCMAKE_INSTALL_DOCDIR=" #$output
|
||||
"/share/doc/" #$name "-" #$version)
|
||||
"-DBUILD_TESTING=OFF"
|
||||
"-DF3D_GENERATE_MAN=ON"
|
||||
"-DF3D_INSTALL_DEFAULT_CONFIGURATION_FILE=ON"
|
||||
"-DF3D_INSTALL_DEFAULT_CONFIGURATION_FILE_IN_PREFIX=ON"
|
||||
"-DF3D_INSTALL_MIME_TYPES_FILES=ON"
|
||||
"-DF3D_INSTALL_THUMBNAILER_FILES=ON"
|
||||
"-DF3D_MODULE_ALEMBIC=ON"
|
||||
"-DF3D_MODULE_ASSIMP=ON"
|
||||
"-DF3D_MODULE_EXTERNAL_RENDERING=ON"
|
||||
"-DF3D_MODULE_OCCT=ON")))
|
||||
(native-inputs
|
||||
(list cxxopts
|
||||
help2man
|
||||
json-modern-cxx))
|
||||
(inputs
|
||||
(list alembic
|
||||
assimp
|
||||
double-conversion
|
||||
eigen
|
||||
expat
|
||||
fontconfig
|
||||
freetype
|
||||
glew
|
||||
hdf5
|
||||
imath
|
||||
jsoncpp
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libtiff
|
||||
libx11
|
||||
lz4
|
||||
netcdf
|
||||
opencascade-occt
|
||||
vtk
|
||||
zlib))
|
||||
(home-page "https://f3d-app.github.io/f3d/")
|
||||
(synopsis "VTK-based 3D viewer")
|
||||
(description "F3D (pronounced @samp{/fɛd/}) is a VTK-based 3D viewer with
|
||||
simple interaction mechanisms and which is fully controllable using arguments
|
||||
on the command line. It supports a range of file formats (including animated
|
||||
glTF, STL, STEP, PLY, OBJ, FBX), and provides numerous rendering and texturing
|
||||
options.")
|
||||
(license license:bsd-3))))
|
||||
(license license:bsd-3)))
|
||||
|
@ -845,14 +845,13 @@ model to base your own plug-in on, here it is.")
|
||||
libgme
|
||||
libgudev
|
||||
libkate
|
||||
mediasdk
|
||||
libmms
|
||||
libmodplug
|
||||
libmpcdec
|
||||
libnice
|
||||
libofa
|
||||
libopenmpt
|
||||
librsvg
|
||||
(librsvg-for-system)
|
||||
libsndfile
|
||||
libsrtp
|
||||
libssh2
|
||||
|
@ -2527,7 +2527,7 @@ shell scripts. Example of how to use @code{yad} can be consulted at
|
||||
(define-public dragon-drop
|
||||
(package
|
||||
(name "dragon-drop")
|
||||
(version "1.1.1")
|
||||
(version "1.2.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
@ -2537,7 +2537,7 @@ shell scripts. Example of how to use @code{yad} can be consulted at
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fgzz39007fdjwq72scp0qygp2v3zc5f1xkm0sxaa8zxm25g1bra"))))
|
||||
"1cspkrr976mqi6cjkgrckdmjbgahnxmq267wn1zd7gamv64vm8f2"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list gtk+))
|
||||
(native-inputs (list pkg-config))
|
||||
|
@ -1733,28 +1733,30 @@ provides tight coupling to Guix.")
|
||||
(define-public guile-ics
|
||||
(package
|
||||
(name "guile-ics")
|
||||
(version "0.2.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/artyom-poptsov/guile-ics")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"11wv6qk8xd4sd8s97mnw383p098ffivk0na4jii76r5wbmg1wd7q"))
|
||||
(modules '((guix build utils)))))
|
||||
(version "0.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/artyom-poptsov/guile-ics")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1526kdzcn0qvf5hpb4x5q01vb9mph9gfw24p81inqgjvy7a57lf9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(delete 'strip))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
texinfo
|
||||
;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
|
||||
gettext-minimal
|
||||
gettext-minimal ;Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
|
||||
help2man
|
||||
pkg-config))
|
||||
(inputs (list guile-3.0 which))
|
||||
(propagated-inputs (list guile-lib))
|
||||
(propagated-inputs (list guile-lib guile-smc))
|
||||
(home-page "https://github.com/artyom-poptsov/guile-ics")
|
||||
(synopsis "Guile parser library for the iCalendar format")
|
||||
(description
|
||||
@ -1768,9 +1770,8 @@ The library is shipped with documentation in Info format and usage examples.")
|
||||
(package
|
||||
(inherit guile-ics)
|
||||
(name "guile2.2-ics")
|
||||
(inputs (modify-inputs (package-inputs guile-ics)
|
||||
(replace "guile" guile-2.2)))
|
||||
(propagated-inputs `(("guile-lib" ,guile2.2-lib)))))
|
||||
(inputs (list guile-2.2 which))
|
||||
(propagated-inputs (list guile2.2-lib guile2.2-smc))))
|
||||
|
||||
(define-public guile-imanifest
|
||||
(let ((commit "ccd5a2111b008d778106f5595a3a585954d95d0")
|
||||
@ -4864,7 +4865,7 @@ GitLab instance.")
|
||||
(define-public guile-smc
|
||||
(package
|
||||
(name "guile-smc")
|
||||
(version "0.3.0")
|
||||
(version "0.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -4874,7 +4875,7 @@ GitLab instance.")
|
||||
(file-name (string-append name "-" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0szkjmasi70m1vppck7nhdxg4lnxzjq6mihi6r1552s8sxm5z008"))))
|
||||
"05q20vi59whjs7jb8bgcxnnfy6c3wx26m5ps2fwlsz52nggarxzb"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings
|
||||
@ -4886,23 +4887,6 @@ GitLab instance.")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'strip)
|
||||
(add-after 'configure 'patch
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(substitute* "modules/smc/core/log.scm"
|
||||
((" #:use-module \\(logging logger\\)")
|
||||
(string-append
|
||||
" #:use-module (logging logger)\n"
|
||||
" #:use-module (logging rotating-log)"))
|
||||
(("#:init-value \"logger\"")
|
||||
(format #f
|
||||
"#:init-value \"~a/bin/logger\""
|
||||
(assoc-ref inputs "inetutils")))
|
||||
(("\\(add-handler! %logger %syslog\\)")
|
||||
(string-append
|
||||
"(add-handler! %logger\n"
|
||||
" (make <rotating-log>\n"
|
||||
" #:file-name \"smc.log\"))\n")))
|
||||
#t))
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
@ -4919,15 +4903,11 @@ GitLab instance.")
|
||||
,(string-append guile-lib scm)))
|
||||
`("GUILE_LOAD_COMPILED_PATH" prefix
|
||||
(,(string-append out go)
|
||||
,(string-append guile-lib go)))))
|
||||
#t)))))
|
||||
,(string-append guile-lib go))))))))))
|
||||
(native-inputs
|
||||
(list autoconf automake pkg-config texinfo))
|
||||
(list autoconf automake pkg-config texinfo help2man which))
|
||||
(inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
("guile" ,guile-3.0)
|
||||
("guile-lib" ,guile-lib)
|
||||
("inetutils" ,inetutils)))
|
||||
(list bash-minimal guile-3.0 guile-lib inetutils))
|
||||
(home-page "https://github.com/artyom-poptsov/guile-smc")
|
||||
(synopsis "GNU Guile state machine compiler")
|
||||
(description
|
||||
@ -4945,31 +4925,44 @@ format. This tool is meant to be called on a PlantUML file when a program
|
||||
with a FSM is being built (for example, from a Makefile.)")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public guile2.2-smc
|
||||
(package
|
||||
(inherit guile-smc)
|
||||
(name "guile2.2-smc")
|
||||
(inputs (modify-inputs (package-inputs guile-smc)
|
||||
(replace "guile" guile-2.2)
|
||||
(replace "guile-lib" guile2.2-lib)))))
|
||||
|
||||
(define-public guile-ini
|
||||
(package
|
||||
(name "guile-ini")
|
||||
(version "0.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/artyom-poptsov/guile-ini")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0injn60530valhx3gsmdp72g6z886yf0n08hscky21h3dafm14kc"))))
|
||||
(version "0.5.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/artyom-poptsov/guile-ini")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ky7sffxywc2p84q5kdsphr99q0g5gy45rj0vx7f77hwpfm2093x"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
|
||||
(native-inputs
|
||||
(list autoconf automake pkg-config texinfo))
|
||||
(inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
("guile" ,guile-3.0)
|
||||
("guile-lib" ,guile-lib)))
|
||||
(propagated-inputs
|
||||
(list guile-smc))
|
||||
`(#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'strip)
|
||||
(add-before 'build 'generate-fsm-context
|
||||
;; Make sure the intermediate FSM context is present
|
||||
;; before the build.
|
||||
(lambda _
|
||||
(let ((cwd (getcwd)))
|
||||
(chdir "modules/ini/")
|
||||
(invoke "make" "GUILE_AUTO_COMPILE=0"
|
||||
"fsm-context.scm")
|
||||
(chdir cwd)))))))
|
||||
(native-inputs (list autoconf automake pkg-config texinfo))
|
||||
(inputs (list bash-minimal guile-3.0 guile-lib))
|
||||
(propagated-inputs (list guile-smc))
|
||||
(home-page "https://github.com/artyom-poptsov/guile-ini")
|
||||
(synopsis "Guile library for INI format support")
|
||||
(description
|
||||
|
@ -26,6 +26,7 @@
|
||||
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
|
||||
;;; Copyright © 2022 Cairn <cairn@pm.me>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -51,6 +52,7 @@
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
@ -73,6 +75,7 @@
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages graphics)
|
||||
#:use-module (gnu packages image)
|
||||
@ -107,7 +110,7 @@
|
||||
(define-public ytfzf
|
||||
(package
|
||||
(name "ytfzf")
|
||||
(version "2.3")
|
||||
(version "2.4.1")
|
||||
(home-page "https://github.com/pystardust/ytfzf")
|
||||
(source
|
||||
(origin
|
||||
@ -118,7 +121,7 @@
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "01prcg6gfwy1r49v92pkzxay9iadqqhpaxvn8jmij2jm5l50iynd"))))
|
||||
(base32 "198qhnjklrgrjs35ygym6sgx1ibwn6qrihfiginvmx38gdavdj4x"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@ -159,6 +162,7 @@
|
||||
libnotify
|
||||
mpv
|
||||
ncurses
|
||||
perl ;for convert-ascii-escape.pl
|
||||
python-ueberzug
|
||||
sed
|
||||
util-linux
|
||||
@ -510,6 +514,35 @@ your images. Among its features are:
|
||||
It supports JPEG, PNG and GIF formats.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public pixterm
|
||||
(package
|
||||
(name "pixterm")
|
||||
(version "1.3.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/eliukblau/pixterm")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fm6c0mjz6zillqjirnjjf7mkrax1gyfcv6777i07ms3bnv0pcii"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/eliukblau/pixterm/cmd/pixterm"
|
||||
#:unpack-path "github.com/eliukblau/pixterm"))
|
||||
(inputs (list go-github-com-disintegration-imaging
|
||||
go-golang-org-colorful
|
||||
go-golang-org-x-crypto
|
||||
go-golang-org-x-image))
|
||||
(home-page "https://github.com/eliukblau/pixterm")
|
||||
(synopsis "Draw images in your ANSI terminal with true color")
|
||||
(description "PIXterm shows images directly in your terminal, recreating
|
||||
the pixels through a combination of ANSI character background color and the
|
||||
unicode lower half block element. It supports JPEG, PNG, GIF, BMP, TIFF
|
||||
and WebP.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public luminance-hdr
|
||||
(package
|
||||
(name "luminance-hdr")
|
||||
|
@ -1048,6 +1048,11 @@ protocols used in KDE Plasma.")
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'skip-specific-tests
|
||||
(lambda _
|
||||
;; PlasmaWindowModelTest::testChangeWindowAfterModelDestroy(icon)
|
||||
(substitute* "autotests/client/test_plasma_window_model.cpp"
|
||||
((".*changedSpy\\.wait.*") ""))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(setenv "XDG_RUNTIME_DIR" (getcwd))
|
||||
@ -2661,13 +2666,13 @@ consumption.")
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
(setenv "DBUS_FATAL_WARNINGS" "0")
|
||||
(invoke "dbus-launch" "ctest"
|
||||
"-E" ; FIXME: 18/67 tests fail.
|
||||
"-E" ; FIXME: 21/67 tests fail.
|
||||
(string-append "(kiocore-jobtest"
|
||||
"|fileitemtest"
|
||||
"|kiocore-kmountpointtest"
|
||||
"|kiocore-ktcpsockettest"
|
||||
"|kiocore-mimetypefinderjobtest"
|
||||
"|kiocore-krecentdocumenttest"
|
||||
"|kiocore-krecentdocumenttest"
|
||||
"|kiocore-http_jobtest"
|
||||
"|kiogui-openurljobtest"
|
||||
"|kiocore-threadtest"
|
||||
@ -2677,6 +2682,7 @@ consumption.")
|
||||
"|commandlauncherjob_forkingtest"
|
||||
"|commandlauncherjob_scopetest"
|
||||
"|commandlauncherjob_servicetest"
|
||||
"|kiowidgets-kdirlistertest"
|
||||
"|kiowidgets-kdirmodeltest"
|
||||
"|kiowidgets-kfileitemactionstest"
|
||||
"|kiowidgets-kurifiltertest-colon-separator"
|
||||
|
@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@ -62,7 +62,7 @@ text editors.")
|
||||
(define-public lesspipe
|
||||
(package
|
||||
(name "lesspipe")
|
||||
(version "2.04")
|
||||
(version "2.06")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -71,7 +71,7 @@ text editors.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mwmwkmiyrpib18mli4wrh9n0i12cnf08ssrj6a0s6bgjcfxcjr2"))))
|
||||
"0f67f45dznhnw99r4zxrzf1xvspzj2rpg2z8b905ixmzpnv86772"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@ -90,10 +90,10 @@ text editors.")
|
||||
(("\\$\\(DESTDIR\\)/etc") "$(DESTDIR)$(PREFIX)/etc"))))
|
||||
(add-before 'install 'patch-command-paths
|
||||
;; Depending on the content of the file to be displayed and some
|
||||
;; settings, lesspipe trees to use a large variety of external
|
||||
;; settings, lesspipe tries to use a large variety of external
|
||||
;; commands, e.g. rpm, dpkg, vimcolor. We only link the
|
||||
;; essential ones to avoid this package to pull in all these
|
||||
;; dependencies which might never ever we used.
|
||||
;; dependencies which might never ever be used.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((file (search-input-file inputs "/bin/file"))
|
||||
(tput (search-input-file inputs "/bin/tput")))
|
||||
|
@ -353,7 +353,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
;; The current "stable" kernels. That is, the most recently released major
|
||||
;; versions that are still supported upstream.
|
||||
|
||||
(define-public linux-libre-5.19-version "5.19.5")
|
||||
(define-public linux-libre-5.19-version "5.19.7")
|
||||
(define-public linux-libre-5.19-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.19
|
||||
(linux-libre-deblob-scripts
|
||||
@ -363,31 +363,16 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1ph67fvg5qvlkh4cynrrmvkngkb0sw6k90b1mwy9466s24khn05i")))
|
||||
(define-public linux-libre-5.19-pristine-source
|
||||
(let ((version linux-libre-5.19-version)
|
||||
(hash (base32 "1g9p4m9w9y0y1gk6vzqvsxzwqspbm10mmhd8n1mhal1yz721qgwc")))
|
||||
(hash (base32 "17qr061b617g64s60svw7lf9s5vn5zwd1y96cwckjpr5shcn1fxq")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.19)))
|
||||
|
||||
|
||||
(define-public linux-libre-5.18-version "5.18.19")
|
||||
(define-public linux-libre-5.18-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.18
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-5.18-version
|
||||
linux-libre-5.18-gnu-revision
|
||||
(base32 "09aikdhij4d89wqd8mmkdr0nrfwqz6dx3n74qm6wx815rfngd2dz")
|
||||
(base32 "03w1p49rf7sqsxvwpdndqa0k9hc9748rplyqiiw1q6cbdjficwyw")))
|
||||
(define-public linux-libre-5.18-pristine-source
|
||||
(let ((version linux-libre-5.18-version)
|
||||
(hash (base32 "1mc8zhiw0v7fka64mydpdrxkrvy0jyqggq5lghw3pyqj2wjrpw6z")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.18)))
|
||||
|
||||
;; The "longterm" kernels — the older releases with long-term upstream support.
|
||||
;; Here are the support timelines:
|
||||
;; <https://www.kernel.org/category/releases.html>
|
||||
(define-public linux-libre-5.15-version "5.15.63")
|
||||
(define-public linux-libre-5.15-version "5.15.65")
|
||||
(define-public linux-libre-5.15-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.15
|
||||
(linux-libre-deblob-scripts
|
||||
@ -397,12 +382,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1r189c704jvizk452zcsm9v3g27ybjcjchjwxazsy3nx0wdwx7si")))
|
||||
(define-public linux-libre-5.15-pristine-source
|
||||
(let ((version linux-libre-5.15-version)
|
||||
(hash (base32 "0hbkxgadz0vcslni4r46yc202wcnxblcfvkcph1017b2b8gcvlvd")))
|
||||
(hash (base32 "150w5bahp78s12gq7n8gdmi1zn44pwv31qnb1nmzkz2d5wwgsi7v")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.15)))
|
||||
|
||||
(define-public linux-libre-5.10-version "5.10.139")
|
||||
(define-public linux-libre-5.10-version "5.10.141")
|
||||
(define-public linux-libre-5.10-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.10
|
||||
(linux-libre-deblob-scripts
|
||||
@ -412,12 +397,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1981axxswghza3iadp94q54y8w30h9w9vyq4cbjiiv9alvbv0pb8")))
|
||||
(define-public linux-libre-5.10-pristine-source
|
||||
(let ((version linux-libre-5.10-version)
|
||||
(hash (base32 "1wdyk1w8lr5l4d038bd44rdndxjvfcva2n51h2i38jd4fp12l00w")))
|
||||
(hash (base32 "1wqf38nasmyzan83r0268bxixr0fddxvkg760zp2x0wnby9zsyi4")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.10)))
|
||||
|
||||
(define-public linux-libre-5.4-version "5.4.211")
|
||||
(define-public linux-libre-5.4-version "5.4.212")
|
||||
(define-public linux-libre-5.4-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.4
|
||||
(linux-libre-deblob-scripts
|
||||
@ -427,12 +412,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1vnjbdyssa7dwyjl9kg35alwvf7yh597cl74yr1wy2gk5bc9paw6")))
|
||||
(define-public linux-libre-5.4-pristine-source
|
||||
(let ((version linux-libre-5.4-version)
|
||||
(hash (base32 "1v1dgsk66fi6x6v9k6hg9ik3f3b3pv7a3gk8mybmgm9cnx0k5d5z")))
|
||||
(hash (base32 "1hngr4hsrcd6hmlyvc3msy5racniav2jagp5abmp7xsxv0yjxiq9")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.4)))
|
||||
|
||||
(define-public linux-libre-4.19-version "4.19.256")
|
||||
(define-public linux-libre-4.19-version "4.19.257")
|
||||
(define-public linux-libre-4.19-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.19
|
||||
(linux-libre-deblob-scripts
|
||||
@ -442,12 +427,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
|
||||
(define-public linux-libre-4.19-pristine-source
|
||||
(let ((version linux-libre-4.19-version)
|
||||
(hash (base32 "0jgm7ydha9achbcq3a6q85wq1nz4qg7phx122jzk0mqb1339bpk7")))
|
||||
(hash (base32 "0izaldl2l2zsshkd07qsnr9x6ikipmj5jp7lxr8dyz7kf2m17pga")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.19)))
|
||||
|
||||
(define-public linux-libre-4.14-version "4.14.291")
|
||||
(define-public linux-libre-4.14-version "4.14.292")
|
||||
(define-public linux-libre-4.14-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.14
|
||||
(linux-libre-deblob-scripts
|
||||
@ -457,12 +442,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
|
||||
(define-public linux-libre-4.14-pristine-source
|
||||
(let ((version linux-libre-4.14-version)
|
||||
(hash (base32 "15h76l81zn733g8dc6gsymf52nz325plhminv3m4x3klwhav34zc")))
|
||||
(hash (base32 "0zc97qy62dhc5xkjnvsfn4lpl4dgrj23hlxvxcr4cr8sj0hxzx3h")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.14)))
|
||||
|
||||
(define-public linux-libre-4.9-version "4.9.326")
|
||||
(define-public linux-libre-4.9-version "4.9.327")
|
||||
(define-public linux-libre-4.9-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.9
|
||||
(linux-libre-deblob-scripts
|
||||
@ -472,7 +457,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "0bib3641dbcqdkx3anna3caxnsg3nw9cnmhcklq0s93g3m57041h")))
|
||||
(define-public linux-libre-4.9-pristine-source
|
||||
(let ((version linux-libre-4.9-version)
|
||||
(hash (base32 "0yw83a8nk5abjsvqrz8m2sj699c228j2f2wr5q8m95vgqzfw5wrb")))
|
||||
(hash (base32 "1lh63viynf9f7vl0a52mnal8jack9lbqfsfammwkxi3kafpw30r2")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.9)))
|
||||
@ -510,11 +495,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(list %boot-logo-patch
|
||||
%linux-libre-arm-export-__sync_icache_dcache-patch)))
|
||||
|
||||
(define-public linux-libre-5.18-source
|
||||
(source-with-patches linux-libre-5.18-pristine-source
|
||||
(list %boot-logo-patch
|
||||
%linux-libre-arm-export-__sync_icache_dcache-patch)))
|
||||
|
||||
(define-public linux-libre-5.15-source
|
||||
(source-with-patches linux-libre-5.15-pristine-source
|
||||
(list %boot-logo-patch
|
||||
@ -629,11 +609,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
linux-libre-5.19-gnu-revision
|
||||
linux-libre-5.19-source))
|
||||
|
||||
(define-public linux-libre-headers-5.18
|
||||
(make-linux-libre-headers* linux-libre-5.18-version
|
||||
linux-libre-5.18-gnu-revision
|
||||
linux-libre-5.18-source))
|
||||
|
||||
(define-public linux-libre-headers-5.15
|
||||
(make-linux-libre-headers* linux-libre-5.15-version
|
||||
linux-libre-5.15-gnu-revision
|
||||
@ -877,8 +852,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
|
||||
#$(and extra-version
|
||||
(string-append "-" extra-version)))
|
||||
|
||||
(let ((build (assoc-ref %standard-phases 'build))
|
||||
(config (assoc-ref inputs "kconfig")))
|
||||
(let ((config (assoc-ref inputs "kconfig")))
|
||||
|
||||
;; Use a custom kernel configuration file or a default
|
||||
;; configuration file.
|
||||
@ -957,18 +931,11 @@ It has been modified to remove all non-free binary blobs.")
|
||||
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-5.18
|
||||
(make-linux-libre* linux-libre-5.18-version
|
||||
linux-libre-5.18-gnu-revision
|
||||
linux-libre-5.18-source
|
||||
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-version linux-libre-5.18-version)
|
||||
(define-public linux-libre-gnu-revision linux-libre-5.18-gnu-revision)
|
||||
(define-public linux-libre-pristine-source linux-libre-5.18-pristine-source)
|
||||
(define-public linux-libre-source linux-libre-5.18-source)
|
||||
(define-public linux-libre linux-libre-5.18)
|
||||
(define-public linux-libre-version linux-libre-5.19-version)
|
||||
(define-public linux-libre-gnu-revision linux-libre-5.19-gnu-revision)
|
||||
(define-public linux-libre-pristine-source linux-libre-5.19-pristine-source)
|
||||
(define-public linux-libre-source linux-libre-5.19-source)
|
||||
(define-public linux-libre linux-libre-5.19)
|
||||
|
||||
(define-public linux-libre-5.15
|
||||
(make-linux-libre* linux-libre-5.15-version
|
||||
@ -1193,9 +1160,9 @@ It has been modified to remove all non-free binary blobs.")
|
||||
(define-public linux-libre-with-bpf
|
||||
(let ((base-linux-libre
|
||||
(make-linux-libre*
|
||||
linux-libre-5.18-version
|
||||
linux-libre-5.18-gnu-revision
|
||||
linux-libre-5.18-source
|
||||
linux-libre-5.19-version
|
||||
linux-libre-5.19-gnu-revision
|
||||
linux-libre-5.19-source
|
||||
'("x86_64-linux" "i686-linux" "armhf-linux"
|
||||
"aarch64-linux" "riscv64-linux")
|
||||
#:extra-version "bpf"
|
||||
@ -3040,7 +3007,7 @@ configuration and monitoring interfaces.")
|
||||
(define-public iw
|
||||
(package
|
||||
(name "iw")
|
||||
(version "4.14")
|
||||
(version "5.19")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -3048,7 +3015,7 @@ configuration and monitoring interfaces.")
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12ddd6vh6vs97135bnlyr0szv7hvpbnmfh48584frzab0z0725ph"))))
|
||||
"0kjdrihc7ibnjdpjqkq8sv0kmmvavgsww78cpjgbnlyx8zlvnrzi"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list libnl))
|
||||
@ -3560,14 +3527,14 @@ NUMA performance on your system.")
|
||||
(define-public kbd
|
||||
(package
|
||||
(name "kbd")
|
||||
(version "2.4.0")
|
||||
(version "2.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kernel.org/linux/utils/kbd/kbd-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17wvrqz2kk0w87idinhyvd31ih1dp7ldfl2yfx7ailygb0279w2m"))
|
||||
"10s608i4blprgy9nynlid0hglfdrrgln6wwjs9rhjf56hwilbpyc"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@ -6315,31 +6282,30 @@ from that to the system kernel's @file{/dev/random} machinery.")
|
||||
(source (package-source linux-libre))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'enter-subdirectory
|
||||
(lambda _
|
||||
(chdir "tools/power/cpupower")
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(add-before 'build 'fix-makefiles
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("/usr/") "/")
|
||||
(("/bin/(install|pwd)" _ command) command))
|
||||
(substitute* "bench/Makefile"
|
||||
(("\\$\\(CC\\) -o") "$(CC) $(LDFLAGS) -o"))
|
||||
#t)))
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "DESTDIR=" out)
|
||||
(string-append "LDFLAGS=-Wl,-rpath=" out "/lib")
|
||||
"libdir=/lib"
|
||||
"docdir=/share/doc/cpupower"
|
||||
"confdir=$(docdir)/examples"
|
||||
;; The Makefile recommends the following changes
|
||||
"DEBUG=false"
|
||||
"PACKAGE_BUGREPORT=bug-guix@gnu.org"))
|
||||
#:tests? #f)) ;no tests
|
||||
(native-inputs `(("gettext" ,gettext-minimal)))
|
||||
(list #:make-flags
|
||||
#~(list (string-append "DESTDIR=" #$output)
|
||||
(string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")
|
||||
"libdir=/lib"
|
||||
"docdir=/share/doc/cpupower"
|
||||
"confdir=$(docdir)/examples"
|
||||
;; The Makefile recommends the following changes
|
||||
"DEBUG=false"
|
||||
"PACKAGE_BUGREPORT=bug-guix@gnu.org")
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enter-subdirectory
|
||||
(lambda _
|
||||
(chdir "tools/power/cpupower")))
|
||||
(delete 'configure) ; no configure script
|
||||
(add-before 'build 'fix-makefiles
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("/usr/") "/")
|
||||
(("/bin/(install|pwd)" _ command) command))
|
||||
(substitute* "bench/Makefile"
|
||||
(("\\$\\(CC\\) -o") "$(CC) $(LDFLAGS) -o")))))))
|
||||
(native-inputs (list gettext-minimal))
|
||||
(inputs (list pciutils))
|
||||
(home-page (package-home-page linux-libre))
|
||||
(synopsis "CPU frequency and voltage scaling tools for Linux")
|
||||
@ -6622,7 +6588,7 @@ the @code{mce-inject} module loaded if it exists.")
|
||||
(define-public mcelog
|
||||
(package
|
||||
(name "mcelog")
|
||||
(version "187")
|
||||
(version "188")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -6631,7 +6597,7 @@ the @code{mce-inject} module loaded if it exists.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0zdlwbdqs4s72yrpz4irhp12c1wqzy8kmf4hxahk13dmafd6dbnj"))
|
||||
(base32 "1pdh0fj12wrm7whi96ak7m1f5b8ivgklabwkhfcfxd8dg134qczf"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
@ -6640,16 +6606,18 @@ the @code{mce-inject} module loaded if it exists.")
|
||||
(("\"unknown\"") (string-append "\"v" ,version "\"")))))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)) ; no configure script
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "prefix=" out)
|
||||
(string-append "DOCDIR=" out "/share/doc/"
|
||||
,name "-" ,version)
|
||||
"etcprefix=$(DOCDIR)/examples"))
|
||||
;; The tests will only run as root on certain supported CPU models.
|
||||
#:tests? #f))
|
||||
(list
|
||||
;; The tests will only run as root on certain supported CPU models.
|
||||
#:tests? #f
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
(string-append "prefix=" #$output)
|
||||
(string-append "DOCDIR=" #$output "/share/doc/"
|
||||
#$name "-" #$version)
|
||||
"etcprefix=$(DOCDIR)/examples")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)))) ; no configure script
|
||||
(native-inputs
|
||||
(list python-wrapper)) ; to generate example mcelog.conf
|
||||
(supported-systems (list "i686-linux" "x86_64-linux"))
|
||||
|
@ -9,6 +9,7 @@
|
||||
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
|
||||
;;; Copyright © 2022 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2022 André A. Gomes <andremegafone@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -63,6 +64,36 @@
|
||||
(define-public ecl-1am
|
||||
(sbcl-package->ecl-package sbcl-1am))
|
||||
|
||||
(define-public sbcl-2am
|
||||
(let ((commit "1d2fd21bbd8f26ec91b962705cab098dd7b5f11c")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-2am")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.common-lisp.net/dkochmanski/2am")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-2am" version))
|
||||
(sha256
|
||||
(base32 "0zgx4ymyzvfg44z36yr4l87cd9mprajd7sycr2zc67ab6330rynf"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(home-page "https://gitlab.common-lisp.net/dkochmanski/2am")
|
||||
(synopsis "Small testing framework based on 1am")
|
||||
(description
|
||||
"This is a small testing framework for Common Lisp. The entire API
|
||||
consists of: @code{test}, @code{is}, @code{signals}, @code{finishes},
|
||||
@code{run}, @code{suite} and @code{setf suite}.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public cl-2am
|
||||
(sbcl-package->cl-source-package sbcl-2am))
|
||||
|
||||
(define-public ecl-2am
|
||||
(sbcl-package->ecl-package sbcl-2am))
|
||||
|
||||
(define-public sbcl-check-it
|
||||
(let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
|
||||
(package
|
||||
@ -542,32 +573,29 @@ testing. It is an extension of the library written by Chris Riesbeck.")
|
||||
(define-public sbcl-lisp-unit2
|
||||
;; There is a cyclical dependency between symbol-munger and lisp-unit2.
|
||||
;; See https://github.com/AccelerationNet/symbol-munger/issues/4
|
||||
(let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "sbcl-lisp-unit2")
|
||||
(version (git-version "0.2.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/AccelerationNet/lisp-unit2")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-alexandria sbcl-cl-interpol sbcl-iterate
|
||||
sbcl-symbol-munger))
|
||||
(synopsis "Test Framework for Common Lisp")
|
||||
(description
|
||||
"LISP-UNIT2 is a Common Lisp library that supports unit testing in the
|
||||
(package
|
||||
(name "sbcl-lisp-unit2")
|
||||
(version "0.9.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/AccelerationNet/lisp-unit2")
|
||||
(commit version)))
|
||||
(file-name (git-file-name "cl-lisp-unit2" version))
|
||||
(sha256
|
||||
(base32 "0y7k6fd4mf7ggc8kdrbg8flkj5j7i7ki1350wnj6hqax7cmh4xv5"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-alexandria sbcl-cl-interpol sbcl-iterate
|
||||
sbcl-symbol-munger))
|
||||
(synopsis "Test Framework for Common Lisp")
|
||||
(description
|
||||
"LISP-UNIT2 is a Common Lisp library that supports unit testing in the
|
||||
style of JUnit for Java. It is a new version of the lisp-unit library written
|
||||
by Chris Riesbeck.")
|
||||
(home-page "https://github.com/AccelerationNet/lisp-unit2")
|
||||
(license license:expat))))
|
||||
(home-page "https://github.com/AccelerationNet/lisp-unit2")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public cl-lisp-unit2
|
||||
(sbcl-package->cl-source-package sbcl-lisp-unit2))
|
||||
|
@ -6,7 +6,7 @@
|
||||
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
|
||||
;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018-2020, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
|
||||
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
|
||||
@ -148,6 +148,75 @@ portable between implementations.")
|
||||
(define-public ecl-alexandria
|
||||
(sbcl-package->ecl-package sbcl-alexandria))
|
||||
|
||||
(define-public sbcl-map-bind
|
||||
(let ((commit "532d55d93540c632e22b2cd264b5daa5f9d3d900")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-map-bind")
|
||||
(version (git-version "1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/map-bind")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-map-bind" version))
|
||||
(sha256
|
||||
(base32 "0hfy65xyqc4zqfncn11pp3hjjkdz7m91cynnv91s3lgcl3kffva0"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/map-bind/")
|
||||
(synopsis "Macro favouring positional references over naming")
|
||||
(description
|
||||
"@code{MAP-BIND} is a macro that allows visual grouping of variables with
|
||||
their corresponding values in calls to mapping operators when using an
|
||||
inline @code{LAMBDA}.")
|
||||
(license license:unlicense))))
|
||||
|
||||
(define-public cl-map-bind
|
||||
(sbcl-package->cl-source-package sbcl-map-bind))
|
||||
|
||||
(define-public ecl-cl-map-bind
|
||||
(sbcl-package->ecl-package sbcl-map-bind))
|
||||
|
||||
(define-public sbcl-positional-lambda
|
||||
(let ((commit "a43a7bb4ef6faa277e6a7440ec9839711c4b9d28")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-positional-lambda")
|
||||
(version (git-version "2.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/positional-lambda")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-positional-lambda" version))
|
||||
(sha256
|
||||
(base32 "1l27mw5ciqz7rnjq1lwslgk220i8iqcr39rs8b7hxkp1yqmah5zq"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-map-bind))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/positional-lambda/")
|
||||
(synopsis "Macro favouring positional references over naming")
|
||||
(description
|
||||
"This package provides a concise, intuitive and flexible macro for
|
||||
trivial lambdas that eschews explicit naming of parameter variables in favor
|
||||
of positional references, with support for a used or ignored &rest parameter
|
||||
and automatic declaration of ignored parameters when logical @code{gaps}
|
||||
are left in the positional references. Further convenience features
|
||||
are provided.")
|
||||
(license license:unlicense))))
|
||||
|
||||
(define-public cl-positional-lambda
|
||||
(sbcl-package->cl-source-package sbcl-positional-lambda))
|
||||
|
||||
(define-public ecl-cl-positional-lambda
|
||||
(sbcl-package->ecl-package sbcl-positional-lambda))
|
||||
|
||||
(define-public sbcl-bodge-utilities
|
||||
(let ((commit "6304bac4abe06d53579e2c0fc4437d14ff077d9f")
|
||||
(revision "1"))
|
||||
@ -217,6 +286,39 @@ implementation with no external dependencies.")
|
||||
(define-public ecl-bodge-queue
|
||||
(sbcl-package->ecl-package sbcl-bodge-queue))
|
||||
|
||||
(define-public sbcl-list-named-class
|
||||
(let ((commit "2955791a7469131bcab42d800883f27993ee1d62")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-list-named-class")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/phoe/list-named-class")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-list-named-class" version))
|
||||
(sha256
|
||||
(base32 "1bdi9q9wvfj66jji3n9hpjrj9271ial2awsb0xw80bmy6wqbg8kq"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-1am))
|
||||
(inputs
|
||||
(list sbcl-alexandria sbcl-closer-mop))
|
||||
(home-page "https://github.com/phoe/list-named-class/")
|
||||
(synopsis "Name classes after lists of symbols")
|
||||
(description
|
||||
"This package makes it possible to name classes by lists of symbols
|
||||
instead of symbols.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public cl-list-named-class
|
||||
(sbcl-package->cl-source-package sbcl-list-named-class))
|
||||
|
||||
(define-public ecl-list-named-class
|
||||
(sbcl-package->ecl-package sbcl-list-named-class))
|
||||
|
||||
(define-public sbcl-golden-utils
|
||||
(let ((commit "fe1898f9abbd302b0359f017637c063173cf73e1")
|
||||
(revision "3"))
|
||||
@ -391,6 +493,45 @@ Features:
|
||||
(define-public ecl-cl-irc
|
||||
(sbcl-package->ecl-package sbcl-cl-irc))
|
||||
|
||||
(define-public sbcl-tripod
|
||||
(let ((commit "bcea16610b4961a927e417e4413fffe686d71c83")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-tripod")
|
||||
(version (git-version "0.0.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aartaka/tripod")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-tripod" version))
|
||||
(sha256
|
||||
(base32 "07czbwzfqg8n1q4dsfmrdp2zmp90xgsg8q26hkrniyvkylq4nn1z"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-alexandria
|
||||
sbcl-cl-gopher
|
||||
sbcl-cl-markdown
|
||||
sbcl-clss
|
||||
sbcl-hunchentoot
|
||||
sbcl-phos
|
||||
sbcl-plump
|
||||
sbcl-trivial-mimes))
|
||||
(home-page "https://aartaka.me/blog/tripod")
|
||||
(synopsis "Common Lisp web server aiming to ease website hosting")
|
||||
(description
|
||||
"Tripod is a Common Lisp web server aiming to ease plain text, HTML,
|
||||
and Gopher website hosting.")
|
||||
(license license:bsd-2))))
|
||||
|
||||
(define-public cl-tripod
|
||||
(sbcl-package->cl-source-package sbcl-tripod))
|
||||
|
||||
(define-public ecl-tripod
|
||||
(sbcl-package->ecl-package sbcl-tripod))
|
||||
|
||||
|
||||
(define-public sbcl-trivial-timeout
|
||||
(let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
|
||||
(revision "1"))
|
||||
@ -442,6 +583,15 @@ timeouts.")
|
||||
(inputs (list sbcl-alexandria))
|
||||
(native-inputs (list sbcl-fiveam))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'adjust-test-sleep
|
||||
(lambda _
|
||||
;; 0.001 is too short for some slower machines.
|
||||
(substitute* "test/bordeaux-threads-test.lisp"
|
||||
(("sleep 0\\.001") "sleep 0.002")))))))
|
||||
(synopsis "Portable shared-state concurrency library for Common Lisp")
|
||||
(description "BORDEAUX-THREADS is a proposed standard for a minimal
|
||||
MP/Threading interface. It is similar to the CLIM-SYS threading and lock
|
||||
@ -3428,7 +3578,7 @@ is a library for creating graphical user interfaces.")
|
||||
(define-public sbcl-cl-webkit
|
||||
(package
|
||||
(name "sbcl-cl-webkit")
|
||||
(version "3.5.3")
|
||||
(version "3.5.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -3438,7 +3588,7 @@ is a library for creating graphical user interfaces.")
|
||||
(file-name (git-file-name "cl-webkit" version))
|
||||
(sha256
|
||||
(base32
|
||||
"076lqj8ns9s7z980g3p2llw3k6hgsqnsvw8vjjslbpas2jzf26nr"))))
|
||||
"072c6m63w9q4nr3lsvavi2i71qyfgygdpyqy659l0n81n7mjy2cr"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
`(("cffi" ,sbcl-cffi)
|
||||
@ -3851,10 +4001,10 @@ client and server.")
|
||||
(sbcl-package->cl-source-package sbcl-trivial-arguments))
|
||||
|
||||
(define-public sbcl-trivial-clipboard
|
||||
(let ((commit "8a580cb97196be7cf096548eb1f46794cd22bb39"))
|
||||
(let ((commit "13b53720306c0e6a13eccf4674d28ee5361127ae"))
|
||||
(package
|
||||
(name "sbcl-trivial-clipboard")
|
||||
(version (git-version "0.0.0.0" "4" commit))
|
||||
(version (git-version "0.0.0.0" "5" commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -3864,7 +4014,7 @@ client and server.")
|
||||
(file-name (git-file-name "trivial-clipboard" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k"))))
|
||||
"0l198m1gg2ixc43lqjq1ffd80s1sjxhqf1w83qqa1cn51rra2jp8"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
;; Pick xsel instead of xclip because its closure size is slightly
|
||||
@ -7814,17 +7964,16 @@ of function partial application and composition.")
|
||||
(define-public sbcl-yason
|
||||
(package
|
||||
(name "sbcl-yason")
|
||||
(version "0.7.7")
|
||||
(version "0.8.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/phmarek/yason")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(file-name (git-file-name "cl-yason" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0479rbjgbj80jpk5bby18inlv1kfp771a82rlcq5psrz65qqa9bj"))))
|
||||
(base32 "0d22sw7nf2ygqm56ilybg7bza63cv43pc4184r8rvsjz2in37n51"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-alexandria sbcl-trivial-gray-streams))
|
||||
@ -12185,7 +12334,9 @@ functions.")
|
||||
sbcl-zpb-ttf))
|
||||
(arguments
|
||||
'(#:asd-systems '("mcclim"
|
||||
"clim-examples")
|
||||
"clim-examples"
|
||||
;; clim-debugger is required by cleavir.
|
||||
"clim-debugger")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-paths
|
||||
@ -12217,7 +12368,14 @@ specification}, a toolkit for writing GUIs in Common Lisp.")
|
||||
(sbcl-package->cl-source-package sbcl-mcclim))
|
||||
|
||||
(define-public ecl-mcclim
|
||||
(sbcl-package->ecl-package sbcl-mcclim))
|
||||
(let ((pkg (sbcl-package->ecl-package sbcl-mcclim)))
|
||||
(package
|
||||
(inherit pkg)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments pkg)
|
||||
;; Tests fail with "FUNCTION: Not a valid argument (R1
|
||||
;; (GENERATE-REGION))." on ECL.
|
||||
((#:tests? _ #f) #f))))))
|
||||
|
||||
(define-public sbcl-cl-inflector
|
||||
(let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe")
|
||||
@ -14642,10 +14800,10 @@ source files.")
|
||||
(sbcl-package->cl-source-package sbcl-cl-indentify))
|
||||
|
||||
(define-public sbcl-concrete-syntax-tree
|
||||
(let ((commit "abd242a59dadc5452aa9dbc1d313c83ec2c11f46"))
|
||||
(let ((commit "4f01430c34f163356f3a2cfbf0a8a6963ff0e5ac"))
|
||||
(package
|
||||
(name "sbcl-concrete-syntax-tree")
|
||||
(version (git-version "0.0.0" "1" commit))
|
||||
(version (git-version "0.0.0" "2" commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -14654,10 +14812,14 @@ source files.")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name commit))
|
||||
(sha256
|
||||
(base32 "1lyrglc3h1if44gxd9cwv90wa90nrdjvb7fry39b1xn8ywdfa7di"))))
|
||||
(base32 "169ibaz1vv7pphib28443zzk3hf1mrcarhzfm8hnbdbk529cnxyi"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-acclimation))
|
||||
(arguments
|
||||
'(#:asd-systems '("concrete-syntax-tree"
|
||||
"concrete-syntax-tree-destructuring"
|
||||
"concrete-syntax-tree-source-info")))
|
||||
(home-page "https://github.com/s-expressionists/Concrete-Syntax-Tree")
|
||||
(synopsis "Parse Common Lisp code into a concrete syntax tree")
|
||||
(description
|
||||
@ -18454,6 +18616,51 @@ RSS feeds data via HTTP. Currently, it supports RSS versions 0.90,
|
||||
(define-public cl-rss
|
||||
(sbcl-package->cl-source-package sbcl-rss))
|
||||
|
||||
(define-public sbcl-binascii
|
||||
(let ((commit "0fb0a9e5773148fd04d50efef08c1cc10f6fc487")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "sbcl-binascii")
|
||||
(version (git-version "1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sharplispers/binascii")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-binascii" version))
|
||||
(sha256
|
||||
(base32 "000rcdl8qshr7n48zq9bzrc4lkjx4ylb3r3w9x9syhiwfla9j4b7"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Unbundle the RT test framework.
|
||||
'(begin
|
||||
(delete-file "tests/rt.lisp")
|
||||
(substitute* "binascii.asd"
|
||||
((":depends-on \\(binascii\\)")
|
||||
":depends-on (binascii rt)")
|
||||
(("\\(:file \"rt\"\\)")
|
||||
"")
|
||||
(("\\(:file \"tests\" :depends-on \\(\"rt\"\\)\\)")
|
||||
"(:file \"tests\")"))))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-rt))
|
||||
(home-page "https://github.com/sharplispers/binascii")
|
||||
(synopsis "Common Lisp library of ASCII encoding schemes for binary data")
|
||||
(description
|
||||
"@code{binascii} is a Common Lisp library for converting binary data
|
||||
to ASCII text of some kind. Such conversions are common in email protocols
|
||||
(for encoding attachments to support old non-8-bit clean transports) or
|
||||
encoding binary data in HTTP and XML applications. @code{binascii} supports
|
||||
the encodings described in RFC 4648: base64, base32, base16, and variants.
|
||||
It also supports base85, used in Adobe's PostScript and PDF document formats,
|
||||
and a variant called ascii85, used by git for binary diff files.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public cl-binascii
|
||||
(sbcl-package->cl-source-package sbcl-binascii))
|
||||
|
||||
(define-public sbcl-trivial-with-current-source-form
|
||||
(let ((commit "9e343e043a77a5478c1f77bb626db22335fbbfb8")
|
||||
(revision "1"))
|
||||
@ -22235,6 +22442,10 @@ place outside with-notes.
|
||||
(sha256
|
||||
(base32 "05smc81ml9rbcbzdhqg2mi9drnjsipq62r5q7f7qql8hbx01vl9i"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-alexandria))
|
||||
(arguments
|
||||
'(#:asd-systems '("ctype" "ctype-tfun")))
|
||||
(home-page "https://github.com/s-expressionists/ctype")
|
||||
(synopsis "Common Lisp type system implementation ")
|
||||
(description
|
||||
@ -22480,6 +22691,32 @@ can be useful for games, 3D, and GL in general.")
|
||||
(define-public ecl-mathkit
|
||||
(sbcl-package->ecl-package sbcl-mathkit))
|
||||
|
||||
(define-public sbcl-rucksack
|
||||
(let ((commit "89278f88513ef328d290aa8b2baa06d63b44a9b1")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-rucksack")
|
||||
(version (git-version "0.1.20" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/arieltan/rucksack")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-rucksack" version))
|
||||
(sha256
|
||||
(base32 "0acpsxaxpp90km7gdbn9sysilycp3yg1g040fg1vqakpj2yb8vad"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(synopsis "Flexible, light weight, persistence library")
|
||||
(description
|
||||
"@code{cl-rucksack} is a persistence library based on Arthur Lemmens'
|
||||
Rucksack with some enhancements.")
|
||||
(home-page "https://github.com/arieltan/rucksack/")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public cl-rucksack
|
||||
(sbcl-package->cl-source-package sbcl-rucksack))
|
||||
|
||||
(define-public sbcl-sdl2kit
|
||||
(let ((commit "aae663224a10ece2b0c374aa5942a3f0bc1b3c2f"))
|
||||
(package
|
||||
@ -22620,6 +22857,39 @@ objects.")
|
||||
(define-public ecl-cl-geometry
|
||||
(sbcl-package->ecl-package sbcl-cl-geometry))
|
||||
|
||||
(define-public sbcl-amb
|
||||
(let ((commit "884bef69a1ea02f3b9deae0341e1a038ff31b896")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-amb")
|
||||
(version (git-version "1.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/phoe/amb")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-amb" version))
|
||||
(sha256
|
||||
(base32 "1klh1aakklj1famrff0sccnwlv8238b1q446288aqnqgxxw6pf21"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-alexandria))
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(synopsis "Implementation of John McCarthy's ambiguous operator")
|
||||
(description
|
||||
"@code{cl-amb} provides an implementation of John McCarthy's ambiguous
|
||||
operator in portable Common Lisp.")
|
||||
(home-page "https://github.com/phoe/amb/")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public cl-amb
|
||||
(sbcl-package->cl-source-package sbcl-amb))
|
||||
|
||||
(define-public ecl-amb
|
||||
(sbcl-package->ecl-package sbcl-amb))
|
||||
|
||||
(define-public sbcl-sketch
|
||||
;; No release in years.
|
||||
(let ((commit "4cc00b08e202c7adda41391463096cf9df1705c3"))
|
||||
@ -22665,6 +22935,37 @@ the Processing language and shares some of the API.")
|
||||
(define-public ecl-sketch
|
||||
(sbcl-package->ecl-package sbcl-sketch))
|
||||
|
||||
(define-public sbcl-cl-cron
|
||||
(let ((commit "092aef5d5666fb43c04258e4043f609670a20456")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-cl-cron")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ciel-lang/cl-cron")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-cron" version))
|
||||
(sha256
|
||||
(base32 "0y4li8j2h1nbpldpqm39ld9kgs4a7biy94h49n27l59l7mn1jd0d"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-bordeaux-threads))
|
||||
(home-page "https://github.com/ciel-lang/cl-cron/")
|
||||
(synopsis "Run cron like jobs in Common Lisp")
|
||||
(description
|
||||
"@code{cl-cron} is a simple tool that provides cron like facilities
|
||||
directly inside of Common Lisp.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public cl-cron
|
||||
(sbcl-package->cl-source-package sbcl-cl-cron))
|
||||
|
||||
(define-public ecl-cl-cron
|
||||
(sbcl-package->ecl-package sbcl-cl-cron))
|
||||
|
||||
(define-public sbcl-string-pokemonize
|
||||
(let ((commit "2dc01643defb497e4d1eb833def71dfc1e8d5da6")
|
||||
(revision "0"))
|
||||
@ -22793,6 +23094,43 @@ internbombing, excessive input and macro characters.")
|
||||
(define-public ecl-safe-read
|
||||
(sbcl-package->ecl-package sbcl-safe-read))
|
||||
|
||||
(define-public sbcl-portable-condition-system
|
||||
(let ((commit "1307ec146d227a9d8ea42312c1ba2a5206a9eb3c")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-portable-condition-system")
|
||||
(version (git-version "1.1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/phoe/portable-condition-system")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "099lb9f4bavj95wik99wla5rf6fk1gdw9pvn0cqlaf0wf20csd3h"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(arguments
|
||||
'(#:asd-systems '("portable-condition-system")))
|
||||
(native-inputs
|
||||
(list sbcl-1am))
|
||||
(inputs
|
||||
(list sbcl-alexandria
|
||||
sbcl-split-sequence))
|
||||
(home-page "https://github.com/phoe/portable-condition-system")
|
||||
(synopsis "Portable condition system for Common Lisp")
|
||||
(description
|
||||
"This package provides an example implementation of the Common Lisp
|
||||
condition system and library, based on the original condition system
|
||||
implementation by Kent M. Pitman.")
|
||||
(license license:cc0))))
|
||||
|
||||
(define-public cl-portable-condition-system
|
||||
(sbcl-package->cl-source-package sbcl-portable-condition-system))
|
||||
|
||||
(define-public ecl-portable-condition-system
|
||||
(sbcl-package->ecl-package sbcl-portable-condition-system))
|
||||
|
||||
(define-public sbcl-ospm
|
||||
(package
|
||||
(name "sbcl-ospm")
|
||||
@ -22843,6 +23181,41 @@ It has extensive support for Guix, among others:
|
||||
(cons (list "osicat" cl-osicat)
|
||||
(package-inputs pkg))))))
|
||||
|
||||
(define-public sbcl-data-lens
|
||||
(let ((commit "801bc1e0331f19fdc38be314c86ccac9362fde78")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-data-lens")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/fiddlerwoaroof/data-lens")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-data-lens" version))
|
||||
(sha256
|
||||
(base32 "1w4rvhcnss037q0bb1j70kdlhfh9085hy95d9q56sk519alhzhrp"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-fiveam))
|
||||
(inputs
|
||||
(list sbcl-cl-ppcre
|
||||
sbcl-alexandria
|
||||
sbcl-serapeum))
|
||||
(synopsis "Functional utilities for Common Lisp")
|
||||
(description
|
||||
"The @code{cl-data-lens} library provides a language for expressing data
|
||||
manipulations as the composition of more primitive operations.")
|
||||
(home-page "https://fiddlerwoaroof.github.io/data-lens/")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public cl-data-lens
|
||||
(sbcl-package->cl-source-package sbcl-data-lens))
|
||||
|
||||
(define-public ecl-data-lens
|
||||
(sbcl-package->ecl-package sbcl-data-lens))
|
||||
|
||||
(define-public sbcl-ndebug
|
||||
(package
|
||||
(name "sbcl-ndebug")
|
||||
@ -22880,3 +23253,36 @@ especially in a multi-threaded context.")
|
||||
|
||||
(define-public ecl-ndebug
|
||||
(sbcl-package->ecl-package sbcl-ndebug))
|
||||
|
||||
(define-public sbcl-smug
|
||||
(let ((commit "647a2428df297e1dd183ba7c19574bdb1320ae79")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-smug")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/drewc/smug")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-smug" version))
|
||||
(sha256
|
||||
(base32 "13gzkj9skya2ziwclk041v7sif392ydbvhvikhg2raa3qjcxb3rq"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; There are no tests.
|
||||
(synopsis "Parser combinators for Common Lisp")
|
||||
(description
|
||||
"@code{cl-smug} is a library for parsing text, based on monadic parser
|
||||
combinators. Using a simple technique from the functional programming
|
||||
camp, @code{cl-smug} makes it simple to create quick extensible recursive
|
||||
descent parsers without funky syntax or impenetrable macrology.")
|
||||
(home-page "http://smug.drewc.ca/")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public cl-smug
|
||||
(sbcl-package->cl-source-package sbcl-smug))
|
||||
|
||||
(define-public ecl-smug
|
||||
(sbcl-package->ecl-package sbcl-smug))
|
||||
|
@ -21,6 +21,7 @@
|
||||
;;; Copyright © 2021 Paul A. Patience <paul@apatience.com>
|
||||
;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
|
||||
;;; Copyright © 2021 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2022 Joeke de Graaf <joeke@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -59,7 +60,9 @@
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bdw-gc)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages dbm)
|
||||
#:use-module (gnu packages ed)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gcc)
|
||||
@ -80,6 +83,7 @@
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages tex)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages tls)
|
||||
@ -1351,3 +1355,58 @@ and make for REPLs that start blazing fast.
|
||||
"Buildapp is an application for SBCL or CCL that configures and saves an
|
||||
executable Common Lisp image. It is similar to cl-launch and hu.dwim.build.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public eisl
|
||||
(package
|
||||
(name "eisl")
|
||||
(version "2.62")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sasagawa888/eisl")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0yqzj64h9z4dlf2jz5chy6l6lggd4scgsd06crvfi9h1j1cxjvgi"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list bash-minimal freeglut gdbm libiconv ncurses tcl tk))
|
||||
(native-inputs
|
||||
(list cppcheck))
|
||||
(arguments
|
||||
(list #:make-flags
|
||||
#~(list (string-append "PREFIX=" #$output)
|
||||
(string-append "CC=" #$(cc-for-target)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "library/compiler.lsp"
|
||||
(("\"cc ")
|
||||
"\"gcc "))
|
||||
(substitute* "library/tcltk.lsp"
|
||||
(("c-include \"<tcl/tcl\\.h>\"")
|
||||
"c-include \"<tcl.h>\"")
|
||||
(("c-option \"-ltcl -ltk\" linux")
|
||||
"c-option \"-ltcl8.6 -ltk8.6\" linux"))))
|
||||
(delete 'configure)
|
||||
(add-after 'install 'wrap
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(wrap-program (string-append #$output "/bin/eisl")
|
||||
`("PATH" prefix
|
||||
,(map (lambda (bin)
|
||||
(string-append (assoc-ref inputs bin) "/bin"))
|
||||
'("binutils" "coreutils" "gcc" "ld-wrapper")))
|
||||
`("LIBRARY_PATH" suffix
|
||||
,(map (lambda (lib)
|
||||
(string-append (assoc-ref inputs lib) "/lib"))
|
||||
'("libc")))))))))
|
||||
(home-page "https://github.com/sasagawa888/eisl")
|
||||
(synopsis "Implementation of ISLisp")
|
||||
(description "Easy ISLISP (eisl) is an implementation of ISLisp which
|
||||
includes a compiler as well as an interpreter.")
|
||||
(license (list license:bsd-2 ;; documents/license.txt
|
||||
license:expat ;; cii/LICENSE
|
||||
license:gpl2+ ;; nana/gdb/test.c and others under nana/
|
||||
license:bsd-3)))) ;; bench/*
|
||||
|
@ -21,7 +21,7 @@
|
||||
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
|
||||
;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
|
||||
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2022 Clément Lassieur <clement@lassieur.org>
|
||||
@ -2162,65 +2162,64 @@ LLVM."))))
|
||||
(patches (search-patches "cling-use-shared-library.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:build-type "Release" ;keep the build as lean as possible
|
||||
#:tests? #f ;FIXME: 78 tests fail (out of ~200)
|
||||
#:test-target "check-cling"
|
||||
#:configure-flags
|
||||
(list (string-append "-DCLING_CXX_PATH="
|
||||
(assoc-ref %build-inputs "gcc") "/bin/g++")
|
||||
;; XXX: The AddLLVM.cmake module expects LLVM_EXTERNAL_LIT to
|
||||
;; be a Python script, not a shell executable.
|
||||
(string-append "-DLLVM_EXTERNAL_LIT="
|
||||
(assoc-ref %build-inputs "python-lit")
|
||||
"/bin/.lit-real"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-version
|
||||
(lambda _
|
||||
(make-file-writable "VERSION")
|
||||
(call-with-output-file "VERSION"
|
||||
(lambda (port)
|
||||
(format port "~a~%" ,version)))))
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "lib/Interpreter/CIFactory.cpp"
|
||||
(("\bsed\b")
|
||||
(which "sed"))
|
||||
;; This ensures that the default C++ library used by Cling is
|
||||
;; that of the compiler that was used to build it, rather
|
||||
;; than that of whatever g++ happens to be on PATH.
|
||||
(("ReadCompilerIncludePaths\\(CLING_CXX_RLTV")
|
||||
(string-append "ReadCompilerIncludePaths(\""
|
||||
(assoc-ref inputs "gcc") "/bin/g++\""))
|
||||
;; Cling uses libclang's CompilerInvocation::GetResourcesPath
|
||||
;; to resolve Clang's library prefix, but this fails on Guix
|
||||
;; because it is relative to the output of cling rather than
|
||||
;; clang (see:
|
||||
;; https://github.com/root-project/cling/issues/434). Fully
|
||||
;; shortcut the logic in this method to return the correct
|
||||
;; static location.
|
||||
(("static std::string getResourceDir.*" all)
|
||||
(string-append all
|
||||
" return std::string(\""
|
||||
(assoc-ref inputs "clang-cling")
|
||||
"/lib/clang/" ,(package-version clang-cling)
|
||||
"\");")))
|
||||
;; Check for the 'lit' command for the tests, not 'lit.py'
|
||||
;; (see: https://github.com/root-project/cling/issues/432).
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("lit.py")
|
||||
"lit"))))
|
||||
(add-after 'unpack 'adjust-lit.cfg
|
||||
;; See: https://github.com/root-project/cling/issues/435.
|
||||
(lambda _
|
||||
(substitute* "test/lit.cfg"
|
||||
(("config.llvm_tools_dir \\+ '")
|
||||
"config.cling_obj_root + '/bin"))))
|
||||
(add-after 'install 'delete-static-libraries
|
||||
;; This reduces the size from 17 MiB to 5.4 MiB.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(for-each delete-file (find-files out "\\.a$"))))))))
|
||||
(list
|
||||
#:build-type "Release" ;keep the build as lean as possible
|
||||
#:tests? #f ;FIXME: 78 tests fail (out of ~200)
|
||||
#:test-target "check-cling"
|
||||
#:configure-flags
|
||||
#~(list (string-append "-DCLING_CXX_PATH="
|
||||
(search-input-file %build-inputs "bin/g++"))
|
||||
;; XXX: The AddLLVM.cmake module expects LLVM_EXTERNAL_LIT to
|
||||
;; be a Python script, not a shell executable.
|
||||
(string-append "-DLLVM_EXTERNAL_LIT="
|
||||
(search-input-file %build-inputs "bin/.lit-real")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-version
|
||||
(lambda _
|
||||
(make-file-writable "VERSION")
|
||||
(call-with-output-file "VERSION"
|
||||
(lambda (port)
|
||||
(format port "~a~%" #$version)))))
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "lib/Interpreter/CIFactory.cpp"
|
||||
(("\bsed\b")
|
||||
(which "sed"))
|
||||
;; This ensures that the default C++ library used by Cling is
|
||||
;; that of the compiler that was used to build it, rather
|
||||
;; than that of whatever g++ happens to be on PATH.
|
||||
(("ReadCompilerIncludePaths\\(CLING_CXX_RLTV")
|
||||
(format #f "ReadCompilerIncludePaths(~s"
|
||||
(search-input-file inputs "bin/g++")))
|
||||
;; Cling uses libclang's CompilerInvocation::GetResourcesPath
|
||||
;; to resolve Clang's library prefix, but this fails on Guix
|
||||
;; because it is relative to the output of cling rather than
|
||||
;; clang (see:
|
||||
;; https://github.com/root-project/cling/issues/434). Fully
|
||||
;; shortcut the logic in this method to return the correct
|
||||
;; static location.
|
||||
(("static std::string getResourceDir.*" all)
|
||||
(string-append all
|
||||
" return std::string(\""
|
||||
#$(this-package-input "clang-cling")
|
||||
"/lib/clang/" #$(package-version clang-cling)
|
||||
"\");")))
|
||||
;; Check for the 'lit' command for the tests, not 'lit.py'
|
||||
;; (see: https://github.com/root-project/cling/issues/432).
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("lit.py")
|
||||
"lit"))))
|
||||
(add-after 'unpack 'adjust-lit.cfg
|
||||
;; See: https://github.com/root-project/cling/issues/435.
|
||||
(lambda _
|
||||
(substitute* "test/lit.cfg"
|
||||
(("config.llvm_tools_dir \\+ '")
|
||||
"config.cling_obj_root + '/bin"))))
|
||||
(add-after 'install 'delete-static-libraries
|
||||
;; This reduces the size from 17 MiB to 5.4 MiB.
|
||||
(lambda _
|
||||
(for-each delete-file (find-files #$output "\\.a$")))))))
|
||||
(native-inputs
|
||||
(list python python-lit))
|
||||
(inputs
|
||||
|
@ -49,6 +49,7 @@
|
||||
;;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com>
|
||||
;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2022 muradm <mail@muradm.net>
|
||||
;;; Copyright © 2022 jgart <jgart@dismail.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -125,6 +126,7 @@
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages mercury)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages networking)
|
||||
@ -1507,6 +1509,77 @@ and search library.")
|
||||
(synopsis "Pythonic bindings for the notmuch mail database using CFFI")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public bower
|
||||
(package
|
||||
(name "bower")
|
||||
(version "1.0")
|
||||
(home-page "https://github.com/wangp/bower")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0vcsbxlsvr2wv3c7sfr3yj21kbqy259skpxg00vf5bdkbc8qknq4"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:make-flags #~(list "bower" "man"
|
||||
(string-append "CC=" #+(cc-for-target))
|
||||
(string-append "prefix=" #$output))
|
||||
#:parallel-tests? #f ;parallelism breaks test suite
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'patch-executables
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/detect_mime_type.m"
|
||||
(("\"file\"")
|
||||
(format #f "~s" (search-input-file inputs "bin/file"))))
|
||||
(substitute* "src/compose.m"
|
||||
(("\"base64\"")
|
||||
(format #f "~s" (search-input-file inputs "bin/base64"))))
|
||||
(substitute* "src/prog_config.m"
|
||||
(("shell_quoted\\(\"false\")")
|
||||
(format #f "shell_quoted(~s)"
|
||||
(search-input-file inputs "bin/false")))
|
||||
(("shell_quoted\\(\"notmuch\")")
|
||||
(format #f "shell_quoted(~s)"
|
||||
(search-input-file inputs "bin/notmuch")))
|
||||
(("/usr/bin/sendmail")
|
||||
(search-input-file inputs "/sbin/sendmail")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key parallel-tests? tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "make" "-C" "tests"
|
||||
"-j" (if parallel-tests?
|
||||
(number->string (parallel-job-count))
|
||||
"1")))))
|
||||
(replace 'install
|
||||
(lambda* _
|
||||
(install-file "bower" (string-append #$output "/bin"))
|
||||
(install-file "bower.1" (string-append #$output
|
||||
"/share/man/man1")))))))
|
||||
(native-inputs
|
||||
(list diffutils
|
||||
gawk
|
||||
mercury
|
||||
pandoc
|
||||
util-linux))
|
||||
(inputs
|
||||
(list coreutils
|
||||
gpgme
|
||||
ncurses
|
||||
notmuch
|
||||
sendmail))
|
||||
(synopsis "Terminal client for the Notmuch email system")
|
||||
(description "@code{bower} is a curses front-end for the Notmuch email
|
||||
system, written in the Mercury language.")
|
||||
(license license:gpl3+)
|
||||
(properties `((cpe-name . "bower-cpe-refers-to-a-different-bower")))))
|
||||
|
||||
(define-public muchsync
|
||||
(package
|
||||
(name "muchsync")
|
||||
|
@ -282,7 +282,7 @@ PostScript, and PDF. Additional tools include the @command{man} viewer, and
|
||||
(base32 "12vb15gs56g8wl5nqlm4llr508brh4m2lfknhq4lizbxzqzawkb1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases (delete 'configure))
|
||||
`(#:phases (modify-phases %standard-phases (delete 'configure))
|
||||
|
||||
;; The 'all' target depends on three targets that directly populate
|
||||
;; $(MANDIR) based on its current contents. Doing that in parallel
|
||||
@ -290,9 +290,7 @@ PostScript, and PDF. Additional tools include the @command{man} viewer, and
|
||||
#:parallel-build? #f
|
||||
|
||||
#:tests? #f
|
||||
#:make-flags (list (string-append "mandir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/man"))))
|
||||
#:make-flags ,#~(list (string-append "mandir=" #$output "/share/man"))))
|
||||
(home-page "https://www.kernel.org/doc/man-pages/")
|
||||
(synopsis "Development manual pages from the Linux project")
|
||||
(description
|
||||
@ -302,6 +300,39 @@ Linux kernel and C library interfaces employed by user-space programs.")
|
||||
;; Each man page has its own license; some are GPLv2+, some are MIT/X11.
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public man-pages-posix
|
||||
(package
|
||||
(name "man-pages-posix")
|
||||
(version "2013-a")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kernel.org/linux/docs/man-pages/"
|
||||
"man-pages-posix/man-pages-posix-" version
|
||||
".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0258j05zdrxpgdj8nndbyi7bvrs8fxdksb0xbfrylzgzfmf3lqqr"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
;; The compress-documentation phase doesn't pick up on our manpages as
|
||||
;; its regex doesn't support trailing letters, so manually compress.
|
||||
#:make-flags ,#~(list (string-append "prefix=" #$output) "gz")
|
||||
#:license-file-regexp "POSIX-COPYRIGHT"
|
||||
#:phases (modify-phases %standard-phases (delete 'configure))))
|
||||
(home-page "https://www.kernel.org/doc/man-pages/")
|
||||
(synopsis "Man pages from the POSIX.1-2013 standard")
|
||||
(description
|
||||
"This package provides excerpts from the POSIX.1-2008 and TC1 standards
|
||||
(collectively, POSIX.1-2013) in manual page form. While the Linux man-pages
|
||||
project documents the system as it exists on Linux- and glibc-based systems,
|
||||
this package documents the portable software API as nominally implemented by
|
||||
many Unix-likes.")
|
||||
(license (license:fsdg-compatible "file://POSIX-COPYRIGHT"
|
||||
"Redistribution of this material is permitted so long as this
|
||||
notice and the corresponding notices within each POSIX manual page are retained
|
||||
on any distribution, and the nroff source is included."))))
|
||||
|
||||
(define-public help2man
|
||||
;; TODO: Manual pages for languages not available from the implicit
|
||||
;; input "locales" contain the original (English) text.
|
||||
|
@ -104,7 +104,6 @@
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages markup)
|
||||
#:use-module (gnu packages matrix)
|
||||
#:use-module (gnu packages mono)
|
||||
#:use-module (gnu packages mpd)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
@ -999,7 +998,6 @@ authentication.")
|
||||
("libxslt" ,libxslt)
|
||||
;; ("libzephyr" ,libzephyr)
|
||||
("meanwhile" ,meanwhile)
|
||||
("mono" ,mono)
|
||||
("ncurses" ,ncurses)
|
||||
("network-manager" ,network-manager)
|
||||
("nspr" ,nspr)
|
||||
@ -1024,7 +1022,6 @@ authentication.")
|
||||
"--disable-gtkspell"
|
||||
"--disable-gevolution"
|
||||
"--enable-cap"
|
||||
"--enable-mono"
|
||||
"--enable-cyrus-sasl"
|
||||
(string-append "--with-ncurses-headers="
|
||||
(assoc-ref %build-inputs "ncurses")
|
||||
|
@ -167,7 +167,7 @@ etc. via a Web interface. Features include:
|
||||
(define-public zabbix-agentd
|
||||
(package
|
||||
(name "zabbix-agentd")
|
||||
(version "6.0.5")
|
||||
(version "6.0.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -175,7 +175,7 @@ etc. via a Web interface. Features include:
|
||||
"https://cdn.zabbix.com/zabbix/sources/stable/"
|
||||
(version-major+minor version) "/zabbix-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1hmx6dgsag84dpv867p12bkln141nypgkp6zhipxbnn5xxip1sry"))
|
||||
(base32 "0ijf5d0kl2wb6amlz3bqfh7xg4wy00n1prislhszclj01sn0gy1g"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(substitute* '("src/zabbix_proxy/proxy.c"
|
||||
@ -187,6 +187,8 @@ etc. via a Web interface. Features include:
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
'("--enable-agent" "--enable-ipv6" "--with-libpcre2")))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list pcre2))
|
||||
(home-page "https://www.zabbix.com/")
|
||||
|
@ -1,175 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages mono)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages photo)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public mono
|
||||
(package
|
||||
(name "mono")
|
||||
(version "4.4.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://download.mono-project.com/sources/mono/"
|
||||
name "-" version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jibyvyv2jy8dq5ij0j00iq3v74r0y90dcjc3dkspcfbnn37cphn"))
|
||||
(patches (search-patches "mono-mdoc-timestamping.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("glib" ,glib)
|
||||
("libxslt" ,libxslt)
|
||||
("perl" ,perl)
|
||||
("python" ,python-2)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-reproducible
|
||||
(lambda _
|
||||
(substitute* "mono/mini/Makefile.in"
|
||||
(("build_date = [^;]*;")
|
||||
"build_date = (void*) 0;"))
|
||||
#t))
|
||||
(add-after 'unpack 'set-env
|
||||
(lambda _ ;;* (#:key inputs #:allow-other-keys)
|
||||
;; all tests under mcs/class fail trying to access $HOME
|
||||
(setenv "HOME" "/tmp")
|
||||
;; ZIP files have "DOS time" which starts in Jan 1980.
|
||||
(setenv "SOURCE_DATE_EPOCH" "315532800")
|
||||
#t))
|
||||
(add-after 'unpack 'fix-includes
|
||||
(lambda _
|
||||
;; makedev is in <sys/sysmacros.h> now. Include it.
|
||||
(substitute* "mono/io-layer/processes.c"
|
||||
(("#ifdef HAVE_SYS_MKDEV_H") "#if 1")
|
||||
(("sys/mkdev.h") "sys/sysmacros.h"))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-tests
|
||||
(lambda _ ;;* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "mono/tests/Makefile.in"
|
||||
;; does not build: no rule to make unhandled-exception-*
|
||||
(("@test-unhandled-exception-2:" all)
|
||||
(string-append all "#")))
|
||||
(substitute* "mcs/tools/mono-symbolicate/Makefile"
|
||||
;; does not build: Source file `Test/StackTraceDumper.cs'
|
||||
;; could not be found
|
||||
(("^check: test-local") "check:\ntest-local:")
|
||||
(("^test-local: all") "disabled-test-local:"))
|
||||
(substitute* "mono/unit-tests/Makefile.in"
|
||||
;; test fails
|
||||
(("^test-sgen-qsort.log:")
|
||||
"disabled-test-sgen-qsort.log:\ntest-sgen-qsort.log:"))
|
||||
;; tests fail, trying to access $HOME
|
||||
(substitute* "mcs/class/Makefile"
|
||||
(("^include ../build/rules.make" all)
|
||||
(string-append
|
||||
all
|
||||
"\nrun-test-recursive:\n\t@echo skipping tests\n")))
|
||||
;; tests fail, trying to access $HOME
|
||||
(substitute* "mcs/class/Microsoft.Build.Tasks/Makefile"
|
||||
(("^include ../../build/rules.make" all)
|
||||
(string-append
|
||||
all
|
||||
"\nrun-test-recursive:\n\t@echo skipping tests\n")))
|
||||
(substitute* '("mcs/tools/mono-shlib-cop/Makefile"
|
||||
"mcs/tools/mdoc/Makefile")
|
||||
(("^run-test-local:" all)
|
||||
(string-append "#" all)))
|
||||
(substitute* "mcs/tools/sqlmetal/Makefile"
|
||||
(("^include ../../build/rules.make" all)
|
||||
(string-append
|
||||
"NO_TEST:=true\n"
|
||||
all
|
||||
"\nrun-test-lib:\n\t@echo skipping test\n"))))))
|
||||
;; these 4 tests fail
|
||||
#:make-flags `(,(string-append "PLATFORM_DISABLED_TESTS="
|
||||
" appdomain-unload.exe"
|
||||
" delegate2.exe"
|
||||
" finally_guard.exe"
|
||||
" remoting4.exe"))
|
||||
;; running tests in parallel fails
|
||||
#:parallel-tests? #f))
|
||||
(synopsis "Compiler and libraries for the C# programming language")
|
||||
(description "Mono is a compiler, vm, debugger and set of libraries for
|
||||
C#, a C-style programming language from Microsoft that is very similar to
|
||||
Java.")
|
||||
(home-page "https://www.mono-project.com/")
|
||||
(license license:x11)))
|
||||
|
||||
(define-public libgdiplus
|
||||
(package
|
||||
(name "libgdiplus")
|
||||
(version "6.0.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://download.mono-project.com/sources/libgdiplus/libgdiplus-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vr5l09i5i91n9qzky7ab9wwvgdidvrbw26y8llip0z4qdf4w7mq"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("cairo" ,cairo)
|
||||
("fontconfig" ,fontconfig)
|
||||
("libtiff" ,libtiff)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("libexif" ,libexif)
|
||||
("libungif" ,libungif)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; TODO: See with upstream why they fail.
|
||||
;; https://github.com/mono/mono/issues/18934
|
||||
(add-before 'configure 'remove-buggy-tests
|
||||
(lambda _
|
||||
(substitute* "tests/Makefile.in"
|
||||
(("testicocodec\\$\\(EXEEXT\\) ") " ")
|
||||
(("testfont\\$\\(EXEEXT\\) ") " "))
|
||||
#t)))))
|
||||
(home-page "https://www.mono-project.com/docs/gui/libgdiplus/")
|
||||
(synopsis "Mono library that provides a GDI+-compatible API")
|
||||
(description "Libgdiplus is the Mono library that provides a
|
||||
GDI+-compatible API on non-Windows operating systems. The implementation uses
|
||||
Cairo to do most of the heavy lifting.")
|
||||
(license license:gpl3+)))
|
@ -134,6 +134,7 @@
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages haskell)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages java)
|
||||
@ -476,7 +477,7 @@ playing your music.")
|
||||
(define-public strawberry
|
||||
(package
|
||||
(name "strawberry")
|
||||
(version "1.0.7")
|
||||
(version "1.0.9")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -485,7 +486,7 @@ playing your music.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"17mfavbbzx7hp7j5n9i7c3rajy16jicarabrl174p4gjv4zpy2sc"))
|
||||
"0gm97sdz78s67rnyrs4ixg5dwv2haxdmb7s21yqb8axp624vvalp"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 regex)))
|
||||
(snippet
|
||||
@ -542,6 +543,7 @@ playing your music.")
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
gst-plugins-good
|
||||
icu4c
|
||||
libcdio
|
||||
libmtp
|
||||
protobuf
|
||||
|
@ -3621,7 +3621,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
|
||||
(define-public opendht
|
||||
(package
|
||||
(name "opendht")
|
||||
(version "2.4.9")
|
||||
(version "2.4.10")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -3630,7 +3630,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"150yxlhn8ykhck7gr1i2bppbqpfyhk0cscn5z7vyn94y5fnqkxsb"))))
|
||||
"1kcc9vmi4swvahq2gikflgba9xfmix80dr9wa3v6xcj1ba2fjd6s"))))
|
||||
(outputs '("out" "tools" "debug"))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -46,14 +46,14 @@
|
||||
(define-public chrony
|
||||
(package
|
||||
(name "chrony")
|
||||
(version "4.2")
|
||||
(version "4.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.tuxfamily.org/chrony/"
|
||||
"chrony-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "16nv90h73c99adh2bdrvlws1lhjsqfp6pfpnlprxd3ijbk8rygr7"))))
|
||||
(base32 "0148bgzymdigkjs66fihrqw98g1yf6vgy40nlajqkw35m24sh3cx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((srfi srfi-26)
|
||||
|
@ -8741,3 +8741,36 @@ SHA384, SHA512, Blake2b, Blake2s and RIPEMD160.")
|
||||
(description "This package allows you to produce, from a set of
|
||||
bibliography files in BibTeX format, a bibliography in HTML format.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public ocaml-guile
|
||||
(package
|
||||
(name "ocaml-guile")
|
||||
(version "1.0")
|
||||
(home-page "https://github.com/gopiandcode/guile-ocaml")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0yxdkrhrrbwvay5sn0p26rh3f11876k6kdharmpi4afxknml74ql"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no tests
|
||||
(propagated-inputs
|
||||
(list ocaml-sexplib
|
||||
ocaml-ctypes
|
||||
ocaml-stdio
|
||||
ocaml-odoc))
|
||||
(inputs (list guile-3.0 libffi))
|
||||
(native-inputs
|
||||
(list ocaml-odoc
|
||||
pkg-config))
|
||||
(synopsis "Bindings to GNU Guile Scheme for OCaml")
|
||||
(description
|
||||
"The OCaml guile library provides high-level OCaml bindings to GNU Guile
|
||||
3.0, supporting easy interop between OCaml and GNU Guile Scheme.")
|
||||
(license license:gpl3+)))
|
||||
|
@ -137,7 +137,7 @@ GUI based workflow. It is primarily used in the Orange framework.")
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(wrap-program (string-append out "/bin/orange-canvas")
|
||||
`("QT_PLUGIN_PATH" prefix
|
||||
,(list (string-append (assoc-ref inputs "qtsvg-5")
|
||||
,(list (string-append (assoc-ref inputs "qtsvg")
|
||||
"/lib/qt5/plugins/"))))))))))
|
||||
(native-inputs
|
||||
(list python-cython))
|
||||
|
@ -63,6 +63,7 @@
|
||||
#:use-module (gnu packages dbm)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gettext)
|
||||
@ -726,16 +727,7 @@ GTK icon cache for instance.")))
|
||||
module} command. The @command{guix module create} sub-command creates
|
||||
@dfn{environment modules}, allowing you to manipulate software environments
|
||||
with the @command{module} command commonly found on @acronym{HPC,
|
||||
high-performance computing} clusters.
|
||||
|
||||
To use this extension, set the @env{GUIX_EXTENSIONS_PATH} environment
|
||||
variable, along these lines:
|
||||
|
||||
@example
|
||||
export GUIX_EXTENSIONS_PATH=\"$HOME/.guix-profile/share/guix/extensions\"
|
||||
@end example
|
||||
|
||||
Replace @code{$HOME/.guix-profile} with the appropriate profile.")
|
||||
high-performance computing} clusters.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
|
||||
@ -1374,8 +1366,8 @@ environments.")
|
||||
"0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
|
||||
|
||||
(define-public guix-build-coordinator
|
||||
(let ((commit "cc884efa7ee8a481cd3dae1b93d27454ac8dfcd2")
|
||||
(revision "59"))
|
||||
(let ((commit "31b3ab65da2d9a02f0453d12a81816b25c8ad75d")
|
||||
(revision "60"))
|
||||
(package
|
||||
(name "guix-build-coordinator")
|
||||
(version (git-version "0" revision commit))
|
||||
@ -1386,7 +1378,7 @@ environments.")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"03yz8if282mvkgqn0pxlqj0h3nyjfag7a835v9s98nkqfbj1ixcl"))
|
||||
"1hh1qy3xqpani3zfbm3wi4zw7f8cnbfjk4q1z7ynailadlfrkblk"))
|
||||
(file-name (string-append name "-" version "-checkout"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@ -1621,6 +1613,7 @@ This package just includes the agent component.")))
|
||||
(ice-9 rdelim)
|
||||
(guix build utils)
|
||||
(guix build gnu-build-system))
|
||||
#:parallel-tests? #f ;kernels.scm frequently breaks in parallel
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'sed-kernel-json
|
||||
@ -1908,14 +1901,14 @@ the boot loader configuration.")
|
||||
(define-public flatpak
|
||||
(package
|
||||
(name "flatpak")
|
||||
(version "1.12.7")
|
||||
(version "1.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/flatpak/flatpak/releases/download/"
|
||||
version "/flatpak-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "05lkpbjiwp69q924i1jfyk5frcqbdbv9kyzbqwm2hy723i9jmdbd"))
|
||||
(base32 "05bqy9kwmaj32y7f94fydcz3k63bsgn4mbcp4pglv8hffxrnj9wf"))
|
||||
(patches
|
||||
(search-patches "flatpak-fix-path.patch"
|
||||
"flatpak-unset-gdk-pixbuf-for-sandbox.patch"))))
|
||||
@ -1984,8 +1977,10 @@ cp -r /tmp/locale/*/en_US.*")))
|
||||
socat
|
||||
which))
|
||||
(inputs
|
||||
(list appstream-glib
|
||||
(list appstream
|
||||
appstream-glib
|
||||
bubblewrap
|
||||
curl
|
||||
dconf
|
||||
fuse
|
||||
gdk-pixbuf
|
||||
|
@ -35,6 +35,7 @@
|
||||
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2021 David Dashyan <mail@davie.li>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -53,6 +54,7 @@
|
||||
|
||||
(define-module (gnu packages password-utils)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
@ -72,6 +74,7 @@
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages cryptsetup)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages digest)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
@ -1112,27 +1115,41 @@ your online accounts makes it necessary.")
|
||||
(define-public hashcat
|
||||
(package
|
||||
(name "hashcat")
|
||||
(version "6.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://hashcat.net/files/hashcat-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"104z63m7lqbb0sdrxhf9yi15l4a9zwf9m6zs9dbb3gf0nfxl1h9r"))))
|
||||
(native-inputs
|
||||
(list opencl-headers))
|
||||
(version "6.2.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://hashcat.net/files/hashcat-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sc96xcsc20xd4fyby3i45nm9as3hl4nhk9snkvmk5l9mpbrjs3g"))
|
||||
(modules '((guix build utils)))
|
||||
;; Delete bundled libraries.
|
||||
(snippet
|
||||
;; TODO: Unbundle LZMA-SDK as well
|
||||
#~(for-each delete-file-recursively
|
||||
'("deps/zlib" "deps/xxHash" "deps/OpenCL-Headers")))))
|
||||
(inputs (list minizip opencl-headers xxhash zlib))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ;no tests
|
||||
#:make-flags (list (string-append "PREFIX=" %output))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(list #:tests? #f ;no tests
|
||||
#:make-flags #~(list (string-append "PREFIX=" #$output)
|
||||
(string-append "AR=" #$(ar-for-target))
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append "USE_SYSTEM_ZLIB=1")
|
||||
(string-append "USE_SYSTEM_OPENCL=1")
|
||||
(string-append "USE_SYSTEM_XXHASH=1"))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-reproducibility
|
||||
(lambda _
|
||||
(substitute* "src/Makefile"
|
||||
(("\\$\\(shell date \\+%s\\)")
|
||||
"0"))))
|
||||
(delete 'configure))))
|
||||
(home-page "https://hashcat.net/hashcat/")
|
||||
(synopsis "Advanced password recovery utility")
|
||||
(description "Hashcat is an password recovery utility, supporting five
|
||||
(description
|
||||
"Hashcat is an password recovery utility, supporting five
|
||||
unique modes of attack for over 200 highly-optimized hashing algorithms.
|
||||
Hashcat currently supports CPUs, GPUs, and other hardware accelerators on
|
||||
Linux, Windows, and macOS, and has facilities to help enable distributed
|
||||
|
76
gnu/packages/patches/chez-scheme-bin-sh.patch
Normal file
76
gnu/packages/patches/chez-scheme-bin-sh.patch
Normal file
@ -0,0 +1,76 @@
|
||||
From 3c838e6a0c3214d95bf02048cddccfd1b69a679f Mon Sep 17 00:00:00 2001
|
||||
From: Philip McGrath <philip@philipmcgrath.com>
|
||||
Date: Thu, 19 May 2022 13:41:56 -0400
|
||||
Subject: [PATCH] patch s_process for "/bin/sh" on Guix
|
||||
|
||||
If:
|
||||
|
||||
1. The nonstandard but ubiquitous macro `_PATH_BSHELL` from
|
||||
<paths.h> is defined; and
|
||||
|
||||
2. The path specified by `_PATH_BSHELL` exists;
|
||||
|
||||
then `s_process` will call `execl` with the file specified by
|
||||
`_PATH_BSHELL` instead of "/bin/sh".
|
||||
|
||||
Checking that the path specified by `_PATH_BSHELL` exists safeguards
|
||||
against obscure errors if attempting to use stand-alone executables
|
||||
built by the patched Racket in non-Guix envoronments.
|
||||
|
||||
This patch does not change the behavior of `s_system`, which relies
|
||||
on `system` from the C library.
|
||||
---
|
||||
c/prim5.c | 21 ++++++++++++++++++++-
|
||||
1 file changed, 20 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/c/prim5.c b/c/prim5.c
|
||||
index 5a07893..bc2736c 100644
|
||||
--- a/c/prim5.c
|
||||
+++ b/c/prim5.c
|
||||
@@ -23,6 +23,12 @@
|
||||
#include <ctype.h>
|
||||
#include <math.h>
|
||||
|
||||
+/* BEGIN PATCH for Guix */
|
||||
+#ifndef WIN32
|
||||
+# include <paths.h>
|
||||
+#endif
|
||||
+/* END PATCH for Guix */
|
||||
+
|
||||
/* locally defined functions */
|
||||
static INT s_errno(void);
|
||||
static iptr s_addr_in_heap(uptr x);
|
||||
@@ -746,6 +752,17 @@ static ptr s_process(char *s, IBOOL stderrp) {
|
||||
|
||||
INT tofds[2], fromfds[2], errfds[2];
|
||||
struct sigaction act, oint_act;
|
||||
+ /* BEGIN PATCH for Guix */
|
||||
+#if defined(_PATH_BSHELL)
|
||||
+ struct stat guix_stat_buf;
|
||||
+ char *guix_sh =
|
||||
+ (0 == stat(_PATH_BSHELL, &guix_stat_buf))
|
||||
+ ? _PATH_BSHELL
|
||||
+ : "/bin/sh";
|
||||
+#else /* _PATH_BSHELL */
|
||||
+ char *guix_sh = "/bin/sh";
|
||||
+#endif
|
||||
+ /* END PATCH for Guix */
|
||||
|
||||
if (pipe(tofds)) S_error("process","cannot open pipes");
|
||||
if (pipe(fromfds)) {
|
||||
@@ -771,7 +788,9 @@ static ptr s_process(char *s, IBOOL stderrp) {
|
||||
CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1);
|
||||
CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1);
|
||||
{INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);}
|
||||
- execl("/bin/sh", "/bin/sh", "-c", s, NULL);
|
||||
+ /* BEGIN PATCH for Guix */
|
||||
+ execl(guix_sh, guix_sh, "-c", s, NULL);
|
||||
+ /* END PATCH for Guix */
|
||||
_exit(1) /* only if execl fails */;
|
||||
/*NOTREACHED*/
|
||||
} else {
|
||||
|
||||
base-commit: 9df56e7b25bc523663eac3da24be33afc5f76c84
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,15 +0,0 @@
|
||||
--- mono-4.4.1/mcs/class/monodoc/Monodoc/storage/ZipStorage.cs.orig 2018-11-26 22:16:25.008879747 +0100
|
||||
+++ mono-4.4.1/mcs/class/monodoc/Monodoc/storage/ZipStorage.cs 2018-11-26 22:21:53.969770985 +0100
|
||||
@@ -74,6 +74,12 @@
|
||||
id = GetNewCode ();
|
||||
|
||||
ZipEntry entry = new ZipEntry (id);
|
||||
+ var SOURCE_DATE_EPOCH_string = Environment.GetEnvironmentVariable("SOURCE_DATE_EPOCH");
|
||||
+ if (SOURCE_DATE_EPOCH_string != null)
|
||||
+ {
|
||||
+ var SOURCE_DATE_EPOCH = Convert.ToInt64(SOURCE_DATE_EPOCH_string);
|
||||
+ entry.DateTime = new DateTime(SOURCE_DATE_EPOCH, DateTimeKind.Utc);
|
||||
+ }
|
||||
zipOutput.PutNextEntry (entry);
|
||||
}
|
||||
|
30
gnu/packages/patches/polkit-disable-systemd.patch
Normal file
30
gnu/packages/patches/polkit-disable-systemd.patch
Normal file
@ -0,0 +1,30 @@
|
||||
Don't install systemd units unless using libsystemd session tracking.
|
||||
|
||||
Submitted upstream:
|
||||
|
||||
https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/134
|
||||
|
||||
diff --git a/data/meson.build b/data/meson.build
|
||||
--- a/data/meson.build
|
||||
+++ b/data/meson.build
|
||||
@@ -26,7 +26,7 @@ if enable_pam
|
||||
)
|
||||
endif
|
||||
|
||||
-if enable_logind
|
||||
+if session_tracking == 'libsystemd-login'
|
||||
configure_file(
|
||||
input: 'polkit.service.in',
|
||||
output: '@BASENAME@',
|
||||
diff --git a/meson.build b/meson.build
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -199,7 +199,7 @@ if enable_logind
|
||||
|
||||
# systemd unit / service files
|
||||
systemd_systemdsystemunitdir = get_option('systemdsystemunitdir')
|
||||
- if systemd_systemdsystemunitdir == ''
|
||||
+ if systemd_systemdsystemunitdir == '' and session_tracking == 'libsystemd-login'
|
||||
systemd_dep = dependency('systemd', not_found_message: 'systemd required but not found, please provide a valid systemd user unit dir or disable it')
|
||||
# FIXME: systemd.pc file does not use variables with relative paths, so `define_variable` cannot be used
|
||||
systemd_systemdsystemunitdir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir')
|
27
gnu/packages/patches/python-apsw-3.39.2.1-test-fix.patch
Normal file
27
gnu/packages/patches/python-apsw-3.39.2.1-test-fix.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From 1111f902075169bd0d96cdd10607ef8499f0fed5 Mon Sep 17 00:00:00 2001
|
||||
From: Roger Binns <rogerb@rogerbinns.com>
|
||||
Date: Mon, 5 Sep 2022 07:12:25 -0700
|
||||
Subject: [PATCH] Deal with mismatched SQLITE_ENABLE_COLUMN_METADATA
|
||||
|
||||
Address #363
|
||||
---
|
||||
apsw/tests.py | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/apsw/tests.py b/apsw/tests.py
|
||||
index b4a94d3..256ead0 100644
|
||||
--- a/apsw/tests.py
|
||||
+++ b/apsw/tests.py
|
||||
@@ -772,8 +772,8 @@ class APSW(unittest.TestCase):
|
||||
c.execute("drop table foo; create table foo (%s)" % (", ".join(["[%s] %s" % (n, t) for n, t in cols]), ))
|
||||
c.execute("insert into foo([x a space]) values(1)")
|
||||
c.execute("create temp table two(fred banana); insert into two values(7); create temp view three as select fred as [a space] from two")
|
||||
- has_full=any(o=="ENABLE_COLUMN_METADATA" or o.startswith("ENABLE_COLUMN_METADATA=") for o in apsw.compile_options)
|
||||
+ has_full=any(o=="ENABLE_COLUMN_METADATA" or o.startswith("ENABLE_COLUMN_METADATA=") for o in apsw.compile_options) if apsw.using_amalgamation else hasattr(c, "description_full")
|
||||
for row in c.execute("select * from foo"):
|
||||
self.assertEqual(cols, c.getdescription())
|
||||
self.assertEqual(has_full, hasattr(c, "description_full"))
|
||||
|
||||
base-commit: f628374c5857d940067ef26c9ea4e85a08a94f76
|
||||
--
|
||||
2.37.2
|
126
gnu/packages/patches/racket-backport-8.6-cross-install.patch
Normal file
126
gnu/packages/patches/racket-backport-8.6-cross-install.patch
Normal file
@ -0,0 +1,126 @@
|
||||
From fbe2094f56fb81c888076c781e90fb0abbc0cc07 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Flatt <mflatt@racket-lang.org>
|
||||
Date: Sat, 30 Jul 2022 07:06:55 -0600
|
||||
Subject: [PATCH 1/2] CS makefiles: fix Unix-style install for cross
|
||||
compilation
|
||||
|
||||
Closes #4377
|
||||
|
||||
(cherry picked from commit 053be470e7c5454cdf48e934f3254d2d916bbbc5)
|
||||
---
|
||||
racket/src/cs/c/build.zuo | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/racket/src/cs/c/build.zuo b/racket/src/cs/c/build.zuo
|
||||
index 8d3950bb27..d8b74c509d 100644
|
||||
--- a/racket/src/cs/c/build.zuo
|
||||
+++ b/racket/src/cs/c/build.zuo
|
||||
@@ -1016,10 +1016,9 @@
|
||||
(define (setup)
|
||||
(call-with-dest-racket
|
||||
(lambda (bindir dest-racket)
|
||||
- (define copytree-racket (and cross? (config-bootstrap-racket)))
|
||||
+ (define copytree-racket (and cross? (hash-ref (config-bootstrap-racket) 'racket)))
|
||||
(maybe-copytree config dest-racket copytree-racket at-dir)
|
||||
- (run-raco-setup config dest-racket
|
||||
- (and cross? (hash-ref (config-bootstrap-racket) 'racket))
|
||||
+ (run-raco-setup config dest-racket copytree-racket
|
||||
;; this can be redundant if it's also supplied via `SETUP_MACHINE_FLAGS`,
|
||||
;; but redundant should be ok:
|
||||
(list "-MCR" (~a (at-dir "compiled") ":")
|
||||
--
|
||||
2.32.0
|
||||
|
||||
|
||||
From 85802f4d515e310e657928707800ad709a676e2a Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Flatt <mflatt@racket-lang.org>
|
||||
Date: Mon, 15 Aug 2022 10:37:01 +0800
|
||||
Subject: [PATCH 2/2] configure: adjust cross-build assumption for a pb build
|
||||
|
||||
Don't assume a cross build for a pb target on a platform that's only
|
||||
supported via pb.
|
||||
|
||||
(cherry picked from commit 70e484e885637c495be5481983dae2207fdd67bb)
|
||||
|
||||
(Edited to remove unrelated tweak to comments in
|
||||
"racket/src/expander/expand/require+provide.rkt".)
|
||||
---
|
||||
racket/src/cs/c/configure | 15 +++++++++++----
|
||||
racket/src/cs/c/configure.ac | 15 +++++++++++----
|
||||
2 files changed, 22 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure
|
||||
index 454d79e11a..7e0fa5600d 100755
|
||||
--- a/racket/src/cs/c/configure
|
||||
+++ b/racket/src/cs/c/configure
|
||||
@@ -4679,6 +4679,11 @@ case "$MACH_HOST_CPU" in
|
||||
;;
|
||||
esac
|
||||
|
||||
+if test "${MACH}" = "" ; then
|
||||
+ default_mach_was_empty=yes
|
||||
+else
|
||||
+ default_mach_was_empty=no
|
||||
+fi
|
||||
|
||||
if test "${enable_mach}" != "" ; then
|
||||
MACH="${enable_mach}"
|
||||
@@ -4701,13 +4706,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
-# For a pb build where Racket is supplied, force cross-build
|
||||
-# mode on the assumption that the host is not a pb build
|
||||
-# (because it should be created with default configure options)
|
||||
+# For a pb build where Racket is supplied and MACH was not originally
|
||||
+# empty, force cross-build mode on the assumption that the host is not
|
||||
+# a pb build (because it should be created with default configure options)
|
||||
if test "${enable_pb}" = "yes" ; then
|
||||
if test "${enable_racket}" != "" ; then
|
||||
if test "${enable_target}" = "" ; then
|
||||
- enable_target="${MACH}"
|
||||
+ if test "${default_mach_was_empty}" = "no" ; then
|
||||
+ enable_target="${MACH}"
|
||||
+ fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac
|
||||
index 5bce979c92..734c1e8feb 100644
|
||||
--- a/racket/src/cs/c/configure.ac
|
||||
+++ b/racket/src/cs/c/configure.ac
|
||||
@@ -415,6 +415,11 @@ case "$MACH_HOST_CPU" in
|
||||
;;
|
||||
esac
|
||||
|
||||
+if test "${MACH}" = "" ; then
|
||||
+ default_mach_was_empty=yes
|
||||
+else
|
||||
+ default_mach_was_empty=no
|
||||
+fi
|
||||
|
||||
if test "${enable_mach}" != "" ; then
|
||||
MACH="${enable_mach}"
|
||||
@@ -437,13 +442,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
-# For a pb build where Racket is supplied, force cross-build
|
||||
-# mode on the assumption that the host is not a pb build
|
||||
-# (because it should be created with default configure options)
|
||||
+# For a pb build where Racket is supplied and MACH was not originally
|
||||
+# empty, force cross-build mode on the assumption that the host is not
|
||||
+# a pb build (because it should be created with default configure options)
|
||||
if test "${enable_pb}" = "yes" ; then
|
||||
if test "${enable_racket}" != "" ; then
|
||||
if test "${enable_target}" = "" ; then
|
||||
- enable_target="${MACH}"
|
||||
+ if test "${default_mach_was_empty}" = "no" ; then
|
||||
+ enable_target="${MACH}"
|
||||
+ fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
--
|
||||
2.32.0
|
||||
|
@ -0,0 +1,36 @@
|
||||
From 8b4d686a62fd66dedfc40ecdcf3698316993d614 Mon Sep 17 00:00:00 2001
|
||||
From: Philip McGrath <philip@philipmcgrath.com>
|
||||
Date: Sun, 17 Jul 2022 22:51:44 -0400
|
||||
Subject: [PATCH] racket-index: set write permission when copying
|
||||
`docindex.sqlite`
|
||||
|
||||
Fixes https://github.com/racket/racket/issues/4357
|
||||
|
||||
(cherry picked from commit 55b6cbdca1f36a4f37bab1519c1b658717d3cad2)
|
||||
---
|
||||
pkgs/racket-index/setup/scribble.rkt | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/pkgs/racket-index/setup/scribble.rkt b/pkgs/racket-index/setup/scribble.rkt
|
||||
index 6694f0b793..e27a8fa348 100644
|
||||
--- a/pkgs/racket-index/setup/scribble.rkt
|
||||
+++ b/pkgs/racket-index/setup/scribble.rkt
|
||||
@@ -252,7 +252,14 @@
|
||||
(unless (file-exists? db-file)
|
||||
(define-values (base name dir?) (split-path db-file))
|
||||
(make-directory* base)
|
||||
- (when copy-from (copy-file copy-from db-file))
|
||||
+ (when copy-from
|
||||
+ (copy-file copy-from db-file)
|
||||
+ ;; we might not have write permissions for the previous layer:
|
||||
+ ;; ensure that we do for the new file
|
||||
+ (define orig-mode (file-or-directory-permissions db-file 'bits))
|
||||
+ (define writeable-mode (bitwise-ior user-write-bit orig-mode))
|
||||
+ (unless (= writeable-mode orig-mode)
|
||||
+ (file-or-directory-permissions db-file writeable-mode)))
|
||||
(doc-db-disconnect
|
||||
(doc-db-file->connection db-file #t))))
|
||||
(when (or (ormap can-build*? main-docs)
|
||||
--
|
||||
2.32.0
|
||||
|
609
gnu/packages/patches/racket-backport-8.6-hurd.patch
Normal file
609
gnu/packages/patches/racket-backport-8.6-hurd.patch
Normal file
@ -0,0 +1,609 @@
|
||||
From f17b030fa2f902bb3666913d4a3cd6ba9c146d22 Mon Sep 17 00:00:00 2001
|
||||
From: Philip McGrath <philip@philipmcgrath.com>
|
||||
Date: Wed, 3 Aug 2022 03:13:03 -0400
|
||||
Subject: [PATCH 1/3] Chez Scheme: Fix build on GNU/Hurd
|
||||
|
||||
Mostly GNU/Hurd should take the same options as GNU/Linux. One
|
||||
difference is that the Hurd does not define macros such as `PATH_MAX` or
|
||||
`NOFILE`, because it avoids imposing arbitrary limits on such resources.
|
||||
This patch provides alternatives for localized uses of those constants,
|
||||
but it accepts the pervasive use of `PATH_MAX` in finding bootfiles for
|
||||
now. See https://www.gnu.org/software/hurd/hurd/porting/guidelines.html.
|
||||
|
||||
(cherry picked from commit 87eee6e2adb8c6bc11e60619c706fa6295096085)
|
||||
---
|
||||
racket/src/ChezScheme/README.md | 1 +
|
||||
racket/src/ChezScheme/c/number.c | 22 +++++++++----------
|
||||
racket/src/ChezScheme/c/prim5.c | 35 ++++++++++++++++++++++++++++--
|
||||
racket/src/ChezScheme/c/scheme.c | 34 +++++++++++++++++------------
|
||||
racket/src/ChezScheme/c/version.h | 7 ++++--
|
||||
racket/src/ChezScheme/configure | 17 ++++++++++-----
|
||||
racket/src/ChezScheme/s/cmacros.ss | 1 +
|
||||
racket/src/cs/c/configure | 14 ++++++++++--
|
||||
racket/src/cs/c/configure.ac | 14 ++++++++++--
|
||||
racket/src/cs/rumble/system.ss | 3 +++
|
||||
10 files changed, 109 insertions(+), 39 deletions(-)
|
||||
|
||||
diff --git a/racket/src/ChezScheme/README.md b/racket/src/ChezScheme/README.md
|
||||
index a4a11a5eef..25231dd9bb 100644
|
||||
--- a/racket/src/ChezScheme/README.md
|
||||
+++ b/racket/src/ChezScheme/README.md
|
||||
@@ -13,6 +13,7 @@ Supported platforms (bytecode interpreter may work for others):
|
||||
* OpenBSD: x86, x86_64, ARMv6, AArch64, PowerPC32
|
||||
* NetBSD: x86, x86_64, ARMv6, AArch64, PowerPC32
|
||||
* Solaris: x86, x86_64
|
||||
+ * GNU/Hurd: x86
|
||||
* Android: ARMv7, AArch64
|
||||
* iOS: AArch64
|
||||
* WebAssembly via Emscripten (bytecode interpreter only)
|
||||
diff --git a/racket/src/ChezScheme/c/number.c b/racket/src/ChezScheme/c/number.c
|
||||
index ede38cc626..e2bce0d2d3 100644
|
||||
--- a/racket/src/ChezScheme/c/number.c
|
||||
+++ b/racket/src/ChezScheme/c/number.c
|
||||
@@ -1041,15 +1041,15 @@ floating-point operations
|
||||
|
||||
#ifdef IEEE_DOUBLE
|
||||
/* exponent stored + 1024, hidden bit to left of decimal point */
|
||||
-#define bias 1023
|
||||
-#define bitstoright 52
|
||||
-#define m1mask 0xf
|
||||
-#ifdef WIN32
|
||||
-#define hidden_bit 0x10000000000000
|
||||
-#else
|
||||
-#define hidden_bit 0x10000000000000ULL
|
||||
-#endif
|
||||
-#ifdef LITTLE_ENDIAN_IEEE_DOUBLE
|
||||
+# define bias 1023
|
||||
+# define bitstoright 52
|
||||
+# define m1mask 0xf
|
||||
+# ifdef WIN32
|
||||
+# define hidden_bit 0x10000000000000
|
||||
+# else
|
||||
+# define hidden_bit 0x10000000000000ULL
|
||||
+# endif
|
||||
+# ifdef LITTLE_ENDIAN_IEEE_DOUBLE
|
||||
struct dblflt {
|
||||
UINT m4: 16;
|
||||
UINT m3: 16;
|
||||
@@ -1058,7 +1058,7 @@ struct dblflt {
|
||||
UINT e: 11;
|
||||
UINT sign: 1;
|
||||
};
|
||||
-#else
|
||||
+# else
|
||||
struct dblflt {
|
||||
UINT sign: 1;
|
||||
UINT e: 11;
|
||||
@@ -1067,7 +1067,7 @@ struct dblflt {
|
||||
UINT m3: 16;
|
||||
UINT m4: 16;
|
||||
};
|
||||
-#endif
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
double S_random_double(U32 m1, U32 m2, U32 m3, U32 m4, double scale) {
|
||||
diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c
|
||||
index 124d1e049c..82bbf8d687 100644
|
||||
--- a/racket/src/ChezScheme/c/prim5.c
|
||||
+++ b/racket/src/ChezScheme/c/prim5.c
|
||||
@@ -23,6 +23,10 @@
|
||||
#include <ctype.h>
|
||||
#include <math.h>
|
||||
|
||||
+#if defined(__GNU__) /* Hurd */
|
||||
+#include <sys/resource.h>
|
||||
+#endif
|
||||
+
|
||||
/* locally defined functions */
|
||||
static INT s_errno(void);
|
||||
static IBOOL s_addr_in_heap(uptr x);
|
||||
@@ -58,7 +62,7 @@ static void s_showalloc(IBOOL show_dump, const char *outfn);
|
||||
static ptr s_system(const char *s);
|
||||
static ptr s_process(char *s, IBOOL stderrp);
|
||||
static I32 s_chdir(const char *inpath);
|
||||
-#ifdef GETWD
|
||||
+#if defined(GETWD) || defined(__GNU__) /* Hurd */
|
||||
static char *s_getwd(void);
|
||||
#endif
|
||||
static ptr s_set_code_byte(ptr p, ptr n, ptr x);
|
||||
@@ -881,7 +885,18 @@ static ptr s_process(char *s, IBOOL stderrp) {
|
||||
CLOSE(0); if (dup(tofds[0]) != 0) _exit(1);
|
||||
CLOSE(1); if (dup(fromfds[1]) != 1) _exit(1);
|
||||
CLOSE(2); if (dup(stderrp ? errfds[1] : 1) != 2) _exit(1);
|
||||
+#ifndef __GNU__ /* Hurd */
|
||||
{INT i; for (i = 3; i < NOFILE; i++) (void)CLOSE(i);}
|
||||
+#else /* __GNU__ Hurd: no NOFILE */
|
||||
+ {
|
||||
+ INT i;
|
||||
+ struct rlimit rlim;
|
||||
+ getrlimit(RLIMIT_NOFILE, &rlim);
|
||||
+ for (i = 3; i < rlim.rlim_cur; i++) {
|
||||
+ (void)CLOSE(i);
|
||||
+ }
|
||||
+ }
|
||||
+#endif /* __GNU__ Hurd */
|
||||
execl("/bin/sh", "/bin/sh", "-c", s, NULL);
|
||||
_exit(1) /* only if execl fails */;
|
||||
/*NOTREACHED*/
|
||||
@@ -927,6 +942,22 @@ static I32 s_chdir(const char *inpath) {
|
||||
static char *s_getwd() {
|
||||
return GETWD(TO_VOIDP(&BVIT(S_bytevector(PATH_MAX), 0)));
|
||||
}
|
||||
+#elif defined(__GNU__) /* Hurd: no PATH_MAX */
|
||||
+static char *s_getwd() {
|
||||
+ char *path;
|
||||
+ size_t len;
|
||||
+ ptr bv;
|
||||
+ path = getcwd(NULL, 0);
|
||||
+ if (NULL == path) {
|
||||
+ return NULL;
|
||||
+ } else {
|
||||
+ len = strlen(path);
|
||||
+ bv = S_bytevector(len);
|
||||
+ memcpy(TO_VOIDP(&BVIT(bv, 0)), path, len);
|
||||
+ free(path);
|
||||
+ return TO_VOIDP(&BVIT(bv, 0));
|
||||
+ }
|
||||
+}
|
||||
#endif /* GETWD */
|
||||
|
||||
static ptr s_set_code_byte(ptr p, ptr n, ptr x) {
|
||||
@@ -1817,7 +1848,7 @@ void S_prim5_init(void) {
|
||||
Sforeign_symbol("(cs)s_rational", (void *)S_rational);
|
||||
Sforeign_symbol("(cs)sub", (void *)S_sub);
|
||||
Sforeign_symbol("(cs)rem", (void *)S_rem);
|
||||
-#ifdef GETWD
|
||||
+#if defined(GETWD) || defined(__GNU__) /* Hurd */
|
||||
Sforeign_symbol("(cs)s_getwd", (void *)s_getwd);
|
||||
#endif
|
||||
Sforeign_symbol("(cs)s_chdir", (void *)s_chdir);
|
||||
diff --git a/racket/src/ChezScheme/c/scheme.c b/racket/src/ChezScheme/c/scheme.c
|
||||
index ed5564540b..0c40e3eaf0 100644
|
||||
--- a/racket/src/ChezScheme/c/scheme.c
|
||||
+++ b/racket/src/ChezScheme/c/scheme.c
|
||||
@@ -458,6 +458,12 @@ static IBOOL next_path(char *path, const char *name, const char *ext, const char
|
||||
static const char *path_last(const char *path);
|
||||
static char *get_defaultheapdirs(void);
|
||||
|
||||
+#ifdef PATH_MAX
|
||||
+# define BOOT_PATH_MAX PATH_MAX
|
||||
+#else /* hack for Hurd: better to remove the restriction */
|
||||
+# define BOOT_PATH_MAX 4096
|
||||
+#endif
|
||||
+
|
||||
static const char *path_last(const char *p) {
|
||||
const char *s;
|
||||
#ifdef WIN32
|
||||
@@ -483,7 +489,7 @@ static const char *path_last(const char *p) {
|
||||
|
||||
static char *get_defaultheapdirs() {
|
||||
char *result;
|
||||
- wchar_t buf[PATH_MAX];
|
||||
+ wchar_t buf[BOOT_PATH_MAX];
|
||||
DWORD len = sizeof(buf);
|
||||
if (ERROR_SUCCESS != RegGetValueW(HKEY_LOCAL_MACHINE, L"Software\\Chez Scheme\\csv" VERSION, L"HeapSearchPath", RRF_RT_REG_SZ, NULL, buf, &len))
|
||||
return DEFAULT_HEAP_PATH;
|
||||
@@ -512,14 +518,14 @@ static char *get_defaultheapdirs() {
|
||||
* leaving the full path with name affixed in path and *sp / *dsp pointing
|
||||
* past the current entry. it returns 1 on success and 0 if at the end of
|
||||
* the search path. path should be a pointer to an unoccupied buffer
|
||||
- * PATH_MAX characters long. either or both of sp/dsp may be empty,
|
||||
+ * BOOT_PATH_MAX characters long. either or both of sp/dsp may be empty,
|
||||
* but neither may be null, i.e., (char *)0. */
|
||||
static IBOOL next_path(char *path, const char *name, const char *ext,
|
||||
const char **sp, const char **dsp) {
|
||||
char *p;
|
||||
const char *s, *t;
|
||||
|
||||
-#define setp(c) if (p >= path + PATH_MAX) { fprintf(stderr, "search path entry too long\n"); S_abnormal_exit(); } else *p++ = (c)
|
||||
+#define setp(c) if (p >= path + BOOT_PATH_MAX) { fprintf(stderr, "search path entry too long\n"); S_abnormal_exit(); } else *p++ = (c)
|
||||
for (;;) {
|
||||
s = *sp;
|
||||
p = path;
|
||||
@@ -532,10 +538,10 @@ static IBOOL next_path(char *path, const char *name, const char *ext,
|
||||
switch (*s) {
|
||||
#ifdef WIN32
|
||||
case 'x': {
|
||||
- wchar_t exepath[PATH_MAX]; DWORD n;
|
||||
+ wchar_t exepath[BOOT_PATH_MAX]; DWORD n;
|
||||
s += 1;
|
||||
- n = GetModuleFileNameW(NULL, exepath, PATH_MAX);
|
||||
- if (n == 0 || (n == PATH_MAX && GetLastError() == ERROR_INSUFFICIENT_BUFFER)) {
|
||||
+ n = GetModuleFileNameW(NULL, exepath, BOOT_PATH_MAX);
|
||||
+ if (n == 0 || (n == BOOT_PATH_MAX && GetLastError() == ERROR_INSUFFICIENT_BUFFER)) {
|
||||
fprintf(stderr, "warning: executable path is too long; ignoring %%x\n");
|
||||
} else {
|
||||
char *tstart;
|
||||
@@ -608,7 +614,7 @@ typedef struct {
|
||||
iptr len; /* 0 => unknown */
|
||||
iptr offset;
|
||||
IBOOL need_check, close_after;
|
||||
- char path[PATH_MAX];
|
||||
+ char path[BOOT_PATH_MAX];
|
||||
} boot_desc;
|
||||
|
||||
#define MAX_BOOT_FILES 10
|
||||
@@ -695,14 +701,14 @@ static void finish_dependencies_header(int fd, const char *path, int c) {
|
||||
static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_pathp,
|
||||
int fd,
|
||||
IBOOL errorp) {
|
||||
- char pathbuf[PATH_MAX], buf[PATH_MAX];
|
||||
+ char pathbuf[BOOT_PATH_MAX], buf[BOOT_PATH_MAX];
|
||||
uptr n = 0;
|
||||
INT c;
|
||||
const char *path;
|
||||
char *expandedpath;
|
||||
|
||||
if ((fd != -1) || direct_pathp || S_fixedpathp(name)) {
|
||||
- if (strlen(name) >= PATH_MAX) {
|
||||
+ if (strlen(name) >= BOOT_PATH_MAX) {
|
||||
fprintf(stderr, "boot-file path is too long %s\n", name);
|
||||
S_abnormal_exit();
|
||||
}
|
||||
@@ -776,7 +782,7 @@ static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_pathp,
|
||||
if (boot_count == 0) {
|
||||
for (;;) {
|
||||
/* try to load heap or boot file this boot file requires */
|
||||
- if (get_string(fd, buf, PATH_MAX, &c) != 0) {
|
||||
+ if (get_string(fd, buf, BOOT_PATH_MAX, &c) != 0) {
|
||||
fprintf(stderr, "unexpected end of file on %s\n", path);
|
||||
CLOSE(fd);
|
||||
S_abnormal_exit();
|
||||
@@ -796,7 +802,7 @@ static IBOOL find_boot(const char *name, const char *ext, IBOOL direct_pathp,
|
||||
c = get_u8(fd);
|
||||
for (sep = " "; ; sep = "or ") {
|
||||
if (c == ')') break;
|
||||
- (void) get_string(fd, buf, PATH_MAX, &c);
|
||||
+ (void) get_string(fd, buf, BOOT_PATH_MAX, &c);
|
||||
fprintf(stderr, "%s%s.boot ", sep, buf);
|
||||
}
|
||||
fprintf(stderr, "required by %s\n", path);
|
||||
@@ -1090,7 +1096,7 @@ extern void Sregister_boot_file_fd_region(const char *name,
|
||||
int close_after) {
|
||||
check_boot_file_state("Sregister_boot_file_fd");
|
||||
|
||||
- if (strlen(name) >= PATH_MAX) {
|
||||
+ if (strlen(name) >= BOOT_PATH_MAX) {
|
||||
fprintf(stderr, "boot-file path is too long %s\n", name);
|
||||
S_abnormal_exit();
|
||||
}
|
||||
@@ -1141,14 +1147,14 @@ extern void Sbuild_heap(const char *kernel, void (*custom_init)(void)) {
|
||||
}
|
||||
|
||||
name = path_last(kernel);
|
||||
- if (strlen(name) >= PATH_MAX) {
|
||||
+ if (strlen(name) >= BOOT_PATH_MAX) {
|
||||
fprintf(stderr, "executable name too long: %s\n", name);
|
||||
S_abnormal_exit();
|
||||
}
|
||||
|
||||
#ifdef WIN32
|
||||
{ /* strip off trailing .exe, if any */
|
||||
- static char buf[PATH_MAX];
|
||||
+ static char buf[BOOT_PATH_MAX];
|
||||
iptr n;
|
||||
|
||||
n = strlen(name) - 4;
|
||||
diff --git a/racket/src/ChezScheme/c/version.h b/racket/src/ChezScheme/c/version.h
|
||||
index a79d12621b..61751a9fad 100644
|
||||
--- a/racket/src/ChezScheme/c/version.h
|
||||
+++ b/racket/src/ChezScheme/c/version.h
|
||||
@@ -80,7 +80,7 @@ FORCEINLINE void store_unaligned_uptr(uptr *addr, uptr val) {
|
||||
/*****************************************/
|
||||
/* Operating systems */
|
||||
|
||||
-#if defined(__linux__)
|
||||
+#if defined(__linux__) || defined(__GNU__) /* Hurd */
|
||||
#define NOBLOCK O_NONBLOCK
|
||||
#define LOAD_SHARED_OBJECT
|
||||
#define USE_MMAP
|
||||
@@ -91,7 +91,10 @@ FORCEINLINE void store_unaligned_uptr(uptr *addr, uptr val) {
|
||||
#define GETPAGESIZE() getpagesize()
|
||||
typedef char *memcpy_t;
|
||||
#define MAKE_NAN(x) { x = 0.0; x = x / x; }
|
||||
-#define GETWD(x) getcwd((x),PATH_MAX)
|
||||
+#ifndef __GNU__ /* Hurd: no PATH_MAX */
|
||||
+/* n.b. don't test PATH_MAX directly: we have not yet included <limits.h> */
|
||||
+# define GETWD(x) getcwd((x),PATH_MAX)
|
||||
+#endif
|
||||
typedef int tputsputcchar;
|
||||
#ifndef __ANDROID__
|
||||
# define LOCKF
|
||||
diff --git a/racket/src/ChezScheme/configure b/racket/src/ChezScheme/configure
|
||||
index f64b639c3a..efdb6029cb 100755
|
||||
--- a/racket/src/ChezScheme/configure
|
||||
+++ b/racket/src/ChezScheme/configure
|
||||
@@ -102,6 +102,11 @@ case "${CONFIG_UNAME}" in
|
||||
installprefix=/usr
|
||||
installmansuffix=share/man
|
||||
;;
|
||||
+ GNU)
|
||||
+ unixsuffix=gnu # the Hurd
|
||||
+ installprefix=/usr
|
||||
+ installmansuffix=share/man
|
||||
+ ;;
|
||||
QNX)
|
||||
if uname -a | egrep 'x86' > /dev/null 2>&1 ; then
|
||||
m32=i3qnx
|
||||
@@ -591,7 +596,7 @@ fi
|
||||
|
||||
# Infer flags needed for threads:
|
||||
case "${flagsm}" in
|
||||
- *le|*fb|*ob|*nb)
|
||||
+ *le|*gnu|*fb|*ob|*nb)
|
||||
threadFlags="-D_REENTRANT -pthread"
|
||||
threadLibs="-lpthread"
|
||||
;;
|
||||
@@ -627,7 +632,7 @@ if [ "$cflagsset" = "no" ] ; then
|
||||
a6*)
|
||||
CFLAGS="-m64 ${optFlags}"
|
||||
;;
|
||||
- i3le)
|
||||
+ i3le) # intentionally not including i3gnu, which may not support sse2
|
||||
CFLAGS="-m32 -msse2 -mfpmath=sse ${optFlags}"
|
||||
;;
|
||||
i3nt)
|
||||
@@ -688,7 +693,7 @@ fi
|
||||
# Add automatic linking flags, unless suppressed by --disable-auto-flags
|
||||
if [ "$addflags" = "yes" ] ; then
|
||||
case "${flagsm}" in
|
||||
- *le)
|
||||
+ *le|*gnu)
|
||||
LDFLAGS="${LDFLAGS} -rdynamic"
|
||||
;;
|
||||
*fb|*nb)
|
||||
@@ -702,7 +707,7 @@ if [ "$addflags" = "yes" ] ; then
|
||||
esac
|
||||
|
||||
case "${flagsm}" in
|
||||
- *le)
|
||||
+ *le|*gnu)
|
||||
LIBS="${LIBS} -lm -ldl ${ncursesLib} -lrt"
|
||||
;;
|
||||
*fb|*ob)
|
||||
@@ -749,7 +754,7 @@ exeSuffix=
|
||||
|
||||
# compile flags for c/Mf-unix and mats/Mf-unix
|
||||
case "${flagsmuni}" in
|
||||
- *le)
|
||||
+ *le|*gnu)
|
||||
mdcflags="-fPIC -shared"
|
||||
;;
|
||||
*fb|*ob)
|
||||
@@ -781,7 +786,7 @@ case "${flagsmuni}" in
|
||||
i3le)
|
||||
mdldflags="-melf_i386"
|
||||
;;
|
||||
- *le)
|
||||
+ *le|*gnu)
|
||||
;;
|
||||
i3nb)
|
||||
mdldflags="-m elf_i386"
|
||||
diff --git a/racket/src/ChezScheme/s/cmacros.ss b/racket/src/ChezScheme/s/cmacros.ss
|
||||
index ff2b09217b..2e79a4d8de 100644
|
||||
--- a/racket/src/ChezScheme/s/cmacros.ss
|
||||
+++ b/racket/src/ChezScheme/s/cmacros.ss
|
||||
@@ -385,6 +385,7 @@
|
||||
i3fb ti3fb
|
||||
i3ob ti3ob
|
||||
i3osx ti3osx
|
||||
+ i3gnu ti3gnu
|
||||
a6le ta6le
|
||||
a6osx ta6osx
|
||||
a6ob ta6ob
|
||||
diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure
|
||||
index 454d79e11a..dab545c0b4 100755
|
||||
--- a/racket/src/cs/c/configure
|
||||
+++ b/racket/src/cs/c/configure
|
||||
@@ -4449,8 +4449,15 @@ case "$host_os" in
|
||||
;;
|
||||
irix*)
|
||||
;;
|
||||
- linux*)
|
||||
- MACH_OS=le
|
||||
+ linux*|gnu*)
|
||||
+ case "$host_os" in
|
||||
+ *linux*)
|
||||
+ MACH_OS=le
|
||||
+ ;;
|
||||
+ *)
|
||||
+ MACH_OS=gnu # Hurd
|
||||
+ ;;
|
||||
+ esac
|
||||
case "$host_os" in
|
||||
*linux-android*)
|
||||
;;
|
||||
@@ -4730,6 +4737,9 @@ if test "${build_os}_${build_cpu}" != "${host_os}_${host_cpu}" ; then
|
||||
linux*)
|
||||
BUILD_OS=le
|
||||
;;
|
||||
+ gnu*) # Hurd: must come after linux*
|
||||
+ BUILD_OS=gnu
|
||||
+ ;;
|
||||
*mingw*)
|
||||
BUILD_OS=nt
|
||||
;;
|
||||
diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac
|
||||
index 5bce979c92..43e7307b1b 100644
|
||||
--- a/racket/src/cs/c/configure.ac
|
||||
+++ b/racket/src/cs/c/configure.ac
|
||||
@@ -272,8 +272,15 @@ case "$host_os" in
|
||||
;;
|
||||
irix*)
|
||||
;;
|
||||
- linux*)
|
||||
- MACH_OS=le
|
||||
+ linux*|gnu*)
|
||||
+ case "$host_os" in
|
||||
+ linux*)
|
||||
+ MACH_OS=le
|
||||
+ ;;
|
||||
+ *)
|
||||
+ MACH_OS=gnu # Hurd
|
||||
+ ;;
|
||||
+ esac
|
||||
case "$host_os" in
|
||||
*linux-android*)
|
||||
;;
|
||||
@@ -466,6 +473,9 @@ if test "${build_os}_${build_cpu}" != "${host_os}_${host_cpu}" ; then
|
||||
linux*)
|
||||
BUILD_OS=le
|
||||
;;
|
||||
+ gnu*) # Hurd - must come after linux*
|
||||
+ BUILD_OS=gnu
|
||||
+ ;;
|
||||
*mingw*)
|
||||
BUILD_OS=nt
|
||||
;;
|
||||
diff --git a/racket/src/cs/rumble/system.ss b/racket/src/cs/rumble/system.ss
|
||||
index 2319cbe7a5..773eb79cf3 100644
|
||||
--- a/racket/src/cs/rumble/system.ss
|
||||
+++ b/racket/src/cs/rumble/system.ss
|
||||
@@ -48,6 +48,8 @@
|
||||
arm32le tarm32le arm64le tarm64le
|
||||
ppc32le tppc32le)
|
||||
'linux]
|
||||
+ [(i3gnu ti3gnu)
|
||||
+ 'gnu-hurd]
|
||||
[(a6fb ta6fb i3fb ti3fb
|
||||
arm32fb tarm32fb arm64fb tarm64fb
|
||||
ppc32fb tppc32fb)
|
||||
@@ -85,6 +87,7 @@
|
||||
i3nb ti3nb
|
||||
i3fb ti3fb
|
||||
i3s2 ti3s2
|
||||
+ i3gnu ti3gnu
|
||||
i3qnx)
|
||||
'i386]
|
||||
[(arm32le tarm32le
|
||||
--
|
||||
2.32.0
|
||||
|
||||
|
||||
From 8653294b771c741d320aba31e692b4f0ed0c702f Mon Sep 17 00:00:00 2001
|
||||
From: Philip McGrath <philip@philipmcgrath.com>
|
||||
Date: Thu, 4 Aug 2022 20:18:09 -0400
|
||||
Subject: [PATCH 2/3] BC: Fix build on GNU/Hurd
|
||||
|
||||
(cherry picked from commit 5c05496afd6159c2f9cd52e7f23389fdc6b55f43)
|
||||
---
|
||||
racket/src/bc/configure | 2 +-
|
||||
racket/src/bc/configure.ac | 2 +-
|
||||
racket/src/bc/sconfig.h | 14 +++++++++-----
|
||||
3 files changed, 11 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/racket/src/bc/configure b/racket/src/bc/configure
|
||||
index 4ddb607b37..4ee346014d 100755
|
||||
--- a/racket/src/bc/configure
|
||||
+++ b/racket/src/bc/configure
|
||||
@@ -5018,7 +5018,7 @@ case "$host_os" in
|
||||
X_PRE_LIBS=""
|
||||
fi
|
||||
;;
|
||||
- linux*)
|
||||
+ linux*,gnu*)
|
||||
LIBS="$LIBS -ldl -lm -lrt -rdynamic"
|
||||
DYN_CFLAGS="-fPIC"
|
||||
curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a"
|
||||
diff --git a/racket/src/bc/configure.ac b/racket/src/bc/configure.ac
|
||||
index deef8f3077..866851236e 100644
|
||||
--- a/racket/src/bc/configure.ac
|
||||
+++ b/racket/src/bc/configure.ac
|
||||
@@ -557,7 +557,7 @@ case "$host_os" in
|
||||
X_PRE_LIBS=""
|
||||
fi
|
||||
;;
|
||||
- linux*)
|
||||
+ linux*,gnu*)
|
||||
LIBS="$LIBS -ldl -lm -lrt -rdynamic"
|
||||
DYN_CFLAGS="-fPIC"
|
||||
curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a"
|
||||
diff --git a/racket/src/bc/sconfig.h b/racket/src/bc/sconfig.h
|
||||
index 01ecb48158..8468942fcd 100644
|
||||
--- a/racket/src/bc/sconfig.h
|
||||
+++ b/racket/src/bc/sconfig.h
|
||||
@@ -79,12 +79,14 @@
|
||||
|
||||
#endif
|
||||
|
||||
- /************** Linux with gcc ****************/
|
||||
+ /************** Linux (or Hurd) with gcc ****************/
|
||||
|
||||
-#if defined(__linux__)
|
||||
+#if defined(__linux__) || defined(__GNU__)
|
||||
|
||||
# ifdef __ANDROID__
|
||||
# define SCHEME_OS "android"
|
||||
+# elif defined(__GNU__)
|
||||
+# define SCHEME_OS "gnu-hurd"
|
||||
# else
|
||||
# define SCHEME_OS "linux"
|
||||
# endif
|
||||
@@ -146,13 +148,15 @@
|
||||
# define USE_IEEE_FP_PREDS
|
||||
# define USE_EXPLICT_FP_FORM_CHECK
|
||||
|
||||
-# define LINUX_FIND_STACK_BASE
|
||||
+# define LINUX_FIND_STACK_BASE /* also ok for Hurd */
|
||||
|
||||
# define FLAGS_ALREADY_SET
|
||||
|
||||
#if defined(__i386__)
|
||||
-# define MZ_USE_JIT_I386
|
||||
-# define MZ_JIT_USE_MPROTECT
|
||||
+# ifndef __GNU__ /* Hurd */
|
||||
+# define MZ_USE_JIT_I386
|
||||
+# define MZ_JIT_USE_MPROTECT
|
||||
+# endif
|
||||
# ifndef MZ_NO_UNWIND_SUPPORT
|
||||
# define MZ_USE_DWARF_LIBUNWIND
|
||||
# endif
|
||||
--
|
||||
2.32.0
|
||||
|
||||
|
||||
From 1b0cd08557f58506c96f0ddd855bd9051a45a2f1 Mon Sep 17 00:00:00 2001
|
||||
From: Philip McGrath <philip@philipmcgrath.com>
|
||||
Date: Sat, 6 Aug 2022 22:48:40 -0400
|
||||
Subject: [PATCH 3/3] BC: repair configure script
|
||||
|
||||
Hopefully this will fix the DrDr failures caused by 5c05496.
|
||||
|
||||
Related to https://github.com/racket/racket/pull/4384
|
||||
|
||||
(cherry picked from commit c3dd01055ed7589a18136904510fe4db557d6e77)
|
||||
---
|
||||
racket/src/bc/configure | 2 +-
|
||||
racket/src/bc/configure.ac | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/racket/src/bc/configure b/racket/src/bc/configure
|
||||
index 4ee346014d..b1c5175b84 100755
|
||||
--- a/racket/src/bc/configure
|
||||
+++ b/racket/src/bc/configure
|
||||
@@ -5018,7 +5018,7 @@ case "$host_os" in
|
||||
X_PRE_LIBS=""
|
||||
fi
|
||||
;;
|
||||
- linux*,gnu*)
|
||||
+ linux*|gnu*)
|
||||
LIBS="$LIBS -ldl -lm -lrt -rdynamic"
|
||||
DYN_CFLAGS="-fPIC"
|
||||
curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a"
|
||||
diff --git a/racket/src/bc/configure.ac b/racket/src/bc/configure.ac
|
||||
index 866851236e..ecc3b0b579 100644
|
||||
--- a/racket/src/bc/configure.ac
|
||||
+++ b/racket/src/bc/configure.ac
|
||||
@@ -557,7 +557,7 @@ case "$host_os" in
|
||||
X_PRE_LIBS=""
|
||||
fi
|
||||
;;
|
||||
- linux*,gnu*)
|
||||
+ linux*|gnu*)
|
||||
LIBS="$LIBS -ldl -lm -lrt -rdynamic"
|
||||
DYN_CFLAGS="-fPIC"
|
||||
curses_portable_link="/usr/lib/${host_cpu}-${host_os}/libncurses.a /usr/lib/${host_cpu}-${host_os}/libtermcap.a"
|
||||
--
|
||||
2.32.0
|
||||
|
481
gnu/packages/patches/racket-backport-8.6-zuo.patch
Normal file
481
gnu/packages/patches/racket-backport-8.6-zuo.patch
Normal file
@ -0,0 +1,481 @@
|
||||
From 8761fc06b188b9ca2f4b7f2b7d1235075c44a321 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Flatt <mflatt@racket-lang.org>
|
||||
Date: Sat, 23 Jul 2022 17:10:58 -0600
|
||||
Subject: [PATCH 1/4] Zuo: support cross compilation via `configure` and
|
||||
`CC_FOR_BUILD`
|
||||
|
||||
(cherry picked from commit 798a989ba6d1a30c491a3120b2c2f1570ecab911)
|
||||
---
|
||||
racket/src/zuo/Makefile.in | 7 ++++++-
|
||||
racket/src/zuo/README.md | 10 ++++++++++
|
||||
racket/src/zuo/configure | 15 +++++++++++++++
|
||||
racket/src/zuo/configure.ac | 11 +++++++++++
|
||||
4 files changed, 42 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/racket/src/zuo/Makefile.in b/racket/src/zuo/Makefile.in
|
||||
index 5d16e145bf..747b584c5c 100644
|
||||
--- a/racket/src/zuo/Makefile.in
|
||||
+++ b/racket/src/zuo/Makefile.in
|
||||
@@ -17,6 +17,11 @@ CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
|
||||
+CC_FOR_BUILD = @CC_FOR_BUILD@
|
||||
+CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
|
||||
+LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
|
||||
+LIBS_FOR_BUILD = @LIBS_FOR_BUILD@
|
||||
+
|
||||
EMBED_LIBS = @EMBED_LIBS@
|
||||
|
||||
.PHONY: zuos-to-run-and-install
|
||||
@@ -24,7 +29,7 @@ zuos-to-run-and-install: zuo
|
||||
./zuo . zuos-to-run-and-install
|
||||
|
||||
zuo: $(srcdir)/zuo.c
|
||||
- $(CC) $(CPPFLAGS) $(CFLAGS) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS) $(LIBS)
|
||||
+ $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD)
|
||||
|
||||
.PHONY: check
|
||||
check: zuo
|
||||
diff --git a/racket/src/zuo/README.md b/racket/src/zuo/README.md
|
||||
index 17c88ee9ec..3aad504b7e 100644
|
||||
--- a/racket/src/zuo/README.md
|
||||
+++ b/racket/src/zuo/README.md
|
||||
@@ -84,6 +84,16 @@ A boot image is machine-independent, whether in a stand-alone file or
|
||||
embedded in `.c` source.
|
||||
|
||||
|
||||
+Cross Compiling
|
||||
+---------------
|
||||
+
|
||||
+If you use `./configure --host=...` to cross compile, then you will
|
||||
+also need to add something like `CC_FOR_BUILD=cc` as a `./configure`
|
||||
+argument to specify the compiler for a `zuo` to use on the build
|
||||
+machine. If necessary, you can also specify `CFLAGS_FOR_BUILD`,
|
||||
+`LDFLAGS_FOR_BUILD`, and/or `LIBS_FOR_BUILD`.
|
||||
+
|
||||
+
|
||||
Embedding Zuo in Another Application
|
||||
------------------------------------
|
||||
|
||||
diff --git a/racket/src/zuo/configure b/racket/src/zuo/configure
|
||||
index 1fa34a3fe8..575ce07d96 100755
|
||||
--- a/racket/src/zuo/configure
|
||||
+++ b/racket/src/zuo/configure
|
||||
@@ -589,6 +589,10 @@ enable_embed="zuo"
|
||||
ac_subst_vars='LTLIBOBJS
|
||||
LIBOBJS
|
||||
EMBED_LIBS
|
||||
+LIBS_FOR_BUILD
|
||||
+LDFLAGS_FOR_BUILD
|
||||
+CFLAGS_FOR_BUILD
|
||||
+CC_FOR_BUILD
|
||||
OBJEXT
|
||||
EXEEXT
|
||||
ac_ct_CC
|
||||
@@ -2584,6 +2588,17 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
|
||||
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
|
||||
|
||||
+if test "${CC_FOR_BUILD}" = ""; then
|
||||
+ CC_FOR_BUILD='$(CC) -O2'
|
||||
+ CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)'
|
||||
+ LDFLAGS_FOR_BUILD='$(LDFLAGS)'
|
||||
+ LIBS_FOR_BUILD='$(LIBS)'
|
||||
+fi
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: zuo libraries to embed: \"${EMBED_LIBS}\"" >&5
|
||||
$as_echo "$as_me: zuo libraries to embed: \"${EMBED_LIBS}\"" >&6;}
|
||||
diff --git a/racket/src/zuo/configure.ac b/racket/src/zuo/configure.ac
|
||||
index 89b3c6391d..598ff79629 100644
|
||||
--- a/racket/src/zuo/configure.ac
|
||||
+++ b/racket/src/zuo/configure.ac
|
||||
@@ -25,6 +25,17 @@ AS_IF([test "x$enable_embed" = xno],
|
||||
AC_PROG_MAKE_SET()
|
||||
AC_PROG_CC
|
||||
|
||||
+if test "${CC_FOR_BUILD}" = ""; then
|
||||
+ CC_FOR_BUILD='$(CC) -O2'
|
||||
+ CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)'
|
||||
+ LDFLAGS_FOR_BUILD='$(LDFLAGS)'
|
||||
+ LIBS_FOR_BUILD='$(LIBS)'
|
||||
+fi
|
||||
+AC_SUBST(CC_FOR_BUILD)
|
||||
+AC_SUBST(CFLAGS_FOR_BUILD)
|
||||
+AC_SUBST(LDFLAGS_FOR_BUILD)
|
||||
+AC_SUBST(LIBS_FOR_BUILD)
|
||||
+
|
||||
AC_SUBST(EMBED_LIBS)
|
||||
AC_MSG_NOTICE([zuo libraries to embed: "${EMBED_LIBS}"])
|
||||
|
||||
--
|
||||
2.32.0
|
||||
|
||||
|
||||
From f65194ea41eb472fbdd45d5f6c13eabe5e681704 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Flatt <mflatt@racket-lang.org>
|
||||
Date: Sat, 23 Jul 2022 17:47:03 -0600
|
||||
Subject: [PATCH 2/4] Zuo: sort hash keys
|
||||
|
||||
Printing in a sorted order is helpful to make things more
|
||||
deterministic independent of symbol inputs. Making `hash-keys`
|
||||
produce a sorted list generalizes that determinism.
|
||||
|
||||
(cherry picked from commit 4e7ffd3b365d01c5d0993c0b3fd24c9623962edf)
|
||||
---
|
||||
racket/src/zuo/build.zuo | 5 ++-
|
||||
racket/src/zuo/tests/hash.zuo | 8 ++--
|
||||
racket/src/zuo/zuo-doc/lang-zuo.scrbl | 18 +++++++--
|
||||
racket/src/zuo/zuo.c | 57 ++++++++++++++++++++++++++-
|
||||
4 files changed, 78 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/racket/src/zuo/build.zuo b/racket/src/zuo/build.zuo
|
||||
index c1b5e8ce66..129240120a 100644
|
||||
--- a/racket/src/zuo/build.zuo
|
||||
+++ b/racket/src/zuo/build.zuo
|
||||
@@ -47,7 +47,10 @@
|
||||
(target (at-dir (add-exe name))
|
||||
(lambda (path token)
|
||||
(rule (list image_zuo.c
|
||||
- (input-data-target 'config config)
|
||||
+ (input-data-target 'config (cons
|
||||
+ lib-path
|
||||
+ (map (lambda (key) (hash-ref config key))
|
||||
+ '(CC CPPFLAGS CFLAGS LDFLAGS LIBS))))
|
||||
(quote-module-path))
|
||||
(lambda ()
|
||||
(define l (split-path path))
|
||||
diff --git a/racket/src/zuo/tests/hash.zuo b/racket/src/zuo/tests/hash.zuo
|
||||
index a35741c730..0d3d7f3af6 100644
|
||||
--- a/racket/src/zuo/tests/hash.zuo
|
||||
+++ b/racket/src/zuo/tests/hash.zuo
|
||||
@@ -35,9 +35,7 @@
|
||||
|
||||
(check (hash-keys (hash)) '())
|
||||
(check (hash-keys (hash 'a 1)) '(a))
|
||||
-(check (let ([keys (hash-keys (hash 'a 1 'b 2))])
|
||||
- (or (equal? keys '(a b))
|
||||
- (equal? keys '(b a)))))
|
||||
+(check (hash-keys (hash 'a 1 'b 2)) '(a b)) ; always in order
|
||||
(check (length (hash-keys (hash 'a 1 'b 2 'c 3))) 3)
|
||||
(check (length (hash-keys (hash 'a 1 'b 2 'a 3))) 2)
|
||||
(check-arg-fail (hash-keys 0) "not a hash table")
|
||||
@@ -50,3 +48,7 @@
|
||||
(check (hash-keys-subset? (hash 'a 1 'b 2) (hash 'b 1)) #f)
|
||||
(check-arg-fail (hash-keys-subset? 0 (hash)) "not a hash table")
|
||||
(check-arg-fail (hash-keys-subset? (hash) 0) "not a hash table")
|
||||
+
|
||||
+;; print sorts keys alphabetically:
|
||||
+(check (~a (hash 'a 1 'b 2)) "#hash((a . 1) (b . 2))")
|
||||
+(check (~a (hash 'b 2 'a 1)) "#hash((a . 1) (b . 2))")
|
||||
diff --git a/racket/src/zuo/zuo-doc/lang-zuo.scrbl b/racket/src/zuo/zuo-doc/lang-zuo.scrbl
|
||||
index 94641d041e..4605e47471 100644
|
||||
--- a/racket/src/zuo/zuo-doc/lang-zuo.scrbl
|
||||
+++ b/racket/src/zuo/zuo-doc/lang-zuo.scrbl
|
||||
@@ -538,10 +538,20 @@ support to convert the textual form back into a hash table value.
|
||||
|
||||
Analogous to @realracket*[hash? hash hash-ref hash-set hash-remove
|
||||
hash-keys hash-count hash-keys-subset?] from @racketmodname[racket].
|
||||
-Besides being constrained to symbol keys, there is one additional
|
||||
-difference: the third argument to @racket[hash-ref], when supplied,
|
||||
-is always used as a value to return if a key is missing, as
|
||||
-opposed to a failure thunk.}
|
||||
+
|
||||
+Besides being constrained to symbol keys, there are two additional
|
||||
+differences:
|
||||
+
|
||||
+@itemlist[
|
||||
+
|
||||
+ @item{the third argument to @racket[hash-ref], when supplied, is
|
||||
+ always used as a value to return if a key is missing, as
|
||||
+ opposed to a failure thunk; and}
|
||||
+
|
||||
+ @item{the @racket[hash-keys] function returns interned keys sorted
|
||||
+ alphabetically.}
|
||||
+
|
||||
+]}
|
||||
|
||||
|
||||
@section{Procedures}
|
||||
diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c
|
||||
index 2957d478af..88d5747326 100644
|
||||
--- a/racket/src/zuo/zuo.c
|
||||
+++ b/racket/src/zuo/zuo.c
|
||||
@@ -1298,6 +1298,59 @@ static zuo_t *zuo_trie_keys(zuo_t *trie_in, zuo_t *accum) {
|
||||
return accum;
|
||||
}
|
||||
|
||||
+/*======================================================================*/
|
||||
+/* symbol-list sorting */
|
||||
+/*======================================================================*/
|
||||
+
|
||||
+/* merge sort used to make hash printing deterministic */
|
||||
+static zuo_t *zuo_symbol_list_sort(zuo_t *l_in) {
|
||||
+ zuo_t *l, *left, *right, *first, *last;
|
||||
+ zuo_uint_t len = 0, i;
|
||||
+
|
||||
+ for (l = l_in, len = 0; l != z.o_null; l = _zuo_cdr(l))
|
||||
+ len++;
|
||||
+
|
||||
+ if (len < 2)
|
||||
+ return l_in;
|
||||
+
|
||||
+ left = z.o_null;
|
||||
+ for (l = l_in, i = len >> 1; i > 0; l = _zuo_cdr(l), i--)
|
||||
+ left = zuo_cons(_zuo_car(l), left);
|
||||
+ right = l;
|
||||
+
|
||||
+ left = zuo_symbol_list_sort(left);
|
||||
+ right = zuo_symbol_list_sort(right);
|
||||
+
|
||||
+ first = last = z.o_null;
|
||||
+ while ((left != z.o_null) && (right != z.o_null)) {
|
||||
+ zuo_t *p;
|
||||
+
|
||||
+ if (strcmp(ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(left))->str),
|
||||
+ ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(right))->str))
|
||||
+ < 1) {
|
||||
+ p = zuo_cons(_zuo_car(left), z.o_null);
|
||||
+ left = _zuo_cdr(left);
|
||||
+ } else {
|
||||
+ p = zuo_cons(_zuo_car(right), z.o_null);
|
||||
+ right = _zuo_cdr(right);
|
||||
+ }
|
||||
+
|
||||
+ if (first == z.o_null)
|
||||
+ first = p;
|
||||
+ else
|
||||
+ ((zuo_pair_t *)last)->cdr = p;
|
||||
+ last = p;
|
||||
+ }
|
||||
+
|
||||
+ ((zuo_pair_t *)last)->cdr = ((left != z.o_null) ? left : right);
|
||||
+
|
||||
+ return first;
|
||||
+}
|
||||
+
|
||||
+static zuo_t *zuo_trie_sorted_keys(zuo_t *trie_in, zuo_t *accum) {
|
||||
+ return zuo_symbol_list_sort(zuo_trie_keys(trie_in, accum));
|
||||
+}
|
||||
+
|
||||
/*======================================================================*/
|
||||
/* terminal support */
|
||||
/*======================================================================*/
|
||||
@@ -1571,7 +1624,7 @@ static void zuo_out(zuo_out_t *out, zuo_t *obj, zuo_print_mode_t mode) {
|
||||
out_string(out, "opaque");
|
||||
out_string(out, ">");
|
||||
} else if (obj->tag == zuo_trie_node_tag) {
|
||||
- zuo_t *keys = zuo_trie_keys(obj, z.o_null);
|
||||
+ zuo_t *keys = zuo_trie_sorted_keys(obj, z.o_null);
|
||||
if (mode == zuo_print_mode) {
|
||||
out_string(out, "(hash");
|
||||
if (keys != z.o_null)
|
||||
@@ -2587,7 +2640,7 @@ static zuo_t *zuo_hash_remove(zuo_t *ht, zuo_t *sym) {
|
||||
|
||||
static zuo_t *zuo_hash_keys(zuo_t *ht) {
|
||||
check_hash("hash-keys", ht);
|
||||
- return zuo_trie_keys(ht, z.o_null);
|
||||
+ return zuo_trie_sorted_keys(ht, z.o_null);
|
||||
}
|
||||
|
||||
static zuo_t *zuo_hash_keys_subset_p(zuo_t *ht, zuo_t *ht2) {
|
||||
--
|
||||
2.32.0
|
||||
|
||||
|
||||
From f2eecaa1dd875479d2cf51566223b3d0d7b9f738 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Flatt <mflatt@racket-lang.org>
|
||||
Date: Sat, 23 Jul 2022 18:06:41 -0600
|
||||
Subject: [PATCH 3/4] Zuo: check for nul characters in `string->symbol`
|
||||
|
||||
(cherry picked from commit e20022ccfad40d0ba2e77aa75bc4f775018c781f)
|
||||
---
|
||||
racket/src/zuo/tests/symbol.zuo | 3 +++
|
||||
racket/src/zuo/zuo-doc/lang-zuo.scrbl | 4 ++-
|
||||
racket/src/zuo/zuo.c | 37 +++++++++++++++++----------
|
||||
3 files changed, 29 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/racket/src/zuo/tests/symbol.zuo b/racket/src/zuo/tests/symbol.zuo
|
||||
index 7775aeeb04..5600a89755 100644
|
||||
--- a/racket/src/zuo/tests/symbol.zuo
|
||||
+++ b/racket/src/zuo/tests/symbol.zuo
|
||||
@@ -19,3 +19,6 @@
|
||||
(check (not (equal? 'apple (string->uninterned-symbol "apple"))))
|
||||
(check-arg-fail (string->symbol 'apple) not-string)
|
||||
(check-arg-fail (string->uninterned-symbol 'apple) not-string)
|
||||
+
|
||||
+(check-arg-fail (string->symbol "apple\0spice") "without a nul character")
|
||||
+(check (symbol? (string->uninterned-symbol "apple\0spice")))
|
||||
diff --git a/racket/src/zuo/zuo-doc/lang-zuo.scrbl b/racket/src/zuo/zuo-doc/lang-zuo.scrbl
|
||||
index 4605e47471..07dd5815b0 100644
|
||||
--- a/racket/src/zuo/zuo-doc/lang-zuo.scrbl
|
||||
+++ b/racket/src/zuo/zuo-doc/lang-zuo.scrbl
|
||||
@@ -500,7 +500,9 @@ back into Zuo.
|
||||
)]{
|
||||
|
||||
Analogous to @realracket*[symbol? symbol->string string->symbol
|
||||
-string->uninterned-symbol] from @racketmodname[racket].}
|
||||
+string->uninterned-symbol] from @racketmodname[racket], but
|
||||
+@racket[string->symbol] accepts only strings that do not contain the
|
||||
+null character.}
|
||||
|
||||
|
||||
@section{Hash Tables (Persistent Maps)}
|
||||
diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c
|
||||
index 88d5747326..17f161826d 100644
|
||||
--- a/racket/src/zuo/zuo.c
|
||||
+++ b/racket/src/zuo/zuo.c
|
||||
@@ -1323,7 +1323,7 @@ static zuo_t *zuo_symbol_list_sort(zuo_t *l_in) {
|
||||
|
||||
first = last = z.o_null;
|
||||
while ((left != z.o_null) && (right != z.o_null)) {
|
||||
- zuo_t *p;
|
||||
+ zuo_t *p, *s_left, *s_right;
|
||||
|
||||
if (strcmp(ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(left))->str),
|
||||
ZUO_STRING_PTR(((zuo_symbol_t *)_zuo_car(right))->str))
|
||||
@@ -2573,8 +2573,28 @@ static zuo_t *zuo_substring(zuo_t *obj, zuo_t *start_i, zuo_t *end_i) {
|
||||
return zuo_sized_string((const char *)&((zuo_string_t *)obj)->s[s_idx], e_idx - s_idx);
|
||||
}
|
||||
|
||||
+static int zuo_is_string_without_nul(zuo_t *obj) {
|
||||
+ zuo_int_t i;
|
||||
+
|
||||
+ if ((obj->tag != zuo_string_tag)
|
||||
+ || ZUO_STRING_LEN(obj) == 0)
|
||||
+ return 0;
|
||||
+
|
||||
+ for (i = ZUO_STRING_LEN(obj); i--; ) {
|
||||
+ if (((zuo_string_t *)obj)->s[i] == 0)
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
static zuo_t *zuo_string_to_symbol(zuo_t *obj) {
|
||||
- check_string("string->symbol", obj);
|
||||
+ if (!zuo_is_string_without_nul(obj)) {
|
||||
+ const char *who = "string->symbol";
|
||||
+ check_string(who, obj);
|
||||
+ zuo_fail_arg(who, "string without a nul character", obj);
|
||||
+ }
|
||||
+
|
||||
return zuo_symbol_from_string(ZUO_STRING_PTR(obj), obj);
|
||||
}
|
||||
|
||||
@@ -3577,18 +3597,7 @@ static void *zuo_envvars_block(const char *who, zuo_t *envvars)
|
||||
#endif
|
||||
|
||||
static int zuo_is_path_string(zuo_t *obj) {
|
||||
- zuo_int_t i;
|
||||
-
|
||||
- if ((obj->tag != zuo_string_tag)
|
||||
- || ZUO_STRING_LEN(obj) == 0)
|
||||
- return 0;
|
||||
-
|
||||
- for (i = ZUO_STRING_LEN(obj); i--; ) {
|
||||
- if (((zuo_string_t *)obj)->s[i] == 0)
|
||||
- return 0;
|
||||
- }
|
||||
-
|
||||
- return 1;
|
||||
+ return zuo_is_string_without_nul(obj);
|
||||
}
|
||||
|
||||
static zuo_t *zuo_path_string_p(zuo_t *obj) {
|
||||
--
|
||||
2.32.0
|
||||
|
||||
|
||||
From de6618cb3819d25580e3cd400ea09c8cf4f673a9 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Flatt <mflatt@racket-lang.org>
|
||||
Date: Sat, 23 Jul 2022 19:50:46 -0600
|
||||
Subject: [PATCH 4/4] Zuo: CPPFLAGS_FOR_BUILD, too
|
||||
|
||||
(cherry picked from commit cf82706c4b298f654a04c4bc8d98dff39b62a2ac)
|
||||
---
|
||||
racket/src/zuo/Makefile.in | 3 ++-
|
||||
racket/src/zuo/configure | 5 ++++-
|
||||
racket/src/zuo/configure.ac | 4 +++-
|
||||
3 files changed, 9 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/racket/src/zuo/Makefile.in b/racket/src/zuo/Makefile.in
|
||||
index 747b584c5c..0376c038a8 100644
|
||||
--- a/racket/src/zuo/Makefile.in
|
||||
+++ b/racket/src/zuo/Makefile.in
|
||||
@@ -19,6 +19,7 @@ LIBS = @LIBS@
|
||||
|
||||
CC_FOR_BUILD = @CC_FOR_BUILD@
|
||||
CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
|
||||
+CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
|
||||
LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
|
||||
LIBS_FOR_BUILD = @LIBS_FOR_BUILD@
|
||||
|
||||
@@ -29,7 +30,7 @@ zuos-to-run-and-install: zuo
|
||||
./zuo . zuos-to-run-and-install
|
||||
|
||||
zuo: $(srcdir)/zuo.c
|
||||
- $(CC_FOR_BUILD) $(FLAGS_FOR_BUILD) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD)
|
||||
+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) -DZUO_LIB_PATH='"'"$(srcdir)/lib"'"' -o zuo $(srcdir)/zuo.c $(LDFLAGS_FOR_BUILD) $(LIBS_FOR_BUILD)
|
||||
|
||||
.PHONY: check
|
||||
check: zuo
|
||||
diff --git a/racket/src/zuo/configure b/racket/src/zuo/configure
|
||||
index 575ce07d96..7ac453e3bc 100755
|
||||
--- a/racket/src/zuo/configure
|
||||
+++ b/racket/src/zuo/configure
|
||||
@@ -591,6 +591,7 @@ LIBOBJS
|
||||
EMBED_LIBS
|
||||
LIBS_FOR_BUILD
|
||||
LDFLAGS_FOR_BUILD
|
||||
+CPPFLAGS_FOR_BUILD
|
||||
CFLAGS_FOR_BUILD
|
||||
CC_FOR_BUILD
|
||||
OBJEXT
|
||||
@@ -2590,7 +2591,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
|
||||
if test "${CC_FOR_BUILD}" = ""; then
|
||||
CC_FOR_BUILD='$(CC) -O2'
|
||||
- CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)'
|
||||
+ CPPFLAGS_FOR_BUILD='$(CPPFLAGS)'
|
||||
+ CFLAGS_FOR_BUILD='$(CFLAGS)'
|
||||
LDFLAGS_FOR_BUILD='$(LDFLAGS)'
|
||||
LIBS_FOR_BUILD='$(LIBS)'
|
||||
fi
|
||||
@@ -2600,6 +2602,7 @@ fi
|
||||
|
||||
|
||||
|
||||
+
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: zuo libraries to embed: \"${EMBED_LIBS}\"" >&5
|
||||
$as_echo "$as_me: zuo libraries to embed: \"${EMBED_LIBS}\"" >&6;}
|
||||
|
||||
diff --git a/racket/src/zuo/configure.ac b/racket/src/zuo/configure.ac
|
||||
index 598ff79629..051ea0beb5 100644
|
||||
--- a/racket/src/zuo/configure.ac
|
||||
+++ b/racket/src/zuo/configure.ac
|
||||
@@ -27,12 +27,14 @@ AC_PROG_CC
|
||||
|
||||
if test "${CC_FOR_BUILD}" = ""; then
|
||||
CC_FOR_BUILD='$(CC) -O2'
|
||||
- CFLAGS_FOR_BUILD='$(CPPFLAGS) $(CFLAGS)'
|
||||
+ CPPFLAGS_FOR_BUILD='$(CPPFLAGS)'
|
||||
+ CFLAGS_FOR_BUILD='$(CFLAGS)'
|
||||
LDFLAGS_FOR_BUILD='$(LDFLAGS)'
|
||||
LIBS_FOR_BUILD='$(LIBS)'
|
||||
fi
|
||||
AC_SUBST(CC_FOR_BUILD)
|
||||
AC_SUBST(CFLAGS_FOR_BUILD)
|
||||
+AC_SUBST(CPPFLAGS_FOR_BUILD)
|
||||
AC_SUBST(LDFLAGS_FOR_BUILD)
|
||||
AC_SUBST(LIBS_FOR_BUILD)
|
||||
|
||||
--
|
||||
2.32.0
|
||||
|
76
gnu/packages/patches/racket-chez-scheme-bin-sh.patch
Normal file
76
gnu/packages/patches/racket-chez-scheme-bin-sh.patch
Normal file
@ -0,0 +1,76 @@
|
||||
From f86370295c5bb14d4bb93d0ccfa37a2b79f19f25 Mon Sep 17 00:00:00 2001
|
||||
From: Philip McGrath <philip@philipmcgrath.com>
|
||||
Date: Wed, 24 Aug 2022 19:55:14 -0400
|
||||
Subject: [PATCH] Chez Scheme: patch s_process for "/bin/sh" on Guix
|
||||
|
||||
If:
|
||||
|
||||
1. The nonstandard but ubiquitous macro `_PATH_BSHELL` from
|
||||
<paths.h> is defined; and
|
||||
|
||||
2. The path specified by `_PATH_BSHELL` exists;
|
||||
|
||||
then `s_process` will call `execl` with the file specified by
|
||||
`_PATH_BSHELL` instead of "/bin/sh".
|
||||
|
||||
Checking that the path specified by `_PATH_BSHELL` exists safeguards
|
||||
against obscure errors if attempting to use stand-alone executables
|
||||
built by the patched Racket in non-Guix envoronments.
|
||||
|
||||
This patch does not change the behavior of `s_system`, which relies
|
||||
on `system` from the C library.
|
||||
---
|
||||
racket/src/ChezScheme/c/prim5.c | 21 ++++++++++++++++++++-
|
||||
1 file changed, 20 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/racket/src/ChezScheme/c/prim5.c b/racket/src/ChezScheme/c/prim5.c
|
||||
index 82bbf8d687..be8f603447 100644
|
||||
--- a/racket/src/ChezScheme/c/prim5.c
|
||||
+++ b/racket/src/ChezScheme/c/prim5.c
|
||||
@@ -27,6 +27,12 @@
|
||||
#include <sys/resource.h>
|
||||
#endif
|
||||
|
||||
+/* BEGIN PATCH for Guix */
|
||||
+#ifndef WIN32
|
||||
+# include <paths.h>
|
||||
+#endif
|
||||
+/* END PATCH for Guix */
|
||||
+
|
||||
/* locally defined functions */
|
||||
static INT s_errno(void);
|
||||
static IBOOL s_addr_in_heap(uptr x);
|
||||
@@ -861,6 +867,17 @@ static ptr s_process(char *s, IBOOL stderrp) {
|
||||
|
||||
INT tofds[2], fromfds[2], errfds[2];
|
||||
struct sigaction act, oint_act;
|
||||
+ /* BEGIN PATCH for Guix */
|
||||
+#if defined(_PATH_BSHELL)
|
||||
+ struct stat guix_stat_buf;
|
||||
+ char *guix_sh =
|
||||
+ (0 == stat(_PATH_BSHELL, &guix_stat_buf))
|
||||
+ ? _PATH_BSHELL
|
||||
+ : "/bin/sh";
|
||||
+#else /* _PATH_BSHELL */
|
||||
+ char *guix_sh = "/bin/sh";
|
||||
+#endif
|
||||
+ /* END PATCH for Guix */
|
||||
|
||||
if (pipe(tofds)) S_error("process","cannot open pipes");
|
||||
if (pipe(fromfds)) {
|
||||
@@ -897,7 +914,9 @@ static ptr s_process(char *s, IBOOL stderrp) {
|
||||
}
|
||||
}
|
||||
#endif /* __GNU__ Hurd */
|
||||
- execl("/bin/sh", "/bin/sh", "-c", s, NULL);
|
||||
+ /* BEGIN PATCH for Guix */
|
||||
+ execl(guix_sh, guix_sh, "-c", s, NULL);
|
||||
+ /* END PATCH for Guix */
|
||||
_exit(1) /* only if execl fails */;
|
||||
/*NOTREACHED*/
|
||||
} else {
|
||||
|
||||
base-commit: 87eee6e2adb8c6bc11e60619c706fa6295096085
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 3574b567c486d264d680a37586436c3b5a8cb978 Mon Sep 17 00:00:00 2001
|
||||
From 6a553f24439fe64fd3a2f0b5902f00590ca4241f Mon Sep 17 00:00:00 2001
|
||||
From: Philip McGrath <philip@philipmcgrath.com>
|
||||
Date: Thu, 4 Mar 2021 04:11:50 -0500
|
||||
Subject: [PATCH] patch rktio_process for "/bin/sh" on Guix
|
||||
Subject: [PATCH] rktio: patch rktio_process for "/bin/sh" on Guix
|
||||
|
||||
Racket provides the functions `system` and `process`,
|
||||
which execute shell commands using `sh` (or `cmd` on Windows).
|
||||
@ -12,37 +12,38 @@ This patch adds a special case for "/bin/sh" to `rktio_process`,
|
||||
the C function that implements the core of `system`, `process`,
|
||||
and related Racket functions.
|
||||
|
||||
Guix should enable the special case by defining the C preprocessor
|
||||
macro `GUIX_RKTIO_PATCH_BIN_SH` with the path to `sh` in the store.
|
||||
If:
|
||||
|
||||
1. The `GUIX_RKTIO_PATCH_BIN_SH` macro is defined; and
|
||||
1. The nonstandard but ubiquitous macro `_PATH_BSHELL` from
|
||||
<paths.h> is defined; and
|
||||
|
||||
2. `rktio_process` is called with the exact path "/bin/sh"; and
|
||||
|
||||
3. The path specified by `GUIX_RKTIO_PATCH_BIN_SH` does exists;
|
||||
3. The file specified by `_PATH_BSHELL` exists;
|
||||
|
||||
then `rktio_process` will execute the file specified
|
||||
by `GUIX_RKTIO_PATCH_BIN_SH` instead of "/bin/sh".
|
||||
then `rktio_process` will execute the file specified by `_PATH_BSHELL`
|
||||
instead of "/bin/sh".
|
||||
|
||||
Compared to previous attempts to patch the Racket sources,
|
||||
making this change at the C level is both:
|
||||
|
||||
- More comprehensive: it catches all attempts to execute "/bin/sh",
|
||||
without having to track down the source of every occurance; and
|
||||
|
||||
- Less intrusive: by guarding the special case with a C preprocessor
|
||||
conditional and a runtime check that the file in the store exists,
|
||||
we make it much less likely that it will "leak" out of Guix.
|
||||
Checking that the path specified by `_PATH_BSHELL` exists safeguards
|
||||
against obscure errors if attempting to use stand-alone executables
|
||||
built by the patched Racket in non-Guix envoronments.
|
||||
---
|
||||
racket/src/rktio/rktio_process.c | 21 ++++++++++++++++++++-
|
||||
1 file changed, 20 insertions(+), 1 deletion(-)
|
||||
racket/src/rktio/rktio_process.c | 17 ++++++++++++++++-
|
||||
1 file changed, 16 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/racket/src/rktio/rktio_process.c b/racket/src/rktio/rktio_process.c
|
||||
index 89202436c0..465ebdd5c5 100644
|
||||
index fafaf728c1..796ebc59ce 100644
|
||||
--- a/racket/src/rktio/rktio_process.c
|
||||
+++ b/racket/src/rktio/rktio_process.c
|
||||
@@ -1224,12 +1224,14 @@ int rktio_process_allowed_flags(rktio_t *rktio)
|
||||
@@ -9,6 +9,7 @@
|
||||
# include <sys/wait.h>
|
||||
# include <errno.h>
|
||||
# include <unistd.h>
|
||||
+# include <paths.h> /* PATCHED for Guix */
|
||||
# ifdef USE_ULIMIT
|
||||
# include <ulimit.h>
|
||||
# endif
|
||||
@@ -1301,12 +1302,14 @@ int rktio_process_allowed_flags(rktio_t *rktio)
|
||||
/*========================================================================*/
|
||||
|
||||
rktio_process_result_t *rktio_process(rktio_t *rktio,
|
||||
@ -58,22 +59,17 @@ index 89202436c0..465ebdd5c5 100644
|
||||
rktio_process_result_t *result;
|
||||
intptr_t to_subprocess[2], from_subprocess[2], err_subprocess[2];
|
||||
int pid;
|
||||
@@ -1255,6 +1257,23 @@ rktio_process_result_t *rktio_process(rktio_t *rktio,
|
||||
@@ -1333,6 +1336,18 @@ rktio_process_result_t *rktio_process(rktio_t *rktio,
|
||||
int i;
|
||||
#endif
|
||||
|
||||
+/* BEGIN PATCH for Guix */
|
||||
+#if defined(GUIX_RKTIO_PATCH_BIN_SH)
|
||||
+# define GUIX_AS_a_STR_HELPER(x) #x
|
||||
+# define GUIX_AS_a_STR(x) GUIX_AS_a_STR_HELPER(x)
|
||||
+ /* A level of indirection makes `#` work as needed: */
|
||||
+#if defined(_PATH_BSHELL)
|
||||
+ command =
|
||||
+ ((0 == strcmp(_guix_orig_command, "/bin/sh"))
|
||||
+ && rktio_file_exists(rktio, GUIX_AS_a_STR(GUIX_RKTIO_PATCH_BIN_SH)))
|
||||
+ ? GUIX_AS_a_STR(GUIX_RKTIO_PATCH_BIN_SH)
|
||||
+ && rktio_file_exists(rktio, _PATH_BSHELL))
|
||||
+ ? _PATH_BSHELL
|
||||
+ : _guix_orig_command;
|
||||
+# undef GUIX_AS_a_STR
|
||||
+# undef GUIX_AS_a_STR_HELPER
|
||||
+#else
|
||||
+ command = _guix_orig_command;
|
||||
+#endif
|
||||
@ -82,6 +78,8 @@ index 89202436c0..465ebdd5c5 100644
|
||||
/* avoid compiler warnings: */
|
||||
to_subprocess[0] = -1;
|
||||
to_subprocess[1] = -1;
|
||||
--
|
||||
2.21.1 (Apple Git-122.3)
|
||||
|
||||
base-commit: 9d228d16fb99c274c964e5bef93e97333888769f
|
||||
--
|
||||
2.32.0
|
||||
|
74
gnu/packages/patches/racket-zuo-bin-sh.patch
Normal file
74
gnu/packages/patches/racket-zuo-bin-sh.patch
Normal file
@ -0,0 +1,74 @@
|
||||
From 73d9b77a11b4516905caf579abb559736f715ea6 Mon Sep 17 00:00:00 2001
|
||||
From: Philip McGrath <philip@philipmcgrath.com>
|
||||
Date: Mon, 11 Apr 2022 20:43:18 -0400
|
||||
Subject: [PATCH] Zuo: patch zuo_process for "/bin/sh" on Guix
|
||||
|
||||
If:
|
||||
|
||||
1. The nonstandard but ubiquitous macro `_PATH_BSHELL` from
|
||||
<paths.h> is defined; and
|
||||
|
||||
2. `zuo_process` is called with the exact path "/bin/sh"; and
|
||||
|
||||
3. The path specified by `_PATH_BSHELL` exists;
|
||||
|
||||
then `zuo_process` will execute the file specified by `_PATH_BSHELL`
|
||||
instead of "/bin/sh".
|
||||
|
||||
Checking that the path specified by `_PATH_BSHELL` exists safeguards
|
||||
against obscure errors if attempting to use stand-alone executables
|
||||
built by the patched Racket in non-Guix envoronments.
|
||||
---
|
||||
racket/src/zuo/zuo.c | 20 ++++++++++++++++++--
|
||||
1 file changed, 18 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/racket/src/zuo/zuo.c b/racket/src/zuo/zuo.c
|
||||
index 17f161826d..c4fb3929bb 100644
|
||||
--- a/racket/src/zuo/zuo.c
|
||||
+++ b/racket/src/zuo/zuo.c
|
||||
@@ -15,6 +15,7 @@
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#ifdef ZUO_UNIX
|
||||
+# include <paths.h> /* PATCHED for Guix */
|
||||
# include <fcntl.h>
|
||||
# include <unistd.h>
|
||||
# include <errno.h>
|
||||
@@ -5730,7 +5731,10 @@ static void zuo_pipe(zuo_raw_handle_t *_r, zuo_raw_handle_t *_w)
|
||||
zuo_t *zuo_process(zuo_t *command_and_args)
|
||||
{
|
||||
const char *who = "process";
|
||||
- zuo_t *command = _zuo_car(command_and_args);
|
||||
+ /* BEGIN PATCH for Guix */
|
||||
+ zuo_t *_guix_orig_command = _zuo_car(command_and_args);
|
||||
+ zuo_t *command;
|
||||
+ /* END PATCH for Guix */
|
||||
zuo_t *args = _zuo_cdr(command_and_args), *rev_args = z.o_null;
|
||||
zuo_t *options = z.o_empty_hash, *opt;
|
||||
zuo_t *dir, *l, *p_handle, *result;
|
||||
@@ -5741,7 +5745,19 @@ zuo_t *zuo_process(zuo_t *command_and_args)
|
||||
void *env;
|
||||
int as_child, exact_cmdline;
|
||||
|
||||
- check_path_string(who, command);
|
||||
+ /* BEGIN PATCH for Guix */
|
||||
+ check_path_string(who, _guix_orig_command);
|
||||
+#if defined(_PATH_BSHELL)
|
||||
+ command =
|
||||
+ ((z.o_false == zuo_string_eql(_guix_orig_command, zuo_string("/bin/sh")))
|
||||
+ || (z.o_false == zuo_stat(zuo_string(_PATH_BSHELL), z.o_false, z.o_true)))
|
||||
+ ? _guix_orig_command
|
||||
+ : zuo_string(_PATH_BSHELL);
|
||||
+#else
|
||||
+ command = _guix_orig_command;
|
||||
+#endif
|
||||
+ /* END PATCH for Guix */
|
||||
+
|
||||
for (l = args; l->tag == zuo_pair_tag; l = _zuo_cdr(l)) {
|
||||
zuo_t *a = _zuo_car(l);
|
||||
if (a == z.o_null) {
|
||||
|
||||
base-commit: 87eee6e2adb8c6bc11e60619c706fa6295096085
|
||||
--
|
||||
2.32.0
|
||||
|
@ -6,12 +6,12 @@ Starting from rust-openssl-sys@0.9.69 Cargo.toml starts searching for openssl-3.
|
||||
|
||||
--- a/Cargo.toml
|
||||
+++ b/Cargo.toml
|
||||
@@ -31,14 +31,11 @@
|
||||
@@ -31,15 +31,12 @@
|
||||
[build-dependencies.cc]
|
||||
version = "1.0"
|
||||
|
||||
-[build-dependencies.openssl-src]
|
||||
-version = "111.0.1"
|
||||
-version = "111"
|
||||
-optional = true
|
||||
-
|
||||
[build-dependencies.pkg-config]
|
||||
@ -20,6 +20,7 @@ Starting from rust-openssl-sys@0.9.69 Cargo.toml starts searching for openssl-3.
|
||||
[features]
|
||||
vendored = ["openssl-src"]
|
||||
+openssl-src = []
|
||||
|
||||
[target."cfg(target_env = \"msvc\")".build-dependencies.vcpkg]
|
||||
version = "0.2"
|
||||
version = "0.2.8"
|
||||
|
||||
|
41
gnu/packages/patches/stex-copy-from-immutable-store.patch
Normal file
41
gnu/packages/patches/stex-copy-from-immutable-store.patch
Normal file
@ -0,0 +1,41 @@
|
||||
From 9434b4a36646c036db8de326158056aa3293fb82 Mon Sep 17 00:00:00 2001
|
||||
From: Philip McGrath <philip@philipmcgrath.com>
|
||||
Date: Thu, 28 Apr 2022 22:56:20 -0400
|
||||
Subject: [PATCH] fix read-only gifs and math directories
|
||||
|
||||
An installed copy of stex might have all write permission bits removed,
|
||||
even for the owner of the installed files: this is the case with Guix
|
||||
package of stex, for example. If such an installation is used to
|
||||
initialize the gifs or math directories (e.g. for an out-of-source
|
||||
build), tar likewise creates them without write permissions, preventing
|
||||
subdirectories from being created later. Set the user write bit
|
||||
explicitly to avoid this problem.
|
||||
Mf-stex
|
||||
|
||||
Related to https://github.com/racket/racket/pull/4203
|
||||
---
|
||||
|
||||
Submitted upstream in https://github.com/dybvig/stex/pull/6
|
||||
|
||||
Mf-stex | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/Mf-stex b/Mf-stex
|
||||
index 09ec6f3..11fb214 100644
|
||||
--- a/Mf-stex
|
||||
+++ b/Mf-stex
|
||||
@@ -112,9 +112,11 @@ $(x).mathrun: gifs $(mathfiles)
|
||||
|
||||
gifs:
|
||||
(cd $(STEXLIB); tar -cf - gifs) | tar -xpf -
|
||||
+ chmod u+w gifs
|
||||
|
||||
math:
|
||||
(cd $(STEXLIB); tar -cf - math) | tar -xpf -
|
||||
+ chmod u+w math
|
||||
|
||||
$(mathfiles): $(x).hthirdrun $(figps)
|
||||
echo -n gifs= > $(mathfiles)
|
||||
--
|
||||
2.32.0
|
||||
|
299
gnu/packages/patches/turbovnc-custom-paths.patch
Normal file
299
gnu/packages/patches/turbovnc-custom-paths.patch
Normal file
@ -0,0 +1,299 @@
|
||||
From c58cdb2b7fe72685f97dee5872336f32a40fa04a Mon Sep 17 00:00:00 2001
|
||||
From: DRC <information@virtualgl.org>
|
||||
Date: Tue, 23 Aug 2022 12:02:12 -0500
|
||||
Subject: [PATCH] Improve support for distribution-specific builds
|
||||
|
||||
- Rename the DRI_DRIVER_PATH and SERVER_MISC_CONFIG_PATH CMake variables
|
||||
to XORG_DRI_DRIVER_PATH and XORG_REGISTRY_PATH, respectively.
|
||||
|
||||
- Introduce a new CMake variable (XORG_FONT_PATH) that allows the X.org
|
||||
font path to be set statically for a particular build.
|
||||
|
||||
- Remove the unused RGB_DB macro definition. (That macro hasn't been
|
||||
used since TurboVNC 1.2.x.)
|
||||
|
||||
- Introduce a new CMake variable (TVNC_STATIC_XORG_PATHS) that forces
|
||||
Xvnc and vncserver to honor the paths set using the
|
||||
XKB_BASE_DIRECTORY, XKB_BIN_DIRECTORY, XORG_DRI_DRIVER_PATH,
|
||||
XORG_FONT_PATH, and XORG_REGISTRY_PATH CMake variables rather than
|
||||
trying to determine the appropriate values of those paths at run time.
|
||||
If enabled, this option disables the TurboVNC-specific -dridir,
|
||||
-registrydir, and -xkbcompdir Xvnc command-line arguments.
|
||||
---
|
||||
BUILDING.md | 25 +++++++++++++++++++
|
||||
unix/CMakeLists.txt | 9 +++++++
|
||||
unix/Xvnc/programs/Xserver/dix/CMakeLists.txt | 20 +++++++++------
|
||||
unix/Xvnc/programs/Xserver/dix/registry.c | 2 +-
|
||||
unix/Xvnc/programs/Xserver/glx/CMakeLists.txt | 12 ++++-----
|
||||
unix/Xvnc/programs/Xserver/glx/glxdricommon.c | 2 +-
|
||||
unix/Xvnc/programs/Xserver/hw/vnc/init.c | 10 +++++++-
|
||||
unix/Xvnc/programs/Xserver/xkb/xkbInit.c | 2 +-
|
||||
unix/vncserver.in | 13 +++++++---
|
||||
9 files changed, 73 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/BUILDING.md b/BUILDING.md
|
||||
index 99f190b2c..b11665f95 100644
|
||||
--- a/BUILDING.md
|
||||
+++ b/BUILDING.md
|
||||
@@ -181,6 +181,31 @@ directly with libssl and libcrypto by adding `-DTVNC_DLOPENSSL=0` to the CMake
|
||||
command line.
|
||||
|
||||
|
||||
+### Distribution-Specific Build
|
||||
+
|
||||
+By default, the build system builds TurboVNC binaries that can run on multiple
|
||||
+O/S distributions. This involves building some of the X.org dependencies,
|
||||
+which are included in the TurboVNC source tree, and statically linking TurboVNC
|
||||
+with those and other dependencies. Distribution-specific dynamically-linked
|
||||
+TurboVNC binaries can instead be built by changing the values of the following
|
||||
+CMake variables:
|
||||
+
|
||||
+- `TJPEG_INCLUDE_DIR`
|
||||
+- `TJPEG_LIBRARY`
|
||||
+- `TVNC_DLOPENSSL`
|
||||
+- `TVNC_STATIC_XORG_PATHS`
|
||||
+- `TVNC_SYSTEMLIBS`
|
||||
+- `TVNC_SYSTEMX11`
|
||||
+- `XKB_BASE_DIRECTORY`
|
||||
+- `XKB_BIN_DIRECTORY`
|
||||
+- `XORG_DRI_DRIVER_PATH`
|
||||
+- `XORG_FONT_PATH`
|
||||
+- `XORG_REGISTRY_PATH`
|
||||
+
|
||||
+Use `ccmake` or `cmake-gui`, as described below, to view documentation for
|
||||
+those variables.
|
||||
+
|
||||
+
|
||||
Build Recipes
|
||||
-------------
|
||||
|
||||
diff --git a/unix/CMakeLists.txt b/unix/CMakeLists.txt
|
||||
index 1db927c94..6ef830a8b 100644
|
||||
--- a/unix/CMakeLists.txt
|
||||
+++ b/unix/CMakeLists.txt
|
||||
@@ -74,6 +74,15 @@ option(TVNC_SYSTEMLIBS
|
||||
boolean_number(TVNC_SYSTEMLIBS)
|
||||
report_option(TVNC_SYSTEMLIBS "System zlib/bzip2/FreeType")
|
||||
|
||||
+option(TVNC_STATIC_XORG_PATHS
|
||||
+ "Force vncserver and Xvnc to use the XKB base directory, XKB binary directory, X.org DRI driver path, X.org font path, and X.org registry path specified in the XKB_BASE_DIRECTORY, XKB_BIN_DIRECTORY, XORG_DRI_DRIVER_PATH, XORG_FONT_PATH, and XORG_REGISTRY_PATH CMake variables rather than detecting the appropriate paths at run time"
|
||||
+ OFF)
|
||||
+boolean_number(TVNC_STATIC_XORG_PATHS)
|
||||
+report_option(TVNC_STATIC_XORG_PATHS "Static X.org paths")
|
||||
+if(TVNC_STATIC_XORG_PATHS)
|
||||
+ add_definitions(-DTURBOVNC_STATIC_XORG_PATHS)
|
||||
+endif()
|
||||
+
|
||||
if(NOT TVNC_SYSTEMLIBS)
|
||||
add_subdirectory(${CMAKE_SOURCE_DIR}/common ${CMAKE_BINARY_DIR}/common)
|
||||
endif()
|
||||
diff --git a/unix/Xvnc/programs/Xserver/dix/CMakeLists.txt b/unix/Xvnc/programs/Xserver/dix/CMakeLists.txt
|
||||
index 784fc48d2..19a7b28c4 100644
|
||||
--- a/unix/Xvnc/programs/Xserver/dix/CMakeLists.txt
|
||||
+++ b/unix/Xvnc/programs/Xserver/dix/CMakeLists.txt
|
||||
@@ -1,18 +1,22 @@
|
||||
include_directories(../Xi ../composite ../damageext ../mi ../miext/sync
|
||||
../randr ../render ../xfixes)
|
||||
|
||||
-add_definitions(-DRGB_DB=\"/usr/share/X11/rgb\"
|
||||
- -DCOMPILEDDEFAULTFONTPATH=\"/usr/share/X11/fonts/misc/,/usr/share/X11/fonts/Type1/,/usr/share/X11/fonts/75dpi/,/usr/share/X11/fonts/100dpi/\")
|
||||
+set(DEFAULT_XORG_FONT_PATH
|
||||
+ "/usr/share/X11/fonts/misc/,/usr/share/X11/fonts/Type1/,/usr/share/X11/fonts/75dpi/,/usr/share/X11/fonts/100dpi/")
|
||||
+set(XORG_FONT_PATH ${DEFAULT_XORG_FONT_PATH} CACHE STRING
|
||||
+ "X.org font path (default: ${DEFAULT_XORG_FONT_PATH})")
|
||||
+message(STATUS "XORG_FONT_PATH = ${XORG_FONT_PATH}")
|
||||
+add_definitions(-DCOMPILEDDEFAULTFONTPATH=\"${XORG_FONT_PATH}\")
|
||||
|
||||
if(BITS EQUAL 64)
|
||||
- set(DEFAULT_SERVER_MISC_CONFIG_PATH "/usr/lib64/xorg")
|
||||
+ set(DEFAULT_XORG_REGISTRY_PATH "/usr/lib64/xorg")
|
||||
else()
|
||||
- set(DEFAULT_SERVER_MISC_CONFIG_PATH "/usr/lib/xorg")
|
||||
+ set(DEFAULT_XORG_REGISTRY_PATH "/usr/lib/xorg")
|
||||
endif()
|
||||
-set(SERVER_MISC_CONFIG_PATH ${DEFAULT_SERVER_MISC_CONFIG_PATH} CACHE PATH
|
||||
- "Path to miscellaneous server config files (default: ${DEFAULT_SERVER_MISC_CONFIG_PATH})")
|
||||
-message(STATUS "SERVER_MISC_CONFIG_PATH = ${SERVER_MISC_CONFIG_PATH}")
|
||||
-add_definitions(-DSERVER_MISC_CONFIG_PATH=\"${SERVER_MISC_CONFIG_PATH}\")
|
||||
+set(XORG_REGISTRY_PATH ${DEFAULT_XORG_REGISTRY_PATH} CACHE PATH
|
||||
+ "X.org registry path, which contains protocol.txt (default: ${DEFAULT_XORG_REGISTRY_PATH})")
|
||||
+message(STATUS "XORG_REGISTRY_PATH = ${XORG_REGISTRY_PATH}")
|
||||
+add_definitions(-DSERVER_MISC_CONFIG_PATH=\"${XORG_REGISTRY_PATH}\")
|
||||
|
||||
disable_compiler_warnings()
|
||||
|
||||
diff --git a/unix/Xvnc/programs/Xserver/dix/registry.c b/unix/Xvnc/programs/Xserver/dix/registry.c
|
||||
index de4bf8eaf..3e8039250 100644
|
||||
--- a/unix/Xvnc/programs/Xserver/dix/registry.c
|
||||
+++ b/unix/Xvnc/programs/Xserver/dix/registry.c
|
||||
@@ -33,7 +33,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
#ifdef X_REGISTRY_REQUEST
|
||||
#define CORE "X11"
|
||||
-#ifdef TURBOVNC
|
||||
+#if defined(TURBOVNC) && !defined(TURBOVNC_STATIC_XORG_PATHS)
|
||||
char registry_path[PATH_MAX] = SERVER_MISC_CONFIG_PATH "/protocol.txt";
|
||||
#define FILENAME registry_path
|
||||
#else
|
||||
diff --git a/unix/Xvnc/programs/Xserver/glx/CMakeLists.txt b/unix/Xvnc/programs/Xserver/glx/CMakeLists.txt
|
||||
index 45f4b9635..ff8b84f6c 100644
|
||||
--- a/unix/Xvnc/programs/Xserver/glx/CMakeLists.txt
|
||||
+++ b/unix/Xvnc/programs/Xserver/glx/CMakeLists.txt
|
||||
@@ -10,14 +10,14 @@ if(HAVE_BACKTRACE)
|
||||
endif()
|
||||
|
||||
if(BITS EQUAL 64)
|
||||
- set(DEFAULT_DRI_DRIVER_PATH "/usr/lib64/dri")
|
||||
+ set(DEFAULT_XORG_DRI_DRIVER_PATH "/usr/lib64/dri")
|
||||
else()
|
||||
- set(DEFAULT_DRI_DRIVER_PATH "/usr/lib/dri")
|
||||
+ set(DEFAULT_XORG_DRI_DRIVER_PATH "/usr/lib/dri")
|
||||
endif()
|
||||
-set(DRI_DRIVER_PATH ${DEFAULT_DRI_DRIVER_PATH} CACHE PATH
|
||||
- "Path to DRI drivers (default: ${DEFAULT_DRI_DRIVER_PATH})")
|
||||
-message(STATUS "DRI_DRIVER_PATH = ${DRI_DRIVER_PATH}")
|
||||
-add_definitions(-DDRI_DRIVER_PATH=\"${DRI_DRIVER_PATH}\")
|
||||
+set(XORG_DRI_DRIVER_PATH ${DEFAULT_XORG_DRI_DRIVER_PATH} CACHE PATH
|
||||
+ "X.org DRI driver path, which contains swrast_dri.so (default: ${DEFAULT_XORG_DRI_DRIVER_PATH})")
|
||||
+message(STATUS "XORG_DRI_DRIVER_PATH = ${XORG_DRI_DRIVER_PATH}")
|
||||
+add_definitions(-DDRI_DRIVER_PATH=\"${XORG_DRI_DRIVER_PATH}\")
|
||||
|
||||
disable_compiler_warnings()
|
||||
|
||||
diff --git a/unix/Xvnc/programs/Xserver/glx/glxdricommon.c b/unix/Xvnc/programs/Xserver/glx/glxdricommon.c
|
||||
index be9352b5e..a16e1bcf9 100644
|
||||
--- a/unix/Xvnc/programs/Xserver/glx/glxdricommon.c
|
||||
+++ b/unix/Xvnc/programs/Xserver/glx/glxdricommon.c
|
||||
@@ -258,7 +258,7 @@ glxConvertConfigs(const __DRIcoreExtension * core,
|
||||
return head.next;
|
||||
}
|
||||
|
||||
-#ifdef TURBOVNC
|
||||
+#if defined(TURBOVNC) && !defined(TURBOVNC_STATIC_XORG_PATH)
|
||||
char *dri_driver_path = DRI_DRIVER_PATH;
|
||||
#else
|
||||
static const char dri_driver_path[] = DRI_DRIVER_PATH;
|
||||
diff --git a/unix/Xvnc/programs/Xserver/hw/vnc/init.c b/unix/Xvnc/programs/Xserver/hw/vnc/init.c
|
||||
index 81fbfe8b5..c8ba83772 100644
|
||||
--- a/unix/Xvnc/programs/Xserver/hw/vnc/init.c
|
||||
+++ b/unix/Xvnc/programs/Xserver/hw/vnc/init.c
|
||||
@@ -103,7 +103,7 @@ from the X Consortium.
|
||||
#ifdef GLXEXT
|
||||
extern char *dri_driver_path;
|
||||
#endif
|
||||
-#ifdef X_REGISTRY_REQUEST
|
||||
+#if defined(X_REGISTRY_REQUEST) && !defined(TURBOVNC_STATIC_XORG_PATHS)
|
||||
extern char registry_path[PATH_MAX];
|
||||
#endif
|
||||
|
||||
@@ -437,6 +437,7 @@ int ddxProcessArgument(int argc, char *argv[], int i)
|
||||
return 2;
|
||||
}
|
||||
|
||||
+#ifndef TURBOVNC_STATIC_XORG_PATHS
|
||||
if (strcasecmp(argv[i], "-dridir") == 0) {
|
||||
#ifdef GLXEXT
|
||||
REQUIRE_ARG();
|
||||
@@ -444,6 +445,7 @@ int ddxProcessArgument(int argc, char *argv[], int i)
|
||||
#endif
|
||||
return 2;
|
||||
}
|
||||
+#endif
|
||||
|
||||
if (strcasecmp(argv[i], "-geometry") == 0) {
|
||||
/* -geometry WxH or W0xH0+X0+Y0[,W1xH1+X1+Y1,...] */
|
||||
@@ -644,6 +646,7 @@ int ddxProcessArgument(int argc, char *argv[], int i)
|
||||
|
||||
/***** TurboVNC miscellaneous options *****/
|
||||
|
||||
+#ifndef TURBOVNC_STATIC_XORG_PATHS
|
||||
if (strcasecmp(argv[i], "-registrydir") == 0) {
|
||||
#ifdef X_REGISTRY_REQUEST
|
||||
REQUIRE_ARG();
|
||||
@@ -651,6 +654,7 @@ int ddxProcessArgument(int argc, char *argv[], int i)
|
||||
#endif
|
||||
return 2;
|
||||
}
|
||||
+#endif
|
||||
|
||||
if (strcasecmp(argv[i], "-verbose") == 0) {
|
||||
LogSetParameter(XLOG_VERBOSITY, X_DEBUG);
|
||||
@@ -1672,7 +1676,9 @@ void ddxUseMsg(void)
|
||||
ErrorF("\nTurboVNC display options\n");
|
||||
ErrorF("========================\n");
|
||||
ErrorF("-depth D set framebuffer depth\n");
|
||||
+#ifndef TURBOVNC_STATIC_XORG_PATHS
|
||||
ErrorF("-dridir dir specify directory containing the swrast Mesa driver\n");
|
||||
+#endif
|
||||
ErrorF("-geometry WxH set framebuffer width & height (single-screen)\n");
|
||||
ErrorF("-geometry W0xH0+X0+Y0[,W1xH1+X1+Y1,...,WnxHn+Xn+Yn]\n");
|
||||
ErrorF(" set multi-screen geometry (see man page)\n");
|
||||
@@ -1730,7 +1736,9 @@ void ddxUseMsg(void)
|
||||
|
||||
ErrorF("\nTurboVNC miscellaneous options\n");
|
||||
ErrorF("==============================\n");
|
||||
+#ifndef TURBOVNC_STATIC_XORG_PATHS
|
||||
ErrorF("-registrydir dir specify directory containing protocol.txt\n");
|
||||
+#endif
|
||||
ErrorF("-verbose print all X.org errors, warnings, and messages\n");
|
||||
ErrorF("-version report Xvnc version on stderr\n\n");
|
||||
}
|
||||
diff --git a/unix/Xvnc/programs/Xserver/xkb/xkbInit.c b/unix/Xvnc/programs/Xserver/xkb/xkbInit.c
|
||||
index b63549f3d..ddd5ef7f2 100644
|
||||
--- a/unix/Xvnc/programs/Xserver/xkb/xkbInit.c
|
||||
+++ b/unix/Xvnc/programs/Xserver/xkb/xkbInit.c
|
||||
@@ -767,7 +767,7 @@ XkbProcessArguments(int argc, char *argv[], int i)
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
-#ifdef TURBOVNC
|
||||
+#if defined(TURBOVNC) && !defined(TURBOVNC_XORG_STATIC_PATHS)
|
||||
else if (strncmp(argv[i], "-xkbcompdir", 11) == 0) {
|
||||
if (++i < argc) {
|
||||
#if !defined(WIN32) && !defined(__CYGWIN__)
|
||||
diff --git a/unix/vncserver.in b/unix/vncserver.in
|
||||
index 4ed8ef668..300ccbf88 100644
|
||||
--- a/unix/vncserver.in
|
||||
+++ b/unix/vncserver.in
|
||||
@@ -38,6 +38,7 @@ if ($slashndx >= 0) {
|
||||
|
||||
$xauth = "xauth";
|
||||
$buildWebServer = @TVNC_BUILDWEBSERVER@;
|
||||
+$staticXorgPaths = @TVNC_STATIC_XORG_PATHS@;
|
||||
|
||||
&SanityCheck();
|
||||
|
||||
@@ -98,6 +99,8 @@ unless ($xauthorityFile) {
|
||||
chop($host = `uname -n`);
|
||||
chop($os = `uname`);
|
||||
|
||||
+if (!$staticXorgPaths) {
|
||||
+
|
||||
if (-d "/etc/X11/fontpath.d") {
|
||||
$fontPath = "catalogue:/etc/X11/fontpath.d";
|
||||
}
|
||||
@@ -195,6 +198,8 @@ foreach $_registrydir (@registrydirs) {
|
||||
}
|
||||
}
|
||||
|
||||
+} # !$staticXorgPaths
|
||||
+
|
||||
# Check command line options
|
||||
|
||||
&ParseOptions("-geometry", 1, "-depth", 1, "-pixelformat", 1, "-name", 1,
|
||||
@@ -447,11 +452,11 @@ $cmd .= " -rfbport $vncPort";
|
||||
$cmd .= " -fp $fontPath" if ($fontPath);
|
||||
$cmd .= " -alr ".$autoLosslessRefresh if ($autoLosslessRefresh > 0.0);
|
||||
$cmd .= " -deferupdate $deferUpdate";
|
||||
-$cmd .= " -xkbdir $xkbdir" if ($xkbdir);
|
||||
-$cmd .= " -xkbcompdir $xkbcompdir" if ($xkbcompdir);
|
||||
+$cmd .= " -xkbdir $xkbdir" if ($xkbdir && !$staticXorgPaths);
|
||||
+$cmd .= " -xkbcompdir $xkbcompdir" if ($xkbcompdir && !$staticXorgPaths);
|
||||
$cmd .= " -pamsession" if ($pamSession);
|
||||
-$cmd .= " -dridir $dridir" if ($dridir);
|
||||
-$cmd .= " -registrydir $registrydir" if ($registrydir);
|
||||
+$cmd .= " -dridir $dridir" if ($dridir && !$staticXorgPaths);
|
||||
+$cmd .= " -registrydir $registrydir" if ($registrydir && !$staticXorgPaths);
|
||||
$cmd .= " -nomt" if (!$multiThread);
|
||||
$cmd .= " -nthreads $numThreads" if ($numThreads);
|
||||
$cmd .= " $serverArgs" if ($serverArgs);
|
51
gnu/packages/patches/turbovnc-find-system-packages.patch
Normal file
51
gnu/packages/patches/turbovnc-find-system-packages.patch
Normal file
@ -0,0 +1,51 @@
|
||||
From b4e1ffcdbfe8dc98036a16022cbcc422385c1834 Mon Sep 17 00:00:00 2001
|
||||
From: DRC <information@virtualgl.org>
|
||||
Date: Tue, 23 Aug 2022 10:07:10 -0500
|
||||
Subject: [PATCH] Build: Find Xfont2/fontenc/Pixman using pkg-config
|
||||
|
||||
... when TVNC_SYSTEMX11=1. Referring to #339, we can't assume that
|
||||
these libraries will share include/library paths with libX11. This
|
||||
commit reverts e9cb8665dc3822b33dc0ffc5571fce5a759e7cb9.
|
||||
|
||||
Rebased on 3.0.1 by Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
|
||||
diff --git a/unix/Xvnc/CMakeLists.txt b/unix/Xvnc/CMakeLists.txt
|
||||
index 064feda..293f794 100644
|
||||
--- a/unix/Xvnc/CMakeLists.txt
|
||||
+++ b/unix/Xvnc/CMakeLists.txt
|
||||
@@ -94,11 +94,13 @@ if(NOT TVNC_SYSTEMX11)
|
||||
endif()
|
||||
|
||||
if(TVNC_SYSTEMX11)
|
||||
+ include(FindPkgConfig)
|
||||
+ pkg_check_modules(X11_Xfont2 REQUIRED xfont2)
|
||||
+ pkg_check_modules(X11_Fontenc REQUIRED fontenc)
|
||||
+ pkg_check_modules(X11_Pixman REQUIRED pixman-1)
|
||||
include_directories(${X11_X11_INCLUDE_PATH} ${X11_Xau_INCLUDE_PATH}
|
||||
- ${X11_Xdmcp_INCLUDE_PATH} ${X11_Xkbfile_INCLUDE_PATH})
|
||||
- string(REGEX REPLACE "X11" "Xfont2" X11_Xfont2_LIB ${X11_X11_LIB})
|
||||
- string(REGEX REPLACE "X11" "fontenc" X11_Fontenc_LIB ${X11_X11_LIB})
|
||||
- string(REGEX REPLACE "X11" "pixman-1" X11_Pixman_LIB ${X11_X11_LIB})
|
||||
+ ${X11_Xdmcp_INCLUDE_PATH} ${X11_Xkbfile_INCLUDE_PATH}
|
||||
+ ${X11_Xfont2_INCLUDEDIR} ${X11_Pixman_INCLUDEDIR}/pixman-1)
|
||||
else()
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR}/X_include)
|
||||
set(X11_Xau_LIB Xau)
|
||||
diff --git a/unix/Xvnc/programs/Xserver/CMakeLists.txt b/unix/Xvnc/programs/Xserver/CMakeLists.txt
|
||||
index 8c05d43..f8d8f76 100644
|
||||
--- a/unix/Xvnc/programs/Xserver/CMakeLists.txt
|
||||
+++ b/unix/Xvnc/programs/Xserver/CMakeLists.txt
|
||||
@@ -182,9 +182,10 @@ if(HAVE_MONOTONIC_CLOCK)
|
||||
endif()
|
||||
target_link_libraries(Xvnc dix mi vnc fb Xi composite mi damage damageext randr
|
||||
record render os present Xext-server sync xfixes xkb ${X11_Xau_LIB}
|
||||
- ${X11_Xdmcp_LIB} ${X11_Xfont2_LIB} ${X11_Fontenc_LIB} ${FREETYPE_LIBRARIES}
|
||||
- ${X11_Pixman_LIB} sha1 ${TJPEG_LIBRARY} ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES}
|
||||
- vncauth m pthread ${PAM_LIB} ${EXTRA_LIB})
|
||||
+ ${X11_Xdmcp_LIB} ${X11_Xfont2_LDFLAGS} ${X11_Fontenc_LDFLAGS}
|
||||
+ ${FREETYPE_LIBRARIES} ${X11_Pixman_LDFLAGS} sha1 ${TJPEG_LIBRARY}
|
||||
+ ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} vncauth m pthread ${PAM_LIB}
|
||||
+ ${EXTRA_LIB})
|
||||
if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "(OpenBSD|FreeBSD|NetBSD|DragonFly)")
|
||||
find_library(ICONV_LIBRARIES NAMES iconv)
|
||||
target_link_libraries(Xvnc ${ICONV_LIBRARIES})
|
@ -64,9 +64,34 @@
|
||||
(uri (string-append
|
||||
"https://www.freedesktop.org/software/polkit/releases/"
|
||||
name "-" version ".tar.gz"))
|
||||
(patches (search-patches "polkit-disable-systemd.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"1apz3bh7nbpmlp1cr00pb8z8wp0c7yb23ninb959jz3r38saxiwx"))))
|
||||
"1apz3bh7nbpmlp1cr00pb8z8wp0c7yb23ninb959jz3r38saxiwx"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; This is so that the default example rules files can be
|
||||
;; installed along the package; otherwise it would fail
|
||||
;; attempting to write to /etc. Unlike with GNU Autotools,
|
||||
;; Meson can't override the pkgsysconfdir value at install
|
||||
;; time; instead, we rewrite the pkgsysconfdir references
|
||||
;; in the build system to point to #$output/etc.
|
||||
;; Look up actions and rules from /etc/polkit ...
|
||||
(substitute* "src/polkitbackend/meson.build"
|
||||
(("'-DPACKAGE_SYSCONF_DIR=.*,")
|
||||
"'-DPACKAGE_SYSCONF_DIR=\"/etc\"',"))
|
||||
(substitute* "src/polkitbackend/polkitbackendinteractiveauthority.c"
|
||||
(("PACKAGE_DATA_DIR \"/polkit-1/actions\"")
|
||||
"PACKAGE_SYSCONF_DIR \"/polkit-1/actions\""))
|
||||
;; ... but install package files below the prefix.
|
||||
(substitute* "meson.build"
|
||||
(("pk_sysconfdir = get_option\\('sysconfdir'\\)")
|
||||
"pk_sysconfdir = get_option('prefix') + '/etc'"))
|
||||
;; Set the setuid helper's real location.
|
||||
(substitute* "src/polkitagent/polkitagentsession.c"
|
||||
(("PACKAGE_PREFIX \"/lib/polkit-1/polkit-agent-helper-1\"")
|
||||
"\"/run/setuid-programs/polkit-agent-helper-1\""))))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@ -78,6 +103,7 @@
|
||||
(ice-9 match))
|
||||
#:configure-flags
|
||||
#~(list "--sysconfdir=/etc"
|
||||
"-Dsession_tracking=libelogind"
|
||||
"-Dman=true"
|
||||
"-Dtests=true"
|
||||
;; Work around cross-compilation failure. The build system
|
||||
@ -91,18 +117,6 @@
|
||||
'()))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'adjust-install-time-etc-directory
|
||||
;; This is so that the default example rules files can be
|
||||
;; installed along the package; otherwise it would fail attempting
|
||||
;; to write to /etc. Unlike with GNU Autotools, Meson can't
|
||||
;; override the pkgsysconfdir value at install time; instead, we
|
||||
;; rewrite the pkgsysconfdir references in the build system to
|
||||
;; point to #$output/etc.
|
||||
(lambda _
|
||||
(substitute* "meson.build"
|
||||
(("pk_sysconfdir = get_option\\('sysconfdir')")
|
||||
(format #f "pk_sysconfdir = '~a'"
|
||||
(string-append #$output "/etc"))))))
|
||||
(add-before 'check 'patch-bash
|
||||
(lambda _
|
||||
(substitute* (list "subprojects/mocklibc-1.0/bin/mocklibc"
|
||||
|
@ -397,13 +397,13 @@ wrapper. It provides a backport of the @code{Path} object.")
|
||||
(define-public python-zopfli
|
||||
(package
|
||||
(name "python-zopfli")
|
||||
(version "0.1.9")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "zopfli" version ".zip"))
|
||||
(sha256
|
||||
(base32 "0yqdwvlpbvhhri0qmzag076ddi0sv43qjlk17l0siylfib03rpkq"))))
|
||||
(base32 "1ipjkcgdbplsrhr31ypk48px8cax4cm9gcjj7yrcrhg20ql3s9p5"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@ -417,8 +417,8 @@ wrapper. It provides a backport of the @code{Path} object.")
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "python" "tests/tests.py" "-v")))))))
|
||||
(native-inputs (list unzip python-setuptools-scm))
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(native-inputs (list unzip python-pytest python-setuptools-scm))
|
||||
(inputs (list zopfli))
|
||||
(home-page "https://github.com/fonttools/py-zopfli")
|
||||
(synopsis "Python bindings for Zopfli")
|
||||
|
@ -1226,7 +1226,7 @@ aggregated sum and more.")
|
||||
(define-public python-pyvista
|
||||
(package
|
||||
(name "python-pyvista")
|
||||
(version "0.35.2")
|
||||
(version "0.36.1")
|
||||
(source
|
||||
;; The PyPI tarball does not contain the tests.
|
||||
;; (However, we don't yet actually run the tests.)
|
||||
@ -1237,7 +1237,7 @@ aggregated sum and more.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1qmxrhqm3ag736yb761jy1himwlr3p676xyqbry61h97dj11n6sq"))))
|
||||
(base32 "1kjilcrz2cyh67n79r8dpxrans99mlviz2whc6g7j8hgn7v14z2n"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-appdirs
|
||||
|
@ -29,7 +29,7 @@
|
||||
;;; Copyright © 2016-2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2021, 2022 Stefan Reichör <stefan@xsteve.at>
|
||||
;;; Copyright © 2016, 2017, 2019 Alex Vong <alexvong1995@gmail.com>
|
||||
;;; Copyright © 2016, 2017, 2018, 2021 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2016, 2017, 2018, 2021, 2022 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2016, 2017, 2018, 2020, 2021 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
@ -2574,20 +2574,25 @@ downloaded, or download a strip for a particular date or index, if possible.")
|
||||
(define-public python-et-xmlfile
|
||||
(package
|
||||
(name "python-et-xmlfile")
|
||||
(version "1.0.1")
|
||||
(version "1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "et_xmlfile" version))
|
||||
;; Use a checkout because the PyPI archive does not contain tests.
|
||||
(method hg-fetch)
|
||||
(uri (hg-reference
|
||||
(url "https://foss.heptapod.net/openpyxl/et_xmlfile")
|
||||
(changeset version)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0nrkhcb6jdrlb6pwkvd4rycw34y3s931hjf409ij9xkjsli9fkb1"))))
|
||||
(base32 "09r8rjc5bhkqrm5c4n9jrlvad8vrvbyswl9g0wrc1qc7nzh9mpw7"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "pytest"))))))
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(native-inputs
|
||||
(list python-pytest python-lxml)) ;used for the tests
|
||||
(home-page "https://bitbucket.org/openpyxl/et_xmlfile")
|
||||
@ -3544,20 +3549,22 @@ version numbers.")
|
||||
(define-public python-jdcal
|
||||
(package
|
||||
(name "python-jdcal")
|
||||
(version "1.4")
|
||||
(version "1.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "jdcal" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ja6j2xq97bsl6rv09mhdx7n0xnrsfx0mj5xqza0mxghqmkm02pa"))))
|
||||
"1j6g19jf21qprjsr8h0r7nsbss366gy8j9izq8cz53gbjvh74a27"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "pytest"))))))
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(native-inputs
|
||||
(list python-pytest))
|
||||
(home-page "https://github.com/phn/jdcal")
|
||||
@ -7486,7 +7493,7 @@ a front-end for C compilers or analysis tools.")
|
||||
(define-public python-xlsxwriter
|
||||
(package
|
||||
(name "python-xlsxwriter")
|
||||
(version "1.3.9")
|
||||
(version "3.0.3")
|
||||
(source
|
||||
(origin
|
||||
;; There are no tests in the PyPI tarball.
|
||||
@ -7496,7 +7503,7 @@ a front-end for C compilers or analysis tools.")
|
||||
(commit (string-append "RELEASE_" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04idf331rp0iyhlnh7268jmim8ydw4jjb81hr5rh548sqnq4bhpl"))))
|
||||
(base32 "1lr7mmik6r4zns069i4zfx1cnwhz6snmlh2zsiry0cwx8cv33wpm"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/jmcnamara/XlsxWriter")
|
||||
(synopsis "Python module for creating Excel XLSX files")
|
||||
@ -7683,7 +7690,7 @@ support for Python 3 and PyPy. It is based on cffi.")
|
||||
(define-public python-cairocffi
|
||||
(package
|
||||
(name "python-cairocffi")
|
||||
(version "1.2.0")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
;; The PyPI archive does not include the documentation, so use Git.
|
||||
@ -7694,7 +7701,7 @@ support for Python 3 and PyPy. It is based on cffi.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ypw0c2lr43acn57hbmckk183zq4h477j7p4ig2zjvw0mcpvia50"))))
|
||||
"0lylyxyyd8csjhn5kxwzrcr6ick6pvvm1wclpmb5ni28jznxn7lb"))))
|
||||
(build-system python-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(inputs
|
||||
@ -9993,13 +10000,13 @@ function signatures.")
|
||||
(define-public python-sympy
|
||||
(package
|
||||
(name "python-sympy")
|
||||
(version "1.10.1")
|
||||
(version "1.11.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sympy" version))
|
||||
(sha256
|
||||
(base32 "0yvqb2fhrm81skl8s9znbkkjfb1a09n64qqlc1r225cyvzzywfar"))))
|
||||
(base32 "0n46x1rfy8c2a9za3yp2va5icigxj805f9fmiq8c1drwwvf808z3"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@ -11247,13 +11254,13 @@ It has a flexible system of @samp{authorizers} able to manage both
|
||||
(define-public python-fs
|
||||
(package
|
||||
(name "python-fs")
|
||||
(version "2.4.14")
|
||||
(version "2.4.16")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "fs" version))
|
||||
(sha256
|
||||
(base32 "0v5kqzi0vd8ar4j4qf5440nzwa9dcagpxb3q6k0cln4cqlmxqmcm"))))
|
||||
(base32 "04ykd7q49qgv13hl2n71lzihs2c9099r50lmd85vgx0k2bawg5xf"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@ -22547,7 +22554,7 @@ Let's Encrypt.")
|
||||
(define-public python-cfgv
|
||||
(package
|
||||
(name "python-cfgv")
|
||||
(version "3.1.0")
|
||||
(version "3.3.1")
|
||||
(source
|
||||
(origin
|
||||
;; There are no tests in the PyPI tarball.
|
||||
@ -22557,16 +22564,17 @@ Let's Encrypt.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1vvkkqw92sak4b28bpscpppq483amy52ch2yqy1i2m23q7xjkabx"))))
|
||||
(base32 "1pci97cmn3v45sfch9s3lshidrl0309ls9byidic0l8drkwnkwcj"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "pytest" "-vv"))))))
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(native-inputs
|
||||
(list python-covdefaults python-coverage python-pytest))
|
||||
(list python-pytest))
|
||||
(home-page "https://github.com/asottile/cfgv")
|
||||
(synopsis "Configuration validation library")
|
||||
(description
|
||||
@ -30715,3 +30723,40 @@ platform using the ActivityPub protocol.")
|
||||
"@code{python-lief} is a cross platform library which can parse, modify
|
||||
and abstract ELF, PE and MachO formats.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-pymonad
|
||||
(package
|
||||
(name "python-pymonad")
|
||||
(version "2.4.0")
|
||||
;; The tests are incomplete in the PyPI archive.
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jasondelaat/pymonad")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ci1mpydldiyg9qv6d19ljhfh7wxlrl2k4mlvqd9bm7dqvpdjsx7"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "./run_tests.sh")))))))
|
||||
(home-page "https://github.com/jasondelaat/pymonad")
|
||||
(synopsis "Monadic style functional programming for Python")
|
||||
(description "@code{python-pymonad} implements data structures typically
|
||||
available in purely functional or functional first programming languages such
|
||||
as Haskell and F#. Included are
|
||||
|
||||
@itemize
|
||||
@item Monad and Monoid data types with several common monads such as Maybe and
|
||||
State
|
||||
@item Useful tools such as the @code{@@curry} decorator for defining curried
|
||||
functions
|
||||
@item Type annotations to help ensure correct usage
|
||||
@end itemize")
|
||||
(license license:bsd-3)))
|
||||
|
@ -866,7 +866,7 @@ ease from the desktop to a microcontroller or embedded system.")
|
||||
(substitute* '("lib_pypy/_md5.py"
|
||||
"lib_pypy/_sha1.py")
|
||||
((shebang-match-python) shebang-pypy3))))
|
||||
(copy-recursively dist-dir out)))))))
|
||||
(copy-recursively dist-dir #$output)))))))
|
||||
(native-inputs
|
||||
(list gzip
|
||||
nss-certs ; For ssl tests
|
||||
|
@ -24,6 +24,7 @@
|
||||
;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
|
||||
;;; Copyright © 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
||||
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -1045,7 +1046,17 @@ xmlpatternsvalidator.")))
|
||||
;; is provided by qtdeclarative-5.
|
||||
(substitute*
|
||||
"lib/cmake/Qt5QuickCompiler/Qt5QuickCompilerConfig.cmake"
|
||||
(("\\$\\{_qt5Core_install_prefix\\}") out)))))))))
|
||||
(("\\$\\{_qt5Core_install_prefix\\}") out)))))
|
||||
;; TODO: Add phase unconditionally.
|
||||
,@(if (target-riscv64?)
|
||||
'((add-after 'unpack 'fix-linking-riscv64
|
||||
(lambda _
|
||||
(substitute* "src/qml/qml.pro"
|
||||
(("DEFINES \\+= QT_NO_FOREACH")
|
||||
(string-append
|
||||
"isEqual(QT_ARCH, \"riscv64\"): QMAKE_LIBS += -latomic\n\n"
|
||||
"DEFINES += QT_NO_FOREACH"))))))
|
||||
'())))))
|
||||
(native-inputs
|
||||
(list perl
|
||||
pkg-config
|
||||
@ -3741,6 +3752,9 @@ color-related widgets.")
|
||||
"QCustomPlot is a Qt C++ widget providing 2D plots, graphs and charts.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
;; TODO: Split shiboken2 binding generator into a dedicated output.
|
||||
;; This executable requires libxml2, libxslt, clang-toolchain at runtime.
|
||||
;; The libshiboken library only requires Qt and Python at runtime.
|
||||
(define-public python-shiboken-2
|
||||
(package
|
||||
(name "python-shiboken-2")
|
||||
@ -3763,30 +3777,31 @@ color-related widgets.")
|
||||
qtbase-5
|
||||
qtxmlpatterns))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
;; FIXME: Building tests fails
|
||||
#:configure-flags '("-DBUILD_TESTS=off")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-shiboken-dir-only
|
||||
(lambda _ (chdir "sources/shiboken2") #t))
|
||||
(add-before 'configure 'make-files-writable-and-update-timestamps
|
||||
(lambda _
|
||||
;; The build scripts need to modify some files in
|
||||
;; the read-only source directory, and also attempts
|
||||
;; to create Zip files which fails because the Zip
|
||||
;; format does not support timestamps before 1980.
|
||||
(let ((circa-1980 (* 10 366 24 60 60)))
|
||||
(for-each (lambda (file)
|
||||
(make-file-writable file)
|
||||
(utime file circa-1980 circa-1980))
|
||||
(find-files ".")))
|
||||
#t))
|
||||
(add-before 'configure 'set-build-env
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((llvm (assoc-ref inputs "clang-toolchain")))
|
||||
(setenv "CLANG_INSTALL_DIR" llvm)
|
||||
#t))))))
|
||||
(list
|
||||
#:tests? #f
|
||||
;; FIXME: Building tests fails
|
||||
#:configure-flags #~(list "-DBUILD_TESTS=off")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-shiboken-dir-only
|
||||
(lambda _ (chdir "sources/shiboken2") #t))
|
||||
(add-before 'configure 'make-files-writable-and-update-timestamps
|
||||
(lambda _
|
||||
;; The build scripts need to modify some files in
|
||||
;; the read-only source directory, and also attempts
|
||||
;; to create Zip files which fails because the Zip
|
||||
;; format does not support timestamps before 1980.
|
||||
(let ((circa-1980 (* 10 366 24 60 60)))
|
||||
(for-each (lambda (file)
|
||||
(make-file-writable file)
|
||||
(utime file circa-1980 circa-1980))
|
||||
(find-files ".")))
|
||||
#t))
|
||||
(add-before 'configure 'set-build-env
|
||||
(lambda _
|
||||
(let ((llvm #$(this-package-input "clang-toolchain")))
|
||||
(setenv "CLANG_INSTALL_DIR" llvm)
|
||||
#t))))))
|
||||
(home-page "https://wiki.qt.io/Qt_for_Python")
|
||||
(synopsis
|
||||
"Shiboken generates bindings for C++ libraries using CPython source code")
|
||||
@ -3800,6 +3815,40 @@ color-related widgets.")
|
||||
license:lgpl3
|
||||
license:bsd-3))))
|
||||
|
||||
(define-public python-shiboken-6
|
||||
(package
|
||||
(inherit python-shiboken-2)
|
||||
(name "python-shiboken-6")
|
||||
(version "6.3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.qt.io/official_releases"
|
||||
"/QtForPython/pyside6/PySide6-" version
|
||||
"-src/pyside-setup-opensource-src-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xwri69nnbhn6fajm7l045r0s0qv8nlq6qj8wcj87srli3b5xa75"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(modify-inputs (package-inputs python-shiboken-2)
|
||||
(replace "qtbase" qtbase)
|
||||
(delete "qtxmlpatterns")))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments python-shiboken-2)
|
||||
((#:phases p)
|
||||
#~(modify-phases #$p
|
||||
(replace 'use-shiboken-dir-only
|
||||
(lambda _ (chdir "sources/shiboken6") #t))))
|
||||
((#:configure-flags flags)
|
||||
#~(cons*
|
||||
;; The RUNPATH of shibokenmodule contains the entry in build
|
||||
;; directory instead of install directory.
|
||||
"-DCMAKE_SKIP_RPATH=TRUE"
|
||||
(string-append "-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-rpath="
|
||||
#$output "/lib")
|
||||
#$flags))))))
|
||||
|
||||
(define-public python-pyside-2
|
||||
(package
|
||||
(name "python-pyside-2")
|
||||
@ -3807,10 +3856,7 @@ color-related widgets.")
|
||||
(source (package-source python-shiboken-2))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list libxml2
|
||||
libxslt
|
||||
clang-toolchain
|
||||
qtbase-5
|
||||
(list qtbase-5
|
||||
qtdatavis3d
|
||||
qtdeclarative-5
|
||||
qtlocation
|
||||
@ -3822,6 +3868,7 @@ color-related widgets.")
|
||||
qtsensors
|
||||
qtspeech
|
||||
qtsvg-5
|
||||
qttools-5
|
||||
qtwebchannel-5
|
||||
qtwebengine-5
|
||||
qtwebsockets-5
|
||||
@ -3830,68 +3877,63 @@ color-related widgets.")
|
||||
(propagated-inputs
|
||||
(list python-shiboken-2))
|
||||
(native-inputs
|
||||
`(("cmake" ,cmake-minimal)
|
||||
("python" ,python-wrapper)
|
||||
("qttools-5" ,qttools-5)
|
||||
("which" ,which)))
|
||||
(list python-wrapper))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
;; FIXME: Building tests fail.
|
||||
#:configure-flags
|
||||
(list "-DBUILD_TESTS=FALSE"
|
||||
(string-append "-DPYTHON_EXECUTABLE="
|
||||
(assoc-ref %build-inputs "python")
|
||||
"/bin/python"))
|
||||
#:modules ((guix build cmake-build-system)
|
||||
(list
|
||||
#:tests? #f
|
||||
;; FIXME: Building tests fail.
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_TESTS=FALSE"
|
||||
(string-append "-DPYTHON_EXECUTABLE="
|
||||
(search-input-file %build-inputs
|
||||
"/bin/python")))
|
||||
#:modules '((guix build cmake-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-1))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'go-to-source-dir
|
||||
(lambda _ (chdir "sources/pyside2") #t))
|
||||
(add-after 'go-to-source-dir 'fix-qt-module-detection
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Activate qt module support even if it not in the same
|
||||
;; directory as qtbase.
|
||||
(substitute* "../cmake_helpers/helpers.cmake"
|
||||
(("\\(\"\\$\\{found_basepath\\}\" GREATER \"0\"\\)")
|
||||
"true"))
|
||||
;; Add include directories for qt modules.
|
||||
(let ((dirs (map (lambda (name)
|
||||
(string-append (assoc-ref inputs name)
|
||||
"/include/qt5"))
|
||||
'("qtdatavis3d"
|
||||
"qtdeclarative"
|
||||
"qtlocation"
|
||||
"qtmultimedia"
|
||||
"qtquickcontrols"
|
||||
"qtquickcontrols2"
|
||||
"qtscript"
|
||||
"qtscxml"
|
||||
"qtsensors"
|
||||
"qtspeech"
|
||||
"qtsvg"
|
||||
"qttools-5"
|
||||
"qtwebchannel"
|
||||
"qtwebengine"
|
||||
"qtwebsockets"
|
||||
"qtx11extras"
|
||||
"qtxmlpatterns"))))
|
||||
(substitute* "cmake/Macros/PySideModules.cmake"
|
||||
(("\\$\\{PATH_SEP\\}\\$\\{core_includes\\}" all)
|
||||
(fold (lambda (dir paths)
|
||||
(string-append paths "${PATH_SEP}" dir))
|
||||
all
|
||||
dirs)))
|
||||
(setenv "CXXFLAGS" (fold (lambda (dir paths)
|
||||
(string-append paths " -I" dir))
|
||||
""
|
||||
dirs)))))
|
||||
(add-before 'configure 'set-clang-dir
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((clang (assoc-ref inputs "clang-toolchain")))
|
||||
(setenv "CLANG_INSTALL_DIR" clang)
|
||||
#t))))))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'go-to-source-dir
|
||||
(lambda _ (chdir "sources/pyside2") #t))
|
||||
(add-after 'go-to-source-dir 'fix-qt-module-detection
|
||||
(lambda _
|
||||
;; Activate qt module support even if it not in the same
|
||||
;; directory as qtbase.
|
||||
(substitute* "../cmake_helpers/helpers.cmake"
|
||||
(("\\(\"\\$\\{found_basepath\\}\" GREATER \"0\"\\)")
|
||||
"true"))
|
||||
;; Add include directories for qt modules.
|
||||
(let ((dirs (map (lambda (path)
|
||||
(string-append path "/include/qt5"))
|
||||
(list
|
||||
#$@(map (lambda (name)
|
||||
(this-package-input name))
|
||||
'("qtdatavis3d"
|
||||
"qtdeclarative"
|
||||
"qtlocation"
|
||||
"qtmultimedia"
|
||||
"qtquickcontrols"
|
||||
"qtquickcontrols2"
|
||||
"qtscript"
|
||||
"qtscxml"
|
||||
"qtsensors"
|
||||
"qtspeech"
|
||||
"qtsvg"
|
||||
"qttools"
|
||||
"qtwebchannel"
|
||||
"qtwebengine"
|
||||
"qtwebsockets"
|
||||
"qtx11extras"
|
||||
"qtxmlpatterns"))))))
|
||||
(substitute* "cmake/Macros/PySideModules.cmake"
|
||||
(("\\$\\{PATH_SEP\\}\\$\\{core_includes\\}" all)
|
||||
(fold (lambda (dir paths)
|
||||
(string-append paths "${PATH_SEP}" dir))
|
||||
all
|
||||
dirs)))
|
||||
(setenv "CXXFLAGS" (fold (lambda (dir paths)
|
||||
(string-append paths " -I" dir))
|
||||
""
|
||||
dirs))))))))
|
||||
(home-page "https://wiki.qt.io/Qt_for_Python")
|
||||
(synopsis
|
||||
"The Qt for Python product enables the use of Qt5 APIs in Python applications")
|
||||
@ -3913,6 +3955,78 @@ generate Python bindings for your C or C++ code.")
|
||||
license:gpl3
|
||||
license:gpl2))))
|
||||
|
||||
(define-public python-pyside-6
|
||||
(package
|
||||
(inherit python-pyside-2)
|
||||
(name "python-pyside-6")
|
||||
(version (package-version python-shiboken-6))
|
||||
(source (package-source python-shiboken-6))
|
||||
;; TODO: Add more Qt components if available.
|
||||
(inputs
|
||||
(list qtbase
|
||||
qtdeclarative
|
||||
qtmultimedia
|
||||
qtnetworkauth
|
||||
qtpositioning
|
||||
qtsvg
|
||||
qttools
|
||||
qtwebchannel
|
||||
qtwebengine
|
||||
qtwebsockets))
|
||||
(propagated-inputs
|
||||
(list python-shiboken-6))
|
||||
(native-inputs
|
||||
(list python-wrapper))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_TESTS=FALSE"
|
||||
(string-append "-DPYTHON_EXECUTABLE="
|
||||
(search-input-file %build-inputs
|
||||
"/bin/python")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'go-to-source-dir
|
||||
(lambda _ (chdir "sources/pyside6") #t))
|
||||
(add-after 'go-to-source-dir 'fix-qt-module-detection
|
||||
(lambda _
|
||||
(substitute* "cmake/PySideHelpers.cmake"
|
||||
(("\\(\"\\$\\{found_basepath\\}\" GREATER \"0\"\\)")
|
||||
"true"))
|
||||
(let ((dirs (map (lambda (path)
|
||||
(string-append path "/include/qt6"))
|
||||
(list
|
||||
#$@(map (lambda (name)
|
||||
(this-package-input name))
|
||||
'("qtdeclarative"
|
||||
"qtmultimedia"
|
||||
"qtnetworkauth"
|
||||
"qtpositioning"
|
||||
"qtsvg"
|
||||
"qttools"
|
||||
"qtwebchannel"
|
||||
"qtwebengine"
|
||||
"qtwebsockets"))))))
|
||||
(substitute* "cmake/Macros/PySideModules.cmake"
|
||||
(("set\\(shiboken_include_dir_list " all)
|
||||
(string-append all (string-join dirs ";") " ")))
|
||||
(setenv "CXXFLAGS"
|
||||
(string-join
|
||||
(map (lambda (dir)
|
||||
(string-append "-I" dir))
|
||||
dirs)
|
||||
" "))))))))
|
||||
(synopsis
|
||||
"The Qt for Python product enables the use of Qt6 APIs in Python applications")
|
||||
(description
|
||||
"The Qt for Python product enables the use of Qt6 APIs in Python
|
||||
applications. It lets Python developers utilize the full potential of Qt,
|
||||
using the PySide6 module. The PySide6 module provides access to the
|
||||
individual Qt modules such as QtCore, QtGui,and so on. Qt for Python also
|
||||
comes with the Shiboken6 CPython binding code generator, which can be used to
|
||||
generate Python bindings for your C or C++ code.")))
|
||||
|
||||
(define-public python-pyside-2-tools
|
||||
(package
|
||||
(name "python-pyside-2-tools")
|
||||
@ -3922,22 +4036,24 @@ generate Python bindings for your C or C++ code.")
|
||||
(inputs
|
||||
(list python-pyside-2 python-shiboken-2 qtbase-5))
|
||||
(native-inputs
|
||||
`(("python" ,python-wrapper)))
|
||||
(list python-wrapper))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:configure-flags
|
||||
(list "-DBUILD_TESTS=off"
|
||||
(string-append "-DPYTHON_EXECUTABLE="
|
||||
(assoc-ref %build-inputs "python")
|
||||
"/bin/python"))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'go-to-source-dir
|
||||
(lambda _ (chdir "sources/pyside2-tools") #t)))))
|
||||
(list
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_TESTS=off"
|
||||
(string-append "-DPYTHON_EXECUTABLE="
|
||||
(search-input-file %build-inputs
|
||||
"/bin/python")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'go-to-source-dir
|
||||
(lambda _ (chdir "sources/pyside2-tools") #t)))))
|
||||
(home-page "https://wiki.qt.io/Qt_for_Python")
|
||||
(synopsis
|
||||
"Contains command line tools for PySide2")
|
||||
"Command line tools for PySide2")
|
||||
(description
|
||||
"Contains lupdate, rcc and uic tools for PySide2")
|
||||
"Python-pyside-2-tools contains lupdate, rcc and uic tools for PySide2")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public libqglviewer
|
||||
|
@ -36,7 +36,6 @@
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages chez)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages databases)
|
||||
@ -54,7 +53,7 @@
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module ((guix licenses) #:prefix license:))
|
||||
|
||||
;; Commentary:
|
||||
;; COMMENTARY:
|
||||
;;
|
||||
;; Anatomy of Racket:
|
||||
;; ------------------
|
||||
@ -73,14 +72,16 @@
|
||||
;; ├── bc/
|
||||
;; ├── cs/
|
||||
;; ├── ChezScheme/
|
||||
;; ├── zuo/
|
||||
;; └── ...
|
||||
;;
|
||||
;; The 'racket/src/' directory contains the source of the runtime system, core
|
||||
;; compiler, and primitives for the major Racket implementations: this layer
|
||||
;; is called the ``Racket VM''. It is basically a normal autotools
|
||||
;; project. (Even when Racket VM implementations use components implemented in
|
||||
;; Racket, they are compiled in special modes to produce VM primitives.)
|
||||
;; (There are or have been experimental Racket VM implementations elsewhere,
|
||||
;; is called the ``Racket VM''. It is basically a normal Autoconf project,
|
||||
;; except that the makefiles just run Zuo to do the real work. (Even when
|
||||
;; Racket VM implementations use components implemented in Racket, they are
|
||||
;; compiled in special modes to produce VM primitives.) (There are or have
|
||||
;; been experimental Racket VM implementations elsewhere,
|
||||
;; e.g. <https://github.com/pycket/pycket>.)
|
||||
;;
|
||||
;; The 'racket/collects/' directory contains ``built in'' Racket libraries
|
||||
@ -101,10 +102,10 @@
|
||||
;;
|
||||
;; The top-level 'Makefile' is more like a directory of scripts: it has
|
||||
;; convienience targets for developing Racket, and it cooperates with the
|
||||
;; 'distro-build' package to assemble custom Racket distributions. It is not
|
||||
;; part of Racket source distributions: the root of a source distribution is
|
||||
;; basically 'racket/src' with some extra package sources and configuration
|
||||
;; added.
|
||||
;; 'distro-build' package to assemble custom Racket distributions. (Again,
|
||||
;; the makefile just delegates to Zuo.) It is not part of Racket source
|
||||
;; distributions: the root of a source distribution is basically 'racket/src'
|
||||
;; with some extra package sources and configuration added.
|
||||
;;
|
||||
;; A ''minimal Racket'' installation includes two packages: 'base', which is a
|
||||
;; sort of bridge between the current ``built-in'' collections and the package
|
||||
@ -127,15 +128,14 @@
|
||||
;; This file defines the packages 'racket-vm-cgc', 'racket-vm-bc', and
|
||||
;; 'racket-vm-cs'. All three are in-place builds of 'racket/src/' and
|
||||
;; 'racket/collects/' and are installed to 'opt/racket-vm/' in the store
|
||||
;; output. The function 'racket-vm-for-system' returns the recomended Racket
|
||||
;; VM package for a given system.
|
||||
;; output.
|
||||
;;
|
||||
;; The file 'racket.scm' builds on these packages to define 'racket-minimal'
|
||||
;; and 'racket' packages. These use Racket's support for ``layered
|
||||
;; installations'', which allow an immutable base layer to be extended with
|
||||
;; additional packages. They use the layer configuration directly provide
|
||||
;; ready-to-install FHS-like trees, rather than relying on the built in
|
||||
;; ``Unix-style install'' mechanism.
|
||||
;; Using 'racket-vm-cs', we then define the packages 'racket-minimal' and
|
||||
;; 'racket'. These use Racket's support for ``layered installations'', which
|
||||
;; allow an immutable base layer to be extended with additional packages.
|
||||
;; They use the layer configuration directly provide ready-to-install FHS-like
|
||||
;; trees, rather than relying on the built in ``Unix-style install''
|
||||
;; mechanism.
|
||||
;;
|
||||
;; Bootstrapping Racket:
|
||||
;; ---------------------
|
||||
@ -178,29 +178,21 @@
|
||||
;; However, other Racket subsystems implemented in Racket for Racket CS
|
||||
;; use older C implementations for Racket BC, whereas the reader, expander,
|
||||
;; and module system were completely replaced with the Racket implementation
|
||||
;; as of Racket 7.0.
|
||||
;; as of Racket 7.0. See also <https://racket.discourse.group/t/951/4>.
|
||||
;;
|
||||
;; For Racket BC, the compiled "linklet" s-expressions (primitive modules)
|
||||
;; are embeded in C as a static string constant. Eventually, they are further
|
||||
;; compiled by the C-implemented Racket BC bytecode and JIT compilers.
|
||||
;; (On platforms where Racket BC's JIT is not supported, yet another compiler
|
||||
;; instead compiles the linklets to C code, but this is not a bootstrapping
|
||||
;; issue.)
|
||||
;;
|
||||
;; Code:
|
||||
;; Zuo is notably *not* a problem for bootstrapping. The implementation is a
|
||||
;; single hand-written C file designed to build with just `cc -o zuo zuo.c`,
|
||||
;; even with very old or limited compilers. (We use the Autoconf support for
|
||||
;; convienience.)
|
||||
;;
|
||||
;; CODE:
|
||||
|
||||
(define* (racket-vm-for-system #:optional
|
||||
(system (or (%current-target-system)
|
||||
(%current-system))))
|
||||
"Return 'racket-vm-cs' if we are able to build it for SYSTEM; 'racket-vm-bc'
|
||||
otherwise."
|
||||
;; Once we figure out the issues in https://racket.discourse.group/t/950,
|
||||
;; we can use 'racket-vm-cs' everywhere.
|
||||
(if (racket-cs-native-supported-system? system)
|
||||
racket-vm-cs
|
||||
racket-vm-bc))
|
||||
|
||||
(define %racket-version "8.5") ; Remember to update chez-scheme-for-racket!
|
||||
(define %racket-version "8.6") ; Remember to update chez-scheme-for-racket!
|
||||
(define %zuo-version "1.0") ; defined in racket/src/zuo/zuo.c
|
||||
(define %racket-commit
|
||||
(string-append "v" %racket-version))
|
||||
(define %racket-origin
|
||||
@ -210,9 +202,15 @@ otherwise."
|
||||
(url "https://github.com/racket/racket")
|
||||
(commit %racket-commit)))
|
||||
(sha256
|
||||
(base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h"))
|
||||
(base32 "1lw6h70dk8zqpl96zz0hmhn8vjcc0c7gw4prkfz2wid5bkq4mhg4"))
|
||||
(file-name (git-file-name "racket" %racket-version))
|
||||
(patches (search-patches "racket-minimal-sh-via-rktio.patch"))
|
||||
(patches (search-patches "racket-backport-8.6-cross-install.patch"
|
||||
"racket-backport-8.6-docindex-write.patch"
|
||||
"racket-backport-8.6-hurd.patch"
|
||||
"racket-backport-8.6-zuo.patch"
|
||||
"racket-chez-scheme-bin-sh.patch"
|
||||
"racket-rktio-bin-sh.patch"
|
||||
"racket-zuo-bin-sh.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
@ -232,8 +230,44 @@ otherwise."
|
||||
;; Unbundle libffi.
|
||||
(delete-file-recursively "racket/src/bc/foreign/libffi")))))
|
||||
|
||||
(define (racket-vm-common-configure-flags)
|
||||
;; under a lambda abstraction to avoid evaluating bash-minimal too early.
|
||||
|
||||
(define-public zuo
|
||||
(let ((revision #f))
|
||||
(package
|
||||
(name "zuo")
|
||||
(version (string-append %zuo-version
|
||||
"-racket"
|
||||
%racket-version
|
||||
(if revision "-guix" "")
|
||||
(or revision "")))
|
||||
(source %racket-origin)
|
||||
(outputs '("out" "debug"))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:out-of-source? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda args
|
||||
(chdir "racket/src/zuo"))))))
|
||||
(home-page "https://github.com/racket/zuo")
|
||||
;; ^ This is downstream of https://github.com/racket/racket,
|
||||
;; but it's designed to be a friendly landing place
|
||||
(synopsis "Tiny Racket for build scripts")
|
||||
(description "Zuo is a tiny Racket with primitives for dealing
|
||||
with files and running processes. It comes with a @command{make}-like
|
||||
embedded DSL, which is used to build Racket itself.
|
||||
|
||||
Zuo is a Racket variant in the sense that program files start with
|
||||
@code{#lang}, and the module path after @code{#lang} determines the parsing
|
||||
and expansion of the file content. That's how the @command{make}-like DSL is
|
||||
defined, and even the base Zuo language is defined by layers of @code{#lang}s.
|
||||
One of the early layers implements macros.")
|
||||
(license (list license:asl2.0 license:expat)))))
|
||||
|
||||
|
||||
(define racket-vm-common-configure-flags
|
||||
#~`(,@(cond
|
||||
((false-if-exception
|
||||
(search-input-file %build-inputs "/bin/libtool"))
|
||||
@ -248,8 +282,6 @@ otherwise."
|
||||
(list (string-append "--enable-racket=" racket))))
|
||||
(else
|
||||
'()))
|
||||
,(string-append "CPPFLAGS=-DGUIX_RKTIO_PATCH_BIN_SH="
|
||||
#$(file-append bash-minimal "/bin/sh"))
|
||||
"--disable-strip"
|
||||
;; Using --enable-origtree lets us distinguish the VM from subsequent
|
||||
;; layers and produces a build with the shape expected by tools such as
|
||||
@ -267,16 +299,23 @@ otherwise."
|
||||
(version %racket-version)
|
||||
(source %racket-origin)
|
||||
(inputs (list ncurses ;; <- common to all variants (for #%terminal)
|
||||
bash-minimal ;; <- common to all variants (for `system`)
|
||||
libffi)) ;; <- only for BC variants
|
||||
(native-inputs (list libtool)) ;; <- only for BC variants
|
||||
libffi)) ;; <- for BC and non-native CS variants
|
||||
(native-inputs (cons* zuo ;; <- for all variants
|
||||
libtool ;; <- only for BC variants
|
||||
(if (%current-target-system)
|
||||
(list this-package)
|
||||
'())))
|
||||
(outputs '("out" "debug"))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(cons "--enable-cgcdefault"
|
||||
#$(racket-vm-common-configure-flags))
|
||||
#$racket-vm-common-configure-flags)
|
||||
#:make-flags
|
||||
#~(list (string-append "ZUO="
|
||||
#+(this-package-native-input "zuo")
|
||||
"/bin/zuo"))
|
||||
;; Tests are in packages like racket-test-core and
|
||||
;; main-distribution-test that aren't part of the main
|
||||
;; distribution.
|
||||
@ -353,21 +392,34 @@ code to use the 3M garbage collector.")
|
||||
(inherit racket-vm-cgc)
|
||||
(name "racket-vm-bc")
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs racket-vm-cgc)
|
||||
(prepend racket-vm-cgc)))
|
||||
(if (%current-target-system)
|
||||
(package-native-inputs racket-vm-cgc)
|
||||
(modify-inputs (package-native-inputs racket-vm-cgc)
|
||||
(prepend racket-vm-cgc))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments racket-vm-cgc)
|
||||
((#:configure-flags _ '())
|
||||
#~(cons "--enable-bconly"
|
||||
#$(racket-vm-common-configure-flags)))))
|
||||
#$(cond
|
||||
((target-ppc64le?)
|
||||
;; Attempt to avoid a problem bootstrapping Chez Scheme:
|
||||
;; see <https://issues.guix.gnu.org/57050#19>
|
||||
;; and <https://racket.discourse.group/t/950/30>.
|
||||
#~(map
|
||||
(lambda (flag)
|
||||
(if (string-prefix? "CPPFLAGS=" flag)
|
||||
(string-append flag
|
||||
" -DSTACK_SAFETY_MARGIN=2000000")
|
||||
flag))
|
||||
#$racket-vm-common-configure-flags))
|
||||
(else
|
||||
racket-vm-common-configure-flags))))))
|
||||
(synopsis "Racket BC [3M] implementation")
|
||||
(description "The Racket BC (``before Chez'' or ``bytecode'')
|
||||
implementation was the default before Racket 8.0. It uses a compiler written
|
||||
in C targeting architecture-independent bytecode, plus a JIT compiler on most
|
||||
platforms. Racket BC has a different C API and supports a slightly different
|
||||
set of architectures than the current default runtime system, Racket CS (based
|
||||
on ``Chez Scheme''). It is the recommended implementation for architectures
|
||||
that Racket CS doesn't support.
|
||||
platforms. Racket BC has a different C API than the current default runtime
|
||||
system, Racket CS (based on ``Chez Scheme'').
|
||||
|
||||
This package is the normal implementation of Racket BC with a precise garbage
|
||||
collector, 3M (``Moving Memory Manager'').")
|
||||
@ -380,15 +432,24 @@ collector, 3M (``Moving Memory Manager'').")
|
||||
(inherit racket-vm-bc)
|
||||
(name "racket-vm-cs")
|
||||
(inputs
|
||||
(modify-inputs (package-inputs racket-vm-cgc)
|
||||
(prepend zlib lz4)
|
||||
(delete "libffi")))
|
||||
(let ((inputs (modify-inputs (package-inputs racket-vm-cgc)
|
||||
(prepend zlib lz4))))
|
||||
(if (racket-cs-native-supported-system?)
|
||||
(modify-inputs inputs
|
||||
(delete "libffi"))
|
||||
inputs)))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs racket-vm-cgc)
|
||||
(delete "libtool")
|
||||
(prepend chez-scheme-for-racket
|
||||
chez-nanopass-bootstrap
|
||||
racket-vm-bc)))
|
||||
(let ((native-inputs (package-native-inputs racket-vm-cgc)))
|
||||
(modify-inputs (if (%current-target-system)
|
||||
(modify-inputs native-inputs
|
||||
(delete "racket-vm-cgc"))
|
||||
native-inputs)
|
||||
(delete "libtool")
|
||||
(prepend chez-scheme-for-racket
|
||||
chez-nanopass-bootstrap
|
||||
(if (%current-target-system)
|
||||
racket-vm-cs
|
||||
racket-vm-bc)))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments racket-vm-cgc)
|
||||
((#:phases those-phases #~%standard-phases)
|
||||
@ -402,15 +463,22 @@ collector, 3M (``Moving Memory Manager'').")
|
||||
"--enable-libz"
|
||||
"--enable-lz4"
|
||||
(string-append "--enable-scheme="
|
||||
#$(this-package-native-input
|
||||
#+(this-package-native-input
|
||||
"chez-scheme-for-racket")
|
||||
"/bin/scheme")
|
||||
#$(racket-vm-common-configure-flags)))))
|
||||
#$@(if (racket-cs-native-supported-system?)
|
||||
#~()
|
||||
#~(#$(string-append "--enable-mach="
|
||||
(nix-system->pbarch-machine-type))
|
||||
"--enable-pb"))
|
||||
#$racket-vm-common-configure-flags))))
|
||||
(synopsis "Racket CS implementation")
|
||||
(description "The Racket CS implementation, which uses ``Chez Scheme'' as
|
||||
its core compiler and runtime system, has been the default Racket VM
|
||||
implementation since Racket 8.0. It performs better than the Racket BC
|
||||
implementation for most programs.
|
||||
implementation for most programs. On systems for which Racket CS cannot
|
||||
generate machine code, this package uses a variant of its ``portable
|
||||
bytecode'' backend specialized for word size and endianness.
|
||||
|
||||
Using the Racket VM packages directly is not recommended: instead, install the
|
||||
@code{racket-minimal} or @code{racket} packages.")
|
||||
@ -486,7 +554,7 @@ used to build the name of the resulting store item."
|
||||
(inputs
|
||||
(list openssl
|
||||
sqlite
|
||||
(racket-vm-for-system)
|
||||
racket-vm-cs
|
||||
(racket-packages-origin
|
||||
"base" %racket-origin
|
||||
'(("base" "pkgs/base")
|
||||
@ -604,7 +672,7 @@ DrRacket IDE, are not included.")
|
||||
unixodbc
|
||||
libedit ;; TODO reconsider in light of expeditor and readline-gpl
|
||||
racket-minimal ;; <-- TODO non-tethered layer
|
||||
(racket-vm-for-system)
|
||||
racket-vm-cs
|
||||
(simple-racket-origin
|
||||
"2d" (base32 "0fb5v6058ls08xw3zbmqyr2ym0psm119gl9ffgmhm9w8rs9i4dq7")
|
||||
'("2d" "2d-doc" "2d-lib"))
|
||||
@ -636,25 +704,25 @@ DrRacket IDE, are not included.")
|
||||
"contract-profile" (base32 "1xm2z8g0dpv5d9h2sg680vx1a8ix9gbsdpxxb8qv1w7akp73paj3")
|
||||
'(("contract-profile" ".")))
|
||||
(simple-racket-origin
|
||||
"data" (base32 "10iabgrk9alaggvksnyb0hdq7f1p30pq6pq2bcakvhzpxwiv1f55")
|
||||
"data" (base32 "08sj4m0g0cp7gwb0nq90m770f0c21b7ydif7nljc8rxmcdprfisc")
|
||||
'("data" "data-doc" "data-enumerate-lib" "data-lib"))
|
||||
(simple-racket-origin
|
||||
"datalog" (base32 "0nf6cy4djpyhfvgpa6yn72apbz9s83gp0qg95pzjd0az4v6qwq1s")
|
||||
'(("datalog" ".")))
|
||||
(simple-racket-origin
|
||||
"db" (base32 "1n02ja0yj3mjjhmz0yv04yfhyvrsznbljn8bjviyfxnm4xf9rcc5")
|
||||
"db" (base32 "0jzsbfcdm3xj0g8xxw3ky2swrhiqqsq2aqa3r08m641dc981dmjq")
|
||||
'("db" "db-doc" "db-lib"))
|
||||
(simple-racket-origin
|
||||
"deinprogramm" (base32 "0g8flr1qg3bcyhdinqhs4w7dyisaqyailbxrjgd2a7zlqmdyicfr")
|
||||
"deinprogramm" (base32 "16ncs3ms3mmdavbk0mkhm2qi62vyyif9cch3sn1y64pij489x34v")
|
||||
'("deinprogramm" "deinprogramm-signature"))
|
||||
(simple-racket-origin
|
||||
"distributed-places" (base32 "1dajpkj9balqcpv6cdk9hwjz592h1vq8rrx5vncariiac4vbdpa0")
|
||||
'("distributed-places" "distributed-places-doc" "distributed-places-lib"))
|
||||
(simple-racket-origin
|
||||
"draw" (base32 "1fpk85rs2crd63bxnmwj2pysisd62pxcqaip01si67dv1ri8ff92")
|
||||
"draw" (base32 "00rq5y4ba6z1d6jh76kl8rwpxrlqqp81a875zyhk3k81i42635sm")
|
||||
'("draw" "draw-doc" "draw-lib"))
|
||||
(simple-racket-origin
|
||||
"drracket" (base32 "0dipnz92c63zxys9z1kl5215rm7arc35g9r8bs8ivp96p75mljnz")
|
||||
"drracket" (base32 "05d7wssi0ry13alb5hl3llpsg30dd0jhyfv5nb1nmg189fn42q62")
|
||||
'("drracket"
|
||||
"drracket-plugin-lib"
|
||||
"drracket-tool"
|
||||
@ -671,7 +739,7 @@ DrRacket IDE, are not included.")
|
||||
"eopl" (base32 "1fmiixj6rxsgzwvgva8lvrvv0gl49v2405mp3s0i7ipis5c4n27s")
|
||||
'(("eopl" ".")))
|
||||
(simple-racket-origin
|
||||
"errortrace" (base32 "14m7rhaxngj36070iw15am434hm438pfgmwjfsiqhsglz4pcxhip")
|
||||
"errortrace" (base32 "0r5630bb2d6hk0fbi95fmyfja54nnwdfcj2zjba124pp6xkjyavx")
|
||||
'("errortrace" "errortrace-doc" "errortrace-lib"))
|
||||
(simple-racket-origin
|
||||
"expeditor" (base32 "0mjfwb4wzwsg5xj3k6cmik0va432n56rp5h7rxx1c2yy3prh1j7q")
|
||||
@ -688,13 +756,13 @@ DrRacket IDE, are not included.")
|
||||
"games" (base32 "0kpn3izlx1ccd0pj0dnvmnrhny51b85xy418a7psj70lz8j8415d")
|
||||
'(("games" ".")))
|
||||
(simple-racket-origin
|
||||
"gui" (base32 "0r3ck4gxdhnzr1a1fi0f1i7gwfip7akq10qgcxza66pp57hnl0wx")
|
||||
"gui" (base32 "18pcnx3wi8f32i2frm8bn9pi08n4y3c5jgqs4gy21w6f84dv401w")
|
||||
'("gui" "gui-doc" "gui-lib" "tex-table"))
|
||||
(simple-racket-origin
|
||||
"gui-pkg-manager" (base32 "1ji9448d723nklqvycwdswj0ni28sabrncag14f9mx47did5myb5")
|
||||
'("gui-pkg-manager-lib"))
|
||||
(simple-racket-origin
|
||||
"htdp" (base32 "19xqixrqbwdxph17w9jga19008j88harb5wgml4hpqj3x0apx9g3")
|
||||
"htdp" (base32 "173xy6ks55npvwn6cykjs41s9qfb70hc2gfjiqvw91hdsbjykwir")
|
||||
'("htdp" "htdp-doc" "htdp-lib"))
|
||||
(simple-racket-origin
|
||||
"html" (base32 "18n1jnjgzfknc8nv8dppi85nb8q08gqdwkg6hfjk08x0p00anx2x")
|
||||
@ -718,7 +786,7 @@ DrRacket IDE, are not included.")
|
||||
"make" (base32 "10852fj30bz5r46c3d99s37fkgy5yh44gb01j29sf3kxnhi0g2sa")
|
||||
'(("make" ".")))
|
||||
(simple-racket-origin
|
||||
"math" (base32 "02sqbnvxvmvslk33b44fx4v93zafcvhva0cx8z21jqbl5wp217ac")
|
||||
"math" (base32 "00ld38in5jfshs1q4zf07w84cyv4yjr40kmw30pyd5wqgs2zq9ai")
|
||||
'("math" "math-doc" "math-lib"))
|
||||
(simple-racket-origin
|
||||
"mysterx" (base32 "11p9jzrafw0hizhl0cs4sxx7rv281185q8hryic2rpk0kzjdyr48")
|
||||
@ -753,16 +821,16 @@ DrRacket IDE, are not included.")
|
||||
(git-file-name "stamourv-optimization-coach" %racket-version)))
|
||||
'(("optimization-coach" ".")))
|
||||
(simple-racket-origin
|
||||
"option-contract" (base32 "026b7n5l0c3024nymshz8zp1yhn493rdzgpflzfd52hj7awafqhk")
|
||||
"option-contract" (base32 "07cncg9pi15cm19k7rzv54vx83wq7y42i2m6bgzaqja1h8vnj2ww")
|
||||
'("option-contract" "option-contract-doc" "option-contract-lib"))
|
||||
(simple-racket-origin
|
||||
"parser-tools" (base32 "08pvz4zramirzm3j64hbhjm0mmh5zfy37iv4s3vmq0rj49cr8fl3")
|
||||
"parser-tools" (base32 "04ycihliikh0c47ivp09gayxiql9d9wpl216czic19cj6f7rmcnj")
|
||||
'("parser-tools" "parser-tools-doc" "parser-tools-lib"))
|
||||
(simple-racket-origin
|
||||
"pconvert" (base32 "00czi0p399mmyrvxyrs5kniizpkqfxyz2ncxqi2jy79a7wk79pb1")
|
||||
'("pconvert-lib"))
|
||||
(simple-racket-origin
|
||||
"pict" (base32 "0v7a3l77swsbh80mnb9rakdwgw7s66ji0mall7qcqfwyg1b4zmlv")
|
||||
"pict" (base32 "1n0v7kynkiin1v8igs9m8k8vfwjn5cswanhq2imp1pxzjvdyq6sx")
|
||||
'("pict" "pict-doc" "pict-lib"))
|
||||
(simple-racket-origin
|
||||
"pict-snip" (base32 "081nwiy4a0n4f7xws16hqbhf0j3kz5alizndi3nnyr3chm4kng6x")
|
||||
@ -816,7 +884,7 @@ DrRacket IDE, are not included.")
|
||||
"racklog" (base32 "0fbq0fpfb3l6h7h772dvkmlzlk2dnq5f8296xx1qxhhwypibqzr9")
|
||||
'(("racklog" ".")))
|
||||
(simple-racket-origin
|
||||
"rackunit" (base32 "0vfwcddzrgrdv5awjka7m0jzqhqvfc5wlkih83a670y96496a83n")
|
||||
"rackunit" (base32 "1gpz9sgnm8hrc0cb3rii0wzbcwp9mgy5k1amnxidy7gyzl7prn81")
|
||||
'("rackunit"
|
||||
"rackunit-doc"
|
||||
"rackunit-gui"
|
||||
@ -829,10 +897,10 @@ DrRacket IDE, are not included.")
|
||||
"readline" (base32 "13kbcn2wchv82d709mw3r8n37bk8iwq0y4kpvm9dbzx0w2pxkfwn")
|
||||
'("readline" "readline-doc" "readline-lib"))
|
||||
(simple-racket-origin
|
||||
"realm" (base32 "0hxcgla08iack54j8v40fj51811chpy66ym2zq76zb52c7kzn0hi")
|
||||
"realm" (base32 "0rlvwyd6rpyl0zda4a5p8dp346fvqzc8555dgfnrhliymkxb6x4g")
|
||||
'(("realm" ".")))
|
||||
(simple-racket-origin
|
||||
"redex" (base32 "18rn8ddsqh1s7hdlb2cb9wxln63bz0wysjssaf9v92r712xnnv8i")
|
||||
"redex" (base32 "06dhyqmin0qdm6b6sdvgzpy3pa4svlw42ld9k2h1dxcr852czil7")
|
||||
'("redex"
|
||||
"redex-benchmark"
|
||||
"redex-doc"
|
||||
@ -847,7 +915,7 @@ DrRacket IDE, are not included.")
|
||||
"scheme-lib" (base32 "0pcf0y8rp4qyjhaz5ww5sr5diq0wpcdfrrnask7zapyklzx1jx8x")
|
||||
'(("scheme-lib" ".")))
|
||||
(simple-racket-origin
|
||||
"scribble" (base32 "0fbb7xgz95y90247hfc1a19v7ry8m6blvv4y8irdgzhjvik70zb3")
|
||||
"scribble" (base32 "0a11kvcnzp04mp4xxq68rkl09jv00hv81k2nmwkmwpfx9b2acvd3")
|
||||
'("scribble"
|
||||
"scribble-doc"
|
||||
"scribble-html-lib"
|
||||
@ -879,7 +947,7 @@ DrRacket IDE, are not included.")
|
||||
"snip" (base32 "01r9wc5xr3q3n4yyif6j0a37rgdzmpslxn05k13ksik73b3wj6hj")
|
||||
'("snip" "snip-lib"))
|
||||
(simple-racket-origin
|
||||
"typed-racket" (base32 "0z6bagp6qiw0i3slhvq035y5hqgq664xw3bdlvdayad0bgbg0mdc")
|
||||
"typed-racket" (base32 "03wsz647fi58brbg33fw1xavp100gzfvngdy8bk7bdc0jfg8a18l")
|
||||
'("source-syntax"
|
||||
"typed-racket"
|
||||
"typed-racket-compatibility"
|
||||
@ -890,13 +958,13 @@ DrRacket IDE, are not included.")
|
||||
"srfi" (base32 "0aqbcdv2dfc2xnk0h6zfi56p7bpwqji8s88qds3d03hhh9k28gvn")
|
||||
'("srfi" "srfi-doc" "srfi-lib" "srfi-lite-lib"))
|
||||
(simple-racket-origin
|
||||
"string-constants" (base32 "0b1ji31pv6bjb0a2bh9sqp5abvf91gn2rai8r4c4nkar1fzfwfac")
|
||||
"string-constants" (base32 "1kg3vxq2hcd0vl76brgpzdwbrb65a4nrrkc6hj4az5lfbbdvqz47")
|
||||
'("string-constants" "string-constants-doc" "string-constants-lib"))
|
||||
(simple-racket-origin
|
||||
"swindle" (base32 "164gdsphjzdl2vv7zxz7dfk9jwax8njpmim6sidm8qz8a8589y67")
|
||||
"swindle" (base32 "03n9ymjhrw45h7hxkw4nq8nidnvs9mfzb4228s2cjfaqbgqxvsyb")
|
||||
'(("swindle" ".")))
|
||||
(simple-racket-origin
|
||||
"syntax-color" (base32 "17lb2403ymz6sflw4vs3gsh2y7kgsf0gn8sncsxjhi16rpj3a9vm")
|
||||
"syntax-color" (base32 "02dcd4yvdnw35m3srvfd43csxffxw3j4rk6zi379b8dsvbbrjyq1")
|
||||
'("syntax-color" "syntax-color-doc" "syntax-color-lib"))
|
||||
(simple-racket-origin
|
||||
"trace" (base32 "070ihla5j796hdarn5wxdwn4xj0xnkm50shgh49jy994mribvhia")
|
||||
@ -905,7 +973,7 @@ DrRacket IDE, are not included.")
|
||||
"unix-socket" (base32 "02dfwas5ynbpyz74w9kwb4wgb37y5wys7svrlmir8k0n9ph9vq0y")
|
||||
'("unix-socket" "unix-socket-doc" "unix-socket-lib"))
|
||||
(simple-racket-origin
|
||||
"web-server" (base32 "1g4x79ym3mgxv4f3z3z84j12355pf44pjlzlb7f0h6r0i7p0cbjd")
|
||||
"web-server" (base32 "104lnzjykkd6f3gxpv7p14l94if6zac33nmb4sj5jxmd6r3fwcpf")
|
||||
'("web-server" "web-server-doc" "web-server-lib"))
|
||||
(simple-racket-origin
|
||||
"wxme" (base32 "1qp5gr9gqsakiq3alw6m4yyv5vw4i3hp4y4nhq8vl2nkjmirvn0b")
|
||||
|
@ -30,6 +30,7 @@
|
||||
;;; Copyright © 2021 Giovanni Biscuolo <g@xelera.eu>
|
||||
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
|
||||
;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net>
|
||||
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -5359,6 +5360,24 @@ The output can be customized with a formatting system.")
|
||||
(home-page "https://github.com/jfelchner/ruby-progressbar")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ruby-latest-ruby
|
||||
(package
|
||||
(name "ruby-latest-ruby")
|
||||
(version "3.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "latest_ruby" version))
|
||||
(sha256
|
||||
(base32
|
||||
"15rqwgxzpnkzdiz8m02jra0zq5sx0fiz61vkfrj1ls6slqfhnzqg"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; No Rakefile
|
||||
(synopsis "Answers the question of what the latest Ruby version is")
|
||||
(description "Knows about MRI, Rubinius, JRuby, MagLev and MacRuby.")
|
||||
(home-page "https://github.com/kyrylo/latest_ruby")
|
||||
(license license:zlib)))
|
||||
|
||||
(define-public ruby-pry
|
||||
(package
|
||||
(name "ruby-pry")
|
||||
@ -5382,6 +5401,29 @@ invocation, and source and documentation browsing.")
|
||||
(home-page "https://cobaltbluemedia.com/pryrepl/")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ruby-pry-doc
|
||||
(package
|
||||
(name "ruby-pry-doc")
|
||||
(version "1.3.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "pry-doc" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wyvql6pb6m8jl8bsamabxhxhd86bnqblspaxzz05sl0fm2ynj0r"))))
|
||||
(build-system ruby-build-system)
|
||||
(propagated-inputs (list ruby-pry ruby-yard))
|
||||
(native-inputs (list ruby-latest-ruby ruby-rspec ruby-rake)) ;for tests
|
||||
(synopsis "Provides YARD and extended documentation support for Pry")
|
||||
(description
|
||||
"Pry Doc is a Pry REPL plugin. It provides extended documentation
|
||||
support for the REPL by means of improving the @code{show-doc} and
|
||||
@code{show-source} commands. With help of the plugin the commands are
|
||||
be able to display the source code and the docs of Ruby methods and
|
||||
classes implemented in C.")
|
||||
(home-page "https://github.com/pry/pry-doc")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ruby-single-cov
|
||||
(package
|
||||
(name "ruby-single-cov")
|
||||
|
@ -17,6 +17,7 @@
|
||||
;;; Copyright © 2021 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
|
||||
;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com>
|
||||
;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -874,6 +875,36 @@ rebase.")
|
||||
(native-inputs
|
||||
(list python-cython))))
|
||||
|
||||
(define-public rust-cbindgen-0.17
|
||||
(package
|
||||
(inherit rust-cbindgen)
|
||||
(name "rust-cbindgen")
|
||||
(version "0.17.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cbindgen" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1f40hxj6h7wqmsj8dzxjm3m421hjqpz2m5zxasbn8kgnr6scykvl"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-clap" ,rust-clap-2)
|
||||
("rust-heck" ,rust-heck-0.3)
|
||||
("rust-indexmap" ,rust-indexmap-1)
|
||||
("rust-log" ,rust-log-0.4)
|
||||
("rust-proc-macro2" ,rust-proc-macro2-1)
|
||||
("rust-quote" ,rust-quote-1)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-serde-json" ,rust-serde-json-1)
|
||||
("rust-syn" ,rust-syn-1)
|
||||
("rust-tempfile" ,rust-tempfile-3)
|
||||
("rust-toml" ,rust-toml-0.5))
|
||||
#:cargo-development-inputs
|
||||
(("rust-serial-test" ,rust-serial-test-0.5))))
|
||||
(native-inputs
|
||||
(list python-cython))))
|
||||
|
||||
(define-public rust-cbindgen-0.16
|
||||
(package
|
||||
(inherit rust-cbindgen)
|
||||
|
@ -53,7 +53,6 @@
|
||||
#:use-module (gnu packages ibus)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages mono)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
@ -656,43 +655,3 @@ interface.")
|
||||
|
||||
(define-public guile3.0-sdl2
|
||||
(deprecated-package "guile3.0-sdl2" guile-sdl2))
|
||||
|
||||
(define-public sdl2-cs
|
||||
(let ((commit "1a3556441e1394eb0b5d46aeb514b8d1090b93f8"))
|
||||
(package
|
||||
(name "sdl2-cs")
|
||||
(version (git-version "B1" "1" commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/flibitijibibo/SDL2-CS")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"007mzkqr9nmvfrvvhs2r6cm36lzgsww24kwshsz9c4fd97f9qk58"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; No tests.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "make" "release")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(install-file "bin/Release/SDL2-CS.dll" (string-append out "/lib"))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
(list mono))
|
||||
(inputs
|
||||
(list sdl2 sdl2-image sdl2-mixer sdl2-ttf))
|
||||
(home-page "https://dthompson.us/projects/guile-sdl2.html")
|
||||
(synopsis "C# wrapper for SDL2")
|
||||
(description
|
||||
"SDL2-CS provides C# bindings for the SDL2 C shared library.
|
||||
The C# wrapper was written to be used for FNA's platform support. However, this
|
||||
is written in a way that can be used for any general C# application.")
|
||||
(license license:zlib))))
|
||||
|
@ -38,6 +38,7 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system python)
|
||||
@ -145,6 +146,30 @@ chart.")
|
||||
text.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public zsh-autopair
|
||||
(package
|
||||
(name "zsh-autopair")
|
||||
(version "1.0")
|
||||
(home-page "https://github.com/hlissner/zsh-autopair")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/hlissner/zsh-autopair.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1h0vm2dgrmb8i2pvsgis3lshc5b0ad846836m62y8h3rdb3zmpy1"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
'(#:install-plan '(("autopair.zsh"
|
||||
"/share/zsh/plugins/zsh-autopair/zsh-autopair.zsh"))))
|
||||
(synopsis "Auto-close and delete matching delimiters in Zsh")
|
||||
(description
|
||||
"This Zsh plugin auto-closes, deletes, and skips over matching delimiters
|
||||
in Zsh intelligently.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public zsh-autosuggestions
|
||||
(package
|
||||
(name "zsh-autosuggestions")
|
||||
|
@ -108,3 +108,15 @@ zero-configuration, transactional SQL database engine. SQLite is the most
|
||||
widely deployed SQL database engine in the world. The source code for SQLite
|
||||
is in the public domain.")
|
||||
(license license:public-domain)))
|
||||
|
||||
;; Newer version required for e.g. fossil.
|
||||
(define-public sqlite-next
|
||||
(package
|
||||
(inherit sqlite)
|
||||
(version "3.39.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (sqlite-uri version 2022))
|
||||
(sha256
|
||||
(base32
|
||||
"1f922kq16g7f4h3gpzim78lvrp5xw9nvlvqw97s2qgxyh8qgns3q"))))))
|
||||
|
@ -7129,3 +7129,48 @@ otting the results.")
|
||||
"This package provides a collection of (mostly simple) functions for
|
||||
generating and manipulating colors in R.")
|
||||
(license license:gpl3))))
|
||||
|
||||
(define-public r-reghelper
|
||||
(package
|
||||
(name "r-reghelper")
|
||||
(version "1.1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "reghelper" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0v1987rs6kcpizfhrp3hxsyx9arn5vsbapjfgj9478j73mm844ji"))))
|
||||
(properties `((upstream-name . "reghelper")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-ggplot2 r-lme4 r-mass r-nlme))
|
||||
(home-page "https://github.com/jeff-hughes/reghelper")
|
||||
(synopsis "Helper Functions for Regression Analysis")
|
||||
(description
|
||||
"This package provides a set of functions used to automate commonly used methods
|
||||
in regression analysis. This includes plotting interactions, and calculating
|
||||
simple slopes, standardized coefficients, regions of significance (Johnson &
|
||||
Neyman, 1936; cf. Spiller et al., 2012), etc.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-mumin
|
||||
(package
|
||||
(name "r-mumin")
|
||||
(version "1.47.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "MuMIn" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1xhsc9hmx2b3zqyvpjs64rs90ccrfcsglrq2mhh85mgplsnva8qj"))))
|
||||
(properties `((upstream-name . "MuMIn")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-matrix r-nlme))
|
||||
(home-page "https://cran.r-project.org/package=MuMIn")
|
||||
(synopsis "Multi-Model Inference")
|
||||
(description
|
||||
"Tools for performing model selection and model averaging. Automated model
|
||||
selection through subsetting the maximum model, with optional constraints for
|
||||
model inclusion. Model parameter and prediction averaging based on model
|
||||
weights derived from information criteria (AICc and alike) or custom model
|
||||
weighting schemes.")
|
||||
(license license:gpl2)))
|
||||
|
@ -180,7 +180,7 @@ multiple inheritance and public and private classes and variables.")
|
||||
#t)))
|
||||
|
||||
#:test-target "test"))
|
||||
(home-page "http://expect.sourceforge.net/")
|
||||
(home-page "https://core.tcl-lang.org/expect/")
|
||||
(synopsis "Tool for automating interactive applications")
|
||||
(description
|
||||
"Expect is a tool for automating interactive applications such as
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user