gnu: upnp.scm: Use license prefix.
[jackhill/guix/guix.git] / gnu / packages / upnp.scm
CommitLineData
c4dc4466
SHT
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
0b5eff84 3;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
09c2fc2a 4;;; Copyright © 2016, 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
a811bca2 5;;; Copyright © 2018 Theodoros Foradis <theodoros@foradis.org>
f5854abc 6;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
1d236620 7;;; Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
91bc4f4d 8;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
c4dc4466
SHT
9;;;
10;;; This file is part of GNU Guix.
11;;;
12;;; GNU Guix is free software; you can redistribute it and/or modify it
13;;; under the terms of the GNU General Public License as published by
14;;; the Free Software Foundation; either version 3 of the License, or (at
15;;; your option) any later version.
16;;;
17;;; GNU Guix is distributed in the hope that it will be useful, but
18;;; WITHOUT ANY WARRANTY; without even the implied warranty of
19;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20;;; GNU General Public License for more details.
21;;;
22;;; You should have received a copy of the GNU General Public License
23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
24
25(define-module (gnu packages upnp)
26 #:use-module (gnu packages)
f5854abc
JM
27 #:use-module (gnu packages gettext)
28 #:use-module (gnu packages autotools)
29 #:use-module (gnu packages video)
30 #:use-module (gnu packages photo)
31 #:use-module (gnu packages image)
32 #:use-module (gnu packages mp3)
1d236620 33 #:use-module (gnu packages pkg-config)
f5854abc
JM
34 #:use-module (gnu packages xiph)
35 #:use-module (gnu packages sqlite)
c4dc4466
SHT
36 #:use-module (gnu packages python)
37 #:use-module (guix build-system gnu)
a811bca2 38 #:use-module (guix utils)
c4dc4466 39 #:use-module (guix download)
a811bca2 40 #:use-module (guix git-download)
de194a39 41 #:use-module ((guix licenses) #:prefix license:)
f5854abc
JM
42 #:use-module (guix packages)
43 #:use-module (ice-9 match))
c4dc4466
SHT
44
45(define-public miniupnpc
46 (package
47 (name "miniupnpc")
09c2fc2a 48 (version "2.1.20191224")
c4dc4466
SHT
49 (source
50 (origin
51 (method url-fetch)
d9cf11e0 52 (uri (string-append "https://miniupnp.tuxfamily.org/files/"
9e080422 53 "miniupnpc-" version ".tar.gz"))
c4dc4466 54 (sha256
09c2fc2a 55 (base32 "1kv6dpj93gckvwvgzxl4vdqpwnicb0c8p0xw53m2gh5naiw44ys4"))))
c4dc4466
SHT
56 (build-system gnu-build-system)
57 (native-inputs
58 `(("python" ,python-2)))
59 (arguments
60 ;; The build system does not use a configure script but depends on
61 ;; `make'. Hence we should pass parameters to `make' instead and remove
62 ;; the configure phase.
63 '(#:make-flags
64 (list
05b1feb9 65 (string-append "SH=" (assoc-ref %build-inputs "bash") "/bin/sh")
c4dc4466 66 (string-append "INSTALLPREFIX=" (assoc-ref %outputs "out"))
caf0c0a9
LC
67 "CC=gcc"
68
69 ;; Allow executables to find libminiupnpc.so.
70 (string-append "LDFLAGS=-Wl,-rpath="
71 (assoc-ref %outputs "out") "/lib"))
c4dc4466 72 #:phases
cdbdaf7b 73 (modify-phases %standard-phases
5af82630
TGR
74 (delete 'configure)
75 (add-before 'install 'qualify-paths
76 (lambda* (#:key outputs #:allow-other-keys)
77 (substitute* "external-ip.sh"
78 (("upnpc")
1e000f17
TGR
79 (string-append (assoc-ref outputs "out") "/bin/upnpc")))
80 #t)))))
c4dc4466 81 (home-page "http://miniupnp.free.fr/")
e0f8a520 82 (synopsis "UPnP protocol client library")
c4dc4466 83 (description
e0f8a520 84 "The MiniUPnPc client library facilitates access to the services provided
8a6f168c
TGR
85by any @dfn{Universal Plug and Play} (UPnP) @dfn{Internet Gateway Device} (IGD)
86present on the network. In UPnP terminology, MiniUPnPc is a UPnP Control Point.
87
88It is useful whenever an application needs to listen for incoming connections
89while running behind a UPnP-enabled router or firewall. Such applications
90include peer-to-peer applications, active-mode FTP clients, DCC file transfers
91over IRC, instant messaging, network games, and most server software.")
c4dc4466 92 (license
de194a39 93 (license:x11-style "file://LICENSE" "See 'LICENSE' file in the distribution"))))
0b5eff84
LF
94
95(define-public libupnp
96 (package
97 (name "libupnp")
9606041d 98 (version "1.14.0")
0b5eff84
LF
99 (source
100 (origin
47986cc8
MB
101 (method url-fetch)
102 (uri (string-append "https://github.com/pupnp/pupnp/releases/download"
103 "/release-" version "/libupnp-" version".tar.bz2"))
0b5eff84
LF
104 (sha256
105 (base32
9606041d 106 "1sswsdqzarrd6h9mld2lncbcrfhd4p16zcafvmxqm34nj513vcpc"))))
47986cc8
MB
107 (native-inputs
108 `(("pkg-config" ,pkg-config)))
0b5eff84
LF
109 (build-system gnu-build-system)
110 (arguments
111 ;; The tests require a network device capable of multicasting which is
112 ;; not available in the build environment. See
113 ;; https://lists.gnu.org/archive/html/guix-devel/2015-01/msg00312.html.
114 `(#:tests? #f
60d758ec 115 #:configure-flags '("--disable-static")))
0b5eff84
LF
116 (home-page "http://pupnp.sourceforge.net")
117 (synopsis "Portable SDK for UPnP Devices")
118 (description
119 "The portable SDK for UPnP Devices (libupnp) provides developers with an
120API and code for building control points, devices, and bridges that are
121compliant with Version 1.0 of the Universal Plug and Play Device Architecture
122Specification and support several operating systems like Linux, *BSD, Solaris
123and others.")
de194a39 124 (license license:bsd-3)))
f5854abc
JM
125
126(define-public readymedia
127 (package
128 (name "readymedia")
129 (version "1.2.1")
130 (source
131 (origin
132 (method git-fetch)
133 (uri (git-reference
134 (url "https://git.code.sf.net/p/minidlna/git")
135 (commit (string-append
91bc4f4d 136 "v" (string-replace-substring version "." "_")))))
f5854abc
JM
137 (file-name (git-file-name name version))
138 (sha256
139 (base32
140 "160915yv38k0p5zmyncs12kkbbcd8m8fk9jq70fkfd5x6dz40xm4"))))
141 (build-system gnu-build-system)
142 (native-inputs
143 `(("automake" ,automake)
144 ("autoconf" ,autoconf)
145 ("gettext" ,gettext-minimal)))
146 (inputs
147 `(("libexif" ,libexif)
4bd428a7 148 ("libjpeg" ,libjpeg-turbo)
f5854abc
JM
149 ("libid3tag" ,libid3tag)
150 ("flac" ,flac)
151 ("libvorbis" ,libvorbis)
152 ("sqlite" ,sqlite)
153 ("ffmpeg" ,ffmpeg)))
154 (home-page "https://sourceforge.net/projects/minidlna/")
155 (synopsis "DLNA/UPnP-AV media server")
156 (description "ReadyMedia (formerly known as MiniDLNA) is a simple media
157server, which serves multimedia content to compatible clients on the network.
158It aims to be fully compliant with DLNA and UPnP-AV standards.")
de194a39 159 (license license:gpl2)))