summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk3
-rw-r--r--gnu/packages/direct-connect.scm87
-rw-r--r--gnu/packages/emulators.scm33
-rw-r--r--gnu/packages/games.scm74
-rw-r--r--gnu/packages/lesstif.scm23
-rw-r--r--gnu/packages/messaging.scm65
-rw-r--r--gnu/packages/patches/linuxdcpp-openssl-1.1.patch26
-rw-r--r--gnu/packages/patches/zig-0.15-fix-runpath.patch122
-rw-r--r--gnu/packages/python-build.scm16
-rw-r--r--gnu/packages/python-xyz.scm5
-rw-r--r--gnu/packages/zig.scm182
11 files changed, 345 insertions, 291 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 1814c7da68..dc9c2069d4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -245,7 +245,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/dictionaries.scm \
%D%/packages/diffoscope.scm \
%D%/packages/digest.scm \
- %D%/packages/direct-connect.scm \
%D%/packages/disk.scm \
%D%/packages/distributed.scm \
%D%/packages/display-managers.scm \
@@ -1815,7 +1814,6 @@ dist_patch_DATA = \
%D%/packages/patches/linux-libre-arm64-mnt-reform-revert-vop2-display-modes.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/linux-pam-unix_chkpwd.patch \
- %D%/packages/patches/linuxdcpp-openssl-1.1.patch \
%D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/lirc-reproducible-build.patch \
%D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \
@@ -2509,6 +2507,7 @@ dist_patch_DATA = \
%D%/packages/patches/zig-0.14-fix-runpath.patch \
%D%/packages/patches/zig-0.14-use-baseline-cpu-by-default.patch \
%D%/packages/patches/zig-0.14-use-system-paths.patch \
+ %D%/packages/patches/zig-0.15-fix-runpath.patch \
%D%/packages/patches/zsh-egrep-failing-test.patch \
%D%/packages/patches/zuo-bin-sh.patch \
%D%/packages/patches/zxing-cpp-1.2.0-gcc-14.patch \
diff --git a/gnu/packages/direct-connect.scm b/gnu/packages/direct-connect.scm
deleted file mode 100644
index 8c816ce714..0000000000
--- a/gnu/packages/direct-connect.scm
+++ /dev/null
@@ -1,87 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2022 Tobias Geerinckx-Rice <me@tobias.gr>
-;;;
-;;; 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 direct-connect)
- #:use-module (guix build-system scons)
- #:use-module (guix deprecation)
- #:use-module (guix gexp)
- #:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (gnu packages)
- #:use-module (gnu packages boost)
- #:use-module (gnu packages build-tools)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages gettext)
- #:use-module (gnu packages gnome)
- #:use-module (gnu packages gtk)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages tls)
- #:use-module (gnu packages version-control))
-
-;; TODO Remove on the next python-team iteration.
-;; Unmaintained for 14 years, tried updating it here:
-;; https://lists.sr.ht/~ngraves/devel/patches/60080
-;; but it's too hard for most likely no users.
-;; If you use this package, let python-team know or try to fix it.
-(define-deprecated/public linuxdcpp #f
- (package
- (name "linuxdcpp")
- (version "1.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://launchpad.net/linuxdcpp/1.1/1.1.0/+download/linuxdcpp-"
- version ".tar.bz2"))
- (sha256
- (base32 "12i92hirmwryl1qy0n3jfrpziwzb82f61xca9jcjwyilx502f0b6"))
- (patches (search-patches "linuxdcpp-openssl-1.1.patch"))
- (modules '((guix build utils)))
- (snippet
- #~(begin
- (substitute* "SConstruct"
- ;; This compares single char[]acters in the version string, and
- ;; broke when GCC went into double digits.
- (("conf.CheckCXXVersion\\([^\\)]*\\)")
- "True")
- ;; Not all valid C++98 code is valid C++14 (and higher) code.
- (("'-D_REENTRANT'" match)
- (string-append match ", '-std=gnu++98'")))))))
- (build-system scons-build-system)
- (arguments
- `(#:scons ,scons-python2
- #:scons-flags (list (string-append "PREFIX=" %output))
- #:tests? #f)) ; no tests
- (inputs
- (list boost
- bzip2
- gtk+-2
- libglade
- libnotify
- openssl))
- (native-inputs
- (list bazaar gettext-minimal pkg-config))
- (home-page "https://launchpad.net/linuxdcpp/")
- (synopsis "Direct Connect client")
- (description "LinuxDC++ is a Direct Connect (DC) client. Direct Connect
-is a peer-to-peer file-sharing protocol. Clients connect to a central hub
-where they can chat or share files with one another. Users can view other
-users' list of shared files or search the hub for files.")
- (license license:gpl2+)))
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index e274a41ada..f86fcedd56 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -4380,17 +4380,21 @@ on a Commodore C64, C128 etc.")
;; (("add_subdirectory\\(core/deps/Vulkan-Headers\\)")
;; "find_package(VulkanHeaders)"))
(with-directory-excursion "core/deps"
- (for-each delete-file-recursively
- '("SDL"
- "Spout"
- "Syphon"
- ;; TODO: Uncomment after our vulkan-headers
- ;; are update to 1.3.261.0 or newer.
- ;;"Vulkan-Headers"
- "breakpad"
- "discord-rpc"
- "libzip"
- "oboe")))))))
+ (for-each
+ delete-file-recursively
+ '("SDL"
+ "Spout"
+ "Syphon"
+ ;; TODO: Uncomment after our vulkan-headers
+ ;; are update to 1.3.261.0 or newer.
+ ;;"Vulkan-Headers"
+ "breakpad"
+ "discord-rpc"
+ ;; XXX: The libretro build requires the bundled
+ ;; libzip, which it uses to produce a
+ ;; static library.
+ ;;"libzip"
+ "oboe")))))))
(build-system cmake-build-system)
(arguments
(list
@@ -4432,6 +4436,13 @@ on a Commodore C64, C128 etc.")
and Atomiswave emulator derived from reicast.")
(license license:gpl2+))))
+(define-public libretro-flycast
+ (package/inherit flycast
+ (name "libretro-flycast")
+ (arguments (substitute-keyword-arguments (package-arguments flycast)
+ ((#:configure-flags flags)
+ #~(cons "-DLIBRETRO=ON" #$flags))))))
+
(define-public freedisksysrom
;; There is no release; use the latest commit.
(let ((commit "0d5f95f109bb3aadf2bb9510bfda13879bbd5266")
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 0d3d663ab8..d8ec14af1c 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -12476,80 +12476,6 @@ game.") ;thanks to Debian for description
computer opponents or against real players online.")
(license license:agpl3+)))
-(define-public xblackjack
- (package
- (name "xblackjack")
- (version "2.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://www.ibiblio.org/pub/X11/contrib/games/"
- "xblackjack-" version ".tar.gz"))
- (sha256
- (base32 "05h93rya7zwnx2l58f0a7wkjadymkj4y77clcr2hryhrhhy1vwjx"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((imake (assoc-ref inputs "imake"))
- (out (assoc-ref outputs "out")))
- (substitute* "Imakefile"
- (("EXTRA_LIBRARIES = -lXm \\$\\(DEPLIBS\\) -lbsd")
- "EXTRA_LIBRARIES = -lXm -lXt -lXmu -lXext -lX11")
- (("^#define NonStandardInstallTargets NO")
- "#define NonStandardInstallTargets YES")
- (("BINDIR = /usr/local/bin")
- (string-append "BINDIR = " out "/bin"))
- (("MANDIR = /usr/local/man/cat1")
- (string-append "MANDIR = " out "/share/man/man1"))
- (("XAPPLOADDIR = /usr/local/lib/app-defaults")
- (string-append "XAPPLOADDIR = " out "/lib/X11/app-defaults")))
-
- (invoke "xmkmf") ; Generate Makefile.
- (substitute* "Makefile"
- ((imake) out)
- (("ETCX11DIR = /etc/X11")
- (string-append "ETCX11DIR = " out "/etc/X11"))
- ;; Fix incorrect argument given to gcc. Error message:
- ;; "gcc: error: DefaultGcc2AMD64Opt: No such file or directory"
- (("CDEBUGFLAGS = [^\n]*") ""))
-
- ;; Fix header paths.
- (substitute* '("Draw.c"
- "Strategy.c")
- (("^#include <X11/Xm/Xm.h>")
- "#include <Xm/Xm.h>"))
- (substitute* "Strategy.c"
- (("^#include <X11/Xm/Label.h>")
- "#include <Xm/Label.h>"))
-
- ;; Fix compilation errors.
- (substitute* "Table.c"
- (("/\\* focus_moved_proc \\*/\tXtInheritFocusMovedProc,") "")
- (("_XmMoveObject\\(\\(RectObj\\) w, rx, ry\\);")
- "_XmMoveObject(w, rx, ry);")
- (("_XmResizeObject\\(\\(RectObj\\) managed->locs[i].w, nw, nh,")
- "_XmResizeObject(managed->locs[i].w, nw, nh,")))))
- (add-after 'install 'install-man-pages
- (lambda _
- (invoke "make" "install.man"))))
- #:tests? #f)) ; No check target.
- (inputs
- (list lesstif libx11 libxext libxmu libxt))
- (native-inputs
- (list imake))
- (home-page "https://www.ibiblio.org/pub/X11/contrib/games/")
- (synopsis "X11/Motif blackjack game")
- (description
- "Xblackjack is a MOTIF/OLIT based tool constructed to get you ready for
-the casino. It was inspired by a book called \"Beat the Dealer\" by Edward
-O. Thorp, Ph.D. of UCLA. A number of important statistics are maintained
-for display, and used by the program to implement Thorp's \"Complete Point
-System\" (high-low system).")
- (license (license:x11-style "" "See file headers."))))
-
(define-public xevil
;; This game is old. Use a maintained fork that builds with modern toolchains
;; on modern, 64-bit hardware.
diff --git a/gnu/packages/lesstif.scm b/gnu/packages/lesstif.scm
index 2c435d999b..f0ef220742 100644
--- a/gnu/packages/lesstif.scm
+++ b/gnu/packages/lesstif.scm
@@ -32,29 +32,6 @@
#:use-module (gnu packages xorg))
-(define-public lesstif
- (package
- (name "lesstif")
- (version "0.95.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://sourceforge/lesstif/lesstif/" version
- "/lesstif-" version ".tar.bz2"))
- (sha256
- (base32
- "1qzpxjjf7ri1jzv71mvq5m9g8hfaj5yzwp30rwxlm6n2b24a6jpb"))))
- (build-system gnu-build-system)
- (propagated-inputs
- (list printproto))
- (inputs
- (list libxext libxt))
- (home-page "https://lesstif.sourceforge.net/")
- (synopsis "Clone of the Motif toolkit for the X window system")
- (description "Clone of the Motif toolkit for the X window system.")
- (license license:gpl2+))) ; some files are lgpl2.1+ or x11
-
(define-public motif
;; This commit is from February 2023 and v2.3.8 from 2017.
(let ((commit "0f556b0873c72ba1152a12fd54c3198ee039e413")
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 299ee0d55c..9c09350c21 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -3539,71 +3539,6 @@ a persistent connection to an IRC server, acting as a proxy and buffer for
a number of clients.")
(license license:gpl3+)))
-(define-public weechat-matrix
- (package
- (name "weechat-matrix")
- (version "0.3.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/poljar/weechat-matrix")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1iv55n4k05139f7jzkhczgw4qp6qwilrvfsy3c6v2m1kxffj12d3"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (delete 'build)
- (replace 'install
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((weechat-python (string-append (assoc-ref outputs "out")
- "/share/weechat/python")))
- ;; Avoid circular import by renaming the matrix module to
- ;; weechat_matrix.
- (substitute* (cons "main.py"
- (append (find-files "matrix")
- (find-files "tests")))
- (("from matrix") "from weechat_matrix")
- (("import matrix") "import weechat_matrix"))
- ;; Install python modules.
- (invoke "make" "install-lib"
- (string-append "INSTALLDIR="
- (site-packages inputs outputs)
- "/weechat_matrix"))
- ;; Extend PYTHONPATH to find installed python modules.
- (add-installed-pythonpath inputs outputs)
- ;; Augment sys.path so that dependencies are found.
- (substitute* "main.py"
- (("import os\n" all)
- (apply string-append
- all
- "import sys\n"
- (map (lambda (path)
- (string-append "sys.path.append('" path "')\n"))
- (string-split (getenv "GUIX_PYTHONPATH") #\:)))))
- ;; Install script.
- (mkdir-p weechat-python)
- (copy-file "main.py"
- (string-append weechat-python "/matrix.py")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest")))))))
- (inputs
- (list python-matrix-nio python-pygments python-pyopenssl
- python-webcolors))
- (native-inputs
- (list python-pytest))
- (home-page "https://github.com/poljar/weechat-matrix")
- (synopsis "Weechat Matrix protocol script")
- (description "@code{weechat-matrix} is a Python plugin for Weechat that lets
-Weechat communicate over the Matrix protocol.")
- (license license:isc)))
-
(define-public weechat-wee-slack
(package
(name "weechat-wee-slack")
diff --git a/gnu/packages/patches/linuxdcpp-openssl-1.1.patch b/gnu/packages/patches/linuxdcpp-openssl-1.1.patch
deleted file mode 100644
index 6f9912afd8..0000000000
--- a/gnu/packages/patches/linuxdcpp-openssl-1.1.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/dcpp/CryptoManager.cpp.orig 2011-04-17 17:57:09 UTC
-+++ b/dcpp/CryptoManager.cpp
-@@ -107,12 +107,20 @@ CryptoManager::CryptoManager()
- };
-
- if(dh) {
-- dh->p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0);
-- dh->g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0);
-+ BIGNUM *p, *g;
-
-- if (!dh->p || !dh->g) {
-+ p = BN_bin2bn(dh4096_p, sizeof(dh4096_p), 0);
-+ g = BN_bin2bn(dh4096_g, sizeof(dh4096_g), 0);
-+
-+ if (!p || !g) {
- dh.reset();
- } else {
-+#if OPENSSL_VERSION_NUMBER < 0x10100005L
-+ dh->p = p;
-+ dh->g = g;
-+#else
-+ DH_set0_pqg(dh, p, NULL, g);
-+#endif
- SSL_CTX_set_options(serverContext, SSL_OP_SINGLE_DH_USE);
- SSL_CTX_set_options(serverVerContext, SSL_OP_SINGLE_DH_USE);
- SSL_CTX_set_tmp_dh(serverContext, (DH*)dh);
diff --git a/gnu/packages/patches/zig-0.15-fix-runpath.patch b/gnu/packages/patches/zig-0.15-fix-runpath.patch
new file mode 100644
index 0000000000..7216c97b57
--- /dev/null
+++ b/gnu/packages/patches/zig-0.15-fix-runpath.patch
@@ -0,0 +1,122 @@
+From d35c341322f6e84607350058007bd5be3d1d294a Mon Sep 17 00:00:00 2001
+From: Hilton Chain <hako@ultrarare.space>
+Date: Fri, 29 Nov 2024 14:13:46 +0800
+Subject: [PATCH] Fix RUNPATH issue.
+
+Add needed libraries and libc to RUNPATH when CROSS_LIBRARY_PATH or LIBRARY_PATH
+is set.
+---
+ lib/std/Build/Step/Compile.zig | 2 ++
+ src/link/Elf.zig | 7 +++++++
+ src/link/Lld.zig | 7 +++++++
+ src/main.zig | 34 +++++++++++++++++++++++++++++++++-
+ 4 files changed, 49 insertions(+), 1 deletion(-)
+
+diff --git a/lib/std/Build/Step/Compile.zig b/lib/std/Build/Step/Compile.zig
+index 79d3694c02..7f6bddbea6 100644
+--- a/lib/std/Build/Step/Compile.zig
++++ b/lib/std/Build/Step/Compile.zig
+@@ -794,6 +794,8 @@ fn runPkgConfig(compile: *Compile, lib_name: []const u8) !PkgConfigResult {
+ try zig_cflags.append(arg);
+ } else if (mem.startsWith(u8, arg, wl_rpath_prefix)) {
+ try zig_cflags.appendSlice(&[_][]const u8{ "-rpath", arg[wl_rpath_prefix.len..] });
++ } else if (mem.startsWith(u8, arg, "-Wl,-rpath=")) {
++ try zig_libs.appendSlice(&[_][]const u8{ "-L", arg["-Wl,-rpath=".len..] });
+ } else if (b.debug_pkg_config) {
+ return compile.step.fail("unknown pkg-config flag '{s}'", .{arg});
+ }
+diff --git a/src/link/Elf.zig b/src/link/Elf.zig
+index 99d0ad71b0..8017f4c088 100644
+--- a/src/link/Elf.zig
++++ b/src/link/Elf.zig
+@@ -988,6 +988,13 @@ fn dumpArgvInit(self: *Elf, arena: Allocator) !void {
+ try argv.appendSlice(gpa, &.{ "-rpath", rpath });
+ }
+
++ if (std.zig.system.NativePaths.isGuix(arena) and comp.config.link_libc and comp.config.link_mode == .dynamic) {
++ if (self.base.comp.libc_installation) |libc_installation| {
++ try argv.append(gpa, "-rpath");
++ try argv.append(gpa, libc_installation.crt_dir.?);
++ }
++ }
++
+ try argv.appendSlice(gpa, &.{
+ "-z",
+ try std.fmt.allocPrint(arena, "stack-size={d}", .{self.base.stack_size}),
+diff --git a/src/link/Lld.zig b/src/link/Lld.zig
+index 48872f7077..814f661692 100644
+--- a/src/link/Lld.zig
++++ b/src/link/Lld.zig
+@@ -1071,6 +1071,13 @@ fn elfLink(lld: *Lld, arena: Allocator) !void {
+ }
+ }
+
++ if (std.zig.system.NativePaths.isGuix(arena) and comp.config.link_libc and link_mode == .dynamic) {
++ if (comp.libc_installation) |libc_installation| {
++ try argv.append("-rpath");
++ try argv.append(libc_installation.crt_dir.?);
++ }
++ }
++
+ if (have_dynamic_linker and
+ (comp.config.link_libc or comp.root_mod.resolved_target.is_explicit_dynamic_linker))
+ {
+diff --git a/src/main.zig b/src/main.zig
+index 02b1b8f84b..ddc4ae8014 100644
+--- a/src/main.zig
++++ b/src/main.zig
+@@ -3910,7 +3910,7 @@ fn createModule(
+ create_module.want_native_include_dirs = true;
+ }
+
+- if (create_module.each_lib_rpath orelse resolved_target.is_native_os) {
++ if (create_module.each_lib_rpath orelse false) {
+ try create_module.rpath_list.ensureUnusedCapacity(arena, create_module.lib_directories.items.len);
+ for (create_module.lib_directories.items) |lib_directory| {
+ create_module.rpath_list.appendAssumeCapacity(lib_directory.path.?);
+@@ -3982,6 +3982,28 @@ fn createModule(
+ else => {},
+ };
+
++ if (std.zig.system.NativePaths.isGuix(arena)) {
++ for (create_module.link_inputs.items) |link_input| {
++ if (link_input.path()) |lib| {
++ const lib_name = lib.sub_path;
++ if (Compilation.classifyFileExt(lib_name) == .shared_library) {
++ if (fs.path.isAbsolute(lib_name)) {
++ const lib_dir_path = fs.path.dirname(lib_name).?;
++ try create_module.rpath_list.append(arena, lib_dir_path);
++ continue;
++ }
++ for (create_module.lib_directories.items) |lib_dir| {
++ const lib_dir_path = lib_dir.path.?;
++ if (try libPathExists(arena, lib_dir_path, lib_name)) {
++ try create_module.rpath_list.append(arena, lib_dir_path);
++ break;
++ }
++ }
++ }
++ }
++ }
++ }
++
+ create_module.resolved_options = Compilation.Config.resolve(create_module.opts) catch |err| switch (err) {
+ error.WasiExecModelRequiresWasi => fatal("only WASI OS targets support execution model", .{}),
+ error.SharedMemoryIsWasmOnly => fatal("only WebAssembly CPU targets support shared memory", .{}),
+@@ -7633,3 +7655,13 @@ fn addLibDirectoryWarn2(
+ .path = path,
+ });
+ }
++
++fn libPathExists(arena: Allocator, lib_dir_path: []const u8, lib_name: []const u8) !bool {
++ const lib_path = try std.fmt.allocPrint(arena, "{s}{s}{s}", .{
++ lib_dir_path,
++ fs.path.sep_str,
++ lib_name,
++ });
++ fs.cwd().access(lib_path, .{}) catch return false;
++ return true;
++}
+--
+2.50.1
+
diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index b5ad5e7519..d3b31b05c7 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020, 2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
-;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018, 2021-2023, 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
@@ -252,6 +252,20 @@ Included are implementations of:
@end enumerate\n")
(license license:psfl)))
+(define-public python-typing-extensions-next
+ (package
+ (inherit python-typing-extensions)
+ (version "4.15.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "typing_extensions" version))
+ (sha256
+ (base32 "0rhlhs28jndgp9fghdhidn6g7xiwx8vvihxbxhlgl4ncfg8lishc"))))
+ (native-inputs
+ (modify-inputs (package-native-inputs python-typing-extensions)
+ (replace "python-flit-core" python-flit-core-next)))))
+
;;;
;;; Python builder packages.
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f5bcb2e798..bedcd86954 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8960,7 +8960,7 @@ ecosystem, but can naturally be used also by other projects.")
(define-public python-robotframework
(package
(name "python-robotframework")
- (version "7.2.2")
+ (version "7.3.2")
(source
(origin
(method git-fetch) ; no tests in the PyPI archive
@@ -8969,7 +8969,7 @@ ecosystem, but can naturally be used also by other projects.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1a34dv5gpaiqbddblfnirp1ja2a1069n9nifasn4g26kcj69fpra"))))
+ (base32 "0azis3dj7lfiwrr5gr1gr78z5m05vvl8n20rw3bz93s05z94h5i7"))))
(outputs '("out" "doc"))
(build-system pyproject-build-system)
(arguments
@@ -9009,6 +9009,7 @@ ecosystem, but can naturally be used also by other projects.")
python-jsonschema
python-pygments
python-rellu
+ python-typing-extensions-next
python-setuptools
`(,python "tk") ;used when building the HTML doc
python-wheel))
diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm
index 6b3f66095c..82484d652d 100644
--- a/gnu/packages/zig.scm
+++ b/gnu/packages/zig.scm
@@ -1890,4 +1890,186 @@ toolchain. Among other features it provides
(properties `((max-silent-time . 9600)
,@(clang-compiler-cpu-architectures "19")))))
+
+;;;
+;;; Bootstrap path for Zig 0.15.
+;;;
+
+(define zig-0.14.0-687
+ (let ((commit "cc047fdd959edb260f7a6e305ccad53f185ece66")
+ (revision "687")
+ (base zig-0.14))
+ (package
+ (inherit base)
+ (name "zig")
+ (version (git-version "0.14.0" revision commit))
+ (source (zig-source
+ version commit
+ "0wjswx1cvql8pxpdrglr3h24v5rffnq3llr0f08hj8g959f6ffvs"))
+ ;; zig2
+ (arguments (package-arguments zig-0.10.0-851))
+ (inputs
+ (modify-inputs (package-inputs base)
+ (replace "clang" clang-20)
+ (replace "lld" lld-20)))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (replace "llvm" llvm-20)
+ (replace "zig" `(,base "zig1"))))
+ (properties `((max-silent-time . 9600)
+ ,@(clang-compiler-cpu-architectures "20"))))))
+
+(define zig-0.14.0-877
+ (let ((commit "0adcfd60f4fcfd01c74a6477cbcef187ce06f533")
+ (revision "877")
+ (base zig-0.14.0-687))
+ (package
+ (inherit base)
+ (name "zig")
+ (version (git-version "0.14.0" revision commit))
+ (source (zig-source
+ version commit
+ "1yyar3cms02kzf4z20sbw09awqvz0kbm9fx8g0kgb8hp1f4blf3d"))
+ ;; zig1
+ (arguments (package-arguments zig-0.10.0-747))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (replace "zig" `(,base "out")))))))
+
+(define zig-0.14.0-930
+ (let ((commit "40d11cc25a469dc6bb0f9fbba4d05e7210a23b3f")
+ (revision "930")
+ (base zig-0.14.0-877))
+ (package
+ (inherit base)
+ (name "zig")
+ (version (git-version "0.14.0" revision commit))
+ (source (zig-source
+ version commit
+ "06x6zi8hcl04gmql96vyms0zch94xi1all5s1kjsnbifixd99bgy"))
+ ;; zig2
+ (arguments (package-arguments zig-0.10.0-851))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (replace "zig" `(,base "zig1")))))))
+
+(define zig-0.14.0-934
+ (let ((commit "4ba0e7d424a7c0af55c8085c659e9205560d3095")
+ (revision "934")
+ (base zig-0.14.0-930))
+ (package
+ (inherit base)
+ (name "zig")
+ (version (git-version "0.14.0" revision commit))
+ (source (zig-source
+ version commit
+ "17zaw7bk6wli6wpsr5zlpn1b39818h034l5bpnsxfslqqg09rsd8"))
+ ;; zig1
+ (arguments (package-arguments zig-0.10.0-747))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (replace "zig" `(,base "out")))))))
+
+(define zig-0.14.0-1091
+ (let ((commit "87ce83d5a5854b63b7cef5c6209742ee1a524107")
+ (revision "1091")
+ (base zig-0.14.0-934))
+ (package
+ (inherit base)
+ (name "zig")
+ (version (git-version "0.14.0" revision commit))
+ (source (zig-source
+ version commit
+ "18irwcr63l1hf2g7vv9qajgllsp7qwzsv5ijm9x8l51agm6harf4"))
+ ;; zig2
+ (arguments (package-arguments zig-0.10.0-851))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (replace "zig" `(,base "zig1")))))))
+
+(define zig-0.14.0-1197
+ (let ((commit "a023b9b22b6593ebd5a86736a4a9955840d1bfa1")
+ (revision "1197")
+ (base zig-0.14.0-1091))
+ (package
+ (inherit base)
+ (name "zig")
+ (version (git-version "0.14.0" revision commit))
+ (source (zig-source
+ version commit
+ "08c1m6kwq7cqg5s6j0ypp8ygvxj21da5is0w7y17sw27fjqrlhgr"))
+ ;; zig1
+ (arguments (package-arguments zig-0.10.0-747))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (replace "zig" `(,base "out")))))))
+
+(define zig-0.15-libc-abi-tools
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ziglang/libc-abi-tools")
+ (commit "21993a6036cc165485b20229589340dff9d4fc3c")))
+ (file-name "libc-abi-tools")
+ (sha256
+ (base32 "0miwb0zfgfmm4bh2bs7982wpk0wp5vj2mz10x9c3m8fw7zzcyvbh"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(substitute* "netbsd/consolidate.zig"
+ ((".write_buffer = buffer") ".write_buffer = &buffer")))))
+
+(define-public zig-0.15
+ (package
+ (inherit zig-0.14)
+ (name "zig")
+ (version "0.15.1")
+ (source
+ (origin
+ (inherit (zig-source
+ version version
+ "1cp18plf0x5wip4rnxiqavaqnqxnqzhipb34in6zd3y7wihwjmj4"))
+ (patches
+ (search-patches
+ "zig-0.14-use-baseline-cpu-by-default.patch"
+ "zig-0.14-use-system-paths.patch"
+ "zig-0.15-fix-runpath.patch"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments zig-0.14)
+ ((#:phases phases '%standard-phases)
+ #~(modify-phases #$phases
+ (delete 'install-glibc-abilists)
+ ;; TODO: Remove newly-added abilists files in zig-source.
+ (add-before 'check 'install-abilists
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ (mkdir-p "/tmp/libc-abi-tools")
+ (with-directory-excursion "/tmp/libc-abi-tools"
+ (copy-recursively
+ (dirname (search-input-file
+ (or native-inputs inputs) "list.zig"))
+ ".")
+ (for-each make-file-writable (find-files "."))
+ (for-each
+ (lambda (libc)
+ (with-directory-excursion libc
+ (invoke (string-append #$output "/bin/zig")
+ "run" "consolidate.zig")
+ (install-file
+ "abilists"
+ (string-append #$output "/lib/zig/libc/" libc))))
+ '("freebsd"
+ "glibc"
+ "netbsd")))))))))
+ (inputs
+ (modify-inputs (package-inputs zig-0.14)
+ (replace "clang" clang-20)
+ (replace "lld" lld-20)))
+ (native-inputs
+ (modify-inputs (package-native-inputs zig-0.14)
+ (delete "glibc-abi-tool")
+ (prepend zig-0.15-libc-abi-tools)
+ (replace "llvm" llvm-20)
+ (replace "zig" `(,zig-0.14.0-1197 "zig1"))))
+ (properties `((max-silent-time . 9600)
+ ,@(clang-compiler-cpu-architectures "20")))))
+
(define-public zig zig-0.13)