1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-07 21:14:07 +02:00

Compare commits

...

20 Commits

Author SHA1 Message Date
宋文武 8ce414a206 gnu: xfce: Add 'stable-version-regexp' property for packages.
* gnu/packages/xfce.scm (libxfce4util, xfconf, libxfce4ui, catfish, exo)
(garcon, tumbler, libxfce4windowing, xfce4-appfinder, xfce4-session)
(xfce4-settings, thunar, thunar-volman, xfwm4, xfdesktop, parole)
(xfce4-power-manager, orage, xfce4-screensaver, xfce4-dev-tools)
[properties]: Add stable-version-regexp.

Merges: guix/guix!5222
Change-Id: Ia296b1ea3dbca95b4c9e99c43a52b4503d5f481a
2026-05-30 10:02:03 +08:00
宋文武 5c41a431df import: git: Support 'stable-version-regexp' property.
Some packages (eg: xfce4-panel) use even number for minor version to indicate
a stable release, when refresh such packages to latest versions we'd like them
to be stable ones.  Introduce 'stable-version-regexp' as a package property,
so that unwanted releases can be filtered out.

* doc/guix.texi (Invoking guix refresh): Document 'stable-version-regexp'.
* guix/import/git.scm (import-git-release): Filter out unstable releases when
target-version is unset but 'stable-version-regexp' is available.

Change-Id: I7bbb2cb41b19175a7e3fb79e00cd8dbb20d049ad
2026-05-30 10:01:58 +08:00
Vagrant Cascadian 5863808183 gnu: linux-libre: Update default version to 7.0.
* gnu/packages/linux.scm (linux-libre-version, linux-libre-gnu-revision,
linux-libre-pristine-source, linux-libre-source, linux-libre,
linux-libre-arm64-mnt-reform): Update to 7.0.

Merges: guix/guix#8954
2026-05-29 14:29:00 -07:00
Cayetano Santos 0b083f0dc9 gnu: qucs-s: Update to 26.1.1.
* gnu/packages/electronics.scm (qucs-s): Update to 26.1.1.

Change-Id: I910a976a69230aac6bf99add71e07bdab122887e
2026-05-29 22:19:16 +02:00
Cayetano Santos 32328a29ce gnu: netgen: Update to 1.5.320.
* gnu/packages/electronics.scm (netgen): Update to 1.5.320.

Change-Id: I64efc82c9164211a063043e609f561033a94bf59
2026-05-29 22:19:16 +02:00
Cayetano Santos 5a889494d5 gnu: magic: Update to 8.3.652.
* gnu/packages/electronics.scm (magic): Update to 8.3.652.

Change-Id: I2aaaa407101952bcd19f869a7d6272488bcbda56
2026-05-29 22:19:16 +02:00
Cayetano Santos 31cbb38266 gnu: klayout: Update to 0.30.9.
* gnu/packages/electronics.scm (klayout): Update to 0.30.9.

Change-Id: If080a1f4ac14b724f5e2b729e6a71a62e40281c9
2026-05-29 22:19:15 +02:00
Jake Forster ac7d094687 gnu: insight-toolkit: Replace zlib with zlib-ng-compat.
* gnu/packages/image-processing.scm (insight-toolkit)[inputs]: Replace zlib
with zlib-ng-compat.

Change-Id: I2286a321420311a8260ce15b30a04519ea88fc90
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:42:08 +02:00
Jake Forster 4093bf9e95 gnu: Add zlib-ng-compat.
* gnu/packages/compression.scm (zlib-ng-compat): New variable.

Change-Id: I765cef93406dc975e93a1c87590abc61b2ef3bd2
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:42:08 +02:00
Jake Forster 66a8184c46 gnu: Add zlib-ng.
* gnu/packages/compression.scm (zlib-ng): New variable.

Change-Id: Ic4f5b9fa005ccc89160f4dc8a275ca6c9adadc30
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:42:08 +02:00
Sören Tempel 26368214a6 gnu: chicken: Refer to required programs by path, not name.
Fixes #8471

* gnu/packages/chicken.scm (chicken)[#:phases]<fix-paths>: Refer
to sh and cp by full path in the Scheme source, instead of by name.
[inputs]: Add bash-minimal.

Change-Id: Id5fc66044c4ae736d7c847d5c781d9317313d3ac
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:42:07 +02:00
Sören Tempel f032a41f41 gnu: chicken: Bootstrap from Scheme source code.
The CHICKEN compiler is itself written in CHICKEN.  To mitigate the
compiler bootstrapping problem, the CHICKEN release tarball includes
auto-generated C code, from which the CHICKEN compiler is build using
a C compiler.

However, if we want to patch the CHICKEN Scheme source (for  #8471), we
need to be able to build the CHICKEN compiler from its Scheme source
files.  This is achieved here by separate the build into two packages
chicken-bootstrap (build from the auto-generated C code) and chicken
(build from the Scheme source).

Note that this still isn't a full-source bootstrap, we still require
the auto-generated C source code, but at least we can now patch the
package based on the Scheme source. Hence, it improves the situation.

See also: https://issues.guix.gnu.org/22366

* gnu/packages/chicken.scm (chicken-bootstrap): Rename from chicken.
* gnu/packages/chicken.scm (chicken): New package.

Change-Id: Ie656e95e2112241b066158a62e55ac07c722c150
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:42:03 +02:00
bdunahu a13589b2b9 gnu: openrct2: Update to 0.5.0.
* gnu/packages/games.scm (openrct2): Update to 0.5.0.
[source]: Unbundle sfl-library and quickjs-ng.
[#:configure-flags]: Do not download music or sound effects.
Disable version checks on startup and Discord RPC.
[#:phases]<fix-usr-share-paths&data>: Also copy sfl includes.
[inputs]: Add flac, libvorbis, quickjs-ng, sfl-library, and ztsd:lib.
Remove duktape.
Replace nlohmann-json with nlohmann-json-no-char8-t.
[license]: Update comment.

Change-Id: I4a6b2952ba0425b8d25e52af78a0ccc9dcdca64e
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:41:32 +02:00
bdunahu 1f146dc38f gnu: openrct2-title-sequences: Update to 0.4.26.
* gnu/packages/games.scm (openrct2-title-sequences): Update to 0.4.26.
[source]: Adjust uri accordingly.

Change-Id: I55b2e7bbb4abc436e390ff89ae2be42613eeab36
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:41:13 +02:00
bdunahu 89d9027f18 gnu: openrct2-objects: Update to 1.7.9.
* gnu/packages/games.scm (openrct2-objects): Update to 1.7.9.

Change-Id: I24d33b3e1f804fb633ed903c8356cf03a93e7b41
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:41:11 +02:00
bdunahu c32a2a2e5d gnu: openrct2-title-sequences: Modernize package declaration.
* gnu/packages/games.scm (openrct2-title-sequences)[source]: Split uri to respect line size limit.
[build-system]: Switch to copy-build-system.
[native-inputs]: Remove bash and coreutils.  Remove input labels.
[homepage]: Use “https://openrct2.io”.

Change-Id: I66171fb3e594f27150d656edc1fc815a2d024ac7
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:40:50 +02:00
bdunahu e02071dae1 gnu: openrct2-objects: Modernize package declaration.
* gnu/packages/games.scm (openrct2-objects)[source]: Split uri to respect line size limit.
[build-system]: Switch to copy-build-system
[native-inputs]: Remove bash and coreutils.  Remove input labels.
[homepage]: Use “https://openrct2.io”

Change-Id: Id0477bde171420676a2f99c68a09f27b4bec5797
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:40:46 +02:00
bdunahu 255921621b gnu: openrct2: Modernize package declaration.
* gnu/packages/games.scm (openrct2)[arguments]: Change to list of
G-Expressions.
<#:phases>: Remove trailing #t.  Use #$output to refer to outputs.
[inputs]: Remove input labels.
[homepage]: Use “https://openrct2.io”.

Change-Id: I8b47d345cd82718d1a2bd40009c480aca7c2c5b3
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:40:44 +02:00
bdunahu 0853a1671f gnu: Add nlohmann-json-no-char8-t.
* gnu/packages/patches/nlohmann_json_fix_char8_t.patch: New file.
* gnu/local.mk: (dist_patch_DATA): Register it.
* gnu/packages/cpp.scm (nlohmann-json-no-char8-t): New variable.

Change-Id: I8b47d345cd82718d1a2bd40009c480aca7c2c5b3
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:40:42 +02:00
bdunahu 54d29defe0 gnu: Add sfl-library.
* gnu/packages/cpp.scm (sfl-library): New variable.

Change-Id: I4c4d054c2cc9fadd1c57996296e382f72ed84864
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29 20:40:41 +02:00
12 changed files with 510 additions and 186 deletions
+4
View File
@@ -16124,6 +16124,10 @@ the tag name for separating the numbers of the version.
pre-releases; to make it also look for pre-releases, set the this
property to @code{#t}.
@item @code{stable-version-regexp}: a regular expression for matching the
version string, if specified the updater will pick the latest version from
matching ones when the @option{--target-version} option is omitted.
@end itemize
@lisp
+1
View File
@@ -1993,6 +1993,7 @@ dist_patch_DATA = \
%D%/packages/patches/nhc98-c-update.patch \
%D%/packages/patches/nheko-0-12-1-fix-rendering-replies.patch \
%D%/packages/patches/nix-dont-build-html-doc.diff \
%D%/packages/patches/nlohmann_json_fix_char8_t.patch \
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
%D%/packages/patches/neovim-tree-sitter-grammar-path.patch \
%D%/packages/patches/network-manager-plugin-ownership.patch \
+95 -47
View File
@@ -20,65 +20,113 @@
(define-module (gnu packages chicken)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix build-system chicken)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix svn-download)
#:use-module ((guix licenses)
#:prefix license:))
#:prefix license:)
#:use-module (srfi srfi-1))
;; This package is build from pre-built C source code, provided in the CHICKEN
;; release tarball. Based on this bootstrap compiler, we build CHICKEN from
;; the Scheme source, thus enabling us to (at least) patch it.
;;
;; See <https://issues.guix.gnu.org/22366>.
(define-public chicken-bootstrap
(hidden-package
(package
(name "chicken-bootstrap")
(version "5.4.0")
(source (origin
(method url-fetch)
(uri (string-append "https://code.call-cc.org/releases/"
version "/chicken-" version ".tar.gz"))
(sha256
(base32
"0pzcrnzkjw2sa44vy59wbygvlc3nva8zisprkdnvyrqi3jk4lp9w"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
;; No `configure' script; run "make check" after "make install" as
;; prescribed by README.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(add-after 'install 'check
(assoc-ref %standard-phases 'check)))
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list "PLATFORM=linux"
(string-append "PREFIX=" out)
(string-append "VARDIR=" out "/var/lib")))
;; Parallel builds are not supported, as noted in README.
#:parallel-build? #f))
(native-search-paths
(list (search-path-specification
(variable "CHICKEN_REPOSITORY_PATH")
;; TODO extract binary version into a module level definition.
(files (list "var/lib/chicken/11")))))
;; Reference gcc-toolchain lazily to avoid circular module dependency
;; problems.
(propagated-inputs (list (module-ref (resolve-interface
'(gnu packages commencement))
'gcc-toolchain)))
(home-page "https://www.call-cc.org/")
(synopsis "R5RS Scheme implementation that compiles native code via C")
(description
"CHICKEN is a compiler for the Scheme programming language. CHICKEN
pr oduces portable and efficient C, supports almost all of the R5RS Scheme
la nguage standard, and includes many enhancements and extensions.")
(license license:bsd-3))))
;; The CHICKEN compiler is itself written in CHICKEN, the CHICKEN release
;; tarballs includes auto-generated C code to mitigate the compiler
;; bootstrapping problem. To be able to patch the original Scheme source,
;; we compile from this Scheme source here using the chicken-bootstrap
;; compiler obtained from the autogenerated C code.
;;
;; See <https://issues.guix.gnu.org/22366>.
(define-public chicken
(package
(inherit chicken-bootstrap)
(name "chicken")
(version "5.4.0")
(source (origin
(method url-fetch)
(uri (string-append "https://code.call-cc.org/releases/"
version "/chicken-" version ".tar.gz"))
(sha256
(base32
"0pzcrnzkjw2sa44vy59wbygvlc3nva8zisprkdnvyrqi3jk4lp9w"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
;; No `configure' script; run "make check" after "make install" as
;; prescribed by README.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check)
(add-after 'install 'check
(assoc-ref %standard-phases 'check)))
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list "PLATFORM=linux"
(string-append "PREFIX=" out)
(string-append "VARDIR=" out "/var/lib")))
;; Parallel builds are not supported, as noted in README.
#:parallel-build? #f))
(native-search-paths
(list (search-path-specification
(variable "CHICKEN_REPOSITORY_PATH")
;; TODO extract binary version into a module level definition.
(files (list "var/lib/chicken/11")))))
;; Reference gcc-toolchain lazily to avoid circular module dependency
;; problems.
(propagated-inputs (list (module-ref (resolve-interface
'(gnu packages commencement))
'gcc-toolchain)))
(home-page "https://www.call-cc.org/")
(synopsis "R5RS Scheme implementation that compiles native code via C")
(description
"CHICKEN is a compiler for the Scheme programming language. CHICKEN
produces portable and efficient C, supports almost all of the R5RS Scheme
language standard, and includes many enhancements and extensions.")
(license license:bsd-3)))
(substitute-keyword-arguments (package-arguments chicken-bootstrap)
((#:phases phases)
#~(modify-phases #$phases
;; CHICKEN contains auto-generated C code, remove it and
;; compile from the Scheme source using chicken-bootstrap.
(add-after 'unpack 'remove-auto-generated-code
(lambda _
(invoke "make" "spotless")))
;; Invoke commands by name, not by path.
;;
;; See <https://codeberg.org/guix/guix/issues/8471>.
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((sh (search-input-file inputs "/bin/sh"))
(cp (search-input-file inputs "/bin/cp")))
(substitute* "egg-compile.scm"
(("/bin/sh") sh)
(("\"cp\"") (string-append "\"" cp "\"")))
(substitute* "posixunix.scm"
(("/bin/sh") sh))
(substitute* "chicken-install.scm"
(("\"sh \"") (string-append "\"" sh " \""))))))))))
(inputs (list chicken-bootstrap))
(properties
(alist-delete 'hidden? (package-properties chicken-bootstrap)))))
(define-public chicken-compile-file
(package
+31
View File
@@ -42,6 +42,7 @@
;;; Copyright © 2024 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024, 2025 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2026 Jake Forster <jakecameron.forster@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3191,3 +3192,33 @@ exported by the zlib library.")
ratio at the cost of high CPU/memory usage.")
(home-page "https://github.com/byronknoll/cmix")
(license license:gpl3)))
(define-public zlib-ng
(package
(name "zlib-ng")
(version "2.3.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zlib-ng/zlib-ng")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0g4pxy7gc1slw9n6j583hzps32mml30f08gmmg1adsq4y3dl2cny"))))
(build-system cmake-build-system)
(native-inputs (list googletest))
(home-page "https://github.com/zlib-ng/zlib-ng")
(synopsis "Fork of the zlib data compression library")
(description
"zlib-ng is a @code{zlib} replacement with optimizations for next
generation systems.")
(license license:zlib)))
(define-public zlib-ng-compat
(package/inherit zlib-ng
(name "zlib-ng-compat")
(arguments
(substitute-keyword-arguments arguments
((#:configure-flags flags #~(list))
#~(cons "-DZLIB_COMPAT=ON" #$flags))))))
+67
View File
@@ -53,6 +53,7 @@
;;; Copyright © 2025 Murilo <murilo@disroot.org>
;;; Copyright © 2026 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
;;; Copyright © 2026 bdunahu <bdunahu@operationnull.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1433,6 +1434,9 @@ data transfer object.")
(define-public nlohmann-json
(package
(name "nlohmann-json")
;; XXX: Merge related package `nlohmann-json-no-char8-t' back into here when
;; updating from 3.12.0, as the unique patch it applies will already be
;; incorporated in.
(version "3.12.0")
(home-page "https://github.com/nlohmann/json")
(source
@@ -1506,6 +1510,46 @@ intuitive syntax and trivial integration.")
(define-deprecated-package json-modern-cxx
nlohmann-json)
(define-public nlohmann-json-no-char8-t
(package
;; XXX: Version 3.12.0 does not work without char8_t support.
;; OpenRCT2 compiles with -fno-char8_t, and thus requires this patch.
;; See https://github.com/nlohmann/json/pull/4736
(inherit nlohmann-json)
(name "nlohmann-json-no-char8-t")
(version "3.12.0")
(source
(origin
(method git-fetch)
(uri (git-reference (url "https://github.com/nlohmann/json")
(commit (string-append "v" version))))
(sha256
(base32 "09nqq56ighr3lghhn3fs399lkllghz717j0xyp87x0giw86ayh3h"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
#~(begin
;; Delete bundled software. Preserve doctest_compatibility.h, which
;; is a wrapper library added by this package.
(install-file "./tests/thirdparty/doctest/doctest_compatibility.h"
"/tmp")
(delete-file-recursively "./tests/thirdparty")
(install-file "/tmp/doctest_compatibility.h"
"./tests/thirdparty/doctest")
;; Adjust for the unbundled fifo_map and doctest.
(substitute* (find-files "./tests/" "\\.h(pp)?")
(("#include \"doctest\\.h\"") "#include <doctest/doctest.h>")
(("#include <doctest\\.h>") "#include <doctest/doctest.h>"))
(with-directory-excursion "tests/src"
(let ((files (find-files "." "\\.cpp$")))
(substitute* files
(("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
(string-append
"#include <fifo_map/" fifo-map-hpp ">")))))))
(patches
(search-patches "nlohmann_json_fix_char8_t.patch"))))))
(define-public jthread
(let ((commit "0fa8d394254886c555d6faccd0a3de819b7d47f8")
(revision "0"))
@@ -4480,6 +4524,29 @@ file name and location, as well as filters with friendly names (such as
"This package provides a simple S-Expression parser for C++.")
(license license:gpl3+))))
(define-public sfl-library
(package
(name "sfl-library")
(version "2.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/slavenf/sfl-library")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1ngy86b9y1b8a4j37c14m1jrg0q5b12jj8b0gdnpl5sjb1r2fljk"))))
(build-system cmake-build-system)
(arguments (list #:tests? #f)) ;no tests
(home-page "https://github.com/slavenf/sfl-library")
(synopsis "Header-only C++11/20 container library")
(description "sfl-library provides many STL-like (Standard Template Library)
containers including vectors, associative containers, and unordered containers
based on hash tables. These containers are designed for C++11 and C++20
constant expression usage.")
(license license:zlib)))
(define-public string-view-lite
(package
(name "string-view-lite")
+8 -8
View File
@@ -1021,7 +1021,7 @@ files.")
(define-public klayout
(package
(name "klayout")
(version "0.30.8")
(version "0.30.9")
(source
(origin (method git-fetch)
(uri (git-reference
@@ -1030,7 +1030,7 @@ files.")
(file-name (git-file-name name version))
(sha256
(base32
"0aw0y5k27pslql9pir6nplapj6ml6fkhzd815s13rlnw3bm0fcs6"))))
"1v5ddw7xixvdc3qshd0lkrc3ayk2q5wkk1zbhvsidq0kzlqbr2z5"))))
(build-system copy-build-system)
(arguments
(list
@@ -2207,7 +2207,7 @@ which allows one to install the M8 firmware on any Teensy.")
(define-public magic
(package
(name "magic")
(version "8.3.644")
(version "8.3.652")
(source
(origin
(method git-fetch)
@@ -2216,7 +2216,7 @@ which allows one to install the M8 firmware on any Teensy.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0qp1alm4pczfm77r8lxwgzrwh02ihvfmk9sbwjlfbrixg1dn85xb"))))
(base32 "07q2lldcq6zb1apa5d3paciha92r6jlp7xny8pc31f56k5s9jnmz"))))
(build-system gnu-build-system)
(arguments
(list
@@ -2312,7 +2312,7 @@ coverage.")
(define-public netgen
(package
(name "netgen")
(version "1.5.319")
(version "1.5.320")
(source
(origin
(method git-fetch)
@@ -2321,7 +2321,7 @@ coverage.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "16xd2xcsny1bb6yk4lz34jfpwfb5xi2i9izxjymmalnzhg32i9cz"))))
(base32 "11mvf0nrsfc1lxbgqhmczi0maw4n10lib2xqnhpkyy73ci489147"))))
(build-system gnu-build-system)
(arguments
(list
@@ -4376,7 +4376,7 @@ input and outputs an XML dataset.")
(define-public qucs-s
(package
(name "qucs-s")
(version "26.1.0") ;update qucsator-rf accordingly
(version "26.1.1") ;update qucsator-rf accordingly
(source
(origin
(method git-fetch)
@@ -4386,7 +4386,7 @@ input and outputs an XML dataset.")
(file-name (git-file-name name version))
(sha256
(base32
"0aiyrcrxln4v6qm2dmigb54wl0mj499q3g18pz87m1s2lfgicpb1"))))
"009siqmn76r2l17hnjqmr6ap8nw969hd5fyqigb4p3i8cvjq7gmx"))))
(build-system qt-build-system)
(arguments
(list
+102 -100
View File
@@ -6148,39 +6148,22 @@ have a steep learning curve.")))
(define-public openrct2-title-sequences
(package
(name "openrct2-title-sequences")
(version "0.1.2")
(version "0.4.26")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/OpenRCT2/title-sequences/releases/download/v"
version "/title-sequence-v" version ".zip"))
(uri (string-append "https://github.com/OpenRCT2/title-sequences"
"/releases/download/v" version
"/title-sequences.zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"0qbyxrsw8hlgaq0r5d7lx7an3idy4qbfv7yiw9byhldk763n9cfw"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
("coreutils" ,coreutils)
("unzip" ,unzip)))
"0n680llpcyzl22bbphp9diz4m86gz2rn97yxlky44qspn63rgfys"))))
(build-system copy-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((out (assoc-ref %outputs "out"))
(openrct2-title-sequences (string-append out
"/share/openrct2/title-sequences"))
(source (assoc-ref %build-inputs "source"))
(unzip (search-input-file %build-inputs "/bin/unzip")))
(copy-file source (string-append ,name "-" ,version ".zip"))
(invoke unzip (string-append ,name "-" ,version ".zip"))
(delete-file (string-append ,name "-" ,version ".zip"))
(mkdir-p openrct2-title-sequences)
(copy-recursively "."
openrct2-title-sequences)
#t))))
(home-page "https://github.com/OpenRCT2/OpenRCT2")
(list #:install-plan #~'(("." "/share/openrct2/title-sequences"))))
(native-inputs (list unzip))
(home-page "https://openrct2.io")
(synopsis "Title sequences for OpenRCT2")
(description
"openrct2-title-sequences is a set of title sequences for OpenRCT2.")
@@ -6190,38 +6173,22 @@ have a steep learning curve.")))
(define-public openrct2-objects
(package
(name "openrct2-objects")
(version "1.0.20")
(version "1.7.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/OpenRCT2/objects/releases/download/v"
version "/objects.zip"))
(uri (string-append "https://github.com/OpenRCT2/objects"
"/releases/download/v" version "/objects.zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32 "1q7a38kcwrfijav6app1gf253yfv8b0rljbkah8040y6i7snw9mw"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
("coreutils" ,coreutils)
("unzip" ,unzip)))
(base32 "1mpa4vpgs4m9izak8h5rkfcn80jbcm2di717k97g30kf1k91wijm"))))
(build-system copy-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((out (assoc-ref %outputs "out"))
(openrct2-objects (string-append out
"/share/openrct2/objects"))
(source (assoc-ref %build-inputs "source"))
(unzip (search-input-file %build-inputs "/bin/unzip")))
(copy-file source (string-append ,name "-" ,version ".zip"))
(invoke unzip (string-append ,name "-" ,version ".zip"))
(delete-file (string-append ,name "-" ,version ".zip"))
(mkdir-p openrct2-objects)
(copy-recursively "."
openrct2-objects)
#t))))
(home-page "https://github.com/OpenRCT2/OpenRCT2")
;; zip has multiple top-level directories to install.
(list #:install-plan #~'((".." "/share/openrct2/objects"
#:exclude ("environment-variables")))))
(native-inputs (list unzip))
(home-page "https://openrct2.io")
(synopsis "Objects for OpenRCT2")
(description
"openrct2-objects is a set of objects for OpenRCT2.")
@@ -6317,7 +6284,7 @@ that follows two aliens who come to Earth in search of a stolen artifact.")
(define-public openrct2
(package
(name "openrct2")
(version "0.3.3")
(version "0.5.0")
(source
(origin
(method git-fetch)
@@ -6326,53 +6293,88 @@ that follows two aliens who come to Earth in search of a stolen artifact.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01nanpbz5ycdhkyd46fjfvj18sw729l4vk7xg12600f9rjngjk76"))))
(base32 "0pxlk3a8akl0ghcbqqq5xw8chmxss7kwbvi52ixfqri68n46srxh"))
(modules '((guix build utils)))
(snippet
#~(begin
(with-directory-excursion "src/thirdparty"
(for-each delete-file-recursively
'("quickjs-ng" "sfl")))
(substitute* "src/openrct2/CMakeLists.txt"
;; use sys quickjs for scripting features
(("if \\(ENABLE_SCRIPTING\\)") "if (false)")
(("add_library\\(OpenRCT2[^\n]+" all)
(string-join
`(,all
"find_library(QJS_L NAMES qjs REQUIRED)"
"find_path(QJS_I NAMES quickjs.h REQUIRED)"
"target_link_libraries(libopenrct2 ${QJS_L})"
"target_include_directories(libopenrct2 SYSTEM PRIVATE ${QJS_I})")
"\n")))))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DDOWNLOAD_OBJECTS=OFF"
"-DDOWNLOAD_TITLE_SEQUENCES=OFF")
#:tests? #f ; tests require network access
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-usr-share-paths&add-data
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((titles (assoc-ref inputs "openrct2-title-sequences"))
(objects (assoc-ref inputs "openrct2-objects")))
;; Fix some references to /usr/share.
(substitute* "src/openrct2/platform/Platform.Linux.cpp"
(("/usr/share")
(string-append (assoc-ref %outputs "out") "/share")))
(copy-recursively
(string-append titles "/share/openrct2/title-sequences")
"data/title")
(copy-recursively
(string-append objects "/share/openrct2/objects")
"data/object"))))
(add-before 'configure 'get-rid-of-errors
(lambda _
;; Don't treat warnings as errors.
(substitute* "CMakeLists.txt"
(("-Werror") ""))
#t)))))
(inputs `(("curl" ,curl)
("duktape" ,duktape)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("icu4c" ,icu4c)
("jansson" ,jansson)
("nlohmann-json" ,nlohmann-json)
("libpng" ,libpng)
("libzip" ,libzip)
("mesa" ,mesa)
("openrct2-objects" ,openrct2-objects)
("openrct2-title-sequences" ,openrct2-title-sequences)
("openssl" ,openssl)
("sdl2" ,sdl2)
("speexdsp" ,speexdsp)
("zlib" ,zlib)))
(native-inputs
(list pkg-config))
(home-page "https://github.com/OpenRCT2/OpenRCT2")
(list
#:configure-flags #~(list "-DDOWNLOAD_OBJECTS=OFF"
"-DDOWNLOAD_TITLE_SEQUENCES=OFF"
"-DDOWNLOAD_OPENSFX=OFF"
"-DDOWNLOAD_OPENMUSIC=OFF"
"-DDISABLE_DISCORD_RPC=ON"
"-DDISABLE_VERSION_CHECKER=ON")
;; many issues such as https://github.com/OpenRCT2/OpenRCT2/issues/12719
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-usr-share-paths&add-data
;; TODO: OpenRCT2 can optionally use free music and sounds!
;; https://github.com/OpenRCT2/OpenMusic
;; https://github.com/OpenRCT2/OpenSoundEffects
;; ideally we package these instead of the ones the user is supposed
;; to supply.
(lambda* (#:key inputs #:allow-other-keys)
(let ((titles (assoc-ref inputs "openrct2-title-sequences"))
(objects (assoc-ref inputs "openrct2-objects"))
(sfl (assoc-ref inputs "sfl-library")))
;; Fix some references to /usr/share.
(substitute* "src/openrct2/platform/Platform.Linux.cpp"
(("/usr/share")
(string-append #$output "/share")))
(copy-recursively
(string-append titles "/share/openrct2/title-sequences")
"data/title")
(copy-recursively
(string-append objects "/share/openrct2/objects")
"data/object")
(copy-recursively
(string-append sfl "/include")
"src/thirdparty"))))
(add-before 'configure 'get-rid-of-errors
(lambda _
;; Don't treat warnings as errors.
(substitute* "CMakeLists.txt"
(("-Werror") "")))))))
(inputs
(list curl
flac
fontconfig
freetype
icu4c
jansson
libpng
libvorbis
libzip
mesa
nlohmann-json-no-char8-t
openrct2-objects
openrct2-title-sequences
openssl
quickjs-ng
sdl2
sfl-library
speexdsp
zlib
(list zstd "lib")))
(native-inputs (list pkg-config))
(home-page "https://openrct2.io")
(synopsis "Free software re-implementation of RollerCoaster Tycoon 2")
(description "OpenRCT2 is a free software re-implementation of
RollerCoaster Tycoon 2 (RCT2). The gameplay revolves around building and
@@ -6380,8 +6382,8 @@ maintaining an amusement park containing attractions, shops and facilities.
Note that this package does @emph{not} provide the game assets (sounds,
images, etc.)")
;; See <https://github.com/OpenRCT2/OpenRCT2/wiki/Required-RCT2-files>
;; regarding assets.
;; See bottom of:
;; https://github.com/OpenRCT2/OpenRCT2/blob/develop/distribution/readme.txt
(license license:gpl3+)))
(define-public openriichi
+1 -1
View File
@@ -1521,7 +1521,7 @@ libraries designed for computer vision research and implementation.")
python
onetbb
vxl-1
zlib))
zlib-ng-compat))
(native-inputs
(list castxml
git-minimal
+8 -8
View File
@@ -1218,6 +1218,12 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
#:configuration-file kernel-config))
(define-public linux-libre-version linux-libre-7.0-version)
(define-public linux-libre-gnu-revision linux-libre-7.0-gnu-revision)
(define-public linux-libre-pristine-source linux-libre-7.0-pristine-source)
(define-public linux-libre-source linux-libre-7.0-source)
(define-public linux-libre linux-libre-7.0)
(define-public linux-libre-6.19
(make-linux-libre* linux-libre-6.19-version
linux-libre-6.19-gnu-revision
@@ -1234,12 +1240,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
#:configuration-file kernel-config))
(define-public linux-libre-version linux-libre-6.18-version)
(define-public linux-libre-gnu-revision linux-libre-6.18-gnu-revision)
(define-public linux-libre-pristine-source linux-libre-6.18-pristine-source)
(define-public linux-libre-source linux-libre-6.18-source)
(define-public linux-libre linux-libre-6.18)
(define-public linux-libre-6.12
(make-linux-libre* linux-libre-6.12-version
linux-libre-6.12-gnu-revision
@@ -1979,6 +1979,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
(define-public linux-libre-arm64-mnt-reform linux-libre-arm64-mnt-reform-7.0)
(define-public linux-libre-arm64-mnt-reform-6.19
;; Kernel for use on the MNT/Reform systems
;; https://mntre.com/reform.html
@@ -2315,8 +2317,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
(define-public linux-libre-arm64-mnt-reform linux-libre-arm64-mnt-reform-6.18)
(define-public linux-libre-arm64-mnt-reform-6.12
;; Kernel for use on the MNT/Reform systems
;; https://mntre.com/reform.html
@@ -0,0 +1,141 @@
From 756ca22ec5b0d89b5d107b4c30891d1293650c87 Mon Sep 17 00:00:00 2001
From: Sergiu Deitsch <sergiud@users.noreply.github.com>
Date: Wed, 23 Apr 2025 18:36:41 +0200
Subject: [PATCH] Provide fallback for missing `char8_t` support (#4736)
---
.../nlohmann/detail/conversions/from_json.hpp | 5 +++-
.../nlohmann/detail/conversions/to_json.hpp | 21 ++++++++++-----
single_include/nlohmann/json.hpp | 26 +++++++++++++------
tests/src/unit-deserialization.cpp | 5 ++--
4 files changed, 39 insertions(+), 18 deletions(-)
diff --git a/include/nlohmann/detail/conversions/from_json.hpp b/include/nlohmann/detail/conversions/from_json.hpp
index 797f714dfae1dcc7fd8d2435ae7015023da76b97..3a24a6f4d26c0162531d8100a99a05291d8a2090 100644
--- a/include/nlohmann/detail/conversions/from_json.hpp
+++ b/include/nlohmann/detail/conversions/from_json.hpp
@@ -539,7 +539,10 @@ inline void from_json(const BasicJsonType& j, std_fs::path& p)
JSON_THROW(type_error::create(302, concat("type must be string, but is ", j.type_name()), &j));
}
const auto& s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
-#ifdef JSON_HAS_CPP_20
+ // Checking for C++20 standard or later can be insufficient in case the
+ // library support for char8_t is either incomplete or was disabled
+ // altogether. Use the __cpp_lib_char8_t feature test instead.
+#if defined(__cpp_lib_char8_t) && (__cpp_lib_char8_t >= 201907L)
p = std_fs::path(std::u8string_view(reinterpret_cast<const char8_t*>(s.data()), s.size()));
#else
p = std_fs::u8path(s); // accepts UTF-8 encoded std::string in C++17, deprecated in C++20
diff --git a/include/nlohmann/detail/conversions/to_json.hpp b/include/nlohmann/detail/conversions/to_json.hpp
index f8413850d5d7f8dd4bd6d2f174959a8ddd5c233a..8b910dd1615b710308392eed4999d3b7533a26e7 100644
--- a/include/nlohmann/detail/conversions/to_json.hpp
+++ b/include/nlohmann/detail/conversions/to_json.hpp
@@ -15,7 +15,8 @@
#include <algorithm> // copy
#include <iterator> // begin, end
-#include <string> // string
+#include <memory> // allocator_traits
+#include <string> // basic_string, char_traits
#include <tuple> // tuple, get
#include <type_traits> // is_same, is_constructible, is_floating_point, is_enum, underlying_type
#include <utility> // move, forward, declval, pair
@@ -440,15 +441,21 @@ inline void to_json(BasicJsonType& j, const T& t)
}
#if JSON_HAS_FILESYSTEM || JSON_HAS_EXPERIMENTAL_FILESYSTEM
+#if defined(__cpp_lib_char8_t)
+template<typename BasicJsonType, typename Tr, typename Allocator>
+inline void to_json(BasicJsonType& j, const std::basic_string<char8_t, Tr, Allocator>& s)
+{
+ using OtherAllocator = typename std::allocator_traits<Allocator>::template rebind_alloc<char>;
+ j = std::basic_string<char, std::char_traits<char>, OtherAllocator>(s.begin(), s.end(), s.get_allocator());
+}
+#endif
+
template<typename BasicJsonType>
inline void to_json(BasicJsonType& j, const std_fs::path& p)
{
-#ifdef JSON_HAS_CPP_20
- const std::u8string s = p.u8string();
- j = std::string(s.begin(), s.end());
-#else
- j = p.u8string(); // returns std::string in C++17
-#endif
+ // Returns either a std::string or a std::u8string depending whether library
+ // support for char8_t is enabled.
+ j = p.u8string();
}
#endif
diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp
index 13b07c0fbc87e5c24127922fb2ef45fc3ea2bff5..93e5983cf1b1cdbe0452d89dcfa487c7b18dd4df 100644
--- a/single_include/nlohmann/json.hpp
+++ b/single_include/nlohmann/json.hpp
@@ -5324,7 +5324,10 @@ inline void from_json(const BasicJsonType& j, std_fs::path& p)
JSON_THROW(type_error::create(302, concat("type must be string, but is ", j.type_name()), &j));
}
const auto& s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
-#ifdef JSON_HAS_CPP_20
+ // Checking for C++20 standard or later can be insufficient in case the
+ // library support for char8_t is either incomplete or was disabled
+ // altogether. Use the __cpp_lib_char8_t feature test instead.
+#if defined(__cpp_lib_char8_t) && (__cpp_lib_char8_t >= 201907L)
p = std_fs::path(std::u8string_view(reinterpret_cast<const char8_t*>(s.data()), s.size()));
#else
p = std_fs::u8path(s); // accepts UTF-8 encoded std::string in C++17, deprecated in C++20
@@ -5379,7 +5382,8 @@ NLOHMANN_JSON_NAMESPACE_END
#include <algorithm> // copy
#include <iterator> // begin, end
-#include <string> // string
+#include <memory> // allocator_traits
+#include <string> // basic_string, char_traits
#include <tuple> // tuple, get
#include <type_traits> // is_same, is_constructible, is_floating_point, is_enum, underlying_type
#include <utility> // move, forward, declval, pair
@@ -6086,15 +6090,21 @@ inline void to_json(BasicJsonType& j, const T& t)
}
#if JSON_HAS_FILESYSTEM || JSON_HAS_EXPERIMENTAL_FILESYSTEM
+#if defined(__cpp_lib_char8_t)
+template<typename BasicJsonType, typename Tr, typename Allocator>
+inline void to_json(BasicJsonType& j, const std::basic_string<char8_t, Tr, Allocator>& s)
+{
+ using OtherAllocator = typename std::allocator_traits<Allocator>::template rebind_alloc<char>;
+ j = std::basic_string<char, std::char_traits<char>, OtherAllocator>(s.begin(), s.end(), s.get_allocator());
+}
+#endif
+
template<typename BasicJsonType>
inline void to_json(BasicJsonType& j, const std_fs::path& p)
{
-#ifdef JSON_HAS_CPP_20
- const std::u8string s = p.u8string();
- j = std::string(s.begin(), s.end());
-#else
- j = p.u8string(); // returns std::string in C++17
-#endif
+ // Returns either a std::string or a std::u8string depending whether library
+ // support for char8_t is enabled.
+ j = p.u8string();
}
#endif
diff --git a/tests/src/unit-deserialization.cpp b/tests/src/unit-deserialization.cpp
index 84a970a183e4392166a8fe9bf76b582a53b76dd5..5c450c23d3042991cfc8959d4632208cfb21f400 100644
--- a/tests/src/unit-deserialization.cpp
+++ b/tests/src/unit-deserialization.cpp
@@ -1134,9 +1134,10 @@ TEST_CASE("deserialization")
}
}
-// select the types to test - char8_t is only available in C++20
+// select the types to test - char8_t is only available since C++20 if and only
+// if __cpp_char8_t is defined.
#define TYPE_LIST(...) __VA_ARGS__
-#ifdef JSON_HAS_CPP_20
+#if defined(__cpp_char8_t) && (__cpp_char8_t >= 201811L)
#define ASCII_TYPES TYPE_LIST(char, wchar_t, char16_t, char32_t, char8_t)
#else
#define ASCII_TYPES TYPE_LIST(char, wchar_t, char16_t, char32_t)
+44 -21
View File
@@ -94,6 +94,8 @@
#:use-module (guix packages)
#:use-module (guix utils))
(define %xfce-stable-version "^4[.][0-9]*[02468][.]")
(define-public libxfce4util
(package
(name "libxfce4util")
@@ -123,7 +125,8 @@
"A general-purpose utility library with core application support for the
Xfce Desktop Environment.")
(license lgpl2.0+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfconf
(package
@@ -166,7 +169,8 @@ Xfce Desktop Environment.")
"Settings daemon for Xfce, implemented as a D-Bus-based configuration
storage system.")
(license lgpl2.0+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public libxfce4ui
(package
@@ -200,7 +204,8 @@ storage system.")
"Libxfce4ui is the replacement of the old libxfcegui4 library. It is used
to share commonly used Xfce widgets among the Xfce applications.")
(license lgpl2.0+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public catfish
(package
@@ -254,7 +259,8 @@ to share commonly used Xfce widgets among the Xfce applications.")
intentionally lightweight and simple, using only GTK+ 3. You can configure
it to your needs by using several command line options.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public elementary-xfce-icon-theme
(package
@@ -322,7 +328,8 @@ that are targeted at desktop development, libexo is targeted at application
development.")
;; Libraries are under LGPLv2+, and programs under GPLv2+.
(license (list gpl2+ lgpl2.1+))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public garcon
(package
@@ -355,7 +362,8 @@ GLib and GIO. It was started as a complete rewrite of the former Xfce menu
library called libxfce4menu, which, in contrast to garcon, was lacking menu
merging features essential for loading menus modified with menu editors.")
(license lgpl2.0+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public tumbler
(package
@@ -391,7 +399,8 @@ merging features essential for loading menus modified with menu editors.")
various URI schemes and MIME types. It is an implementation of the thumbnail
management D-Bus specification.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public libxfce4windowing
(package
@@ -425,7 +434,8 @@ management D-Bus specification.")
windowing concepts (screens, toplevel windows, workspaces, etc.) in a
windowing-system-independent manner.")
(license lgpl2.1+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfce4-panel
(package
@@ -474,7 +484,8 @@ windowing-system-independent manner.")
applications menu, workspace switcher and more.")
;; Libraries are under LGPLv2.1+, and programs under GPLv2+.
(license (list gpl2+ lgpl2.1+))
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfce4-battery-plugin
(package
@@ -699,7 +710,8 @@ per window.")
"Application finder for Xfce, it will show the applications installed on
your system in categories, so you can quickly find and launch them.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfce4-session
(package
@@ -770,7 +782,8 @@ your system in categories, so you can quickly find and launch them.")
"Session manager for Xfce, it will restore your session on startup and
allows you to shut down the computer from Xfce.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfce4-settings
(package
@@ -821,7 +834,8 @@ allows you to shut down the computer from Xfce.")
"Settings manager for Xfce, it can control various aspects of the desktop
like appearance, display, keyboard and mouse settings.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public thunar
(package
@@ -867,7 +881,8 @@ like appearance, display, keyboard and mouse settings.")
"A modern file manager for graphical desktop, aiming to be easy-to-use and
fast.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public thunar-volman
(package
@@ -896,7 +911,8 @@ thunar-volman is installed and configured properly, and you plug in your
digital camera, it will automatically spawn your preferred photo application
and import the new pictures from your camera.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public thunar-archive-plugin
(package
@@ -1076,7 +1092,8 @@ menu.")
"Window manager for Xfce, it handles the placement of windows
on the screen.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfwm4-themes
(package
@@ -1163,7 +1180,8 @@ window manager.")
optional application menu or icons for minimized applications or launchers,
devices and folders.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public gigolo
(package
@@ -1241,7 +1259,8 @@ local and remote file systems and manage bookmarks of such.")
GStreamer framework and written to fit well in the Xfce desktop. Parole
features playback of local media files, DVD/CD and live streams.")
(license gpl2) ;version 2 only
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfce4-terminal
(package
@@ -1436,7 +1455,8 @@ freedesktop-compliant DBus interfaces to inform other applications about current
power level so that they can adjust their power consumption, and it provides the
inhibit interface which allows applications to prevent automatic sleep.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public ristretto
(package
@@ -1531,7 +1551,8 @@ calendar applications. It also includes a panel clock plugin and an
international clock application capable of simultaneously showing clocks from
several different time zones.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfce4-notifyd
(package
@@ -1704,7 +1725,8 @@ A plugin for the Xfce panel is also available.")
"Xfce Screensaver is a screen saver and locker that aims to have simple,
sane, secure defaults and be well integrated with the Xfce desktop.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
(define-public xfce4-volumed-pulse
(package
@@ -2425,4 +2447,5 @@ local weather in the panel, using forecast data provided by the
developers and people that want to build Xfce from Git In addition it contains
the Xfce developer's handbook.")
(license gpl2+)
(properties `((release-tag-prefix . ,(string-append name "-"))))))
(properties `((release-tag-prefix . ,(string-append name "-"))
(stable-version-regexp . ,%xfce-stable-version)))))
+8 -1
View File
@@ -206,7 +206,14 @@ a version prefix when PARTIAL-VERSION? is #t."
(old-reference (origin-uri (package-source package)))
(tags (get-package-tags package))
(versions (map car tags))
(version (find-version versions version partial-version?))
(stable-rx (and=> (assq-ref (package-properties package)
'stable-version-regexp)
make-regexp))
(version (find-version
(if (and stable-rx (not version))
(filter (cut regexp-exec stable-rx <>) versions)
versions)
version partial-version?))
(tag (assoc-ref tags version)))
(and version
(upstream-source