From e0608cfb9c7c150a7123b18654dd4c3909fe4f07 Mon Sep 17 00:00:00 2001 From: "dupont-y@univ-nantes.fr" Date: Wed, 24 Apr 2024 16:47:06 +0200 Subject: [PATCH 01/40] add hickory dns server --- glicid/packages/dns.scm | 61 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/glicid/packages/dns.scm b/glicid/packages/dns.scm index c4fe01d..9294c20 100644 --- a/glicid/packages/dns.scm +++ b/glicid/packages/dns.scm @@ -1,5 +1,6 @@ (define-module (glicid packages dns) #:use-module (guix build-system gnu) + #:use-module (guix build-system cargo) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -12,7 +13,11 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages tls) #:use-module (gnu packages xml) - #:use-module (glicid packages web)) + #:use-module (glicid packages web) + #:use-module (gnu packages crates-io) + #:use-module (gnu packages crates-web) + #:use-module (gnu packages crates-tls)) + (define-public isc-bind (package @@ -55,3 +60,57 @@ (description "BIND implements the @acronym{DNS, Domain Name System} protocols for the Internet. check gnu/packages/dns for more") (home-page "https://www.isc.org/bind/") (license (list license:mpl2.0)))) + + + +(define-public rust-hickory-dns-0.24 + (package + (name "rust-hickory-dns") + (version "0.24.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hickory-dns" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0lxa0yz7fng4gjbgqcjxfbfsw62lwamgfhzzf44cimi0vmk092yb")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ;Error: No such file or directory (os error 2) + #:cargo-inputs (("rust-clap" ,rust-clap-4) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-hickory-client" ,rust-hickory-client-0.24) + ("rust-hickory-proto" ,rust-hickory-proto-0.24) + ("rust-hickory-server" ,rust-hickory-server-0.24) + ("rust-rustls" ,rust-rustls-0.21) + ("rust-time" ,rust-time-0.3) + ("rust-tokio" ,rust-tokio-1) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)) + #:features (list "dns-over-https-rustls") ; YD + #:cargo-development-inputs (("rust-hickory-proto" ,rust-hickory-proto-0.24) + ("rust-hickory-resolver" ,rust-hickory-resolver-0.24) + ("rust-native-tls" ,rust-native-tls-0.2) + ("rust-regex" ,rust-regex-1) + ("rust-webpki-roots" ,rust-webpki-roots-0.25)))) + (inputs (list openssl-3.0)) ;; shouldn't be necessary + (home-page "https://hickory-dns.org/") + (synopsis + "Hickory DNS is a safe and secure DNS server with DNSSEC support. + Eventually this could be a replacement for BIND9. The DNSSEC support allows + for live signing of all records, in it does not currently support + records signed offline. The server supports dynamic DNS with SIG0 authenticated + requests. Hickory DNS is based on the Tokio and Futures libraries, which means + it should be easily integrated into other software that also use those + libraries. +") + (description + "Hickory DNS is a safe and secure DNS server with DNSSEC support. Eventually +this could be a replacement for BIND9. The DNSSEC support allows for live +signing of all records, in it does not currently support records signed offline. + The server supports dynamic DNS with SIG0 authenticated requests. Hickory DNS +is based on the Tokio and Futures libraries, which means it should be easily +integrated into other software that also use those libraries.") + (license (list license:expat license:asl2.0) +))) + From 11345f41bdc794940d77a1845f4ce5410a878a2b Mon Sep 17 00:00:00 2001 From: "dupont-y@univ-nantes.fr" Date: Thu, 16 May 2024 16:27:22 +0200 Subject: [PATCH 02/40] add grep -P variant for glicid --- glicid/packages/base.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 glicid/packages/base.scm diff --git a/glicid/packages/base.scm b/glicid/packages/base.scm new file mode 100644 index 0000000..b0217e8 --- /dev/null +++ b/glicid/packages/base.scm @@ -0,0 +1,16 @@ +(define-module (glicid packages base)) + +(use-modules (guix packages) (gnu packages cpp) (gnu packages base) (gnu packages pcre)) + +(define-public grep-glicid + (package + (inherit grep) + (name "grep-glicid") + (inputs (list pcre2)) + (arguments + `(#:configure-flags + (list "--enable-perl-regexp") + + )))) + +grep-glicid \ No newline at end of file From a8c4dfd939b0e5b9aa2c66755d1d31c4bbc5852d Mon Sep 17 00:00:00 2001 From: "dupont-y@univ-nantes.fr" Date: Tue, 28 May 2024 12:11:23 +0200 Subject: [PATCH 03/40] bump keepalived to 2.3.1 --- glicid/packages/cluster.scm | 45 +++++++++++++------------------------ 1 file changed, 16 insertions(+), 29 deletions(-) diff --git a/glicid/packages/cluster.scm b/glicid/packages/cluster.scm index b7c414f..46c02f4 100644 --- a/glicid/packages/cluster.scm +++ b/glicid/packages/cluster.scm @@ -6,34 +6,6 @@ #:prefix gnu:) #:use-module (glicid utils)) -(define-public keepalived-upstream-2.2.4 - (package - (inherit gnu:keepalived) - (name "keepalived-upstream") - (version "2.2.4") - (source (origin - (method url-fetch) - (uri (string-append - "http://www.keepalived.org/software/keepalived-" version - ".tar.gz")) - (sha256 - (base32 - "1py1xdrxzdxn09yi8dx842rmhnc8lv7z09wmb2mfljylhy8dcf01")))))) - -(define-public keepalived-upstream-2.2.7 - (package - (inherit gnu:keepalived) - (name "keepalived-upstream") - (version "2.2.7") - (source (origin - (method url-fetch) - (uri (string-append - "http://www.keepalived.org/software/keepalived-" version - ".tar.gz")) - (sha256 - (base32 - "17flnzcs8hpj1g8nhhqn6bwbvpksyizcyzk2ah55cjhmfkc406f6")))))) - (define-public keepalived-upstream-2.2.8 (package (inherit gnu:keepalived) @@ -49,8 +21,23 @@ "1dhvg9x976k4nnygxyv2gr55jfd88459kgiiqva9bwvl56v2x245")))))) +(define-public keepalived-upstream-2.3.1 + (package + (inherit gnu:keepalived) + (name "keepalived-upstream") + (version "2.3.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.keepalived.org/software/keepalived-" version + ".tar.gz")) + (sha256 + (base32 + "18raqq15xxf5hlrqhk39prq9xdfiv9px2nlrs43273lrzndvdx4j")))))) + + (define local:keepalived - keepalived-upstream-2.2.8) + keepalived-upstream-2.3.1) (define keepalived-latest (latest-version local:keepalived gnu:keepalived)) From 3e0ebc01d12a1610595029fcd6ee3abe7a7f2f43 Mon Sep 17 00:00:00 2001 From: "dupont-y@univ-nantes.fr" Date: Wed, 10 Jul 2024 11:20:37 +0200 Subject: [PATCH 04/40] add newer yade --- glicid/packages/science.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/glicid/packages/science.scm b/glicid/packages/science.scm index 3ce1175..21cb531 100644 --- a/glicid/packages/science.scm +++ b/glicid/packages/science.scm @@ -52,7 +52,7 @@ ;; was commented out… guix repl is ok… so uncomment right now -(define-public yade +(define-public yade-2022.01a (package (name "yade") (version "2022.01a") @@ -131,6 +131,22 @@ (home-page "https://www.yade-dem.org/") (license gpl3+))) +(define-public yade-2023.02a + (package + (inherit yade-2022.01a) + (version "2023.02a") + (source (origin + (method url-fetch) + (uri (string-append + "https://gitlab.com/yade-dev/trunk/-/archive/2023.02a/trunk-" + version ".tar.gz")) + (sha256 + (base32 + "0kaa5ni3n1ih4nvhm17jj2xa0lvn12nzd9gkghch4zdd6gilli5r")))))) + + +(define-public yade yade-2022.01a) + (define-public yade-glicid-waves (package (inherit (transform-package ((instead-of "openmpi-glicid-waves" openmpi) From 34400a8c53a700827f92735dacb7b75db9bc40cb Mon Sep 17 00:00:00 2001 From: "dupont-y@univ-nantes.fr" Date: Wed, 10 Jul 2024 11:31:56 +0200 Subject: [PATCH 05/40] hash error --- glicid/packages/science.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glicid/packages/science.scm b/glicid/packages/science.scm index 21cb531..5b91039 100644 --- a/glicid/packages/science.scm +++ b/glicid/packages/science.scm @@ -142,7 +142,7 @@ version ".tar.gz")) (sha256 (base32 - "0kaa5ni3n1ih4nvhm17jj2xa0lvn12nzd9gkghch4zdd6gilli5r")))))) + "1hdhxyaqdavrwpvam759835zyhn49c777kclz9p720pjlw55lszp")))))) (define-public yade yade-2022.01a) From fe2b9fe9dcd7f5e7fca60103de0ff9f1654df27d Mon Sep 17 00:00:00 2001 From: "dupont-y@univ-nantes.fr" Date: Tue, 3 Sep 2024 11:28:17 +0200 Subject: [PATCH 06/40] make-gcc-toolchain is now private --- glicid/packages/gcc.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/glicid/packages/gcc.scm b/glicid/packages/gcc.scm index 98c064f..e1ce6a5 100644 --- a/glicid/packages/gcc.scm +++ b/glicid/packages/gcc.scm @@ -16,6 +16,8 @@ (define-public gfortran-12 (hidden-package (custom-gcc gcc-12 "gfortran" '("fortran") %generic-search-paths))) +(define make-gcc-toolchain + (@@ (gnu packages commencement) make-gcc-toolchain )) ; discouraged, find better alternative From 6913b074b20903b140b9f0dd2cbab043a90e55f4 Mon Sep 17 00:00:00 2001 From: "dupont-y@univ-nantes.fr" Date: Tue, 3 Sep 2024 17:15:03 +0200 Subject: [PATCH 07/40] bump gfortran to 14 --- glicid/packages/gcc.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/glicid/packages/gcc.scm b/glicid/packages/gcc.scm index e1ce6a5..4c77de4 100644 --- a/glicid/packages/gcc.scm +++ b/glicid/packages/gcc.scm @@ -47,6 +47,24 @@ in the @code{debug} output), and binutils."))) +(define-public gfortran-14 + (hidden-package (custom-gcc gcc-14 "gfortran" + '("fortran") %generic-search-paths))) + + +(define-public gfortran-toolchain-14 + (package + (inherit (make-gcc-toolchain gfortran-14)) + (synopsis "Complete GCC tool chain for fortran lang development") + (description + "This package provides a complete GCC tool chain for + fortran lang development to be installed in user profiles. This includes + fortran, as well as libc (headers and binaries, plus debugging symbols + in the @code{debug} output), and binutils."))) + + + + (define-public gfortran-11 (hidden-package (custom-gcc gcc-11 "gfortran" '("fortran") %generic-search-paths))) From 49b002ead9c8ade08d6f5238e69fb9260d998131 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Wed, 4 Sep 2024 07:04:38 +0200 Subject: [PATCH 08/40] updating squid to 6.10 --- glicid/packages/networking.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/glicid/packages/networking.scm b/glicid/packages/networking.scm index 87210dd..8864617 100644 --- a/glicid/packages/networking.scm +++ b/glicid/packages/networking.scm @@ -53,11 +53,11 @@ (package (inherit gnu:squid) (name "squid") - (version "6.6") + (version "6.10") (source (origin (method url-fetch) (uri (string-append "http://www.squid-cache.org/Versions/v6/squid-" version ".tar.xz")) - (sha256 (base32 "06038912kkcfzj85p7ibhd0gh6smrf59ja0jx9hk25cq92gpzgam")))) + (sha256 (base32 "19q86j2jd2vwv298ialnhqahl0qjxjdbigi5vmq4gw13wy3v21qb")))) (inputs `(("libecap" ,libecap) ,@(package-inputs gnu:squid))) (arguments @@ -123,3 +123,4 @@ (method url-fetch) (uri (string-append "https://www.openvswitch.org/releases/openvswitch-" version ".tar.gz")) (sha256 (base32 "0sada2a9x9x7x6a45l7iklqh29wsbrdvvgpkyz5cpf5d5fs0sbka")))))) + From 68025a5f7acdbfe4167846cdd20f52d74914eed9 Mon Sep 17 00:00:00 2001 From: "dupont-y@univ-nantes.fr" Date: Thu, 5 Sep 2024 19:19:58 +0200 Subject: [PATCH 09/40] replace libgrypt with libxcrypt for openldap. Not sure about this one --- glicid/packages/openldap.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glicid/packages/openldap.scm b/glicid/packages/openldap.scm index 9efe255..322bb7d 100644 --- a/glicid/packages/openldap.scm +++ b/glicid/packages/openldap.scm @@ -30,7 +30,7 @@ (uri (list (string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz"))) (sha256 (base32 "184ywcpw9gbrllp1a1q9a6g7aq583phxnhj4cd1lv622yn69jbh8")))) (build-system gnu-build-system) - (inputs (list argon2 cyrus-sasl openssl libevent libgcrypt libltdl lz4 perl snappy unixodbc wiredtiger zlib)) + (inputs (list argon2 cyrus-sasl openssl libevent libxcrypt libltdl lz4 perl snappy unixodbc wiredtiger zlib)) ;; YD : was libgcrypt ?? but broken (Sept 2024) (native-inputs (list bdb groff libtool pkg-config)) (arguments `( #:tests? #f From adf65046d47909e24a9219aa02a6366a04157c90 Mon Sep 17 00:00:00 2001 From: "dupont-y@univ-nantes.fr" Date: Thu, 5 Sep 2024 19:27:10 +0200 Subject: [PATCH 10/40] was missing import module crypto --- glicid/packages/openldap.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/glicid/packages/openldap.scm b/glicid/packages/openldap.scm index 322bb7d..37777ef 100644 --- a/glicid/packages/openldap.scm +++ b/glicid/packages/openldap.scm @@ -19,6 +19,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages crypto) #:use-module (gnu packages tls)) (define-public openldap From 5ea4edfae927991fd1e07773727817ec46428e2a Mon Sep 17 00:00:00 2001 From: "dupont-y@univ-nantes.fr" Date: Fri, 6 Sep 2024 22:50:05 +0200 Subject: [PATCH 11/40] test last quincy released. --- glicid/packages/storage.scm | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/glicid/packages/storage.scm b/glicid/packages/storage.scm index 68bd6cb..3006e7e 100644 --- a/glicid/packages/storage.scm +++ b/glicid/packages/storage.scm @@ -2,9 +2,11 @@ (use-modules (guix packages) (guix git-download) + (guix download) ; (guix utils) (gnu packages) (gnu packages storage) + (gnu packages crypto) (gnu packages python-xyz) ; wcwidth (gnu packages linux) ; liburing ) @@ -13,18 +15,26 @@ (package (inherit ceph) (name "ceph-upstream") - (version "17.2.8-pre") - (source (origin +; (version "17.2.7releasetag") + (version "17.2.7") +; (source (origin + +; (method git-fetch) +; (uri (git-reference +; (url "https://github.com/ceph/ceph.git") +; (commit "b12291d110049b2f35e32e0de30d70e9a4c060d2") ;; last version 20240906 +;; (branch "quincy") +; +; (recursive? #t))) +; (file-name version) + (source (origin + (method url-fetch) + (uri (string-append "https://download.ceph.com/tarballs/ceph-" + version ".tar.gz")) - (method git-fetch) - (uri (git-reference - (url "https://github.com/ceph/ceph.git") - (commit "00f3877cc47f7a85e5ce4fa2585254b148b0d1ca") ;; last version 20240325 -; (branch "quincy") - (recursive? #t))) (sha256 (base32 - "0mnc20jxnyxh6ipgg9m40allkhf1pfm7pmcy8d7ggmx3aw6xg2cw")) + "1612424yrf39dz010ygz8k5x1vc8731549ckfj1r39dg00m62klp")) (patches (search-patches "ceph-disable-cpu-optimizations.patch")) @@ -47,7 +57,7 @@ ; "src/boost" ; inexistant ?? "src/utf8proc"))))) - (inputs (modify-inputs (package-inputs ceph) (append liburing))) + (inputs (modify-inputs (package-inputs ceph) (append liburing libxcrypt))) (native-inputs (modify-inputs (package-native-inputs ceph) (append python-wcwidth))))) From cccc7df536d92b87f09c3f2213f4bb1bbfb7ad77 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Tue, 10 Sep 2024 12:04:32 +0200 Subject: [PATCH 12/40] updating bind --- glicid/packages/dns.scm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/glicid/packages/dns.scm b/glicid/packages/dns.scm index 9294c20..5f69a00 100644 --- a/glicid/packages/dns.scm +++ b/glicid/packages/dns.scm @@ -5,6 +5,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) + #:use-module (gnu packages datastructures) #:use-module (gnu packages linux) #:use-module (gnu packages libevent) #:use-module (gnu packages perl) @@ -18,25 +19,25 @@ #:use-module (gnu packages crates-web) #:use-module (gnu packages crates-tls)) - (define-public isc-bind (package (name "bind") - (version "9.18.19") + (version "9.20.1") (source (origin (method url-fetch) (uri (list (string-append "https://downloads.isc.org/isc/bind9/" version "/bind-" version ".tar.xz"))) - (sha256 (base32 "1k0jfv9a91wcb28gdply29h3psw8z84dlbi73pgbmgirak00jphi")))) + (sha256 (base32 "1c5f548l4b6w61x6vxlf2d88sbli4fn26mrbnqrhsh9197vxyvgy")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs - (list libcap libuv libxml2 openssl p11-kit python `(,nghttp2 "lib") python-ply)) + (list libcap libuv liburcu libxml2 openssl p11-kit python `(,nghttp2 "lib") python-ply)) (native-inputs (list perl pkg-config)) (arguments `( #:configure-flags - (list "--with-sysroot=/") + (list "--with-sysroot=/" + (string-append "--with-pkcs11=" (assoc-ref %build-inputs "p11-kit"))) #:phases (modify-phases %standard-phases (add-after 'strip 'move-to-utils @@ -62,7 +63,6 @@ (license (list license:mpl2.0)))) - (define-public rust-hickory-dns-0.24 (package (name "rust-hickory-dns") @@ -113,4 +113,3 @@ is based on the Tokio and Futures libraries, which means it should be easily integrated into other software that also use those libraries.") (license (list license:expat license:asl2.0) ))) - From b8914d101442a8720a8bc8f916f35b8ffe198f88 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Mon, 23 Sep 2024 12:41:34 +0200 Subject: [PATCH 13/40] nginx 1.27.1 --- glicid/packages/nginx.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/glicid/packages/nginx.scm b/glicid/packages/nginx.scm index 59dcf65..1a76c61 100644 --- a/glicid/packages/nginx.scm +++ b/glicid/packages/nginx.scm @@ -8,6 +8,7 @@ #:use-module (guix utils) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) + #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages datastructures) @@ -25,13 +26,13 @@ (define-public nginx (package (name "nginx") - (version "1.25.3") + (version "1.27.1") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) - (sha256 (base32 "11pdrpci4dbk87z8v00p3wjjn51gs9bshgrh53l3jy98r9svkib4")))) + (sha256 (base32 "1z5x0i0k1hmnxm7mb3dfn6qrz9am96my5ivinxl3gsp1dj5acyxx")))) (build-system gnu-build-system) - (inputs (list libxml2 libxslt openssl pcre zlib gd gperftools)) + (inputs (list libxml2 libxslt openssl pcre zlib gd gperftools libxcrypt)) (arguments `(#:tests? #f #:phases (modify-phases %standard-phases From f4772242a74ab9a22fd7e1082e1fd3cbc533e16e Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Mon, 23 Sep 2024 12:45:47 +0200 Subject: [PATCH 14/40] nginx-ldap-auth-module --- glicid/packages/nginx.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glicid/packages/nginx.scm b/glicid/packages/nginx.scm index 1a76c61..5068a52 100644 --- a/glicid/packages/nginx.scm +++ b/glicid/packages/nginx.scm @@ -107,11 +107,11 @@ (package (inherit nginx) (name "nginx-ldap-auth-module") - (version "83c059b") + (version "241200e") (source (origin (method url-fetch) (uri (list (string-append "https://github.com/kvspb/nginx-auth-ldap/archive/" version ".tar.gz"))) - (sha256 (base32 "0r44dhsbw2ssg84vc5i68zdnhd0131nkbkbmxq7rpq9avddlw339")))) + (sha256 (base32 "0nyc1ip039lrlc6sv7gkil8s11n2d947jmh3w79qjh5wfc4npcyi")))) (synopsis "LDAP Authentication module for nginx") (description "LDAP module for nginx which supports authentication against multiple LDAP servers.") From 5badb25d7cb7034bfb091fb74a5321172461ac10 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Mon, 23 Sep 2024 12:50:18 +0200 Subject: [PATCH 15/40] modsecurity 3.0.13 --- glicid/packages/nginx.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glicid/packages/nginx.scm b/glicid/packages/nginx.scm index 5068a52..edcf247 100644 --- a/glicid/packages/nginx.scm +++ b/glicid/packages/nginx.scm @@ -144,11 +144,11 @@ (define-public modsecurity (package (name "modsecurity") - (version "3.0.11") + (version "3.0.13") (source (origin (method url-fetch) (uri (list (string-append "https://github.com/SpiderLabs/ModSecurity/releases/download/v" version "/modsecurity-v" version ".tar.gz"))) - (sha256 (base32 "14mn713xjk6m9g5am5jav47zkrp4w936ncdibswqa1ykg73lc3q7")))) + (sha256 (base32 "1wnkyhw36vsaqfyk8qch0qr34m5jhcg51wwxlhibhqd1ch8qid46")))) (synopsis "modsecurity module for nginx") (description "modsecurity module for nginx.") (license license:asl2.0) From a22ac8144969eb32b36610decf4d0f82f70fb425 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Mon, 14 Oct 2024 08:38:35 +0200 Subject: [PATCH 16/40] adding caddy-dirty --- glicid/packages/caddy.scm | 24 +++++++++++++++++++++++ glicid/services/caddy.scm | 40 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 glicid/packages/caddy.scm create mode 100644 glicid/services/caddy.scm diff --git a/glicid/packages/caddy.scm b/glicid/packages/caddy.scm new file mode 100644 index 0000000..990702a --- /dev/null +++ b/glicid/packages/caddy.scm @@ -0,0 +1,24 @@ +(define-module (glicid packages caddy) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system copy) + ) + + +(define-public caddy-dirty + (package + (name "caddy-dirty") + (version "2.8.4") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/caddyserver/caddy/releases/download/v" version "/caddy_" version "_freebsd_amd64.tar.gz")) + (sha256 (base32 "0wqppxia2zpzh7n8x58wzrvr3myznmyq890h90ddndym30qdj83w")))) + (build-system copy-build-system) + (arguments + `(#:install-plan `(("caddy" "/sbin/")))) + (synopsis "Caddy is an extensible server platform that uses TLS by default. Dirty Version.") + (description "Caddy is an extensible server platform that uses TLS by default. Dirty Version") + (home-page "https://github.com/caddyserver/caddy") + (license license:expat))) diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm new file mode 100644 index 0000000..cef2d61 --- /dev/null +++ b/glicid/services/caddy.scm @@ -0,0 +1,40 @@ +(define-module (yamit services vpn) + #:use-module (guix gexp) + #:use-module (gnu packages bash) + #:use-module (gnu services) + #:use-module (gnu services shepherd) + #:use-module (guix records) + #:use-module (gnu system shadow) + #:use-module (yamit packages vpn)) + +(define-record-type* caddy-configuration + make-caddy-configuration + caddy-configuration? + (caddy caddy-configuration-caddy (default caddy-dirty)) + (config-file caddy-config-file (default "/etc/caddy/Caddyfile")) + (log-file caddy-log-file (default "/var/log/caddy.log")) + ) + +(define (caddy-shepherd-service config) + (let* ((caddy (caddy-configuration-caddy config))) + (shepherd-service + (provision '(caddy)) + (documentation "Run caddy daemon.") + (requirement '(user-processes)) + (start #~(make-forkexec-constructor (list (string-append #$caddy "/sbin/caddy") + "run" + "--config" + #$config-file) + #:log-file #$log-file + #:environment-variables (list + "PATH=/run/current-system/profile/bin:/run/current-system/profile/sbin:/run/current-system/profile/libexec"))) + (stop #~(make-kill-destructor))))) + +(define caddy-service-type + (service-type + (name 'caddy) + (default-value (caddy-configuration)) + (extensions (list + (service-extension activation-service-type (const %caddy-activation)) + (service-extension shepherd-root-service-type (compose list caddy-shepherd-service)))) + (description "run caddy web server service"))) From 51311c1ab81fa3ba9edab04c571e29b1c231ed92 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Mon, 14 Oct 2024 08:42:36 +0200 Subject: [PATCH 17/40] correcting service definition file --- glicid/services/caddy.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm index cef2d61..62d2351 100644 --- a/glicid/services/caddy.scm +++ b/glicid/services/caddy.scm @@ -5,7 +5,7 @@ #:use-module (gnu services shepherd) #:use-module (guix records) #:use-module (gnu system shadow) - #:use-module (yamit packages vpn)) + #:use-module (glicid packages caddy)) (define-record-type* caddy-configuration make-caddy-configuration From 0de3b1f52a5f5d26d4d39c26b569fa879a46c6c1 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Mon, 14 Oct 2024 08:45:52 +0200 Subject: [PATCH 18/40] correcting service definition file --- glicid/services/caddy.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm index 62d2351..626c79f 100644 --- a/glicid/services/caddy.scm +++ b/glicid/services/caddy.scm @@ -35,6 +35,6 @@ (name 'caddy) (default-value (caddy-configuration)) (extensions (list - (service-extension activation-service-type (const %caddy-activation)) + ;(service-extension activation-service-type (const %caddy-activation)) (service-extension shepherd-root-service-type (compose list caddy-shepherd-service)))) (description "run caddy web server service"))) From 010d2c58cb6569d76023da0793c55dc1748e612d Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Mon, 14 Oct 2024 08:49:12 +0200 Subject: [PATCH 19/40] correcting service definition file --- glicid/services/caddy.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm index 626c79f..85f997c 100644 --- a/glicid/services/caddy.scm +++ b/glicid/services/caddy.scm @@ -1,4 +1,4 @@ -(define-module (yamit services vpn) +(define-module (glicid services caddy) #:use-module (guix gexp) #:use-module (gnu packages bash) #:use-module (gnu services) From a72c9f391f20d8009c7e69a0f82bd0d249a2cb4c Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Mon, 14 Oct 2024 09:54:25 +0200 Subject: [PATCH 20/40] addind xcaddy --- glicid/packages/caddy.scm | 89 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/glicid/packages/caddy.scm b/glicid/packages/caddy.scm index 990702a..3f70da8 100644 --- a/glicid/packages/caddy.scm +++ b/glicid/packages/caddy.scm @@ -1,9 +1,18 @@ (define-module (glicid packages caddy) #:use-module (guix build-system gnu) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system copy) + #:use-module (guix build-system go) + #:use-module (gnu packages gl) + #:use-module (gnu packages golang) + #:use-module (gnu packages golang-build) + #:use-module (gnu packages golang-check) + #:use-module (gnu packages golang-web) + #:use-module (gnu packages golang-xyz) + ) @@ -22,3 +31,83 @@ (description "Caddy is an extensible server platform that uses TLS by default. Dirty Version") (home-page "https://github.com/caddyserver/caddy") (license license:expat))) + + +(define-public go-github-com-akavel-rsrc + (package + (name "go-github-com-akavel-rsrc") + (version "0.10.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/akavel/rsrc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1frdxqdnk923p4245lk0wwqrxsdy8aj2qxl3m0zfgnh02vfz3hs2")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/akavel/rsrc")) + (home-page "https://github.com/akavel/rsrc") + (synopsis #f) + (description #f) + (license license:expat))) + +(define-public go-github-com-josephspurrier-goversioninfo + (package + (name "go-github-com-josephspurrier-goversioninfo") + (version "1.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/josephspurrier/goversioninfo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "02nqhkvsxi69ny64j81x1k142fir2ps68fypi3z2hr4wd3x4i1l9")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/josephspurrier/goversioninfo")) + (propagated-inputs (list go-github-com-stretchr-testify + go-github-com-akavel-rsrc)) + (home-page "https://github.com/josephspurrier/goversioninfo") + (synopsis "GoVersionInfo") + (description + "Package goversioninfo creates a syso file which contains Microsoft Version +Information and an optional icon.") + (license license:expat))) + +(define-public go-github-com-caddyserver-xcaddy + (package + (name "go-github-com-caddyserver-xcaddy") + (version "0.4.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/caddyserver/xcaddy") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1452m1wksxmhy00rdkpnh55y8bxyxxcldapvp0fzpsyv82kfmsz1")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/caddyserver/xcaddy")) + (propagated-inputs (list go-github-com-josephspurrier-goversioninfo + go-github-com-google-shlex + go-github-com-masterminds-semver-v3)) + (home-page "https://github.com/caddyserver/xcaddy") + (synopsis "- Custom Caddy Builder") + (description + "This command line tool and associated Go package makes it easy to make custom +builds of the @@url{https://github.com/caddyserver/caddy,Caddy Web Server}.") + (license license:asl2.0))) + +(define-public xcaddy go-github-com-caddyserver-xcaddy) + +xcaddy From f472bdf5921bf77cce0085f792c1b6826d2da945 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Mon, 14 Oct 2024 11:13:21 +0200 Subject: [PATCH 21/40] correcting caddy-dirty --- glicid/packages/caddy.scm | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/glicid/packages/caddy.scm b/glicid/packages/caddy.scm index 3f70da8..586913e 100644 --- a/glicid/packages/caddy.scm +++ b/glicid/packages/caddy.scm @@ -22,8 +22,8 @@ (version "2.8.4") (source (origin (method url-fetch) - (uri (string-append "https://github.com/caddyserver/caddy/releases/download/v" version "/caddy_" version "_freebsd_amd64.tar.gz")) - (sha256 (base32 "0wqppxia2zpzh7n8x58wzrvr3myznmyq890h90ddndym30qdj83w")))) + (uri (string-append "https://github.com/caddyserver/caddy/releases/download/v" version "/caddy_" version "_linux_amd64.tar.gz")) + (sha256 (base32 "1j286xfxcrzvgn4k02nnq7n45wdsyz5c0phw6y7gi30kain31s57")))) (build-system copy-build-system) (arguments `(#:install-plan `(("caddy" "/sbin/")))) @@ -32,7 +32,6 @@ (home-page "https://github.com/caddyserver/caddy") (license license:expat))) - (define-public go-github-com-akavel-rsrc (package (name "go-github-com-akavel-rsrc") @@ -107,7 +106,3 @@ Information and an optional icon.") "This command line tool and associated Go package makes it easy to make custom builds of the @@url{https://github.com/caddyserver/caddy,Caddy Web Server}.") (license license:asl2.0))) - -(define-public xcaddy go-github-com-caddyserver-xcaddy) - -xcaddy From 7d2afb1b3a494cb8e568a8e3b7c3b1a0e0fec905 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Mon, 14 Oct 2024 15:25:39 +0200 Subject: [PATCH 22/40] testing caddy service --- glicid/services/caddy.scm | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm index 85f997c..7f7e101 100644 --- a/glicid/services/caddy.scm +++ b/glicid/services/caddy.scm @@ -5,8 +5,21 @@ #:use-module (gnu services shepherd) #:use-module (guix records) #:use-module (gnu system shadow) + #:use-module (gnu system privilege) + #:use-module (ice-9 match) #:use-module (glicid packages caddy)) + +(define %caddy-accounts + (list + (user-group (name "caddy")(system? #t)) + (user-account + (name "caddy") + (group "caddy") + (system? #t) + (home-directory "/var/lib/caddy") + (shell (file-append bash "/sbin/nologin"))))) + (define-record-type* caddy-configuration make-caddy-configuration caddy-configuration? @@ -23,11 +36,14 @@ (requirement '(user-processes)) (start #~(make-forkexec-constructor (list (string-append #$caddy "/sbin/caddy") "run" - "--config" + "-c" #$config-file) #:log-file #$log-file - #:environment-variables (list - "PATH=/run/current-system/profile/bin:/run/current-system/profile/sbin:/run/current-system/profile/libexec"))) + #:environment-variables (list + (string-append "PATH=" + "/run/current-system/profile/bin" + ":/run/current-system/profile/sbin" + ":/run/current-system/profile/libexec")))) (stop #~(make-kill-destructor))))) (define caddy-service-type @@ -35,6 +51,13 @@ (name 'caddy) (default-value (caddy-configuration)) (extensions (list - ;(service-extension activation-service-type (const %caddy-activation)) - (service-extension shepherd-root-service-type (compose list caddy-shepherd-service)))) + (service-extension shepherd-root-service-type (compose list caddy-shepherd-service)) + (service-extension privileged-program-service-type (const (list + (privileged-program + (program (file-append caddy-dirty "/sbin/caddy")) + (capabilities "cap_net_bind_service=+ep") + (user "caddy") + (group "caddy") + )))) + )) (description "run caddy web server service"))) From b55267b8de2a437cce69d32af3005161975f8a56 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Mon, 14 Oct 2024 15:36:02 +0200 Subject: [PATCH 23/40] testing caddy service --- glicid/services/caddy.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm index 7f7e101..f4affb4 100644 --- a/glicid/services/caddy.scm +++ b/glicid/services/caddy.scm @@ -7,7 +7,13 @@ #:use-module (gnu system shadow) #:use-module (gnu system privilege) #:use-module (ice-9 match) - #:use-module (glicid packages caddy)) + #:use-module (glicid packages caddy) + #:export (%caddy-accounts + caddy-configuration + caddy-configuration? + caddy-shepherd-service + caddy-service-type + )) (define %caddy-accounts From 91e60443b7d73c1acae4183a49aaa4feee8f4d9f Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Mon, 14 Oct 2024 15:40:35 +0200 Subject: [PATCH 24/40] testing caddy service --- glicid/services/caddy.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm index f4affb4..c304b30 100644 --- a/glicid/services/caddy.scm +++ b/glicid/services/caddy.scm @@ -31,7 +31,6 @@ caddy-configuration? (caddy caddy-configuration-caddy (default caddy-dirty)) (config-file caddy-config-file (default "/etc/caddy/Caddyfile")) - (log-file caddy-log-file (default "/var/log/caddy.log")) ) (define (caddy-shepherd-service config) @@ -44,7 +43,7 @@ "run" "-c" #$config-file) - #:log-file #$log-file + #:log-file "/var/log/caddy" #:environment-variables (list (string-append "PATH=" "/run/current-system/profile/bin" From 1770349884d9fe33fefb7cd728e6ce4af42136fb Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Mon, 14 Oct 2024 15:52:49 +0200 Subject: [PATCH 25/40] testing caddy service --- glicid/services/caddy.scm | 40 ++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm index c304b30..4e78cb7 100644 --- a/glicid/services/caddy.scm +++ b/glicid/services/caddy.scm @@ -13,7 +13,7 @@ caddy-configuration? caddy-shepherd-service caddy-service-type - )) + )) (define %caddy-accounts @@ -31,32 +31,34 @@ caddy-configuration? (caddy caddy-configuration-caddy (default caddy-dirty)) (config-file caddy-config-file (default "/etc/caddy/Caddyfile")) + (log-file caddy-log-file (default "/var/log/caddy.log")) ) -(define (caddy-shepherd-service config) - (let* ((caddy (caddy-configuration-caddy config))) - (shepherd-service - (provision '(caddy)) - (documentation "Run caddy daemon.") - (requirement '(user-processes)) - (start #~(make-forkexec-constructor (list (string-append #$caddy "/sbin/caddy") - "run" - "-c" - #$config-file) - #:log-file "/var/log/caddy" - #:environment-variables (list - (string-append "PATH=" - "/run/current-system/profile/bin" - ":/run/current-system/profile/sbin" - ":/run/current-system/profile/libexec")))) - (stop #~(make-kill-destructor))))) +(define caddy-service + (match-lambda + (($ caddy config-file log-file) + (list (shepherd-service (provision '(caddy)) + (documentation "Run caddy.") + (requirement '(user-processes)) + (respawn? #t) + (start #~(make-forkexec-constructor (list #$(file-append caddy "/sbin/caddy") + "-c" + #$config-file) + #:log-file #$log-file + #:environment-variables (list + (string-append "PATH=" + "/run/current-system/profile/bin" + ":/run/current-system/profile/sbin" + ":/run/current-system/profile/libexec")))) + (stop #~(make-kill-destructor))))))) + (define caddy-service-type (service-type (name 'caddy) (default-value (caddy-configuration)) (extensions (list - (service-extension shepherd-root-service-type (compose list caddy-shepherd-service)) + (service-extension shepherd-root-service-type (compose list caddy-service)) (service-extension privileged-program-service-type (const (list (privileged-program (program (file-append caddy-dirty "/sbin/caddy")) From edb6a815a09b34255f6fa88027eb8189d163c670 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Tue, 15 Oct 2024 09:01:21 +0200 Subject: [PATCH 26/40] testing caddy service --- glicid/services/caddy.scm | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm index 4e78cb7..b118f09 100644 --- a/glicid/services/caddy.scm +++ b/glicid/services/caddy.scm @@ -29,9 +29,9 @@ (define-record-type* caddy-configuration make-caddy-configuration caddy-configuration? - (caddy caddy-configuration-caddy (default caddy-dirty)) - (config-file caddy-config-file (default "/etc/caddy/Caddyfile")) - (log-file caddy-log-file (default "/var/log/caddy.log")) + (caddy caddy (default caddy-dirty)) + (config-file config-file (default "/etc/caddy/Caddyfile")) + (log-file log-file (default "/var/log/caddy.log")) ) (define caddy-service @@ -41,30 +41,35 @@ (documentation "Run caddy.") (requirement '(user-processes)) (respawn? #t) + (respawn-delay 10) (start #~(make-forkexec-constructor (list #$(file-append caddy "/sbin/caddy") + "run" "-c" - #$config-file) + #$config-file + ) #:log-file #$log-file - #:environment-variables (list - (string-append "PATH=" - "/run/current-system/profile/bin" - ":/run/current-system/profile/sbin" - ":/run/current-system/profile/libexec")))) + #:environment-variables (list "PATH=/run/current-system/profile/bin:/run/current-system/profile/sbin:/run/current-system/profile/libexec") + #:user "caddy" + #:group "caddy" + )) (stop #~(make-kill-destructor))))))) +(define %caddy-priv + (list + (privileged-program + (program (file-append caddy-dirty "/sbin/caddy")) + (capabilities "cap_net_bind_service=+ep") + ))) + (define caddy-service-type (service-type (name 'caddy) (default-value (caddy-configuration)) (extensions (list - (service-extension shepherd-root-service-type (compose list caddy-service)) - (service-extension privileged-program-service-type (const (list - (privileged-program - (program (file-append caddy-dirty "/sbin/caddy")) - (capabilities "cap_net_bind_service=+ep") - (user "caddy") - (group "caddy") - )))) + (service-extension shepherd-root-service-type caddy-service) + (service-extension privileged-program-service-type (const %caddy-priv)) + (service-extension account-service-type (const %caddy-accounts)) )) (description "run caddy web server service"))) + From a7d20c978c4b832305ff00f015d0efb0348a3fd1 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Thu, 17 Oct 2024 14:30:28 +0200 Subject: [PATCH 27/40] updating caddy service --- glicid/services/caddy.scm | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm index b118f09..db56e21 100644 --- a/glicid/services/caddy.scm +++ b/glicid/services/caddy.scm @@ -24,13 +24,13 @@ (group "caddy") (system? #t) (home-directory "/var/lib/caddy") - (shell (file-append bash "/sbin/nologin"))))) + (shell (file-append shadow "/sbin/nologin"))))) (define-record-type* caddy-configuration make-caddy-configuration caddy-configuration? (caddy caddy (default caddy-dirty)) - (config-file config-file (default "/etc/caddy/Caddyfile")) + (config-file config-file (default "")) (log-file log-file (default "/var/log/caddy.log")) ) @@ -42,26 +42,33 @@ (requirement '(user-processes)) (respawn? #t) (respawn-delay 10) - (start #~(make-forkexec-constructor (list #$(file-append caddy "/sbin/caddy") + (start #~(make-forkexec-constructor (list "/run/privileged/bin/caddy" "run" - "-c" - #$config-file + #$@(if config-file + (list "-c" config-file) + '()) ) #:log-file #$log-file - #:environment-variables (list "PATH=/run/current-system/profile/bin:/run/current-system/profile/sbin:/run/current-system/profile/libexec") + #:environment-variables (list + "PATH=/run/current-system/profile/bin:/run/current-system/profile/sbin:/run/current-system/profile/libexec:/run/privileged/bin" + "HOME=/var/lib/caddy") #:user "caddy" #:group "caddy" )) (stop #~(make-kill-destructor))))))) - (define %caddy-priv (list (privileged-program (program (file-append caddy-dirty "/sbin/caddy")) - (capabilities "cap_net_bind_service=+ep") + (capabilities "cap_net_admin,cap_net_bind_service=+ep") ))) +(define %caddy-activation + #~(begin + (chmod "/var/lib/caddy" #o0770) + #t )) + (define caddy-service-type (service-type (name 'caddy) @@ -70,6 +77,7 @@ (service-extension shepherd-root-service-type caddy-service) (service-extension privileged-program-service-type (const %caddy-priv)) (service-extension account-service-type (const %caddy-accounts)) + (service-extension activation-service-type (const %caddy-activation)) )) (description "run caddy web server service"))) From f0f592ad67f57817ce2eebdc7b1362aef8c7c8cc Mon Sep 17 00:00:00 2001 From: Jean-Francois GUILLAUME Date: Fri, 18 Oct 2024 13:50:55 +0000 Subject: [PATCH 28/40] Update caddy.scm --- glicid/services/caddy.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm index db56e21..f192efd 100644 --- a/glicid/services/caddy.scm +++ b/glicid/services/caddy.scm @@ -24,7 +24,7 @@ (group "caddy") (system? #t) (home-directory "/var/lib/caddy") - (shell (file-append shadow "/sbin/nologin"))))) + (shell (file-append bash "/bin/bash"))))) (define-record-type* caddy-configuration make-caddy-configuration From c29c71560ff7c320bddcb65292d041f9c35f8f5a Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Mon, 21 Oct 2024 14:33:21 +0200 Subject: [PATCH 29/40] adding custom caddy builds --- glicid/packages/caddy.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/glicid/packages/caddy.scm b/glicid/packages/caddy.scm index 586913e..6a2c564 100644 --- a/glicid/packages/caddy.scm +++ b/glicid/packages/caddy.scm @@ -32,6 +32,38 @@ (home-page "https://github.com/caddyserver/caddy") (license license:expat))) +(define-public caddy-dirty-with-replace + (package + (name "caddy-dirty-with-replace") + (version "2.8.4") + (source (origin + (method url-fetch) + (uri (string-append "https://forgejo.glicid.fr/api/packages/GLiCID/generic/caddy-for-guix/v" version "/caddy-" version "-replaceresponse.tar.gz")) + (sha256 (base32 "16rbxld5pg7w1a7j22rfkaihs3867ign4qbml5a6psnn4v8blcxh")))) + (build-system copy-build-system) + (arguments + `(#:install-plan `(("caddy" "/sbin/")))) + (synopsis "Caddy is an extensible server platform that uses TLS by default. Dirty Version.") + (description "Caddy is an extensible server platform that uses TLS by default. Dirty Version") + (home-page "https://github.com/caddyserver/caddy") + (license license:expat))) + +(define-public caddy-dirty-with-extensions + (package + (name "caddy-dirty-with-extensions") + (version "2.8.4") + (source (origin + (method url-fetch) + (uri (string-append "https://forgejo.glicid.fr/api/packages/GLiCID/generic/caddy-for-guix/v" version "/caddy-" version "-full.tar.gz")) + (sha256 (base32 "0y4rsg94ngp85ma02axfdwfj72h1bwac3hf4kykym2dzyydgcvf7")))) + (build-system copy-build-system) + (arguments + `(#:install-plan `(("caddy" "/sbin/")))) + (synopsis "Caddy is an extensible server platform that uses TLS by default. Dirty Version.") + (description "Caddy is an extensible server platform that uses TLS by default. Dirty Version") + (home-page "https://github.com/caddyserver/caddy") + (license license:expat))) + (define-public go-github-com-akavel-rsrc (package (name "go-github-com-akavel-rsrc") @@ -106,3 +138,5 @@ Information and an optional icon.") "This command line tool and associated Go package makes it easy to make custom builds of the @@url{https://github.com/caddyserver/caddy,Caddy Web Server}.") (license license:asl2.0))) + +caddy-dirty-with-extensions From 1b1b357cd6cc3e7afd4064e1cdebfa1fe3e9d5f4 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Tue, 22 Oct 2024 13:31:36 +0200 Subject: [PATCH 30/40] adding caddy-with-extensions variant --- glicid/services/caddy.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm index db56e21..f3cdeac 100644 --- a/glicid/services/caddy.scm +++ b/glicid/services/caddy.scm @@ -13,6 +13,7 @@ caddy-configuration? caddy-shepherd-service caddy-service-type + caddy-with-extensions-service-type )) @@ -64,11 +65,33 @@ (capabilities "cap_net_admin,cap_net_bind_service=+ep") ))) +(define %caddy-with-extensions-priv + (list + (privileged-program + (program (file-append caddy-dirty "/sbin/caddy")) + (capabilities "cap_net_admin,cap_net_bind_service=+ep") + ))) + +(define %caddy-activation + #~(begin (define %caddy-activation #~(begin (chmod "/var/lib/caddy" #o0770) #t )) +(define caddy-with-extensions-service-type + (service-type + (name 'caddy) + (default-value (caddy-configuration)) + (extensions (list + (service-extension shepherd-root-service-type caddy-service) + (service-extension privileged-program-service-type (const %caddy-with-extensions-priv)) + (service-extension account-service-type (const %caddy-accounts)) + (service-extension activation-service-type (const %caddy-activation)) + )) + (description "run caddy web server service"))) + + (define caddy-service-type (service-type (name 'caddy) @@ -80,4 +103,3 @@ (service-extension activation-service-type (const %caddy-activation)) )) (description "run caddy web server service"))) - From 06ef50aca3b47a6a555ebcc224494fd11c7fdeb6 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Tue, 22 Oct 2024 13:50:58 +0200 Subject: [PATCH 31/40] correcting typo --- glicid/services/caddy.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm index f3cdeac..39e788d 100644 --- a/glicid/services/caddy.scm +++ b/glicid/services/caddy.scm @@ -4,8 +4,8 @@ #:use-module (gnu services) #:use-module (gnu services shepherd) #:use-module (guix records) - #:use-module (gnu system shadow) #:use-module (gnu system privilege) + #:use-module (gnu system shadow) #:use-module (ice-9 match) #:use-module (glicid packages caddy) #:export (%caddy-accounts @@ -25,7 +25,7 @@ (group "caddy") (system? #t) (home-directory "/var/lib/caddy") - (shell (file-append shadow "/sbin/nologin"))))) + (shell (file-append bash "/bin/bash"))))) (define-record-type* caddy-configuration make-caddy-configuration @@ -68,12 +68,10 @@ (define %caddy-with-extensions-priv (list (privileged-program - (program (file-append caddy-dirty "/sbin/caddy")) + (program (file-append caddy-dirty-with-extensions "/sbin/caddy")) (capabilities "cap_net_admin,cap_net_bind_service=+ep") ))) -(define %caddy-activation - #~(begin (define %caddy-activation #~(begin (chmod "/var/lib/caddy" #o0770) From e088d16719822914ceaedafa37b8fefdc78b3f54 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Thu, 24 Oct 2024 12:10:43 +0200 Subject: [PATCH 32/40] import netbird --- glicid/packages/vpn.scm | 129 ++++++++++++++++++++++++++++++++++------ glicid/services/vpn.scm | 85 ++++++++++++++++++++++++++ 2 files changed, 195 insertions(+), 19 deletions(-) create mode 100644 glicid/services/vpn.scm diff --git a/glicid/packages/vpn.scm b/glicid/packages/vpn.scm index d6f4ab1..1885e94 100644 --- a/glicid/packages/vpn.scm +++ b/glicid/packages/vpn.scm @@ -1,22 +1,113 @@ (define-module (glicid packages vpn) - #:use-module (guix packages) - #:use-module ((gnu packages vpn) - #:prefix gnu:) - #:use-module (guix download)) + #:use-module (guix) + #:use-module (ice-9 match) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix utils) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (guix build-system copy) + #:use-module (guix build-system go) + #:use-module (nonguix build-system binary) + #:use-module (gnu packages dns) + #:use-module (gnu packages gl) + #:use-module (gnu packages golang) + #:use-module (gnu packages golang-build) + #:use-module (gnu packages golang-web) + #:use-module (gnu packages golang-xyz) + #:use-module (gnu packages linux) + #:use-module (gnu packages xorg) + ) -; guix defined openconnect is now newer +(define %netbird-version "0.30.2") -;(define-public openconnect-upstream -; (package -; (inherit gnu:openconnect) -; (version "8.20") -; (source -; (origin -; (method url-fetch) -; (uri (string-append "https://www.infradead.org/openconnect/download/openconnect-" version ".tar.gz")) -; (sha256 (base32 "1cdsx4nsrwawbsisfkldfc9i4qn60g03vxb13nzppr2br9p4rrih")) -; ) -; ) -; (name "openconnect-upstream") -; ) -; ) +(define-public netbird-cli + (package + (name "netbird-cli") + (version %netbird-version) + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/netbirdio/netbird/releases/download/v" version "/netbird_" version "_linux_amd64.tar.gz")) + (sha256 (base32 "0ydmvq5q5f4ga2b8ms4aiiwkla27c0s6lps3sadzhjzn0j36l45n")))) + (build-system copy-build-system) + (arguments + `(#:install-plan `(("netbird" "/bin/")))) + (propagated-inputs (list openresolv iptables nftables ebtables)) + (synopsis "NetBird combines a configuration-free peer-to-peer private network and a centralized access control system in a single platform, making it easy to create secure private networks for your organization or home. +Connect. NetBird creates a WireGuard-based overlay network that automatically connects your machines over an encrypted tunnel, leaving behind the hassle of opening ports, complex firewall rules, VPN gateways, and so forth. +Secure. NetBird enables secure remote access by applying granular access policies while allowing you to manage them intuitively from a single place. Works universally on any infrastructure.") + (description "netbird client cli program. dirty version from github artifacts.") + (home-page "https://github.com/netbirdio/netbird") + (license license:expat))) + +(define-public go-netbird-cli + (package + (name "go-netbird-cli") + (version %netbird-version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/netbirdio/netbird") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 (base32 "1q8vsk2hmb0mq3553vhss1cad7z0hj7055n4ga6bh3x7wmx13wph")))) + (build-system go-build-system) + (native-inputs (list go-github-com-cenkalti-backoff-v4 + go-github-com-ayufan-golang-kardianos-service + go-github-com-google-uuid + go-github-com-pion-ice-v3 + go-github-com-pion-logging + go-github-com-pion-stun-v2 + go-github-com-pion-transport-v3 + go-github-com-sirupsen-logrus + go-golang-zx2c4-com-wireguard + go-github-com-google-gopacket + go-github-com-libp2p-go-netroute + go-github-com-mdlayher-socket + go-github-com-hashicorp-go-multierror + go-github-com-godbus-dbus-v5 + go-github-com-vishvananda-netlink + go-gopkg-in-natefinch-lumberjack.v2 + go-google-golang-org-protobuf + go-github-com-spf13-pflag + go-github-com-spf13-cobra + go-github-com-skratchdot-open-golang + go-golang-org-x-oauth2 + go-github-com-miekg-dns + go-github-com-hashicorp-go-version + go-github-com-fsnotify-fsnotify + )) + (arguments + `(#:import-path "github.com/netbirdio/netbird" + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda _ + (invoke "go" "build" "-C" "src/github.com/netbirdio/netbird/client") + ))))) + (synopsis "") + (description "") + (home-page "") + (license #f) + )) + +(define-public netbird-ui + (package + (name "netbird-ui") + (version %netbird-version) + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/netbirdio/netbird/releases/download/v" version "/netbird-ui-linux_" version "_linux_amd64.tar.gz")) + (sha256 (base32 "06261pqrgpmr4macrcp5d2052i5rhgq87a7l64w9hjn0dh6wg6rc")))) + (build-system binary-build-system) + (inputs (list libx11 libglvnd)) + (arguments + `(#:install-plan `(("netbird-ui" "/bin/")) + #:patchelf-plan `(("netbird-ui" ("libx11" "libglvnd"))) + #:strip-binaries? #f)) + (synopsis "NetBird combines a configuration-free peer-to-peer private network and a centralized access control system in a single platform, making it easy to create secure private networks for your organization or home. +Connect. NetBird creates a WireGuard-based overlay network that automatically connects your machines over an encrypted tunnel, leaving behind the hassle of opening ports, complex firewall rules, VPN gateways, and so forth. +Secure. NetBird enables secure remote access by applying granular access policies while allowing you to manage them intuitively from a single place. Works universally on any infrastructure.") + (description "netbird client ui program. dirty version from github artifacts.") + (home-page "https://github.com/netbirdio/netbird") + (license license:expat))) diff --git a/glicid/services/vpn.scm b/glicid/services/vpn.scm new file mode 100644 index 0000000..ab3a332 --- /dev/null +++ b/glicid/services/vpn.scm @@ -0,0 +1,85 @@ +(define-module (glicid services vpn) + #:use-module (guix gexp) + #:use-module (gnu packages bash) + #:use-module (gnu services) + #:use-module (gnu services shepherd) + #:use-module (guix records) + #:use-module (gnu system shadow) + #:use-module (glicid packages vpn) + #:use-module (ice-9 match) + #:export ( + %netbird-accounts + %netbird-user + %netbird-group + %netbird-activation + netbird-configuration + netbird-configuration? + netbird-shepherd-service + netbird-service-type + )) + +(define %netbird-group + (user-group + (name "netbird") + (system? #t))) + +(define %netbird-user + (user-account + (name "netbird") + (group "netbird") + (system? #t) + (comment "netbird server user") + (home-directory "/etc/netbird") + (shell (file-append bash "/bin/bash")))) + +(define %netbird-accounts + (list %netbird-group %netbird-user)) + +(define-record-type* netbird-configuration + make-netbird-configuration + netbird-configuration? + (netbird netbird (default netbird-cli)) + (config-file config-file (default "/etc/netbird/config.json")) + (daemon-addr daemon-addr (default "unix:///var/run/netbird.sock")) + (log-file log-file (default "/var/log/netbird.log")) + ) + +(define %netbird-activation + #~(begin + (mkdir-p "/etc/netbird") + #t)) + +(define netbird-shepherd-service + (match-lambda + (($ netbird config-file daemon-addr log-file) + (list + (shepherd-service + (provision '(netbird)) + (documentation "Run netbird daemon.") + (requirement '(user-processes)) + (respawn? #t) + (start #~(make-forkexec-constructor + (list (string-append #$netbird "/bin/netbird") + "service" + "run" + "--config" + #$config-file + "--log-level" + "info" + "--daemon-addr" + #$daemon-addr + "--log-file" + "console") + #:environment-variables (list + "PATH=/run/current-system/profile/bin:/run/current-system/profile/sbin:/run/current-system/profile/libexec") + #:log-file #$log-file )) + (stop #~(make-kill-destructor))))))) + +(define netbird-service-type + (service-type + (name 'netbird) + (default-value (netbird-configuration)) + (extensions (list + (service-extension activation-service-type (const %netbird-activation)) + (service-extension shepherd-root-service-type netbird-shepherd-service))) + (description "run netbird vpn service"))) From 530e98f3df3fdd5cecc70da7b7d3a9a6115ca532 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Thu, 24 Oct 2024 14:51:38 +0200 Subject: [PATCH 33/40] addding nonguix dependencies --- .guix-channel | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/.guix-channel b/.guix-channel index 16a38aa..bfe5784 100644 --- a/.guix-channel +++ b/.guix-channel @@ -1,9 +1,12 @@ (channel - (version 0) - (dependencies -; (channel -; (name guix-past) -; (url "https://gitlab.inria.fr/guix-hpc/guix-past")) - (channel - (name guix-science) - (url "https://github.com/guix-science/guix-science.git")))) \ No newline at end of file + (version 0) + (dependencies + ; (channel + ; (name guix-past) + ; (url "https://gitlab.inria.fr/guix-hpc/guix-past")) + (channel + (name guix-science) + (url "https://github.com/guix-science/guix-science.git")) + (channel (name nonguix) + (url "https://gitlab.com/nonguix/nonguix")) + )) From b5815133d6e6ea08bc881ad7ac6fac36fcd72034 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Thu, 24 Oct 2024 22:20:04 +0200 Subject: [PATCH 34/40] bump netbird to 0.30.3 --- glicid/packages/vpn.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/glicid/packages/vpn.scm b/glicid/packages/vpn.scm index 1885e94..d498cfb 100644 --- a/glicid/packages/vpn.scm +++ b/glicid/packages/vpn.scm @@ -19,7 +19,7 @@ #:use-module (gnu packages xorg) ) -(define %netbird-version "0.30.2") +(define %netbird-version "0.30.3") (define-public netbird-cli (package @@ -28,7 +28,7 @@ (source (origin (method url-fetch) (uri (string-append "https://github.com/netbirdio/netbird/releases/download/v" version "/netbird_" version "_linux_amd64.tar.gz")) - (sha256 (base32 "0ydmvq5q5f4ga2b8ms4aiiwkla27c0s6lps3sadzhjzn0j36l45n")))) + (sha256 (base32 "0bdszkkl2y1r0jqljkkia3pppw8ymsyd2d83qdkvc0cvc3ycnsh8")))) (build-system copy-build-system) (arguments `(#:install-plan `(("netbird" "/bin/")))) @@ -50,7 +50,7 @@ Secure. NetBird enables secure remote access by applying granular access policie (url "https://github.com/netbirdio/netbird") (commit (string-append "v" version)))) (file-name (git-file-name name version)) - (sha256 (base32 "1q8vsk2hmb0mq3553vhss1cad7z0hj7055n4ga6bh3x7wmx13wph")))) + (sha256 (base32 "19xyw6vxwag4w71zm998jjlv19cvrgwrzlpq0jrhbm8yf8jpjvs8")))) (build-system go-build-system) (native-inputs (list go-github-com-cenkalti-backoff-v4 go-github-com-ayufan-golang-kardianos-service @@ -98,7 +98,7 @@ Secure. NetBird enables secure remote access by applying granular access policie (source (origin (method url-fetch) (uri (string-append "https://github.com/netbirdio/netbird/releases/download/v" version "/netbird-ui-linux_" version "_linux_amd64.tar.gz")) - (sha256 (base32 "06261pqrgpmr4macrcp5d2052i5rhgq87a7l64w9hjn0dh6wg6rc")))) + (sha256 (base32 "05zgibbjwgmffdxz9b4ikiw06rdpp20ccpxq87286m4vwl4ad907")))) (build-system binary-build-system) (inputs (list libx11 libglvnd)) (arguments From c6a0870c73d682088a45318fcee881d8908a5726 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Fri, 25 Oct 2024 09:46:14 +0200 Subject: [PATCH 35/40] bumping gitlab runner to 17.5.2 --- glicid/packages/gitlab.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glicid/packages/gitlab.scm b/glicid/packages/gitlab.scm index 5f1f8ce..0f4ecb3 100644 --- a/glicid/packages/gitlab.scm +++ b/glicid/packages/gitlab.scm @@ -12,12 +12,12 @@ (define-public gitlab-runner (package (name "gitlab-runner") - (version "16.3.0") + (version "17.5.2") (source (origin (method url-fetch) (uri (string-append "https://" name "-downloads.s3.amazonaws.com/v" version "/binaries/" name "-linux-amd64")) (file-name (string-append name "-linux-amd64")) - (sha256 (base32 "1p2bn29vg64i6nkylkjrpgzhcavkgi4w3z0lrsdbk0hmjg74bqhr")))) + (sha256 (base32 "0yxqh0n3m94p7xcldplh2binilzfhvhryphina3bvx7haphy9a9x")))) (build-system trivial-build-system) (arguments '(#:modules ((guix build utils)) From ee519223848af4add6143fa5d9b2df9709dcfdec Mon Sep 17 00:00:00 2001 From: Guy Moebs Date: Tue, 29 Oct 2024 16:39:13 +0100 Subject: [PATCH 36/40] Add glicid-dealii and glicid-dealii-openmpi to guix/packages/maths.scm --- glicid/packages/maths.scm | 194 +++++++++++++++++++++++++++++++++++++- 1 file changed, 192 insertions(+), 2 deletions(-) diff --git a/glicid/packages/maths.scm b/glicid/packages/maths.scm index a2e9462..d9e4e09 100644 --- a/glicid/packages/maths.scm +++ b/glicid/packages/maths.scm @@ -10,8 +10,112 @@ #:use-module (gnu packages compression) #:use-module (guix build-system cmake) #:use-module ((guix licenses) #:prefix license:) - #:use-module (glicid utils)) - + #:use-module (glicid utils) + #:use-module (ice-9 regex) + #:use-module (ice-9 match) + #:use-module (guix gexp) + #:use-module ((guix build utils) #:select (alist-replace)) + #:use-module (guix build-system ant) + #:use-module (guix build-system copy) + #:use-module (guix build-system dune) + #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) + #:use-module (guix build-system ocaml) + #:use-module (guix build-system perl) + #:use-module (guix build-system pyproject) + #:use-module (guix build-system python) + #:use-module (guix build-system ruby) + #:use-module (gnu packages algebra) + #:use-module (gnu packages audio) + #:use-module (gnu packages autotools) + #:use-module (gnu packages backup) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages bison) + #:use-module (gnu packages boost) + #:use-module (gnu packages calendar) + #:use-module (gnu packages check) + #:use-module (gnu packages cmake) + #:use-module (gnu packages coq) + #:use-module (gnu packages curl) + #:use-module (gnu packages cyrus-sasl) + #:use-module (gnu packages cpp) + #:use-module (gnu packages datamash) + #:use-module (gnu packages dbm) + #:use-module (gnu packages documentation) + #:use-module (gnu packages elf) + #:use-module (gnu packages emacs) + #:use-module (gnu packages file) + #:use-module (gnu packages flex) + #:use-module (gnu packages fltk) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gettext) + #:use-module (gnu packages gcc) + #:use-module (gnu packages gd) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages glib) + #:use-module (gnu packages gperf) + #:use-module (gnu packages graphviz) + #:use-module (gnu packages groff) + #:use-module (gnu packages gtk) + #:use-module (gnu packages icu4c) + #:use-module (gnu packages image) + #:use-module (gnu packages image-processing) + #:use-module (gnu packages java) + #:use-module (gnu packages less) + #:use-module (gnu packages lisp) + #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) + #:use-module (gnu packages logging) + #:use-module (gnu packages lua) + #:use-module (gnu packages gnome) + #:use-module (gnu packages guile) + #:use-module (gnu packages xorg) + #:use-module (gnu packages gl) + #:use-module (gnu packages imagemagick) + #:use-module (gnu packages m4) + #:use-module (gnu packages mpi) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages netpbm) + #:use-module (gnu packages ocaml) + #:use-module (gnu packages onc-rpc) + #:use-module (gnu packages parallel) + #:use-module (gnu packages pcre) + #:use-module (gnu packages popt) + #:use-module (gnu packages perl) + #:use-module (gnu packages prolog) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) + #:use-module (gnu packages python-build) + #:use-module (gnu packages python-science) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages qt) + #:use-module (gnu packages readline) + #:use-module (gnu packages ruby) + #:use-module (gnu packages tbb) + #:use-module (gnu packages scheme) + #:use-module (gnu packages serialization) + #:use-module (gnu packages shells) + #:use-module (gnu packages simulation) + #:use-module (gnu packages sphinx) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages swig) + #:use-module (gnu packages tcl) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages tex) + #:use-module (gnu packages time) + #:use-module (gnu packages tls) + #:use-module (gnu packages version-control) + #:use-module (gnu packages wxwidgets) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xml) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26)) (define-public scalapack-upstream (package (inherit gnu:scalapack) @@ -103,3 +207,89 @@ (license license:bsd-3)) ) +(define-public glicid-dealii + (package + (inherit dealii) + (version "9.6.0") + (name "glicid-dealii") + (arguments + (list #:build-type "Release" ; Only Debug, Release or DebugRelease. + ;; The tests take too long and must be explicitly enabled with + ;; "make setup_tests". + ;; See https://www.dealii.org/developer/developers/testsuite.html. + ;; (They can also be run for an already installed deal.II.) + #:tests? #f + #:configure-flags + #~(let ((doc (string-append #$output:doc "/share/doc/" + #$name "-" #$version))) + (list "-DDEAL_II_COMPONENT_DOCUMENTATION=OFF" + (string-append "-DCMAKE_CXX_FLAGS='-march=znver3'") + (string-append "-DDEAL_II_DOCREADME_RELDIR=" doc) + (string-append "-DDEAL_II_DOCHTML_RELDIR=" doc "/html") + ;; Don't compile the examples because the source and + ;; CMakeLists.txt are installed anyway, allowing users to + ;; do so for themselves. + "-DDEAL_II_COMPILE_EXAMPLES=OFF" + (string-append "-DDEAL_II_EXAMPLES_RELDIR=" doc + "/examples"))) + #:phases + #~(modify-phases %standard-phases + ;; Without unsetting CPATH, the build fails with the following + ;; error (similar to ): + ;; + ;; /gnu/store/…-gcc-11.3.0/include/c++/math.h:30:16: fatal error: math.h: No such file or directory + ;; 30 | # include_next + ;; | ^~~~~~~~ + ;; + ;; Why does unsetting CPATH magically fix the error? + ;; TODO: Properly fix this issue. + (add-after 'set-paths 'unset-cpath + (lambda _ + (unsetenv "CPATH"))) + (add-after 'install 'remove-build-logs + ;; These build logs leak the name of the build directory by + ;; storing the values of CMAKE_SOURCE_DIR and + ;; CMAKE_BINARY_DIR. + (lambda _ + (let ((doc (string-append #$output:doc "/share/doc/" + #$name "-" #$version))) + (for-each delete-file + (map (lambda (f) (string-append doc "/" f)) + '("detailed.log" "summary.log"))))))))) + )) + + +(define trilinos-for-dealii-openmpi + (@@ (gnu packages maths) trilinos-for-dealii-openmpi)) + + +(define-public glicid-dealii-openmpi + (package + (inherit glicid-dealii) + (name "glicid-dealii-openmpi") + (inputs + (modify-inputs (package-inputs glicid-dealii) + (delete "arpack") + (prepend arpack-ng-openmpi + metis + scalapack))) + (propagated-inputs + (modify-inputs (package-propagated-inputs glicid-dealii) + (delete "hdf5" "kokkos" "sundials") + (prepend hdf5-parallel-openmpi + openmpi + p4est-openmpi + petsc-openmpi + slepc-openmpi + sundials-openmpi + trilinos-for-dealii-openmpi))) + (arguments + (substitute-keyword-arguments (package-arguments glicid-dealii) + ((#:configure-flags flags) + #~(cons "-DDEAL_II_WITH_MPI=ON" #$flags)) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + ;; The build failure fixed by this phase does not manifest when + ;; Kokkos is included via Trilinos. + (delete 'unset-cpath))))) + (synopsis "Finite element library (with MPI support)"))) From 7d5337658adee713ce951cf540b652129235e2c6 Mon Sep 17 00:00:00 2001 From: Guy MOEBS Date: Tue, 29 Oct 2024 17:04:33 +0100 Subject: [PATCH 37/40] =?UTF-8?q?Ajout=20des=20liens=20de=20d=C3=A9pendanc?= =?UTF-8?q?e=20vers=20gnu=20par=20des=20gnu:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- glicid/packages/maths.scm | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/glicid/packages/maths.scm b/glicid/packages/maths.scm index d9e4e09..418991f 100644 --- a/glicid/packages/maths.scm +++ b/glicid/packages/maths.scm @@ -209,7 +209,7 @@ (define-public glicid-dealii (package - (inherit dealii) + (inherit gnu:dealii) (version "9.6.0") (name "glicid-dealii") (arguments @@ -270,21 +270,21 @@ (inputs (modify-inputs (package-inputs glicid-dealii) (delete "arpack") - (prepend arpack-ng-openmpi - metis - scalapack))) + (prepend gnu:arpack-ng-openmpi + gnu:metis + gnu:scalapack))) (propagated-inputs (modify-inputs (package-propagated-inputs glicid-dealii) (delete "hdf5" "kokkos" "sundials") - (prepend hdf5-parallel-openmpi - openmpi - p4est-openmpi - petsc-openmpi - slepc-openmpi - sundials-openmpi - trilinos-for-dealii-openmpi))) + (prepend gnu:hdf5-parallel-openmpi + gnu:openmpi + gnu:p4est-openmpi + gnu:petsc-openmpi + gnu:slepc-openmpi + gnu:sundials-openmpi + gnu:trilinos-for-dealii-openmpi))) (arguments - (substitute-keyword-arguments (package-arguments glicid-dealii) + (substitute-keyword-arguments (package-arguments gnu:glicid-dealii) ((#:configure-flags flags) #~(cons "-DDEAL_II_WITH_MPI=ON" #$flags)) ((#:phases phases #~%standard-phases) @@ -293,3 +293,4 @@ ;; Kokkos is included via Trilinos. (delete 'unset-cpath))))) (synopsis "Finite element library (with MPI support)"))) + From 1428b5ed28f2fe7894d5796b5258163657e7f6b6 Mon Sep 17 00:00:00 2001 From: Yann DUPONT Date: Tue, 29 Oct 2024 16:40:57 +0000 Subject: [PATCH 38/40] Update maths.scm : no need for gnu: on openmpi --- glicid/packages/maths.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glicid/packages/maths.scm b/glicid/packages/maths.scm index 418991f..9504d71 100644 --- a/glicid/packages/maths.scm +++ b/glicid/packages/maths.scm @@ -277,7 +277,7 @@ (modify-inputs (package-propagated-inputs glicid-dealii) (delete "hdf5" "kokkos" "sundials") (prepend gnu:hdf5-parallel-openmpi - gnu:openmpi + openmpi gnu:p4est-openmpi gnu:petsc-openmpi gnu:slepc-openmpi From cd638bd25ccb40cb4bbf5ebc1207a1f38b6d3ed4 Mon Sep 17 00:00:00 2001 From: Yann DUPONT Date: Tue, 29 Oct 2024 16:47:22 +0000 Subject: [PATCH 39/40] Update maths.scm : trilinos defined here , so no need to prefix it with gnu: --- glicid/packages/maths.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glicid/packages/maths.scm b/glicid/packages/maths.scm index 9504d71..e53a1a6 100644 --- a/glicid/packages/maths.scm +++ b/glicid/packages/maths.scm @@ -282,7 +282,7 @@ gnu:petsc-openmpi gnu:slepc-openmpi gnu:sundials-openmpi - gnu:trilinos-for-dealii-openmpi))) + trilinos-for-dealii-openmpi))) (arguments (substitute-keyword-arguments (package-arguments gnu:glicid-dealii) ((#:configure-flags flags) From de72aa34cffe303ac6967ea96087e2f5cd3ba38c Mon Sep 17 00:00:00 2001 From: Yann DUPONT Date: Tue, 29 Oct 2024 16:52:28 +0000 Subject: [PATCH 40/40] Update maths.scm ; glicid-dealii is defined here, no prefix gnu: needed --- glicid/packages/maths.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glicid/packages/maths.scm b/glicid/packages/maths.scm index e53a1a6..517eacf 100644 --- a/glicid/packages/maths.scm +++ b/glicid/packages/maths.scm @@ -284,7 +284,7 @@ gnu:sundials-openmpi trilinos-for-dealii-openmpi))) (arguments - (substitute-keyword-arguments (package-arguments gnu:glicid-dealii) + (substitute-keyword-arguments (package-arguments glicid-dealii) ((#:configure-flags flags) #~(cons "-DDEAL_II_WITH_MPI=ON" #$flags)) ((#:phases phases #~%standard-phases)