From a811bca28908a42b65cf5af0dd3a0801effaa620 Mon Sep 17 00:00:00 2001 From: Theodoros Foradis Date: Sun, 8 Jul 2018 20:39:25 +0300 Subject: gnu: Add miniupnpc-monero. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/upnp.scm (monero-miniupnpc): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/upnp.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 475e1750a8..24b17111e9 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Theodoros Foradis ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,7 +23,9 @@ #:use-module (gnu packages) #:use-module (gnu packages python) #:use-module (guix build-system gnu) + #:use-module (guix utils) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix licenses) #:use-module (guix packages)) @@ -76,6 +79,49 @@ over IRC, instant messaging, network games, and most server software.") (license (x11-style "file://LICENSE" "See 'LICENSE' file in the distribution")))) +(define-public monero-miniupnpc + ;; This package is the bundled version of miniupnpc used with monero. + ;; Monero-project has been maintaining its own version of the package since + ;; release 0.12.2.0. It includes security fixes not included in upstream + ;; releases. + (let ((revision "0") + (commit "6a63f9954959119568fbc4af57d7b491b9428d87")) + (package + (inherit miniupnpc) + (name "miniupnpc-monero") + (version (string-append "2.1-monero-0.12.3.0-" revision "." + (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/monero-project/miniupnp/") + (commit commit))) + (sha256 + (base32 + "0s67zcz978iapjlq30yy9dl8qda9xhrl3jdi5f99cnbglh5gy16a")) + (file-name (string-append name "-" version "-checkout")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete miniupnp subprojects except for miniupnpc. + (for-each + delete-file-recursively + '("minissdpd" "miniupnpc-async" "miniupnpc-libevent" + "miniupnpd" )) + #t)))) + (arguments + (substitute-keyword-arguments (package-arguments miniupnpc) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'build 'change-directory + (lambda _ + (chdir "miniupnpc") + #t)) + (add-after 'change-directory 'chmod-header-file + (lambda _ + (chmod "miniupnpc.h" #o644) + #t))))))))) + (define-public libupnp (package (name "libupnp") -- cgit v1.2.3