all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Janneke Nieuwenhuizen <janneke@gnu.org>
To: 64711@debbugs.gnu.org
Subject: [bug#64711] [PATCH 34/43] gnu: doxygen: Fix build for the Hurd.
Date: Tue, 18 Jul 2023 16:40:27 +0200	[thread overview]
Message-ID: <4afd686f160440b3af9d16481c9a7e3d3e3a241f.1689690897.git.janneke@gnu.org> (raw)
In-Reply-To: <cover.1689690897.git.janneke@gnu.org>

* gnu/packages/patches/doxygen-hurd.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/documentation.scm (doxygen)[arguments]: When building for the
Hurd, add new phase 'apply-patch' and use it.
---
 gnu/local.mk                            |  1 +
 gnu/packages/documentation.scm          | 12 +++++++++-
 gnu/packages/patches/doxygen-hurd.patch | 30 +++++++++++++++++++++++++
 3 files changed, 42 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/doxygen-hurd.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 0d0f8c1937..84c4167723 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1066,6 +1066,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/doc++-segfault-fix.patch			\
   %D%/packages/patches/dovecot-opensslv3.patch			\
   %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch	\
+  %D%/packages/patches/doxygen-hurd.patch			\
   %D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch	\
   %D%/packages/patches/dstat-skip-devices-without-io.patch	\
   %D%/packages/patches/dune-common-skip-failing-tests.patch	\
diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index ec70ca4d8f..5d455431d3 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2021, 2022 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.counoyer@gmail.com>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -40,6 +41,7 @@ (define-module (gnu packages documentation)
   #:use-module (guix build-system python)
   #:use-module (guix build-system qt)
   #:use-module (guix deprecation)
+  #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages backup)
@@ -224,7 +226,15 @@ (define-public doxygen
               (let ((/bin/sh (search-input-file inputs "/bin/sh")))
                 (substitute* "src/portable.cpp"
                   (("/bin/sh")
-                   /bin/sh))))))))
+                   /bin/sh)))))
+          #$@(if (target-hurd?)
+                 #~((add-after 'unpack 'apply-patch
+                      (lambda _
+                        (let ((patch-file
+                               #$(local-file
+                                  (search-patch "doxygen-hurd.patch"))))
+                          (invoke "patch" "--force" "-p1" "-i" patch-file)))))
+                 #~()))))
     (synopsis "Generate documentation from annotated sources")
     (description "Doxygen is the de facto standard tool for generating
 documentation from annotated C++ sources, but it also supports other popular
diff --git a/gnu/packages/patches/doxygen-hurd.patch b/gnu/packages/patches/doxygen-hurd.patch
new file mode 100644
index 0000000000..a40923184b
--- /dev/null
+++ b/gnu/packages/patches/doxygen-hurd.patch
@@ -0,0 +1,30 @@
+Upstream status: Adapted from upstream.
+
+From d3d968e5835f449d7ea715f45160db81ea906303 Mon Sep 17 00:00:00 2001
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Tue, 16 Aug 2022 20:29:54 +0200
+Subject: [PATCH] Fix build on GNU/Hurd
+
+There is no path length limitation there, even via pathconf.  But glibc
+provides a getcwd function that allocates the buffer dynamically so we can
+just leverage that.
+---
+ include/ghc/filesystem.hpp | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/filesystem/filesystem.hpp.orig	2022-08-11 22:14:32.000000000 +0200
++++ b/filesystem/filesystem.hpp	2023-06-13 07:26:25.310000000 +0200
+@@ -4081,6 +4081,13 @@
+         return path();
+     }
+     return path(std::wstring(buffer.get()), path::native_format);
++#elif defined(__GLIBC__)
++    std::unique_ptr<char, decltype(&std::free)> buffer { ::getcwd(NULL, 0), std::free };
++    if (buffer == nullptr) {
++        ec = detail::make_system_error();
++        return path();
++    }
++    return path(buffer.get());
+ #else
+     size_t pathlen = static_cast<size_t>(std::max(int(::pathconf(".", _PC_PATH_MAX)), int(PATH_MAX)));
+     std::unique_ptr<char[]> buffer(new char[pathlen + 1]);
-- 
2.40.1





  parent reply	other threads:[~2023-07-18 14:44 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
2023-07-18 14:39 ` [bug#64711] [PATCH 01/43] Revert "gnu: libunistring: Fix make check for the Hurd." Janneke Nieuwenhuizen
2023-07-18 14:39 ` [bug#64711] [PATCH 02/43] gnu: guile: Skip hanging and failing pipe tests on the Hurd Janneke Nieuwenhuizen
2023-07-18 20:18   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
2023-07-19  5:23     ` Janneke Nieuwenhuizen
2023-07-19  6:27     ` Janneke Nieuwenhuizen
2023-07-18 14:39 ` [bug#64711] [PATCH 03/43] gnu: coreutils: Skip hanging and failing test on " Janneke Nieuwenhuizen
2023-07-18 20:13   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
2023-07-18 20:23     ` Janneke Nieuwenhuizen
2023-07-18 20:23     ` Janneke Nieuwenhuizen
2023-07-18 14:39 ` [bug#64711] [PATCH 04/43] gnu: grep: Update hanging and failing tests on " Janneke Nieuwenhuizen
2023-07-18 20:23   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
2023-07-18 14:39 ` [bug#64711] [PATCH 05/43] Revert "gnu: sed: Skip failing test on GNU/Hurd." Janneke Nieuwenhuizen
2023-07-18 14:39 ` [bug#64711] [PATCH 06/43] gnu: findutils: Move test-strerror_r from XFAIL to skip on the Hurd Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 07/43] gnu: diffutils: Remove test-perror2 from XFAIL_TESTS " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 08/43] gnu: gettext-minimal: Remove XFAIL_TESTS for " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 09/43] gnu: m4: Skip gnulib stack-overflow tests " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 10/43] gnu: openssl: Build fix " Janneke Nieuwenhuizen
2023-07-18 17:53   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests " Ludovic Courtès
2023-07-18 18:04     ` Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 11/43] gnu: python: Support native build on " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 12/43] gnu: mpfr: Skip failing test " Janneke Nieuwenhuizen
2023-07-18 17:57   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
2023-07-18 14:40 ` [bug#64711] [PATCH 13/43] gnu: elfutils: Skip failing tests on " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 14/43] gnu: libbsd: Skip failing test " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 15/43] gnu: c-ares: Skip failing tests " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 16/43] gnu: libgpg-error: Skip failing test " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 17/43] gnu: libgcrypt: Skip hanging benchmark tests " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 18/43] gnu: tcl: Remove failing " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 19/43] gnu: curl: Skip failing test " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 20/43] gnu: git: " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 21/43] gnu: emacs: Depend on libc-for-target Janneke Nieuwenhuizen
2023-07-18 15:54   ` Liliana Marie Prikler
2023-07-18 16:39     ` Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 22/43] gnu: procps: Skip linux-version test for the Hurd Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 23/43] gnu: e2fsprogs: Skip failing tests on " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 24/43] gnu: parted: Disable tests for " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 25/43] gnu: libpaper: " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 26/43] gnu: cairo: Support building " Janneke Nieuwenhuizen
2023-07-18 15:57   ` Liliana Marie Prikler
2023-07-18 16:33     ` Janneke Nieuwenhuizen
2023-07-18 20:06       ` Maxim Cournoyer
2023-07-19  9:30         ` Janneke Nieuwenhuizen
2023-07-20  3:14           ` Maxim Cournoyer
2023-07-21 18:27             ` Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 27/43] gnu: openssl-1.1: Fix shared build " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 28/43] gnu: ruby-2.6: Skip test on " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 29/43] gnu: tcsh: Skip substitution tests " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 30/43] gnu: swig: Skip tests when building for " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 31/43] gnu: zstd: " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 32/43] gnu: cmake-bootstrap: Fix build " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 33/43] gnu: cmake-minimal: Skip tests on " Janneke Nieuwenhuizen
2023-07-18 14:40 ` Janneke Nieuwenhuizen [this message]
2023-07-18 14:40 ` [bug#64711] [PATCH 35/43] gnu: graphite2: Skip test " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 36/43] gnu: guile-git: Skip http proxy " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for " Janneke Nieuwenhuizen
2023-07-18 15:56   ` Liliana Marie Prikler
2023-07-18 16:32     ` Janneke Nieuwenhuizen
2023-07-18 20:05       ` Maxim Cournoyer
2023-07-20  8:19         ` Janneke Nieuwenhuizen
2023-07-20 18:08           ` Maxim Cournoyer
2023-07-21 17:22             ` Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 38/43] gnu: ghostscript: Fix build " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 39/43] gnu: harfbuzz: Support " Janneke Nieuwenhuizen
2023-07-18 20:13   ` Maxim Cournoyer
2023-07-18 14:40 ` [bug#64711] [PATCH 40/43] gnu: pango: " Janneke Nieuwenhuizen
2023-07-18 20:04   ` Maxim Cournoyer
2023-07-18 20:15     ` Janneke Nieuwenhuizen
2023-07-19  0:56       ` Maxim Cournoyer
2023-07-19  6:14         ` Janneke Nieuwenhuizen
2023-07-19 16:22           ` Maxim Cournoyer
2023-07-19 20:51             ` Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 41/43] gnu: fontforge: Support build on " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 42/43] gnu: po4a: Skip failing test " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 43/43] gnu: guile-2.0: Skip failing tests " Janneke Nieuwenhuizen
2023-07-18 14:48 ` [bug#64711] [PATCH 00/43] Fix builds and skip failing tests for " Janneke Nieuwenhuizen
2023-07-18 20:29 ` [bug#64711] [PATCH 00/45] " Ludovic Courtès
2023-07-20  8:27   ` bug#64711: " Janneke Nieuwenhuizen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4afd686f160440b3af9d16481c9a7e3d3e3a241f.1689690897.git.janneke@gnu.org \
    --to=janneke@gnu.org \
    --cc=64711@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.