aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/hurd.scm40
-rw-r--r--gnu/packages/patches/netdde-build-fix.patch28
3 files changed, 51 insertions, 18 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 30dd32fdce..53f59a830d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1618,6 +1618,7 @@ dist_patch_DATA = \
%D%/packages/patches/ncompress-fix-softlinks.patch \
%D%/packages/patches/ncftp-reproducible.patch \
%D%/packages/patches/netcdf-date-time.patch \
+ %D%/packages/patches/netdde-build-fix.patch \
%D%/packages/patches/netpbm-CVE-2017-2586.patch \
%D%/packages/patches/netpbm-CVE-2017-2587.patch \
%D%/packages/patches/netsurf-message-timestamp.patch \
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 3a9797009b..5072b7de2b 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -553,8 +553,8 @@ implementing them.")
(license gpl2+)))
(define-public netdde
- (let ((commit "4a1016f130b6f2065d3f088325e5fb0b2997ae12")
- (revision "1"))
+ (let ((commit "e67c284ac113d939b10b4578334f27dab29d5b08")
+ (revision "2"))
(package
(name "netdde")
;; The version prefix corresponds to the version of Linux from which the
@@ -565,20 +565,19 @@ implementing them.")
(uri (git-reference
(url "https://git.savannah.gnu.org/git/hurd/incubator.git")
(commit commit)))
+ (patches (list (search-patch "netdde-build-fix.patch")))
(sha256
(base32
- "1njv9dszq4lj05yq4v9j5v247hfghpzvvz4hzy0khjjr35mw7hr8"))
+ "0vnkls7sr7srzib5mnw6gybzl5qa8c5a4zf3h08w6gdr7zqbndh0"))
(file-name (git-file-name name commit))))
(build-system gnu-build-system)
(arguments
- `(#:make-flags
+ `(#:tests? #f ;no "check" target
+ #:make-flags
(list (string-append "SHELL="
(search-input-file %build-inputs "/bin/bash"))
"PKGDIR=libdde_linux26"
- ,@(if (%current-target-system)
- (list "CC=i586-pc-gnu-gcc"
- "LINK_PROGRAM=i586-pc-gnu-gcc")
- (list "CC=gcc")))
+ (string-append "CC=" ,(cc-for-target)))
#:configure-flags
,#~(list (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
#:phases
@@ -594,8 +593,7 @@ implementing them.")
(string-append dde "/" dir ) dir))
'("libdde_linux26" "libddekit")))
(substitute* "libdde_linux26/mk/rel2abs.sh"
- (("/bin/bash") (which "bash")))
- #t))
+ (("/bin/bash") (which "bash")))))
(add-after 'patch-generated-file-shebangs 'build-libdde-linux26
(lambda* (#:key make-flags #:allow-other-keys)
(with-directory-excursion "libdde_linux26"
@@ -606,17 +604,23 @@ implementing them.")
(apply invoke "make" "convert" make-flags)))
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
- ;; no-common can be dropped with GCC 10+ where this is the
- ;; default.
- (apply invoke "make" "CFLAGS=-fno-common" make-flags)))
+ (apply invoke "make"
+ ,(string-append "LINK_PROGRAM=" (cc-for-target))
+ make-flags)
+ ;; This hack to build netdde.static was found in
+ ;; https://salsa.debian.org/hurd-team/netdde/-/blob/b539b2ad7a171371f140c3da58cce33f1a91ac12/debian/rules
+ (delete-file "Makefile.inc")
+ (apply invoke "make"
+ ,(string-append "LINK_PROGRAM=" (cc-for-target) " -static")
+ "TARGET=netdde.static"
+ make-flags)))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
- (install-file "netdde"
- (string-append (assoc-ref outputs "out")
- "/bin"))
- #t)))))
+ (let ((hurd (string-append (assoc-ref outputs "out") "/hurd")))
+ (install-file "netdde" hurd)
+ (install-file "netdde.static" hurd)))))))
(inputs
- (list hurd libpciaccess-0.17 zlib))
+ (list hurd libpciaccess-0.17 zlib `(,zlib "static")))
(native-inputs
`(("coreutils" ,coreutils)
("gawk" ,gawk)
diff --git a/gnu/packages/patches/netdde-build-fix.patch b/gnu/packages/patches/netdde-build-fix.patch
new file mode 100644
index 0000000000..f7f0fc35a9
--- /dev/null
+++ b/gnu/packages/patches/netdde-build-fix.patch
@@ -0,0 +1,28 @@
+Upstream status: Presented upstream.
+
+ https://lists.gnu.org/archive/html/bug-hurd/2023-05//msg00449.html
+
+From b0a7e4f2706bea8d1c80d5af7a095941f9635033 Mon Sep 17 00:00:00 2001
+From: Janneke Nieuwenhuizen <janneke@gnu.org>
+Date: Fri, 26 May 2023 17:39:17 +0200
+Subject: [PATCH] Update for .../rumpdisk: Fix race condition in bootstrap
+
+---
+ machdev.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/machdev.c b/machdev.c
+index dda5eb8ba..1a6811072 100644
+--- a/machdev.c
++++ b/machdev.c
+@@ -18,5 +18,6 @@ void machdev_run1 (void *arg)
+
+ void machdev_run2(void)
+ {
+- machdev_trivfs_server(bootstrap);
++ machdev_trivfs_server_startup(bootstrap);
++ machdev_trivfs_server_loop(NULL);
+ }
+--
+2.40.1
+