gnu: Add miniupnpc-monero.

* gnu/packages/upnp.scm (monero-miniupnpc): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
master
Theodoros Foradis 2018-07-08 20:39:25 +03:00 committed by Ludovic Courtès
parent f6c8771463
commit a811bca289
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 46 additions and 0 deletions

View File

@ -2,6 +2,7 @@
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Theodoros Foradis <theodoros@foradis.org>
;;;
;;; 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")