~ruther/guix-local

ab8c08c51913671861ebadf11cc3c2bf3d82658c — Timothy Sample 4 years ago 505d53a
gnu: disarchive: Update to 0.3.0.

* gnu/packages/backup.scm (disarchive): Update to 0.3.0.
[source]: Remove cross-compilation patch.
[arguments]: Remove field.
* gnu/packages/patches/disarchive-cross-compilation.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
3 files changed, 2 insertions(+), 86 deletions(-)

M gnu/local.mk
M gnu/packages/backup.scm
D gnu/packages/patches/disarchive-cross-compilation.patch
M gnu/local.mk => gnu/local.mk +0 -1
@@ 998,7 998,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/dfu-programmer-fix-libusb.patch		\
  %D%/packages/patches/diffoscope-fix-test_item3_deflate_llvm_bitcode.patch	\
  %D%/packages/patches/diffutils-gets-undeclared.patch		\
  %D%/packages/patches/disarchive-cross-compilation.patch	\
  %D%/packages/patches/dkimproxy-add-ipv6-support.patch		\
  %D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch	\
  %D%/packages/patches/doc++-include-directives.patch		\

M gnu/packages/backup.scm => gnu/packages/backup.scm +2 -8
@@ 1144,21 1144,15 @@ backup.")
(define-public disarchive
  (package
    (name "disarchive")
    (version "0.2.1")
    (version "0.3.0")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://files.ngyro.com/disarchive/"
                                  "disarchive-" version ".tar.gz"))
              (sha256
               (base32
                "1jypk0gdwxqbqxiblww863nzq0kwnc676q68j32sprqd7ilnq02s"))
              (patches (search-patches "disarchive-cross-compilation.patch"))))
                "0jgc53rrbas8i4z13l2ii99cpav1ma73spsjg70ygihf0635r3dh"))))
    (build-system gnu-build-system)
    (arguments
     `(#:phases (modify-phases %standard-phases
                  (add-after 'unpack 'delete-configure
                    (lambda _
                      (delete-file "configure"))))))
    (native-inputs
     `(("autoconf" ,autoconf)
       ("automake" ,automake)

D gnu/packages/patches/disarchive-cross-compilation.patch => gnu/packages/patches/disarchive-cross-compilation.patch +0 -77
@@ 1,77 0,0 @@
From dc0f8f8bf8608c39da32e3c8ca1484b766fc7452 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Mon, 17 May 2021 16:47:19 -0400
Subject: [PATCH] build: Fix cross-compilation.

The cross-compilation issues corrected by this change were discovered
when attempting to cross-compile disarchive for the i586-gnu target on
GNU Guix.

* configure.ac [O_NOFOLLOW]: Rewrite test using AC_COMPUTE_INT, which
is supported even when cross-compiling.
(GUILD_TARGET_OPTION): New computed variable.
* build-aux/guile.am ($(AM_V_GUILEC)GUILE_AUTO_COMPILE): Use it.
---
 build-aux/guile.am |  6 +++---
 configure.ac       | 24 +++++++++++++++---------
 2 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/build-aux/guile.am b/build-aux/guile.am
index bec04ea..7745125 100644
--- a/build-aux/guile.am
+++ b/build-aux/guile.am
@@ -54,7 +54,7 @@ AM_V_GUILEC_0 = @echo "  GUILEC" $@;
 SUFFIXES = .scm .go
 
 .scm.go:
-	$(AM_V_GUILEC)GUILE_AUTO_COMPILE=0      \
-	$(top_builddir)/pre-inst-env            \
-	$(GUILD) compile $(GUILE_WARNINGS)      \
+	$(AM_V_GUILEC)GUILE_AUTO_COMPILE=0                              \
+	$(top_builddir)/pre-inst-env                                    \
+	$(GUILD) compile $(GUILE_WARNINGS) $(GUILD_TARGET_OPTION)       \
 	         -o "$@" "$<"
diff --git a/configure.ac b/configure.ac
index 99c5ac5..0cd0173 100644
--- a/configure.ac
+++ b/configure.ac
@@ -39,21 +39,27 @@ AS_IF([test "x$GUILD" = "x"],
     [AC_MSG_ERROR(m4_normalize([
       'guild' binary not found; please check your Guile installation.]))])])
 
+dnl This argument is passed to guild; it ensures cross-compiling uses
+dnl the right target.
+if test -n "$host_alias"; then
+   AC_SUBST([GUILD_TARGET_OPTION], [--target=$host_alias])
+fi
+
 GUILE_MODULE_REQUIRED(gcrypt hash)
 
 dnl Guile defines a handful of values from <fcntl.h>, but it is
 dnl missing O_NOFOLLOW.
 AC_ARG_VAR([O_NOFOLLOW], [value to use for O_NOFOLLOW (cf. <fcntl.h>)])
 AS_IF([test "x$O_NOFOLLOW" = "x"],
-  [AC_MSG_CHECKING([the value of O_NOFOLLOW])
-   AC_RUN_IFELSE([AC_LANG_PROGRAM([[
-       #include <fcntl.h>
-       #include <stdio.h>
-     ]], [[
-       printf("%d\n", O_NOFOLLOW)
-     ]])],
-     [O_NOFOLLOW=`./conftest$EXEEXT`],
-     [AC_MSG_FAILURE([could find value for O_NOFOLLOW])])])
+  [AC_MSG_CHECKING([the value of O_NOFOLLOW])]
+  [AC_COMPUTE_INT([O_NOFOLLOW],
+      [O_NOFOLLOW],
+      [[
+        #include <fcntl.h>
+        #include <stdio.h>
+      ]],
+      [AC_MSG_FAILURE([could find value for O_NOFOLLOW])])]
+  [AC_MSG_RESULT([$O_NOFOLLOW])])
 
 AC_ARG_VAR([TAR], [tar utility])
 AS_IF([test "x$TAR" = "x"], [AC_PATH_PROG([TAR], [tar])])
-- 
2.31.1