guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

09/17: gnu: libnatpmp: Update to 20230423-0.6a850fd.


From: guix-commits
Subject: 09/17: gnu: libnatpmp: Update to 20230423-0.6a850fd.
Date: Mon, 8 Jan 2024 23:48:11 -0500 (EST)

apteryx pushed a commit to branch telephony-team
in repository guix.

commit 427be5536fa63ec9fad572fd49ddf2d618123c89
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Sun Aug 20 23:25:37 2023 -0400

    gnu: libnatpmp: Update to 20230423-0.6a850fd.
    
    * gnu/packages/networking.scm (libnatpmp): Update to 20230423-0.6a850fd.
    [source]: Fetch from git.
    [build-system]: Use cmake-build-system.
    [arguments]: Add patch-build-system and fix-version phases.  Reinstate
    configure and check phase, but set #:tests? to #f.  New #:configure-flags
    argument.
    [native-inputs]: Add which.
---
 gnu/packages/networking.scm | 67 ++++++++++++++++++++++++++++-----------------
 1 file changed, 42 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index dedbc9e1ea..cc9b8e46ae 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1414,33 +1414,50 @@ files contain direct mappings of the abstractions 
provided by the ØMQ C API.")
     (license license:expat)))
 
 (define-public libnatpmp
-  (package
-    (name "libnatpmp")
-    (version "20230423")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "http://miniupnp.free.fr/files/";
-                    name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0w7wvf4yi8qv659dg9d3ndqvh3bqhgm21gd135spwhq6hhnfv106"))))
-    (build-system gnu-build-system)
-    (arguments
-     (list #:phases #~(modify-phases %standard-phases
-                        (delete 'configure)
-                        (delete 'check)) ; no tests
-           #:make-flags
-           #~(list (string-append "CC=" #$(cc-for-target))
-                   (string-append "INSTALLPREFIX=" #$output)
-                   (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))))
-    (home-page "https://miniupnp.tuxfamily.org/libnatpmp.html";)
-    (synopsis "C library implementing NAT-PMP")
-    (description
-     "@code{libnatpmp} is a portable and asynchronous implementation of
+  ;; Install the latest commit as it provides a pkg-config (.pc) file.
+  (let ((base-version "20230423")
+        (commit "6a850fd2bd9b08e6edc886382a1dbae2a7df55ec")
+        (revision "0"))
+    (package
+      (name "libnatpmp")
+      (version (git-version base-version revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/miniupnp/libnatpmp";)
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "18hf9a3i3mncl3w80nzi1684iac3by86bv0hgmbm1v2w8gbfjyw0"))))
+      (build-system cmake-build-system)
+      (arguments
+       (list
+        #:tests? #f                     ;no test suite
+        #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'patch-build-system
+              ;; Have CMake install the natpmp_declspec.h missing header file
+              ;; that is referenced by natpmp.h (see:
+              ;; https://github.com/miniupnp/libnatpmp/issues/41).
+              (lambda _
+                (substitute* "CMakeLists.txt"
+                  (("install\\(FILES natpmp.h")
+                   "install(FILES natpmp.h natpmp_declspec.h"))))
+            (add-after 'unpack 'fix-version
+              (lambda _
+                (with-output-to-file "VERSION"
+                  (lambda ()
+                    (display #$base-version))))))))
+      (native-inputs (list which))
+      (home-page "https://miniupnp.tuxfamily.org/libnatpmp.html";)
+      (synopsis "C library implementing NAT-PMP")
+      (description
+       "@code{libnatpmp} is a portable and asynchronous implementation of
 the Network Address Translation - Port Mapping Protocol (NAT-PMP)
 written in the C programming language.")
-    (license license:bsd-3)))
+      (license license:bsd-3))))
 
 (define-public librdkafka
   (package



reply via email to

[Prev in Thread] Current Thread [Next in Thread]