mirror of
https://gitlab.univ-nantes.fr/glicid-public/guix-glicid.git
synced 2025-04-29 21:58:36 +02:00
Merge branch 'main' of gitlab.univ-nantes.fr:glicid-public/guix-glicid
This commit is contained in:
commit
9a3ce52d0e
16 changed files with 811 additions and 86 deletions
|
@ -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"))))
|
||||
(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"))
|
||||
))
|
||||
|
|
16
glicid/packages/base.scm
Normal file
16
glicid/packages/base.scm
Normal 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
142
glicid/packages/caddy.scm
Normal 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
|
|
@ -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))
|
||||
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
(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)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages perl)
|
||||
|
@ -12,26 +14,30 @@
|
|||
#: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
|
||||
(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
|
||||
|
@ -55,3 +61,55 @@
|
|||
(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)
|
||||
)))
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
||||
|
@ -45,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)))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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,90 @@
|
|||
(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)")))
|
||||
|
||||
|
|
|
@ -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"))))))
|
||||
|
||||
|
|
|
@ -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
|
||||
|
@ -106,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.")
|
||||
|
@ -143,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)
|
||||
|
|
|
@ -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
|
||||
|
@ -30,7 +31,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
|
||||
|
|
|
@ -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
|
||||
"1hdhxyaqdavrwpvam759835zyhn49c777kclz9p720pjlw55lszp"))))))
|
||||
|
||||
|
||||
(define-public yade yade-2022.01a)
|
||||
|
||||
(define-public yade-glicid-waves
|
||||
(package
|
||||
(inherit (transform-package ((instead-of "openmpi-glicid-waves" openmpi)
|
||||
|
|
|
@ -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)))))
|
||||
|
||||
|
|
|
@ -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.3")
|
||||
|
||||
;(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 "0bdszkkl2y1r0jqljkkia3pppw8ymsyd2d83qdkvc0cvc3ycnsh8"))))
|
||||
(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 "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
103
glicid/services/caddy.scm
Normal 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
85
glicid/services/vpn.scm
Normal 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")))
|
Loading…
Add table
Reference in a new issue