Commit | Line | Data |
---|---|---|
3e424f25 | 1 | ;;; GNU Guix --- Functional package management for GNU |
189be331 | 2 | ;;; Copyright © 2014, 2017, 2018 Ludovic Courtès <ludo@gnu.org> |
7e348e6c | 3 | ;;; Copyright © 2016 John Darrington <jmd@gnu.org> |
e5227712 | 4 | ;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name> |
f81b6e77 | 5 | ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> |
56174ade | 6 | ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> |
3dbfab47 | 7 | ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> |
3e424f25 LC |
8 | ;;; |
9 | ;;; This file is part of GNU Guix. | |
10 | ;;; | |
11 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
12 | ;;; under the terms of the GNU General Public License as published by | |
13 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
14 | ;;; your option) any later version. | |
15 | ;;; | |
16 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
17 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 | ;;; GNU General Public License for more details. | |
20 | ;;; | |
21 | ;;; You should have received a copy of the GNU General Public License | |
22 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
23 | ||
24 | (define-module (gnu packages onc-rpc) | |
25 | #:use-module (guix licenses) | |
26 | #:use-module (guix packages) | |
27 | #:use-module (guix download) | |
fd641a23 | 28 | #:use-module (guix git-download) |
c39a54f4 | 29 | #:use-module (gnu packages) |
0f7db1d3 LF |
30 | #:use-module (gnu packages autotools) |
31 | #:use-module (gnu packages gettext) | |
89e34644 | 32 | #:use-module (gnu packages kerberos) |
7e348e6c | 33 | #:use-module (gnu packages pkg-config) |
3dbfab47 RW |
34 | #:use-module (guix build-system gnu) |
35 | #:use-module (guix utils)) | |
3e424f25 LC |
36 | |
37 | (define-public libtirpc | |
38 | (package | |
39 | (name "libtirpc") | |
76816443 | 40 | (version "1.2.5") |
3e424f25 LC |
41 | (source (origin |
42 | (method url-fetch) | |
de67e922 | 43 | (uri (string-append "mirror://sourceforge/libtirpc/libtirpc/" |
3e424f25 LC |
44 | version "/libtirpc-" |
45 | version ".tar.bz2")) | |
46 | (sha256 | |
47 | (base32 | |
76816443 | 48 | "1jl6a5kkw2vrp4gb6pmvf72rqimywvwfb9f7iz2xjg4wgq63bdpk")))) |
3e424f25 LC |
49 | (build-system gnu-build-system) |
50 | (arguments | |
6002a0b6 MB |
51 | `(#:configure-flags '("--disable-static") |
52 | #:phases | |
1da82dbb JD |
53 | (modify-phases %standard-phases |
54 | (add-after 'unpack 'remote-dangling-symlink | |
55 | (lambda _ | |
7b706a49 JD |
56 | (substitute* '("man/netconfig.5" |
57 | "man/getnetconfig.3t" | |
58 | "man/getnetpath.3t" | |
59 | "man/rpc.3t" | |
60 | "src/getnetconfig.c" | |
61 | "tirpc/netconfig.h") | |
62 | (("/etc/netconfig") (string-append %output "/etc/netconfig"))) | |
63 | ||
1da82dbb JD |
64 | ;; Remove the dangling symlinks since it breaks the |
65 | ;; 'patch-source-shebangs' file tree traversal. | |
86ce44c5 TGR |
66 | (delete-file "INSTALL") |
67 | #t))))) | |
13bef904 | 68 | (inputs `(("mit-krb5" ,mit-krb5))) |
3b3b60d0 | 69 | (home-page "https://sourceforge.net/projects/libtirpc/") |
3e424f25 LC |
70 | (synopsis "Transport-independent Sun/ONC RPC implementation") |
71 | (description | |
72 | "This package provides a library that implements the Sun/ONC RPC (remote | |
73 | procedure calls) protocol in a transport-independent manner. It supports both | |
74 | IPv4 and IPv6. ONC RPC is notably used by the network file system (NFS).") | |
75 | (license bsd-3))) | |
7e348e6c | 76 | |
3dbfab47 | 77 | (define-public libtirpc/hurd |
1a265842 | 78 | (package/inherit libtirpc |
3dbfab47 RW |
79 | (name "libtirpc-hurd") |
80 | (source (origin (inherit (package-source libtirpc)) | |
d7b4ccef | 81 | (patches (append (origin-patches (package-source libtirpc)) |
1a265842 MW |
82 | (search-patches "libtirpc-hurd.patch" |
83 | "libtirpc-hurd-client.patch"))))) | |
3dbfab47 RW |
84 | (arguments |
85 | (substitute-keyword-arguments (package-arguments libtirpc) | |
86 | ((#:configure-flags flags ''()) | |
87 | ;; When cross-building the target system's krb5-config should be used. | |
88 | `(list (string-append "ac_cv_prog_KRB5_CONFIG=" | |
89 | (assoc-ref %build-inputs "mit-krb5") | |
90 | "/bin/krb5-config"))))))) | |
91 | ||
7e348e6c JD |
92 | (define-public rpcbind |
93 | (package | |
94 | (name "rpcbind") | |
30c164e3 | 95 | (version "1.2.5") |
7e348e6c JD |
96 | (source |
97 | (origin | |
98 | (method url-fetch) | |
99 | (uri (string-append "mirror://sourceforge/" name "/" name "/" | |
100 | version "/" | |
101 | name "-" version ".tar.bz2")) | |
c39a54f4 | 102 | (patches (search-patches "rpcbind-CVE-2017-8779.patch")) |
7e348e6c JD |
103 | (sha256 |
104 | (base32 | |
30c164e3 | 105 | "0ynszy5hpc7wbz8xngqwyhgbi9cay73y43izqhcmrcv375l61qrc")))) |
7e348e6c JD |
106 | (build-system gnu-build-system) |
107 | (arguments | |
108 | `(#:configure-flags | |
db8b5f52 | 109 | `("--with-systemdsystemunitdir=no" "--enable-warmstarts"))) |
7e348e6c | 110 | (inputs |
03674a7c LF |
111 | `(("libnsl" ,libnsl) |
112 | ("libtirpc" ,libtirpc))) | |
7e348e6c JD |
113 | (native-inputs |
114 | `(("pkg-config" ,pkg-config))) | |
115 | (home-page "http://rpcbind.sourceforge.net/") | |
116 | (synopsis "Server to convert RPC program numbers into universal addresses") | |
117 | (description | |
118 | "@command{Rpcbind} is a server that converts RPC program numbers into | |
119 | universal addresses.") | |
120 | (license bsd-3))) | |
121 | ||
56174ade MB |
122 | (define-public rpcsvc-proto |
123 | (package | |
124 | (name "rpcsvc-proto") | |
125 | (version "1.4") | |
126 | (home-page "https://github.com/thkukuk/rpcsvc-proto") | |
127 | (source (origin | |
128 | (method url-fetch) | |
129 | (uri (string-append home-page "/releases/download/v" version | |
130 | "/rpcsvc-proto-" version ".tar.xz")) | |
131 | (sha256 | |
132 | (base32 | |
133 | "0i93wbpw5dk2gf5v4a5hq6frh814wzgjydh7saj28wlgbpqdaja1")))) | |
134 | (build-system gnu-build-system) | |
135 | (synopsis "RPCSVC protocol definitions") | |
136 | (description | |
137 | "This package provides @code{rpcsvc} @file{protocol.x} files and headers | |
138 | that are not included with the @code{libtirpc} package. Additionally it | |
139 | contains @command{rpcgen}, which is used to produce header files and sources | |
140 | from the protocol files.") | |
141 | (license bsd-3))) | |
0f7db1d3 LF |
142 | |
143 | (define-public libnsl | |
144 | (package | |
145 | (name "libnsl") | |
1e99f1bc | 146 | (version "1.3.0") |
0f7db1d3 | 147 | (source (origin |
fd641a23 MB |
148 | (method git-fetch) |
149 | (uri (git-reference | |
b0e7b699 | 150 | (url "https://github.com/thkukuk/libnsl") |
fd641a23 MB |
151 | (commit (string-append "v" version)))) |
152 | (file-name (git-file-name name version)) | |
0f7db1d3 LF |
153 | (sha256 |
154 | (base32 | |
1e99f1bc | 155 | "1dayj5i4bh65gn7zkciacnwv2a0ghm6nn58d78rsi4zby4lyj5w5")))) |
0f7db1d3 | 156 | (build-system gnu-build-system) |
4b70b776 | 157 | (arguments |
1e99f1bc | 158 | `(#:configure-flags '("--disable-static"))) |
0f7db1d3 LF |
159 | (native-inputs |
160 | `(("autoconf" ,autoconf) | |
161 | ("automake" ,automake) | |
162 | ("gettext" ,gettext-minimal) | |
163 | ("libtool" ,libtool) | |
164 | ("pkg-config" ,pkg-config))) | |
165 | (inputs | |
166 | `(("libtirpc" ,libtirpc))) | |
167 | (synopsis "Public client interface for NIS(YP) and NIS+") | |
168 | (description "Libnsl is the public client interface for the Network | |
169 | Information Service / Yellow Pages (NIS/YP) and NIS+. It includes IPv6 support. | |
170 | This library was part of glibc < 2.26, but is now distributed separately.") | |
171 | (home-page "https://github.com/thkukuk/libnsl") | |
172 | ;; The package is distributed under the LGPL 2.1. Some files in | |
173 | ;; 'src/nisplus/' are LGPL 2.1+, and some files in 'src/rpcsvc/' are BSD-3. | |
174 | (license lgpl2.1))) |