projects/guix·blob python-team · refs

164 lines · 6.6 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014, 2017, 2018, 2022 Ludovic Courtès <[email protected]>
3;;; Copyright © 2016 John Darrington <[email protected]>
4;;; Copyright © 2017, 2018 Leo Famulari <[email protected]>
5;;; Copyright © 2018, 2021 Tobias Geerinckx-Rice <[email protected]>
6;;; Copyright © 2019 Marius Bakke <[email protected]>
7;;; Copyright © 2020 Ricardo Wurmus <[email protected]>
8;;; Copyright © 2022, 2023 Efraim Flashner <[email protected]>
9;;; Copyright © 2022 Zheng Junjie <[email protected]>
10;;;
11;;; This file is part of GNU Guix.
12;;;
13;;; GNU Guix is free software; you can redistribute it and/or modify it
14;;; under the terms of the GNU General Public License as published by
15;;; the Free Software Foundation; either version 3 of the License, or (at
16;;; your option) any later version.
17;;;
18;;; GNU Guix is distributed in the hope that it will be useful, but
19;;; WITHOUT ANY WARRANTY; without even the implied warranty of
20;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21;;; GNU General Public License for more details.
22;;;
23;;; You should have received a copy of the GNU General Public License
24;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
25
26(define-module (gnu packages onc-rpc)
27 #:use-module (guix licenses)
28 #:use-module (guix packages)
29 #:use-module (guix download)
30 #:use-module (guix gexp)
31 #:use-module (guix git-download)
32 #:use-module (gnu packages)
33 #:use-module (gnu packages autotools)
34 #:use-module (gnu packages gettext)
35 #:use-module (gnu packages kerberos)
36 #:use-module (gnu packages pkg-config)
37 #:use-module (guix build-system gnu)
38 #:use-module (guix utils))
39
40(define-public libtirpc
41 (package
42 (name "libtirpc")
43 (version "1.3.7")
44 (source (origin
45 (method url-fetch)
46 (uri (string-append "mirror://sourceforge/libtirpc/libtirpc/"
47 version "/libtirpc-"
48 version ".tar.bz2"))
49 (patches (search-patches "libtirpc-hurd.patch"))
50 (sha256
51 (base32
52 "00n7cq5dggfknvyqr193c5qxlx0681n9l0fh0m5faj9mkp0klzdl"))))
53 (build-system gnu-build-system)
54 (arguments
55 (list
56 #:configure-flags
57 #~(list "--disable-static"
58 ;; When cross-building use the target system's krb5-config
59 #$@(if (%current-target-system)
60 #~((string-append "ac_cv_prog_KRB5_CONFIG="
61 #$(this-package-input "mit-krb5")
62 "/bin/krb5-config"))
63 '()))
64 #:phases
65 #~(modify-phases %standard-phases
66 (add-after 'unpack 'adjust-netconfig-reference
67 (lambda* (#:key outputs #:allow-other-keys)
68 (substitute* '("man/netconfig.5"
69 "man/getnetconfig.3t"
70 "man/getnetpath.3t"
71 "man/rpc.3t"
72 "src/getnetconfig.c"
73 "tirpc/netconfig.h")
74 (("/etc/netconfig") (string-append (assoc-ref outputs "out")
75 "/etc/netconfig"))))))))
76 (inputs (list mit-krb5))
77 (home-page "https://sourceforge.net/projects/libtirpc/")
78 (synopsis "Transport-independent Sun/ONC RPC implementation")
79 (description
80 "This package provides a library that implements the Sun/ONC RPC (remote
81procedure calls) protocol in a transport-independent manner. It supports both
82IPv4 and IPv6. ONC RPC is notably used by the network file system (NFS).")
83 (license bsd-3)))
84
85;; XXX: Deprecated on 2026-05-26.
86(define-deprecated-package libtirpc/hurd "libtirpc-hurd" libtirpc)
87
88(define-public rpcbind
89 (package
90 (name "rpcbind")
91 (version "1.2.9")
92 (source
93 (origin
94 (method url-fetch)
95 (uri (string-append "mirror://sourceforge/" name "/" name "/"
96 version "/"
97 name "-" version ".tar.bz2"))
98 (patches (search-patches "rpcbind-hurd.patch"))
99 (sha256
100 (base32 "06wrmavbc8rl33safiis87n3zhhxbjkm13x2jwl0pvv6qn3ilpyf"))))
101 (build-system gnu-build-system)
102 (arguments
103 `(#:configure-flags
104 `("--with-systemdsystemunitdir=no" "--enable-warmstarts")))
105 (inputs
106 (list libtirpc))
107 (native-inputs
108 (list pkg-config))
109 (home-page "http://rpcbind.sourceforge.net/")
110 (synopsis "Server to convert RPC program numbers into universal addresses")
111 (description
112 "@command{Rpcbind} is a server that converts RPC program numbers into
113universal addresses.")
114 (license bsd-3)))
115
116(define-public rpcsvc-proto
117 (package
118 (name "rpcsvc-proto")
119 (version "1.4.4")
120 (home-page "https://github.com/thkukuk/rpcsvc-proto")
121 (source (origin
122 (method url-fetch)
123 (uri (string-append home-page "/releases/download/v" version
124 "/rpcsvc-proto-" version ".tar.xz"))
125 (sha256
126 (base32
127 "12smb8a073xcsjcvsr8chssxad22k2xiw217y27a3n5mxlksmhw1"))))
128 (build-system gnu-build-system)
129 (synopsis "RPCSVC protocol definitions")
130 (description
131 "This package provides @code{rpcsvc} @file{protocol.x} files and headers
132that are not included with the @code{libtirpc} package. Additionally it
133contains @command{rpcgen}, which is used to produce header files and sources
134from the protocol files.")
135 (license bsd-3)))
136
137(define-public libnsl
138 (package
139 (name "libnsl")
140 (version "2.0.1")
141 (source (origin
142 (method git-fetch)
143 (uri (git-reference
144 (url "https://github.com/thkukuk/libnsl")
145 (commit (string-append "v" version))))
146 (file-name (git-file-name name version))
147 (sha256
148 (base32
149 "0h4q3ybkj0n4na0988mjalmb6z2lbkb4r7lxl5f1dqa4fnlyh93c"))))
150 (build-system gnu-build-system)
151 (arguments
152 `(#:configure-flags '("--disable-static")))
153 (native-inputs
154 (list autoconf automake gettext-minimal libtool pkg-config))
155 (propagated-inputs
156 (list libtirpc))
157 (synopsis "Public client interface for NIS(YP) and NIS+")
158 (description "Libnsl is the public client interface for the Network
159Information Service / Yellow Pages (NIS/YP) and NIS+. It includes IPv6 support.
160This library was part of glibc < 2.26, but is now distributed separately.")
161 (home-page "https://github.com/thkukuk/libnsl")
162 ;; The package is distributed under the LGPL 2.1. Some files in
163 ;; 'src/nisplus/' are LGPL 2.1+, and some files in 'src/rpcsvc/' are BSD-3.
164 (license lgpl2.1)))