modules/ryan-packages/package-management.scm

6c4fc5e429f362c0c5544d34f17285c4cfc16ba8 · 8.3 KB · 237 lines raw

1 (define-module (ryan-packages package-management)
2 #:use-module ((guix licenses) #:prefix license:)
3 #:use-module (guix build-system meson)
4 #:use-module (guix build-system cmake)
5 #:use-module (guix packages)
6 #:use-module (guix git-download)
7 #:use-module (guix gexp)
8 #:use-module (gnu packages)
9 #:use-module (gnu packages autotools)
10 #:use-module (gnu packages backup)
11 #:use-module (gnu packages bdw-gc)
12 #:use-module (gnu packages bison)
13 #:use-module (gnu packages boost)
14 #:use-module (gnu packages compression)
15 #:use-module (gnu packages check)
16 #:use-module (gnu packages cmake)
17 #:use-module (gnu packages cpp)
18 #:use-module (gnu packages crypto)
19 #:use-module (gnu packages curl)
20 #:use-module (gnu packages databases)
21 #:use-module (gnu packages flex)
22 #:use-module (gnu packages gcc)
23 #:use-module (gnu packages libedit)
24 #:use-module (gnu packages linux)
25 #:use-module (gnu packages llvm)
26 #:use-module (gnu packages markup)
27 #:use-module (gnu packages package-management)
28 #:use-module (gnu packages perl)
29 #:use-module (gnu packages pkg-config)
30 #:use-module (gnu packages sqlite)
31 #:use-module (gnu packages tls)
32 #:use-module (gnu packages version-control)
33 #:use-module (gnu packages web)
34 #:use-module (guix utils))
35
36 (define-public nix-ryan
37 (package
38 (name "nix")
39 (version "2.29.0")
40 (source
41 (origin
42 (method git-fetch)
43 (uri (git-reference
44 (url "https://github.com/NixOS/nix")
45 (commit version)))
46 (file-name (git-file-name "nix" version))
47 (sha256
48 (base32 "19cd94xpjzwmclscpw9x3gfic0vf160llfnh9diz2l4823fw8iky"))))
49 (build-system meson-build-system)
50 (arguments
51 (list
52 #:configure-flags #~(list "--sysconfdir=/etc")
53 #:tests? #f))
54 (native-inputs
55 (list autoconf
56 autoconf-archive
57 automake
58 bison
59 gcc-14
60 cmake
61 flex
62 perl
63 perl-dbi
64 perl-dbd-sqlite
65 googletest
66 jq
67 libtool
68 pkg-config
69 rapidcheck))
70 (inputs
71 (list boost-ryan
72 brotli
73 bzip2
74 curl
75 editline
76 libarchive
77 libgc-ryan
78 libseccomp-ryan
79 libsodium
80 libbl3
81 libgit2-1.9
82 lowdown
83 nlohmann-json
84 openssl
85 sqlite
86 toml11
87 xz
88 zlib))
89 (home-page "https://nixos.org/")
90 (synopsis "The Nix package manager")
91 (description "todo")
92 (license license:lgpl2.1+)))
93
94 (define libbl3
95 (package
96 (name "blake3")
97 (version "1.8.2")
98 (source
99 (origin
100 (method git-fetch)
101 (uri (git-reference
102 (url "https://github.com/BLAKE3-team/BLAKE3")
103 (commit version)))
104 (file-name (git-file-name name version))
105 (sha256
106 (base32 "1pm7285insrmpfwwal8rnp3yhvc6s2ki8b6ccmbh2qfnnl95a010"))))
107 (build-system cmake-build-system)
108 (arguments
109 (list
110 #:configure-flags #~(list "-DCMAKE_POSITION_INDEPENDENT_CODE=on")
111 #:tests? #f
112 #:phases
113 #~(modify-phases %standard-phases
114 (add-after 'unpack 'enter-build-directory
115 (lambda _ (chdir "c") #t))
116 (add-before 'build 'set-env
117 (lambda _
118 (setenv "CFLAGS" "-fPIC")
119 (setenv "CXXFLAGS" "-fPIC")
120 #t)))))
121 (home-page "https://github.com/BLAKE3-team/BLAKE3")
122 (synopsis "Official C implementation of BLAKE3")
123 (description "todo")
124 (license license:expat)))
125
126 (define toml11
127 (package
128 (name "toml11")
129 (version "v4.4.0")
130 (source
131 (origin
132 (method git-fetch)
133 (uri (git-reference
134 (url "https://github.com/ToruNiina/toml11")
135 (commit version)))
136 (sha256
137 (base32 "0d15b50cf9jgvh3w99xh6crh03bn2dmv9bdyvzq6knsk2diql1dj"))))
138 (build-system cmake-build-system)
139 (arguments
140 (list
141 #:tests? #f))
142 (home-page "https://github.com/ToruNiina/toml11")
143 (synopsis "TODO")
144 (description "TODO")
145 (license license:expat)))
146
147 (define libgit2-1.9
148 (package
149 (inherit libgit2-1.8)
150 (version "1.9.0")
151 (source (origin
152 (inherit (package-source libgit2-1.8))
153 (uri (git-reference
154 (url "https://github.com/libgit2/libgit2")
155 (commit (string-append "v" version))))
156 (file-name (git-file-name "libgit2" version))
157 (sha256
158 (base32
159 "06ajn5i5l1209z7x7jxcpw68ph0a6g3q67bmx0jm381rr8cb4zdz"))
160 (snippet
161 #~(begin
162 (for-each delete-file-recursively
163 '("deps/llhttp"
164 "deps/ntlmclient"
165 "deps/pcre"
166 "deps/winhttp"
167 "deps/zlib"))))))))
168
169 (define libgc-ryan
170 (package
171 (inherit libgc)
172 (version "8.2.8")
173 (source (origin
174 (method git-fetch)
175 (uri (git-reference
176 (url "https://github.com/ivmai/bdwgc")
177 (commit (string-append "v" version))))
178 (file-name (git-file-name "libgc" version))
179 (sha256
180 (base32 "1xzvr5wb36flkbjqjyk5ilhda1a3yk61rgprxfjzdf1rzlmqn12i"))))
181 (native-inputs (modify-inputs (package-native-inputs libgc) (prepend autoconf autoconf-archive automake libtool)))))
182
183 (define boost-ryan
184 (package
185 (inherit boost)
186 (version "1.87.0")
187 (source (origin
188 (method git-fetch)
189 (uri (git-reference
190 (url "https://github.com/boostorg/boost")
191 (commit (string-append "boost-" version))
192 (recursive? #t)))
193 (file-name (git-file-name "boost" version))
194 (sha256
195 (base32 "1xirczrh2rgk2x70crw33w6566d2by9q675wlyv0zj69f49z8prn"))))
196 (native-inputs (modify-inputs (package-native-inputs boost) (prepend clang-18)))
197 (arguments
198 (append
199 (substitute-keyword-arguments (package-arguments boost))
200 (list
201 #:tests? #f
202 #:configure-flags
203 #~(let ((icu (dirname (dirname (search-input-file
204 %build-inputs "bin/uconv")))))
205 (list
206 ;; Auto-detection looks for ICU only in traditional
207 ;; install locations.
208 (string-append "--with-icu=" icu)
209 ;; Ditto for Python.
210 #$@(if (%current-target-system)
211 #~()
212 #~((let ((python (dirname (dirname (search-input-file
213 %build-inputs
214 "bin/python")))))
215 (string-append "--with-python-root=" python)
216 (string-append "--with-python=" python
217 "/bin/python")
218 (string-append "--with-python-version="
219 (python-version python)))))
220 "--with-toolset=clang")))))))
221
222 (define libseccomp-ryan
223 (package
224 (inherit libseccomp)
225 (version "2.6.0")
226 (source (origin
227 (method git-fetch)
228 (uri (git-reference
229 (url "https://github.com/seccomp/libseccomp")
230 (commit (string-append "v" version))))
231 (file-name (git-file-name "libseccomp" version))
232 (sha256
233 (base32 "189yh66aj3z3jvns739qbj504f3mcl3w44pxxizw877pbj3kal11"))))
234 (native-inputs (modify-inputs (package-native-inputs libseccomp) (prepend autoconf autoconf-archive automake libtool)))))
235
236
237 nix-ryan