Merge branch 'main' of gitlab.univ-nantes.fr:glicid-public/guix-glicid

This commit is contained in:
Yann Dupont 2024-10-30 15:01:40 +01:00
commit 9a3ce52d0e
16 changed files with 811 additions and 86 deletions

View file

@ -1,9 +1,12 @@
(channel (channel
(version 0) (version 0)
(dependencies (dependencies
; (channel ; (channel
; (name guix-past) ; (name guix-past)
; (url "https://gitlab.inria.fr/guix-hpc/guix-past")) ; (url "https://gitlab.inria.fr/guix-hpc/guix-past"))
(channel (channel
(name guix-science) (name guix-science)
(url "https://github.com/guix-science/guix-science.git")))) (url "https://github.com/guix-science/guix-science.git"))
(channel (name nonguix)
(url "https://gitlab.com/nonguix/nonguix"))
))

16
glicid/packages/base.scm Normal file
View file

@ -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

142
glicid/packages/caddy.scm Normal file
View file

@ -0,0 +1,142 @@
(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)
)
(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 "_linux_amd64.tar.gz"))
(sha256 (base32 "1j286xfxcrzvgn4k02nnq7n45wdsyz5c0phw6y7gi30kain31s57"))))
(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-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")
(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)))
caddy-dirty-with-extensions

View file

@ -6,34 +6,6 @@
#:prefix gnu:) #:prefix gnu:)
#:use-module (glicid utils)) #: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 (define-public keepalived-upstream-2.2.8
(package (package
(inherit gnu:keepalived) (inherit gnu:keepalived)
@ -49,8 +21,23 @@
"1dhvg9x976k4nnygxyv2gr55jfd88459kgiiqva9bwvl56v2x245")))))) "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 (define local:keepalived
keepalived-upstream-2.2.8) keepalived-upstream-2.3.1)
(define keepalived-latest (define keepalived-latest
(latest-version local:keepalived gnu:keepalived)) (latest-version local:keepalived gnu:keepalived))

View file

@ -1,9 +1,11 @@
(define-module (glicid packages dns) (define-module (glicid packages dns)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system cargo)
#:use-module (guix download) #:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -12,26 +14,30 @@
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages xml) #: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 (define-public isc-bind
(package (package
(name "bind") (name "bind")
(version "9.18.19") (version "9.20.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "https://downloads.isc.org/isc/bind9/" version "/bind-" version ".tar.xz"))) (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) (build-system gnu-build-system)
(outputs `("out" "utils")) (outputs `("out" "utils"))
(inputs (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 (native-inputs
(list perl pkg-config)) (list perl pkg-config))
(arguments (arguments
`( `(
#:configure-flags #:configure-flags
(list "--with-sysroot=/") (list "--with-sysroot=/"
(string-append "--with-pkcs11=" (assoc-ref %build-inputs "p11-kit")))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'strip 'move-to-utils (add-after 'strip 'move-to-utils
@ -55,3 +61,55 @@
(description "BIND implements the @acronym{DNS, Domain Name System} protocols for the Internet. check gnu/packages/dns for more") (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/") (home-page "https://www.isc.org/bind/")
(license (list license:mpl2.0)))) (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)
)))

View file

@ -16,6 +16,8 @@
(define-public gfortran-12 (define-public gfortran-12
(hidden-package (custom-gcc gcc-12 "gfortran" (hidden-package (custom-gcc gcc-12 "gfortran"
'("fortran") %generic-search-paths))) '("fortran") %generic-search-paths)))
(define make-gcc-toolchain
(@@ (gnu packages commencement) make-gcc-toolchain )) ; discouraged, find better alternative
@ -45,6 +47,24 @@
in the @code{debug} output), and binutils."))) 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 (define-public gfortran-11
(hidden-package (custom-gcc gcc-11 "gfortran" (hidden-package (custom-gcc gcc-11 "gfortran"
'("fortran") %generic-search-paths))) '("fortran") %generic-search-paths)))

View file

@ -12,12 +12,12 @@
(define-public gitlab-runner (define-public gitlab-runner
(package (package
(name "gitlab-runner") (name "gitlab-runner")
(version "16.3.0") (version "17.5.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://" name "-downloads.s3.amazonaws.com/v" version "/binaries/" name "-linux-amd64")) (uri (string-append "https://" name "-downloads.s3.amazonaws.com/v" version "/binaries/" name "-linux-amd64"))
(file-name (string-append name "-linux-amd64")) (file-name (string-append name "-linux-amd64"))
(sha256 (base32 "1p2bn29vg64i6nkylkjrpgzhcavkgi4w3z0lrsdbk0hmjg74bqhr")))) (sha256 (base32 "0yxqh0n3m94p7xcldplh2binilzfhvhryphina3bvx7haphy9a9x"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
'(#:modules ((guix build utils)) '(#:modules ((guix build utils))

View file

@ -10,8 +10,112 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module ((guix licenses) #:prefix license:) #: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 (define-public scalapack-upstream
(package (package
(inherit gnu:scalapack) (inherit gnu:scalapack)
@ -103,3 +207,90 @@
(license license:bsd-3)) (license license:bsd-3))
) )
(define-public glicid-dealii
(package
(inherit gnu: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 <https://bugs.gnu.org/30756>):
;;
;; /gnu/store/…-gcc-11.3.0/include/c++/math.h:30:16: fatal error: math.h: No such file or directory
;; 30 | # include_next <math.h>
;; | ^~~~~~~~
;;
;; 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 gnu:arpack-ng-openmpi
gnu:metis
gnu:scalapack)))
(propagated-inputs
(modify-inputs (package-propagated-inputs glicid-dealii)
(delete "hdf5" "kokkos" "sundials")
(prepend gnu:hdf5-parallel-openmpi
openmpi
gnu:p4est-openmpi
gnu:petsc-openmpi
gnu:slepc-openmpi
gnu: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)")))

View file

@ -53,11 +53,11 @@
(package (package
(inherit gnu:squid) (inherit gnu:squid)
(name "squid") (name "squid")
(version "6.6") (version "6.10")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.squid-cache.org/Versions/v6/squid-" version ".tar.xz")) (uri (string-append "http://www.squid-cache.org/Versions/v6/squid-" version ".tar.xz"))
(sha256 (base32 "06038912kkcfzj85p7ibhd0gh6smrf59ja0jx9hk25cq92gpzgam")))) (sha256 (base32 "19q86j2jd2vwv298ialnhqahl0qjxjdbigi5vmq4gw13wy3v21qb"))))
(inputs `(("libecap" ,libecap) (inputs `(("libecap" ,libecap)
,@(package-inputs gnu:squid))) ,@(package-inputs gnu:squid)))
(arguments (arguments
@ -123,3 +123,4 @@
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.openvswitch.org/releases/openvswitch-" version ".tar.gz")) (uri (string-append "https://www.openvswitch.org/releases/openvswitch-" version ".tar.gz"))
(sha256 (base32 "0sada2a9x9x7x6a45l7iklqh29wsbrdvvgpkyz5cpf5d5fs0sbka")))))) (sha256 (base32 "0sada2a9x9x7x6a45l7iklqh29wsbrdvvgpkyz5cpf5d5fs0sbka"))))))

View file

@ -8,6 +8,7 @@
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cpp) #:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages datastructures) #:use-module (gnu packages datastructures)
@ -25,13 +26,13 @@
(define-public nginx (define-public nginx
(package (package
(name "nginx") (name "nginx")
(version "1.25.3") (version "1.27.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz"))
(sha256 (base32 "11pdrpci4dbk87z8v00p3wjjn51gs9bshgrh53l3jy98r9svkib4")))) (sha256 (base32 "1z5x0i0k1hmnxm7mb3dfn6qrz9am96my5ivinxl3gsp1dj5acyxx"))))
(build-system gnu-build-system) (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 (arguments
`(#:tests? #f `(#:tests? #f
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
@ -106,11 +107,11 @@
(package (package
(inherit nginx) (inherit nginx)
(name "nginx-ldap-auth-module") (name "nginx-ldap-auth-module")
(version "83c059b") (version "241200e")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "https://github.com/kvspb/nginx-auth-ldap/archive/" version ".tar.gz"))) (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") (synopsis "LDAP Authentication module for nginx")
(description (description
"LDAP module for nginx which supports authentication against multiple LDAP servers.") "LDAP module for nginx which supports authentication against multiple LDAP servers.")
@ -143,11 +144,11 @@
(define-public modsecurity (define-public modsecurity
(package (package
(name "modsecurity") (name "modsecurity")
(version "3.0.11") (version "3.0.13")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "https://github.com/SpiderLabs/ModSecurity/releases/download/v" version "/modsecurity-v" version ".tar.gz"))) (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") (synopsis "modsecurity module for nginx")
(description "modsecurity module for nginx.") (description "modsecurity module for nginx.")
(license license:asl2.0) (license license:asl2.0)

View file

@ -19,6 +19,7 @@
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages crypto)
#:use-module (gnu packages tls)) #:use-module (gnu packages tls))
(define-public openldap (define-public openldap
@ -30,7 +31,7 @@
(uri (list (string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz"))) (uri (list (string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")))
(sha256 (base32 "184ywcpw9gbrllp1a1q9a6g7aq583phxnhj4cd1lv622yn69jbh8")))) (sha256 (base32 "184ywcpw9gbrllp1a1q9a6g7aq583phxnhj4cd1lv622yn69jbh8"))))
(build-system gnu-build-system) (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)) (native-inputs (list bdb groff libtool pkg-config))
(arguments `( (arguments `(
#:tests? #f #:tests? #f

View file

@ -52,7 +52,7 @@
;; was commented out… guix repl is ok… so uncomment right now ;; was commented out… guix repl is ok… so uncomment right now
(define-public yade (define-public yade-2022.01a
(package (package
(name "yade") (name "yade")
(version "2022.01a") (version "2022.01a")
@ -131,6 +131,22 @@
(home-page "https://www.yade-dem.org/") (home-page "https://www.yade-dem.org/")
(license gpl3+))) (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
"1hdhxyaqdavrwpvam759835zyhn49c777kclz9p720pjlw55lszp"))))))
(define-public yade yade-2022.01a)
(define-public yade-glicid-waves (define-public yade-glicid-waves
(package (package
(inherit (transform-package ((instead-of "openmpi-glicid-waves" openmpi) (inherit (transform-package ((instead-of "openmpi-glicid-waves" openmpi)

View file

@ -2,9 +2,11 @@
(use-modules (guix packages) (use-modules (guix packages)
(guix git-download) (guix git-download)
(guix download)
; (guix utils) ; (guix utils)
(gnu packages) (gnu packages)
(gnu packages storage) (gnu packages storage)
(gnu packages crypto)
(gnu packages python-xyz) ; wcwidth (gnu packages python-xyz) ; wcwidth
(gnu packages linux) ; liburing (gnu packages linux) ; liburing
) )
@ -13,18 +15,26 @@
(package (package
(inherit ceph) (inherit ceph)
(name "ceph-upstream") (name "ceph-upstream")
(version "17.2.8-pre") ; (version "17.2.7releasetag")
(source (origin (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 (sha256
(base32 (base32
"0mnc20jxnyxh6ipgg9m40allkhf1pfm7pmcy8d7ggmx3aw6xg2cw")) "1612424yrf39dz010ygz8k5x1vc8731549ckfj1r39dg00m62klp"))
(patches (patches
(search-patches (search-patches
"ceph-disable-cpu-optimizations.patch")) "ceph-disable-cpu-optimizations.patch"))
@ -47,7 +57,7 @@
; "src/boost" ; inexistant ?? ; "src/boost" ; inexistant ??
"src/utf8proc"))))) "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) (native-inputs (modify-inputs (package-native-inputs ceph)
(append python-wcwidth))))) (append python-wcwidth)))))

View file

@ -1,22 +1,113 @@
(define-module (glicid packages vpn) (define-module (glicid packages vpn)
#:use-module (guix packages) #:use-module (guix)
#:use-module ((gnu packages vpn) #:use-module (ice-9 match)
#:prefix gnu:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)) #: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.3")
;(define-public openconnect-upstream (define-public netbird-cli
; (package (package
; (inherit gnu:openconnect) (name "netbird-cli")
; (version "8.20") (version %netbird-version)
; (source (source (origin
; (origin (method url-fetch)
; (method url-fetch) (uri (string-append "https://github.com/netbirdio/netbird/releases/download/v" version "/netbird_" version "_linux_amd64.tar.gz"))
; (uri (string-append "https://www.infradead.org/openconnect/download/openconnect-" version ".tar.gz")) (sha256 (base32 "0bdszkkl2y1r0jqljkkia3pppw8ymsyd2d83qdkvc0cvc3ycnsh8"))))
; (sha256 (base32 "1cdsx4nsrwawbsisfkldfc9i4qn60g03vxb13nzppr2br9p4rrih")) (build-system copy-build-system)
; ) (arguments
; ) `(#:install-plan `(("netbird" "/bin/"))))
; (name "openconnect-upstream") (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 "19xyw6vxwag4w71zm998jjlv19cvrgwrzlpq0jrhbm8yf8jpjvs8"))))
(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 "05zgibbjwgmffdxz9b4ikiw06rdpp20ccpxq87286m4vwl4ad907"))))
(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)))

103
glicid/services/caddy.scm Normal file
View file

@ -0,0 +1,103 @@
(define-module (glicid services caddy)
#: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 privilege)
#:use-module (gnu system shadow)
#:use-module (ice-9 match)
#:use-module (glicid packages caddy)
#:export (%caddy-accounts
caddy-configuration
caddy-configuration?
caddy-shepherd-service
caddy-service-type
caddy-with-extensions-service-type
))
(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 "/bin/bash")))))
(define-record-type* <caddy-configuration> caddy-configuration
make-caddy-configuration
caddy-configuration?
(caddy caddy (default caddy-dirty))
(config-file config-file (default ""))
(log-file log-file (default "/var/log/caddy.log"))
)
(define caddy-service
(match-lambda
(($ <caddy-configuration> caddy config-file log-file)
(list (shepherd-service (provision '(caddy))
(documentation "Run caddy.")
(requirement '(user-processes))
(respawn? #t)
(respawn-delay 10)
(start #~(make-forkexec-constructor (list "/run/privileged/bin/caddy"
"run"
#$@(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:/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_admin,cap_net_bind_service=+ep")
)))
(define %caddy-with-extensions-priv
(list
(privileged-program
(program (file-append caddy-dirty-with-extensions "/sbin/caddy"))
(capabilities "cap_net_admin,cap_net_bind_service=+ep")
)))
(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)
(default-value (caddy-configuration))
(extensions (list
(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")))

85
glicid/services/vpn.scm Normal file
View file

@ -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> 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-configuration> 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")))