backporting master into devel (devel was behind master)

This commit is contained in:
Jean-François GUILLAUME 2022-05-10 10:00:46 +02:00
parent cc5cc2847f
commit 54560ad0ea
GPG key ID: 38751DAE145EFB5A
34 changed files with 10115 additions and 1803 deletions

29
README.md Normal file
View file

@ -0,0 +1,29 @@
guix-glicid
===
Description
---
We define in this repository packages that we use at GLiCID HPC that are etheir not in guix main channels or with custom definitions.
Two channels here :
- main ![CI Badge](https://guix.glicid.fr/jobset/glicid/badge.svg?type=1) : stable release of our channel
- devel ![CI Badge](https://guix.glicid.fr/jobset/glicid-devel/badge.svg?type=1) : development release of our channel, things may get broken
How to use
---
To use the guix-glicid channel, add these lines to ~/.config/guix/channels.scm or /etc/guix/channels.scm :
For stable release :
```
(channel
(name 'glicid)
(url "https://gitlab.univ-nantes.fr/glicid-public/guix-glicid.git")
(branch "main"))
```
For devel release :
```
(channel
(name 'glicid)
(url "https://gitlab.univ-nantes.fr/glicid-public/guix-glicid.git")
(branch "devel"))
```

39
glicid/packages/admin.scm Normal file
View file

@ -0,0 +1,39 @@
(define-module (glicid packages admin)
#:use-module ((gnu packages admin) #:prefix gnu:)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages groff)
#:use-module (gnu packages hurd)
#:use-module (gnu packages linux)
#:use-module (gnu packages openldap)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
)
(define-public sudo
(let* ((sudo-minimal gnu:sudo))
(package
(inherit sudo-minimal)
(name (string-append (package-name sudo-minimal) "-with-ldap"))
(arguments
(substitute-keyword-arguments (package-arguments sudo-minimal)
((#:configure-flags flags)
`(append (list
"--enable-sasl"
"--with-ldap"
"--enable-openssl"
"--with-nsswitch")
,flags))))
(inputs (modify-inputs (package-inputs sudo-minimal)
(append openldap
openssl
cyrus-sasl)))
(native-inputs (modify-inputs (package-native-inputs sudo-minimal)
(append pkg-config))))))

View file

@ -0,0 +1,23 @@
(define-module (glicid packages algebra)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages commencement)
)
(define-public fftw-openmpi-with-fortran
(package
(inherit fftw-openmpi)
(name "fftw-openmpi-with-fortran")
(version "3.3.10")
(source (origin
(method url-fetch)
(uri (string-append "https://www.fftw.org/fftw-" version ".tar.gz"))
(sha256 (base32 "0rv4w90b65b2kvjpj8g9bdkl4xqc42q20f5bzpxdrkajk1a35jan"))
))
(inputs `(
("gfortran-toolchain", gfortran-toolchain)
,@(package-inputs fftw-openmpi)
))
)
)

View file

@ -1,122 +1,141 @@
(define-module (glicid packages benchmark) (define-module (glicid packages benchmark)
#:use-module (guix packages) #:use-module (guix build-system gnu)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
; #:use-module (guix licenses)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages commencement)
#:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module ((guix utils) #:select (target-64bit?)) #:use-module (guix packages)
#:use-module (gnu packages) #:use-module ((gnu packages benchmark) #:prefix gnu:)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages freeipmi)
#:use-module (gnu packages linux)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages parallel)
#:use-module (gnu packages storage)
#:use-module (gnu packages networking)
#:use-module (gnu packages gtk)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages commencement) #:use-module (gnu packages commencement)
#:use-module (gnu packages gcc)
#:use-module (gnu packages chemistry)
#:use-module (gnu packages sphinx)
#:use-module (srfi srfi-1)
#:use-module (gnu packages mpi)
#:use-module (gnu packages sssd)
#:use-module (gnu packages fabric-management)
#:use-module (gnu packages benchmark)
#:use-module (gnu packages messaging)
#:use-module (gnu packages web)
#:use-module (gnu packages gnome)
#:use-module (gnu packages cluster)
#:use-module (gnu packages libevent)
#:use-module (gnu packages xorg)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages flex)
#:use-module (gnu packages bison)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools)
#:use-module (gnu packages fontutils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages image)
#:use-module (gnu packages maths)
#:use-module (guix utils)
#:use-module (gnu packages cmake)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages boost)
#:use-module (gnu packages curl)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages xml)
#:use-module (gnu packages admin)
#:use-module (gnu packages assembly)
#:use-module (gnu packages authentication)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages crypto) #:use-module (gnu packages mpi)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages disk)
#:use-module (gnu packages gperf)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages nss)
#:use-module (gnu packages openldap)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
;; #:use-module (gnu packages glicid)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages virtualization)
#:use-module (glicid packages storage)
#:use-module (glicid packages mpi) #:use-module (glicid packages mpi)
#:use-module (glicid packages gcc) #:use-module (glicid packages gcc)
#:use-module (glicid utils)
) )
(define-public intel-mpi-benchmarks/openmpi-2021.3
;;;;;;;;
(define-public glicid-intel-mpi-benchmarks
(package (package
(inherit intel-mpi-benchmarks/openmpi) (inherit gnu:intel-mpi-benchmarks/openmpi)
(name "glicid-intel-mpi-benchmarks") (name "intel-mpi-benchmarks-upstream")
(version "2021.3")
(source
(origin
(inherit (package-source gnu:intel-mpi-benchmarks/openmpi))
(method git-fetch)
(uri (git-reference
(url "https://github.com/intel/mpi-benchmarks")
(commit (string-append "IMB-v" version))
))
(file-name (git-file-name name version))
(sha256 (base32 "04kczch2hlfzbgk929vcxx480kc6raba8rbz246j7d26k1z1zh8h"))
)
)
) )
) )
(define-public glicid-intel-mpi-benchmarks-gcc-11 (define-public intel-mpi-benchmarks/openmpi-2021.3-libfabric-rdma
(transform-package (
(instead-of "openmpi" openmpi-glicid-libfabric-rdma-ucx)
intel-mpi-benchmarks/openmpi-2021.3
) "fab+rdma+ucx")
)
(define intel-mpi-benchmark-transform-gcc-11
(gcc11-instead-of-gcc intel-mpi-benchmarks/openmpi-2021.3-libfabric-rdma)
)
(define intel-mpi-benchmarks/openmpi-2021.3-gcc-11
(package (package
(inherit glicid-intel-mpi-benchmarks) (inherit intel-mpi-benchmark-transform-gcc-11)
(name "glicid-specific-intel-mpi-benchmarks") (version (string-append (package-version intel-mpi-benchmark-transform-gcc-11) "-gcc-11" ))
(inputs `(("openmpi", glicid-openmpi-gcc-11)
("gcc",gcc-11)
,@(package-inputs glicid-intel-mpi-benchmarks)))
) )
) )
(define-public intel-mpi-benchmarks/openmpi-2021.3-all-ccipl
(transform-package (
(instead-of "openmpi" openmpi-glicid-libfabric-rdma-ucx-ccipl)
intel-mpi-benchmarks/openmpi-2021.3
) "ccipl")
)
;;; glicid/benchmark.scm ends here (define-public stream-benchmarks
(package
(name "stream-benchmarks")
(version "5.10-jh")
(source (origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/jeffhammond/STREAM.git")
(commit "HEAD")
)
)
(sha256 (base32 "1b5ka2h6rhp2103app6p0vq29y7qixcli9w874hb33y05ggjin8m"))
(file-name (string-append name "-" version "-checkout"))
))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure
(delete 'check) ; no check
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
;; Le Makefile du paquet ne fournit pas de règle « install »
;; alors on le fait nous-mêmes.
(let
((bin (string-append (assoc-ref outputs "out") "/bin")))
(install-file "stream_c.exe" bin)
(install-file "stream_f.exe" bin)
#t
)
)
)
)
)
)
(inputs `(
("gfortran-toolchain" ,gfortran-toolchain)
))
(synopsis "STREAM benchmark")
(description "STREAM benchmark")
(home-page "https://")
(license "")
)
)
;;defined by gricad / PA Boutier
(define-public osu-benchmarks
(package
(name "osu-benchmarks")
(version "5.8")
(source (origin
(method url-fetch)
(uri (string-append "https://mvapich.cse.ohio-state.edu/download/mvapich/osu-micro-benchmarks-" version ".tgz"))
(sha256 (base32 "19a4wg0msipibkxsi8i0c34d07512yfaj2k37dxg5541ysdw690f"))
))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'setenv
(lambda _
(setenv "CC" (which "mpicc"))
(setenv "CXX" (which "mpic++"))
#t
)
)
)
)
)
(propagated-inputs `(
("openmpi" ,openmpi)
))
(synopsis "OSU micro benchmarks")
(description "OSU micro benchmark for mpi")
(home-page "https://mvapich.cse.ohio-state.edu/benchmarks/")
(license license:gpl2+)
)
)

View file

@ -97,7 +97,7 @@
(method git-fetch) (method git-fetch)
(uri (uri
(git-reference (git-reference
(url "https://oauth2:9i-PgbC2w_JEx6DUUqzf@gitlab.univ-nantes.fr/CCIPL/stages/2021/django-keycloak.git") (commit version) (url "https://oauth2:glpat-RsX2GjsD2WrzXubiJeou@gitlab.univ-nantes.fr/CCIPL/stages/2021/django-keycloak.git") (commit version)
) )
) )
@ -550,8 +550,6 @@
) )
(define-public glicid-clam (define-public glicid-clam
(package (package
(name "glicid-clam") (name "glicid-clam")
@ -561,7 +559,7 @@
(method git-fetch) (method git-fetch)
(uri (uri
(git-reference (git-reference
(url "https://oauth2:9i-PgbC2w_JEx6DUUqzf@gitlab.univ-nantes.fr/CCIPL/stages/2021/cluster_account_manager.git") (commit version) (url "https://oauth2:glpat-RsX2GjsD2WrzXubiJeou@gitlab.univ-nantes.fr/CCIPL/stages/2021/cluster_account_manager.git") (commit version)
) )
) )
@ -573,7 +571,6 @@
) )
) )
) )
; (build-system python-build-system) ; (build-system python-build-system)
(build-system copy-build-system) (build-system copy-build-system)
;; XXX: The git repository has no tags, and the PyPI releases do not ;; XXX: The git repository has no tags, and the PyPI releases do not
@ -582,7 +579,6 @@
;#:tests? #f ;#:tests? #f
; #:use-setuptools? #f ; uses custom distutils 'install' command ; #:use-setuptools? #f ; uses custom distutils 'install' command
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'reset-gzip-timestamps 'make-files-writable (add-before 'reset-gzip-timestamps 'make-files-writable
@ -591,15 +587,8 @@
(for-each make-file-writable (for-each make-file-writable
(find-files out "\\.gz$")) (find-files out "\\.gz$"))
#t)))))) #t))))))
; ) ; )
; ) ; )
(propagated-inputs `(("python-keycloak-client" , python-keycloak-client-0.2.3) (propagated-inputs `(("python-keycloak-client" , python-keycloak-client-0.2.3)
("python-ecdsa", python-ecdsa) ("python-ecdsa", python-ecdsa)
("python-django", python-django) ("python-django", python-django)

View file

@ -1,139 +1,58 @@
(define-module (glicid packages cluster) (define-module (glicid packages cluster)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
; #:use-module (guix licenses)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages commencement)
#:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:)
#:use-module ((guix utils) #:select (target-64bit?))
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages freeipmi)
#:use-module (gnu packages linux)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages parallel)
#:use-module (gnu packages storage)
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu packages gtk)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages commencement)
#:use-module (gnu packages gcc)
#:use-module (gnu packages chemistry)
#:use-module (gnu packages sphinx)
#:use-module (srfi srfi-1)
#:use-module (gnu packages mpi)
#:use-module (gnu packages sssd)
#:use-module (gnu packages fabric-management)
#:use-module (gnu packages benchmark)
#:use-module (gnu packages messaging)
#:use-module (gnu packages web)
#:use-module (gnu packages gnome)
#:use-module ((gnu packages cluster) #:prefix gnu:) #:use-module ((gnu packages cluster) #:prefix gnu:)
#:use-module (gnu packages libevent)
#:use-module (gnu packages xorg)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages flex)
#:use-module (gnu packages bison)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools)
#:use-module (gnu packages fontutils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages image)
#:use-module (gnu packages maths)
#:use-module (guix utils)
#:use-module (gnu packages cmake)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages boost)
#:use-module (gnu packages curl)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages xml)
#:use-module (gnu packages admin)
#:use-module (gnu packages assembly)
#:use-module (gnu packages authentication)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages disk)
#:use-module (gnu packages gperf)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages nss)
#:use-module (gnu packages openldap)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages virtualization)
#:use-module (glicid utils) #:use-module (glicid utils)
) )
(define-public keepalived-upstream-2.2.4
;;;;;;;;
(define-public keepalived
(package (package
(inherit gnu:keepalived) (inherit gnu:keepalived)
(name "keepalived-upstream")
(version "2.2.4") (version "2.2.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append "http://www.keepalived.org/software/keepalived-" version ".tar.gz"))
"http://www.keepalived.org/software/keepalived-" (sha256 (base32 "1py1xdrxzdxn09yi8dx842rmhnc8lv7z09wmb2mfljylhy8dcf01" ))
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 local:keepalived keepalived-upstream-2.2.7)
(define keepalived-latest (latest-version local:keepalived gnu:keepalived))
(define-public glicid-keepalived (define-public keepalived-glicid
(package (package
(inherit (latest-version keepalived gnu:keepalived)) (inherit keepalived-latest)
(name "glicid-keepalived") (name "keepalived-glicid")
(version (string-append (package-version keepalived-latest) "-glicid" ))
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list (string-append "--enable-snmp") (list
(string-append "--enable-snmp")
(string-append "--enable-snmp-checker") (string-append "--enable-snmp-checker")
(string-append "--enable-snmp-rfc") (string-append "--enable-snmp-rfc")
) )
) )
) )
(inputs `(
("net-snmp", net-snmp)
(inputs `(("net-snmp", net-snmp) ,@(package-inputs keepalived-latest)
,@(package-inputs keepalived))) ))
) )
) )
;;; glicid/cluster.scm ends here

View file

@ -1,104 +1,16 @@
(define-module (glicid packages fabric-management) (define-module (glicid packages fabric-management)
#:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix packages)
#:use-module (guix build-system gnu) #:use-module ((gnu packages fabric-management) #:prefix gnu:)
#:use-module (guix build-system cmake)
; #:use-module (guix licenses)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages commencement)
#:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:)
#:use-module ((guix utils) #:select (target-64bit?))
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages freeipmi)
#:use-module (gnu packages linux)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages parallel)
#:use-module (gnu packages storage)
#:use-module (gnu packages networking)
#:use-module (gnu packages gtk)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages commencement)
#:use-module (gnu packages gcc)
#:use-module (gnu packages chemistry)
#:use-module (gnu packages sphinx)
#:use-module (srfi srfi-1)
#:use-module (gnu packages mpi)
#:use-module (gnu packages sssd)
#:use-module (gnu packages fabric-management)
#:use-module (gnu packages benchmark)
#:use-module (gnu packages messaging)
#:use-module (gnu packages web)
#:use-module (gnu packages gnome)
#:use-module (gnu packages cluster)
#:use-module (gnu packages libevent)
#:use-module (gnu packages xorg)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages flex)
#:use-module (gnu packages bison)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools)
#:use-module (gnu packages fontutils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages image)
#:use-module (gnu packages maths)
#:use-module (guix utils)
#:use-module (gnu packages cmake)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages boost)
#:use-module (gnu packages curl)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages xml)
#:use-module (gnu packages admin)
#:use-module (gnu packages assembly)
#:use-module (gnu packages authentication)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages disk)
#:use-module (gnu packages gperf)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages nss)
#:use-module (gnu packages openldap)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
;; #:use-module (gnu packages glicid)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages virtualization)
#:use-module (glicid packages gcc)
#:use-module (glicid packages linux) #:use-module (glicid packages linux)
#:use-module (glicid utils)
) )
(define-public ucx-upstream-1.11.2
(define-public glicid-ucx
(package (package
(inherit ucx) (inherit gnu:ucx)
(name "glicid-ucx") (name (string-append (package-name gnu:ucx) "-upstream" ))
(version "1.11.2") (version "1.11.2")
(source (source
(origin (origin
@ -106,60 +18,57 @@
(uri (string-append "https://github.com/openucx/ucx/releases/download/v" version "/ucx-" version ".tar.gz" )) (uri (string-append "https://github.com/openucx/ucx/releases/download/v" version "/ucx-" version ".tar.gz" ))
(sha256 (base32 "1py62vjr0hgyqsdpr04jhn918i8ccn6ghjalwpcjpz24admgisyy")) (sha256 (base32 "1py62vjr0hgyqsdpr04jhn918i8ccn6ghjalwpcjpz24admgisyy"))
) )
) )
) )
) )
(define-public glicid-ucx-gcc-11 (define-public ucx-upstream-1.12.0
(package (package
(inherit glicid-ucx) (inherit gnu:ucx)
(name "glicid-ucx-gcc-11") (name (string-append (package-name gnu:ucx) "-upstream" ))
(version "1.12.0")
(inputs `(("gcc-11", gcc-11) (source
("gfortran-11", gfortran-11) (origin
,@(package-inputs glicid-ucx))) (method url-fetch)
(uri (string-append "https://github.com/openucx/ucx/releases/download/v" version "/ucx-" version ".tar.gz" ))
(sha256 (base32 "1djxsakwjwnw21hhzsr02w6h2jd2k16bm4pah4iz6k8s5pg99sck"))
)
)
) )
) )
(define-public glicid-ucx-gcc-10 (define-public ucx-upstream-1.12.1
(package (package
(inherit glicid-ucx) (inherit gnu:ucx)
(name "glicid-ucx-gcc-10") (name (string-append (package-name gnu:ucx) "-upstream" ))
(version "1.12.1")
(inputs `(("gcc-10", gcc-10) (source
("gfortran-10", gfortran-10) (origin
,@(package-inputs glicid-ucx))) (method url-fetch)
(uri (string-append "https://github.com/openucx/ucx/releases/download/v" version "/ucx-" version ".tar.gz" ))
(sha256 (base32 "13mf30gdcqix8dyi0iwnsd5fn8b0syr03042y99s556swz44gd20"))
)
)
) )
) )
(define local-ucx ucx-upstream-1.12.1)
(define-public ucx-latest (latest-version local-ucx gnu:ucx))
(define-public glicid-specific-ucx-gcc-11 (define-public ucx-latest-rdma
(package (transform-package
(inherit glicid-ucx) (
(name "glicid-specific-ucx-gcc-11") (instead-of "rdma-core" rdma-core-latest)
(version "1.10.0") ucx-latest
) "rdma"
(inputs `(("gcc", gcc-11)
("gfortran", gfortran-11)
("libfabric", glicid-libfabric-gcc-11)
("rdma-core",glicid-rdma-core-gcc-11)
,@(package-inputs glicid-ucx)))
) )
) )
(define-public glicid-ucx-gcc-10 (define-public ucx-latest-glicid
(package (transform-package
(inherit ucx) (
(instead-of "libfabric" libfabric-latest)
(inputs `(("gcc", gcc-10) ucx-latest-rdma
("gfortran", gfortran-10) ) "glicid"
("libfabric", glicid-libfabric-gcc-11)
("rdma-core",glicid-rdma-core-gcc-11)
,@(package-inputs glicid-ucx)))
) )
) )
;;; glicid/fabric-management.scm ends here

View file

@ -0,0 +1,95 @@
(define-module (glicid packages file-systems)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages linux)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages xml)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages nfs)
#:use-module (gnu packages openldap)
#:use-module (gnu packages tls)
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages flex)
#:use-module (gnu packages pkg-config)
)
(define-public autofs-glicid
(package
(name "autofs-glicid")
(version "5.1.8")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/daemons/autofs/"
"v" (version-major version) "/"
"autofs-" version ".tar.xz"))
(sha256
(base32 "1zf0fgf6kr9amxq5amlgsp1v13sizwl3wvx2xl7b4r2nhmci0gdk"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--enable-ignore-busy" ; during shutdown
"--enable-sloppy-mount" ; support mount(8) -s
"--with-libtirpc"
(string-append "--with-openldap="
(assoc-ref %build-inputs "openldap"))
(string-append "--with-sasl="
(assoc-ref %build-inputs "cyrus-sasl"))
; "HAVE_SSS_AUTOFS=1" ; required to make sssldir click
; (string-append "sssldir="
; (assoc-ref %build-inputs "sssd")
; "/lib/sssd/modules")
)
#:tests? #f ; no test suite
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-hard-coded-search-path
(lambda _
(substitute* "configure"
(("^searchpath=\".*\"")
"searchpath=\"$PATH\""))))
(add-before 'configure 'fix-rpath
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "Makefile.rules"
(("^AUTOFS_LIB_LINK.*=" match)
(string-append match " -Wl,-rpath=" out "/lib"))))))
(add-before 'install 'omit-obsolete-lookup_nis.so-link
;; Building lookup_yp.so depends on $(YPCLNT) but this doesn't,
;; leading to a make error. Since it's broken, comment it out.
(lambda _
(substitute* "modules/Makefile"
(("ln -fs lookup_yp.so" match)
(string-append "# " match))))))))
(native-inputs
(list bison flex pkg-config rpcsvc-proto))
(inputs
(list cyrus-sasl
e2fsprogs ; for e[234]fsck
libtirpc
libxml2 ; needed for LDAP, SASL
mit-krb5 ; needed for LDAP, SASL
nfs-utils ; for mount.nfs
openldap
openssl ; needed for SASL
; sssd
util-linux)) ; for mount, umount
;; XXX A directory index is the closest thing this has to a home page.
(home-page "https://www.kernel.org/pub/linux/daemons/autofs/")
(synopsis "Kernel-based automounter for Linux")
(description
"Autofs is a kernel-based automounter for use with the Linux autofs4
module. It automatically mounts selected file systems when they are used and
unmounts them after a set period of inactivity. This provides
centrally-managed, consistent file names for users and applications, even in a
large and/or frequently changing (network) environment.")
;; fedfs/ is GPL-2-only but not built.
(license (list license:bsd-3 ; modules/cyrus-sasl.c
license:gpl2+)))) ; the rest

View file

@ -1,176 +1,32 @@
(define-module (glicid packages gcc) (define-module (glicid packages gcc)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (gnu packages commencement) ;; for make-gcc-toolchain
#:use-module (guix git-download) #:use-module (gnu packages gcc) ;; for gcc-11
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
; #:use-module (guix licenses)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages commencement)
#:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:)
#:use-module ((guix utils) #:select (target-64bit?))
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages freeipmi)
#:use-module (gnu packages linux)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages parallel)
#:use-module (gnu packages storage)
#:use-module (gnu packages networking)
#:use-module (gnu packages gtk)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages commencement)
#:use-module (gnu packages gcc)
#:use-module (gnu packages chemistry)
#:use-module (gnu packages sphinx)
#:use-module (srfi srfi-1)
#:use-module (gnu packages mpi)
#:use-module (gnu packages sssd)
#:use-module (gnu packages fabric-management)
#:use-module (gnu packages benchmark)
#:use-module (gnu packages messaging)
#:use-module (gnu packages web)
#:use-module (gnu packages gnome)
#:use-module (gnu packages cluster)
#:use-module (gnu packages libevent)
#:use-module (gnu packages xorg)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages flex)
#:use-module (gnu packages bison)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools)
#:use-module (gnu packages fontutils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages image)
#:use-module (gnu packages maths)
#:use-module (guix utils)
#:use-module (gnu packages cmake)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages boost)
#:use-module (gnu packages curl)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages xml)
#:use-module (gnu packages admin)
#:use-module (gnu packages assembly)
#:use-module (gnu packages authentication)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages disk)
#:use-module (gnu packages gperf)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages nss)
#:use-module (gnu packages openldap)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
;; #:use-module (gnu packages glicid)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages virtualization)
) )
;; beware : access to internal functions… this is probably not the right way to do it …
(define* (custom-gcc gcc name languages (define custom-gcc (@@ (gnu packages gcc) custom-gcc) )
#:optional (define %generic-search-paths (@@ (gnu packages gcc) %generic-search-paths ))
(search-paths (package-native-search-paths gcc))
#:key (separate-lib-output? #t))
"Return a custom version of GCC that supports LANGUAGES. Use SEARCH-PATHS as the 'native-search-paths' field."
(package (inherit gcc)
(name name)
(outputs (if separate-lib-output?
(package-outputs gcc)
(delete "lib" (package-outputs gcc))))
(native-search-paths search-paths)
(properties (alist-delete 'hidden? (package-properties gcc)))
(arguments
(substitute-keyword-arguments (package-arguments gcc)
((#:modules modules %gnu-build-system-modules)
`(,@modules
(srfi srfi-1)
(srfi srfi-26)
(ice-9 regex)))
((#:configure-flags flags)
`(cons (string-append "--enable-languages="
,(string-join languages ","))
(remove (cut string-match "--enable-languages.*" <>)
,flags)))
((#:phases phases)
`(modify-phases ,phases
(add-after 'install 'remove-broken-or-conflicting-files
(lambda* (#:key outputs #:allow-other-keys)
(for-each delete-file
(find-files (string-append (assoc-ref outputs "out") "/bin")
".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))
#t))))))))
(define %generic-search-paths ;;
;; This is the language-neutral search path for GCC. Entries in $CPATH are
;; not considered "system headers", which means GCC can raise warnings for
;; issues in those headers. 'CPATH' is the only one that works for
;; front-ends not in the C family.
(list (search-path-specification
(variable "CPATH")
(files '("include")))
(search-path-specification
(variable "LIBRARY_PATH")
(files '("lib" "lib64")))))
(define-public gfortran-11 (define-public gfortran-11
(hidden-package (hidden-package
(custom-gcc gcc-11 "gfortran" '("fortran") (custom-gcc gcc-11 "gfortran" '("fortran")
%generic-search-paths))) %generic-search-paths
)
)
(define-public gfortran-10 )
(hidden-package
(custom-gcc gcc-10 "gfortran" '("fortran")
%generic-search-paths)))
(define-public gfortran-toolchain-10
(package (inherit (make-gcc-toolchain gfortran-10))
(synopsis "Complete GCC tool chain for fortean 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-toolchain-11 (define-public gfortran-toolchain-11
(package (inherit (make-gcc-toolchain gfortran-11)) (package
(synopsis "Complete GCC tool chain for fortean lang development") (inherit (make-gcc-toolchain gfortran-11))
(synopsis "Complete GCC tool chain for fortran lang development")
(description "This package provides a complete GCC tool chain for (description "This package provides a complete GCC tool chain for
fortran lang development to be installed in user profiles. This includes fortran lang development to be installed in user profiles. This includes
fortran, as well as libc (headers and binaries, plus debugging symbols fortran, as well as libc (headers and binaries, plus debugging symbols
in the @code{debug} output), and binutils."))) in the @code{debug} output), and binutils."
)
)
)
;;; glicid/gcc.scm ends here

View file

@ -90,7 +90,7 @@
;; #:use-module (gnu packages glicid) ;; #:use-module (gnu packages glicid)
#:use-module (gnu packages pretty-print) #:use-module (gnu packages pretty-print)
#:use-module (gnu packages virtualization) #:use-module (gnu packages virtualization)
#:use-module (glicid packages storage) ;; #:use-module (glicid packages storage)
#:use-module (glicid packages mpi) #:use-module (glicid packages mpi)
#:use-module (glicid packages gcc) #:use-module (glicid packages gcc)
@ -142,23 +142,6 @@
) )
) )
;(define-public glicid-gromacs-openmpi
; (package
; (inherit gromacs)
; (name "glicid-gromacs-openmpi")
; (inputs `(("openmpi", openmpi)
; ,@(package-inputs gromacs)))
; (build-system cmake-build-system)
; (arguments
; `(#:configure-flags configure-flags)
; (append configure-flags (list "-DGMX_MPI=on"
; "-DCMAKE_C_COMPILER=mpicc"
; "-DCMAKE_CXX_COMPILER=mpiicxx"
; ))
; )
; )
;)
(define-public glicid-gromacs-openmpi (define-public glicid-gromacs-openmpi
(package (package
@ -227,39 +210,6 @@
) )
;; pour futures customisations.
;(define-public glicid-openmpi-gcc-10
; (package
; (inherit openmpi)
; (name "glicid-openpmi-gcc-10")
; (inputs `(("gcc-10", gcc-10)
; ("gfortran-11", gfortran-11)
; ,@(package-inputs openmpi)))
; )
;)
(define-public glicid-gromacs-gcc-11
(package
(inherit gromacs)
(name "glicid-gromacs-gcc-11")
(version "2020.3")
(source
(origin
(method url-fetch)
(uri (string-append "http://ftp.gromacs.org/pub/gromacs/gromacs-" version ".tar.gz"))
(sha256 (base32 "1acjrhcfzpqy2dncblhj97602jbg9gdha4q1bgji9nrj25lq6cch"))
))
(inputs `(("gcc-11", gcc-11)
("gfortran-11", gfortran-11)
("glicid-openmpi-gcc-11", glicid-openmpi-gcc-11)
,@(package-inputs gromacs)))
))
(define-public glicid-python-nbxmpp (define-public glicid-python-nbxmpp
(package (package
(inherit python-nbxmpp) (inherit python-nbxmpp)
@ -290,89 +240,6 @@
) )
) )
(define-public glicid-specific-hdf5-parallel-openmpi
(package/inherit glicid-specific-hdf5 ;use the latest
(name "glicid-specific-hdf5-parallel-openmpi")
(inputs
`(("mpi" ,glicid-specific-openmpi)
,@(package-inputs glicid-specific-hdf5)))
(arguments
; `(
; #:tests? #f
(
substitute-keyword-arguments (package-arguments glicid-specific-hdf5)
((#:configure-flags flags)
``("--enable-parallel" "--disable-tests"
,@(delete "--enable-cxx"
(delete "--enable-threadsafe" ,flags))))
((#:phases phases)
`(modify-phases ,phases
(add-after 'build 'mpi-setup
,%openmpi-setup)
(add-before 'check 'patch-tests
(lambda _
;; OpenMPI's mpirun will exit with non-zero status if it
;; detects an "abnormal termination", i.e. any process not
;; calling MPI_Finalize(). Since the test is explicitly
;; avoiding MPI_Finalize so as not to have at_exit and thus
;; H5C_flush_cache from being called, mpirun will always
;; complain, so turn this test off.
(substitute* "testpar/Makefile"
(("(^TEST_PROG_PARA.*)t_pflush1(.*)" front back)
(string-append front back "\n")))
(substitute* "tools/test/h5diff/testph5diff.sh"
(("/bin/sh") (which "sh")))
#t))))
))
(synopsis "Management suite for data with parallel IO support")))
(define-public glicid-specific-openblas
(package
(inherit openblas)
(name "glicid-specific-openblas")
(inputs `(
("fortran-lib",gfortran-11 "lib")
,@(package-inputs openblas)))
(native-inputs `(
("gcc", gcc-11)
("fortran" ,gfortran-11)
,@(package-native-inputs openblas)))
)
)
(define-public glicid-vspecific-openblas
(package
(inherit openblas)
(name "glicid-vspecific-openblas")
(version "0.3.15")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/xianyi/OpenBLAS/releases/download/v" version "/OpenBLAS-" version ".tar.gz" ))
; (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1gjbkrsh6n28hdp2ciyjigc8vg764d2r0jbzl63v753mjzn9va9h"))))
(name "glicid-specific-openblas")
(inputs `(
("fortran-lib",gfortran-11 "lib")
,@(package-inputs openblas)))
(native-inputs `(
("gcc", gcc-11)
("fortran" ,gfortran-11)
,@(package-native-inputs openblas)))
)
)
(define-public glicid-motif (define-public glicid-motif
(package (package
@ -427,8 +294,9 @@
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://oauth2:9i-PgbC2w_JEx6DUUqzf@gitlab.univ-nantes.fr/CCIPL/legacy_code_mirror/grace.git") (url "https://oauth2:glpat-RsX2GjsD2WrzXubiJeou@gitlab.univ-nantes.fr/CCIPL/legacy_code_mirror/grace.git")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32 "1wb8v0q8xa2akas0swpgdgw1s66i50k7kh1g2f894hnk91fzx56z")) (sha256 (base32 "1wb8v0q8xa2akas0swpgdgw1s66i50k7kh1g2f894hnk91fzx56z"))
) )
) )
@ -537,6 +405,6 @@
) )
) )
;; python-glances is now upstreamed as glances in python-xyz
;;; glicid.scm ends here ;;; glicid.scm ends here

View file

@ -1,103 +1,13 @@
(define-module (glicid packages gnome) (define-module (glicid packages gnome)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
; #:use-module (guix licenses)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages commencement)
#:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:)
#:use-module ((guix utils) #:select (target-64bit?))
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages freeipmi)
#:use-module (gnu packages linux)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages parallel)
#:use-module (gnu packages storage)
#:use-module (gnu packages networking)
#:use-module (gnu packages gtk)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages commencement)
#:use-module (gnu packages gcc)
#:use-module (gnu packages chemistry)
#:use-module (gnu packages sphinx)
#:use-module (srfi srfi-1)
#:use-module (gnu packages mpi)
#:use-module (gnu packages sssd)
#:use-module (gnu packages fabric-management)
#:use-module (gnu packages benchmark)
#:use-module (gnu packages messaging)
#:use-module (gnu packages web)
#:use-module (gnu packages gnome)
#:use-module (gnu packages cluster)
#:use-module (gnu packages libevent)
#:use-module (gnu packages xorg)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages flex)
#:use-module (gnu packages bison)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools)
#:use-module (gnu packages fontutils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages image)
#:use-module (gnu packages maths)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages cmake) #:use-module (gnu packages sssd)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages boost)
#:use-module (gnu packages curl)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages xml)
#:use-module (gnu packages admin)
#:use-module (gnu packages assembly)
#:use-module (gnu packages authentication)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages disk)
#:use-module (gnu packages gperf)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages nss)
#:use-module (gnu packages openldap)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
;; #:use-module (gnu packages glicid)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (glicid utils)
#:use-module (glicid packages vpn)
) )
;;;;;;;;
(define-public glicid-terminator (define-public glicid-terminator
(package (package
(inherit terminator) (inherit terminator)
@ -106,8 +16,36 @@
`( `(
("sssd" ,sssd) ("sssd" ,sssd)
,@(package-propagated-inputs terminator) ,@(package-propagated-inputs terminator)
)
)) )
) )
) )
(define-public network-manager-openconnect-upstream
(package
(inherit network-manager-openconnect)
(name "network-manager-openconnect-upstream")
(version "1.2.8")
; (version "1.2.7")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/NetworkManager-openconnect/"
(version-major+minor version)
"/NetworkManager-openconnect-" version ".tar.xz"))
(sha256
(base32
"1k6d6cv2c9v8gf0f2js6cklr3ijhaanbz0nhvlwy5n42bmwamvax"))))
)
)
(define-public network-manager-openconnect-glicid
(transform-package
(
(instead-of "openconnect" openconnect-upstream)
network-manager-openconnect
) "glicid"
)
)

2911
glicid/packages/golang.scm Normal file

File diff suppressed because it is too large Load diff

View file

@ -2,145 +2,328 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
; #:use-module (guix licenses)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages commencement)
#:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module ((guix utils) #:select (target-64bit?))
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages freeipmi)
#:use-module (gnu packages linux)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages parallel)
#:use-module (gnu packages storage)
#:use-module (gnu packages networking)
#:use-module (gnu packages gtk)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages commencement)
#:use-module (gnu packages gcc)
#:use-module (gnu packages chemistry)
#:use-module (gnu packages sphinx)
#:use-module (srfi srfi-1)
#:use-module (gnu packages mpi)
#:use-module (gnu packages sssd)
#:use-module (gnu packages fabric-management)
#:use-module (gnu packages benchmark)
#:use-module (gnu packages messaging)
#:use-module (gnu packages web)
#:use-module (gnu packages gnome)
#:use-module (gnu packages cluster)
#:use-module (gnu packages libevent)
#:use-module (gnu packages xorg)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages flex)
#:use-module (gnu packages bison)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools)
#:use-module (gnu packages fontutils)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages image) #:use-module (guix build-system go)
#:use-module (gnu packages maths) #:use-module (gnu packages backup)
#:use-module (guix utils)
#:use-module (gnu packages cmake)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages boost)
#:use-module (gnu packages curl)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages xml)
#:use-module (gnu packages admin)
#:use-module (gnu packages assembly)
#:use-module (gnu packages authentication)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup) #:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl) #:use-module (gnu packages golang)
#:use-module (gnu packages databases) #:use-module ((gnu packages linux) #:prefix gnu:)
#:use-module (gnu packages disk) #:use-module (gnu packages linux) ;; yes : redundant FIXIT
#:use-module (gnu packages gperf) #:use-module (gnu system uuid)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages nss)
#:use-module (gnu packages openldap)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages web) #:use-module (glicid packages golang)
;; #:use-module (gnu packages glicid) #:use-module (glicid utils)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages virtualization)
#:use-module (glicid packages gcc)
) )
(define-public rdma-core-upstream-37.1
(define-public glicid-rdma-core (package
(package (inherit gnu:rdma-core)
(inherit rdma-core) (name (string-append (package-name gnu:rdma-core) "-upstream" ))
(name "glicid-rdma-core")
(version "37.1") (version "37.1")
(source (origin (source
(origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/linux-rdma/rdma-core" (uri (string-append "https://github.com/linux-rdma/rdma-core/releases/download/v" version "/rdma-core-" version ".tar.gz"))
"/releases/download/v" version "/rdma-core-" (sha256 (base32 "1hjwagf5x48vgshy5s01qjlzjr8kmxpflfcvh8pgj3zbj82zzxiz"))
version ".tar.gz")) )
(sha256 )
(base32
"1hjwagf5x48vgshy5s01qjlzjr8kmxpflfcvh8pgj3zbj82zzxiz"))))
) )
) )
(define-public rdma-core-upstream-38.0
(define-public glicid-rdma-core-gcc-11 (package
(package (inherit gnu:rdma-core)
(inherit glicid-rdma-core) (name (string-append (package-name gnu:rdma-core) "-upstream" ))
(name "glicid-rdma-core-gcc-11") (version "38.0")
(inputs `(("gcc-11", gcc-11) (source
,@(package-inputs rdma-core))) (origin
(method url-fetch)
(uri (string-append "https://github.com/linux-rdma/rdma-core/releases/download/v" version "/rdma-core-" version ".tar.gz"))
(sha256 (base32 "043vybwx9kz4mbbmnj0jzkzsw02vzhkkjc5j3yjdiiqkmsgwr3cs"))
)
)
) )
) )
(define-public rdma-core-upstream-39.0
(package
(inherit gnu:rdma-core)
(name (string-append (package-name gnu:rdma-core) "-upstream" ))
(version "39.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/linux-rdma/rdma-core/releases/download/v" version "/rdma-core-" version ".tar.gz"))
(sha256 (base32 "0y13px3qgyh3szywjhikw183y54iym9sa60aw0sf51p3kzgg1spn"))
)
)
)
)
(define-public glicid-libfabric (define local-rdma-core rdma-core-upstream-39.0)
(package
(inherit libfabric) (define-public rdma-core-latest (latest-version local-rdma-core gnu:rdma-core))
(name "glicid-libfabric")
(define-public libfabric-upstream-1.13.1
(package
(inherit gnu:libfabric)
(version "1.13.1") (version "1.13.1")
(name (string-append (package-name gnu:libfabric) "-upstream" ))
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ofiwg/libfabric/releases/download/v" version "/libfabric-" version ".tar.bz2"))
(sha256 (base32 "03nkhqjjyw3hwhxrn7rg30qc1gzc1r7p7lymyz5s96m3qhwfsvlf"))
)
)
)
)
(define-public libfabric-upstream-1.14.0
(package
(inherit gnu:libfabric)
(version "1.14.0")
(name (string-append (package-name gnu:libfabric) "-upstream" ))
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ofiwg/libfabric/releases/download/v" version "/libfabric-" version ".tar.bz2"))
(sha256 (base32 "16klkzkg04wb699mqpi8mn2r8sqzj35zalynbdazyg4ghj4169pw"))
)
)
)
)
(define-public libfabric-upstream-1.14.1
(package
(inherit gnu:libfabric)
(version "1.14.1")
(name (string-append (package-name gnu:libfabric) "-upstream" ))
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ofiwg/libfabric/releases/download/v" version "/libfabric-" version ".tar.bz2"))
(sha256 (base32 "1vca7p5cczlrayglps8ibdy0fz9nb9pm04jj07cikr58pjabpykc"))
)
)
) )
) )
(define-public glicid-libfabric-gcc-11 (define-public libfabric-upstream-1.15.0
(package (package
(inherit glicid-libfabric) (inherit gnu:libfabric)
(name "glicid-libfabric-gcc-11") (version "1.15.0")
(name (string-append (package-name gnu:libfabric) "-upstream" ))
(inputs `(("gcc-11", gcc-11) (source
("rdma-core", glicid-rdma-core-gcc-11) (origin
,@(package-inputs glicid-libfabric))) (method url-fetch)
(uri (string-append "https://github.com/ofiwg/libfabric/releases/download/v" version "/libfabric-" version ".tar.bz2"))
(sha256 (base32 "1slvgih7y7mb30mvnvxm31k202z48pb3yh98vcfmpsyyx9c2r63h"))
)
)
) )
) )
;;; glicid/linux.scm ends here (define-public libfabric-opx-beta-upstream-1.14.0-c
(let ((commit "e127cd074bbfd8c50b9f3cfb5b8e24162f8076a4"))
(package
(inherit gnu:libfabric)
(version "1.14.0c")
(name (string-append (package-name gnu:libfabric) "-opx-beta-upstream" ))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ofiwg/libfabric.git")
(commit commit)
))
(file-name (git-file-name name version))
(sha256 (base32 "0fh665l2xcl59zhbn63y5bm8v9s652gk5s8r094qb4if0bp3in04"))
)
)
(inputs `(
("autoconf", autoconf)
("automake", automake)
("libtool", libtool)
("libuuid" , util-linux "lib")
("numactl" , gnu:numactl)
("psm2" , gnu:psm2)
,@(package-inputs gnu:libfabric)))
)
)
)
(define-public libfabric-opx-beta-upstream-1.14.0-d
(let ((commit "e127cd074bbfd8c50b9f3cfb5b8e24162f8076a4"))
(package
(inherit gnu:libfabric)
(version "1.14.0d")
(name (string-append (package-name gnu:libfabric) "-opx-beta-upstream" ))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ofiwg/libfabric.git")
(commit commit)
))
(file-name (git-file-name name version))
(sha256 (base32 "0fh665l2xcl59zhbn63y5bm8v9s652gk5s8r094qb4if0bp3in04"))
)
)
(inputs `(
("autoconf", autoconf)
("automake", automake)
("libtool", libtool)
("libuuid" , util-linux "lib")
("numactl" , gnu:numactl)
; ("psm2" , gnu:psm2) ; intended : no psm2
,@(package-inputs gnu:libfabric)))
)
)
)
;(define local-libfabric libfabric-opx-beta-upstream-1.14.0-c)
;(define local-libfabric libfabric-opx-beta-upstream-1.14.0-d)
;(define local-libfabric libfabric-upstream-1.14.1)
(define local-libfabric libfabric-upstream-1.15.0)
(define-public libfabric-latest (latest-version local-libfabric gnu:libfabric))
;(define-public apptainer
; (package
; (name "apptainer")
; (version "1.0.1")
; (source
; (origin
; (method git-fetch)
; (uri (git-reference
; (url "https://github.com/apptainer/apptainer/")
; (commit "a308dd1a664a0bf01ff74b39c69d07442c7fac4f")
; ))
; (sha256 (base32 "0k2fkwlvp72vh07a7m1sdzj1f3zml9y5mligzhnscs7zzlv5s28j"))
; (modules '((srfi srfi-26)))
; (snippet
; '(call-with-output-file "VERSION" (cut display version <>))
; )
; )
; )
; (home-page "https://apptainer.org/")
; (synopsis "THE CONTAINER SYSTEM FOR SECURE HIGH PERFORMANCE COMPUTING")
; (description "Apptainer/Singularity is the most widely used container system for HPC.
; It is designed to execute applications at bare-metal performance while
; being secure, portable, and 100% reproducible. Apptainer is an
; open-source project with a friendly community of developers and users.
; The user base continues to expand, with Apptainer/Singularity now used
; across industry and academia in many areas of work."
; )
; (license license:bsd-3)
; (build-system gnu-build-system)
; (inputs `(
; ("libarchive", libarchive)
; ("python", python-wrapper)
; ("zlib", zlib)
; ("squashfs-tools", squashfs-tools)
; ("openssl", openssl)
; ("libseccomp", gnu:libseccomp)
; ("cryptsetup", cryptsetup)
; ("go", go-1.17)
; ("pkg-config", pkg-config)
; ("go-github-com-netflix-go-expect-0.0.0-20220104043353-73e0943537d2", go-github-com-netflix-go-expect-0.0.0-20220104043353-73e0943537d2)
; ("go-github-com-protonmail-go-crypto-0.0.0-20220113124808-70ae35bab23f", go-github-com-protonmail-go-crypto-0.0.0-20220113124808-70ae35bab23f)
; ("go-github-com-adigunhammedolalekan-registry-auth-0.0.0-20200730122110-8cde180a3a60", go-github-com-adigunhammedolalekan-registry-auth-0.0.0-20200730122110-8cde180a3a60)
; ("go-github-com-apex-log-1.9.0", go-github-com-apex-log-1.9.0)
; ("go-github-com-apptainer-container-key-client-0.7.2", go-github-com-apptainer-container-key-client-0.7.2)
; ("go-github-com-apptainer-container-library-client-1.2.2", go-github-com-apptainer-container-library-client-1.2.2)
; ("go-github-com-apptainer-sif-v2-2.3.2", go-github-com-apptainer-sif-v2-2.3.2)
; ("go-github-com-blang-semver-v4-4.0.0", go-github-com-blang-semver-v4-4.0.0)
; ("go-github-com-buger-jsonparser-1.1.1", go-github-com-buger-jsonparser-1.1.1)
; ("go-github-com-cenkalti-backoff-v4-4.1.2", go-github-com-cenkalti-backoff-v4-4.1.2)
; ("go-github-com-containerd-cgroups-1.0.3", go-github-com-containerd-cgroups-1.0.3)
; ("go-github-com-containerd-containerd-1.6.0", go-github-com-containerd-containerd-1.6.0)
; ("go-github-com-containernetworking-cni-1.0.1", go-github-com-containernetworking-cni-1.0.1)
; ("go-github-com-containernetworking-plugins-1.1.0", go-github-com-containernetworking-plugins-1.1.0)
; ("go-github-com-containers-image-v5-5.19.1", go-github-com-containers-image-v5-5.19.1)
; ("go-github-com-creack-pty-1.1.17", go-github-com-creack-pty-1.1.17)
; ("go-github-com-cyphar-filepath-securejoin-0.2.3", go-github-com-cyphar-filepath-securejoin-0.2.3)
; ("go-github-com-docker-docker-20.10.12+incompatible", go-github-com-docker-docker-20.10.12+incompatible)
; ("go-github-com-fatih-color-1.13.0", go-github-com-fatih-color-1.13.0)
; ("go-github-com-go-log-log-0.2.0", go-github-com-go-log-log-0.2.0)
; ("go-github-com-google-uuid-1.3.0", go-github-com-google-uuid-1.3.0)
; ("go-github-com-opencontainers-go-digest-1.0.0", go-github-com-opencontainers-go-digest-1.0.0)
; ("go-github-com-opencontainers-image-spec-1.0.3-0.20211202193544-a5463b7f9c84", go-github-com-opencontainers-image-spec-1.0.3-0.20211202193544-a5463b7f9c84)
; ("go-github-com-opencontainers-runtime-spec-1.0.3-0.20210326190908-1c3f411f0417", go-github-com-opencontainers-runtime-spec-1.0.3-0.20210326190908-1c3f411f0417)
; ("go-github-com-opencontainers-runtime-tools-0.9.1-0.20210326182921-59cdde06764b", go-github-com-opencontainers-runtime-tools-0.9.1-0.20210326182921-59cdde06764b)
; ("go-github-com-opencontainers-selinux-1.10.0", go-github-com-opencontainers-selinux-1.10.0)
; ("go-github-com-opencontainers-umoci-0.4.7", go-github-com-opencontainers-umoci-0.4.7)
; ("go-github-com-pelletier-go-toml-1.9.4", go-github-com-pelletier-go-toml-1.9.4)
; ("go-github-com-pkg-errors-0.9.1", go-github-com-pkg-errors-0.9.1)
; ("go-github-com-seccomp-containers-golang-0.6.0", go-github-com-seccomp-containers-golang-0.6.0)
; ("go-github-com-seccomp-libseccomp-golang-0.9.2-0.20210429002308-3879420cc921", go-github-com-seccomp-libseccomp-golang-0.9.2-0.20210429002308-3879420cc921)
; ("go-github-com-spf13-cobra-1.3.0", go-github-com-spf13-cobra-1.3.0)
; ("go-github-com-spf13-pflag-1.0.5", go-github-com-spf13-pflag-1.0.5)
; ("go-github-com-sylabs-json-resp-0.8.0", go-github-com-sylabs-json-resp-0.8.0)
; ("go-github-com-vbauerster-mpb-v7-7.4.1", go-github-com-vbauerster-mpb-v7-7.4.1)
; ("go-golang-org-x-sys-0.0.0-20220209214540-3681064d5158", go-golang-org-x-sys-0.0.0-20220209214540-3681064d5158)
; ("go-golang-org-x-term-0.0.0-20210916214954-140adaaadfaf", go-golang-org-x-term-0.0.0-20210916214954-140adaaadfaf)
; ("go-gopkg-in-yaml-v2-2.4.0", go-gopkg-in-yaml-v2-2.4.0)
; ("go-gotest-tools-v3-3.1.0", go-gotest-tools-v3-3.1.0)
; ("go-mvdan-cc-sh-v3-3.4.3-0.20220202175809-113ed667a8a7", go-mvdan-cc-sh-v3-3.4.3-0.20220202175809-113ed667a8a7)
; ("go-oras-land-oras-go-1.1.0", go-oras-land-oras-go-1.1.0)
; ("go-github-com-opencontainers-image-spec-1.0.2-0.20211117181255-693428a734f5", go-github-com-opencontainers-image-spec-1.0.2-0.20211117181255-693428a734f5)
; ("go-github-com-moby-sys-0.0.0-20220308220145-03355939d693", go-github-com-moby-sys-0.0.0-20220308220145-03355939d693)
; ("go-github-com-urfave-cli-1.22.5", go-github-com-urfave-cli-1.22.5)
; ("go-github-com-xeipuuv-gojsonpointer-0.0.0-20190905194746-02993c407bfb", go-github-com-xeipuuv-gojsonpointer-0.0.0-20190905194746-02993c407bfb)
; ("go-github-com-yvasiyarov-go-metrics-0.0.0-20150112132944-c25f46c4b940", go-github-com-yvasiyarov-go-metrics-0.0.0-20150112132944-c25f46c4b940)
; ("go-github-com-yvasiyarov-gorelic-0.0.6", go-github-com-yvasiyarov-gorelic-0.0.6)
; ("go-github-com-yvasiyarov-newrelic-platform-go-0.0.0-20160601141957-9c099fbc30e9", go-github-com-yvasiyarov-newrelic-platform-go-0.0.0-20160601141957-9c099fbc30e9)
; ))
; (arguments
; `(#:phases
; (modify-phases %standard-phases
; (replace 'configure
; (lambda* (#:key inputs native-inputs propagated-inputs configure-flags #:allow-other-keys)
; (begin
; (invoke "./mconfig" "--localstatedir=/var")
; )
; )
; )
; (replace 'build
; (lambda* (#:key inputs native-inputs propagated-inputs configure-flags #:allow-other-keys)
; (begin
; (invoke "make" "-C" "builddir")
; )
; )
; )
; (replace 'install
; (lambda* (#:key inputs native-inputs propagated-inputs configure-flags #:allow-other-keys)
; (begin
; (invoke "make" "-C" "builddir" "install")
; )
; )
; )
; )
; )
; )
; )
;)
;

65
glicid/packages/maths.scm Normal file
View file

@ -0,0 +1,65 @@
(define-module (glicid packages maths)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module ((gnu packages maths) #:prefix gnu:)
#:use-module (gnu packages commencement)
#:use-module (gnu packages mpi)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (gnu packages)
#:use-module (glicid utils)
)
(define-public scalapack-upstream
(package
(inherit gnu:scalapack)
(name "scalapack-upstream")
(version "2.1.0-new-upstream")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://oauth2:glpat-RsX2GjsD2WrzXubiJeou@gitlab.univ-nantes.fr/CCIPL/legacy_code_mirror/scalapack.git")
(commit "myv2.0.2")
)
)
(file-name "scalapack-univ-myv2")
; (patches (search-patches "scalapack-blacs-mpi-deprecations.patch"))
(sha256 (base32 "1ccic46psf2hl9wsyflvkn5rxg8k17q578m9mzimvm9brbggf0na" ))
)
)
(arguments
`(#:configure-flags `("-DBUILD_SHARED_LIBS:BOOL=YES")
#:phases (modify-phases %standard-phases
(add-before 'check 'mpi-setup
,%openmpi-setup
)
)
)
)
)
)
(define local:scalapack scalapack-upstream)
(define-public scalapack-latest (latest-version local:scalapack gnu:scalapack))
(define-public openblas-upstream-0.3.15
(package
(inherit gnu:openblas)
(name "openblas-upstream")
(version "0.3.15")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/xianyi/OpenBLAS/releases/download/v" version "/OpenBLAS-" version ".tar.gz" ))
(sha256 (base32 "1gjbkrsh6n28hdp2ciyjigc8vg764d2r0jbzl63v753mjzn9va9h"))
)
)
)
)
(define local:openblas openblas-upstream-0.3.15)
(define-public scalapack-latest (latest-version local:openblas gnu:openblas))

View file

@ -1,138 +1,80 @@
(define-module (glicid packages mpi) (define-module (glicid packages mpi)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module ((gnu packages mpi) #:prefix gnu:)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
; #:use-module (guix licenses)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages commencement)
#:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:)
#:use-module ((guix utils) #:select (target-64bit?))
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages freeipmi)
#:use-module (gnu packages linux)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages parallel)
#:use-module (gnu packages storage)
#:use-module (gnu packages networking)
#:use-module (gnu packages gtk)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages commencement)
#:use-module (gnu packages gcc)
#:use-module (gnu packages chemistry)
#:use-module (gnu packages sphinx)
#:use-module (srfi srfi-1)
#:use-module (gnu packages mpi)
#:use-module (gnu packages sssd)
#:use-module (gnu packages fabric-management)
#:use-module (gnu packages benchmark)
#:use-module (gnu packages messaging)
#:use-module (gnu packages web)
#:use-module (gnu packages gnome)
#:use-module (gnu packages cluster)
#:use-module (gnu packages libevent)
#:use-module (gnu packages xorg)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages flex)
#:use-module (gnu packages bison)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools)
#:use-module (gnu packages fontutils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages image)
#:use-module (gnu packages maths)
#:use-module (guix utils)
#:use-module (gnu packages cmake)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages boost)
#:use-module (gnu packages curl)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages xml)
#:use-module (gnu packages admin)
#:use-module (gnu packages assembly)
#:use-module (gnu packages authentication)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages disk)
#:use-module (gnu packages gperf)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages nss)
#:use-module (gnu packages openldap)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
;; #:use-module (gnu packages glicid)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages virtualization)
#:use-module (glicid packages gcc)
#:use-module (glicid packages linux) #:use-module (glicid packages linux)
#:use-module (glicid packages fabric-management) #:use-module (glicid packages fabric-management)
#:use-module (glicid utils)
#:use-module (guix utils)
#:use-module (glicid packages parallel)
#:use-module (gnu packages)
) )
(define-public glicid-openmpi (define-public openmpi-upstream-4.1.2
(package (package
(inherit openmpi) (inherit gnu:openmpi)
(name "glicid-openpmi") (name "openmpi-upstream")
(version "4.1.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.open-mpi.org/software/ompi/v"
(version-major+minor version)
"/downloads/openmpi-" version ".tar.bz2"))
(sha256 (base32 "09xmlr4mfs02kwcf5cmdgkcdjj81fjwjmpa3rz2k28f3gz7wfy4v"))
(patches (search-patches "openmpi-mtl-priorities.patch"))
)
)
) )
) )
(define local-openmpi openmpi-upstream-4.1.2)
(define-public glicid-openmpi-gcc-11 (define-public openmpi-latest (latest-version local-openmpi gnu:openmpi))
(define-public openmpi-glicid
(package (package
(inherit glicid-openmpi) (inherit
(name "glicid-openpmi-gcc-11") (transform-package ((instead-of "slurm" slurm-glicid) openmpi-latest) "glicid")
)
(inputs `(("gcc-11", gcc-11)
("gfortran-11", gfortran-11)
("glicid-ucx-gcc-11",glicid-ucx-gcc-11)
("glicid-rdma-core-gcc-11",glicid-rdma-core-gcc-11)
("libfabric",glicid-libfabric-gcc-11)
,@(package-inputs openmpi)))
) )
) )
(define-public openmpi-glicid-libfabric
(define-public glicid-specific-openmpi (transform-package ((instead-of "libfabric" libfabric-latest) openmpi-glicid) "libfabric")
(package
(inherit glicid-openmpi-gcc-11)
(name "glicid-specific-openmpi")
(inputs `(
("gcc",gcc-11)
("rdma-core",glicid-rdma-core-gcc-11)
("ucx",glicid-ucx-gcc-10)
("libfabric",glicid-libfabric-gcc-11)
; ("slurm", glicid-specific-slurm)
,@(package-inputs glicid-openmpi-gcc-11)))
)
) )
(define-public openmpi-glicid-rdma
(transform-package ((instead-of "rdma-core" rdma-core-latest) openmpi-glicid) "rdma-core")
)
(define-public openmpi-glicid-ucx
(transform-package ((instead-of "ucx" ucx-latest-glicid) openmpi-glicid) "ucx" )
)
(define-public openmpi-glicid-libfabric-rdma
(transform-package ((instead-of "rdma-core" rdma-core-latest) openmpi-glicid-libfabric) "rdma")
)
(define-public openmpi-glicid-libfabric-ucx
(transform-package ((instead-of "ucx" ucx-latest-glicid) openmpi-glicid-libfabric) "ucx")
)
(define-public openmpi-glicid-libfabric-rdma-ucx
(transform-package ((instead-of "ucx" ucx-latest-glicid) openmpi-glicid-libfabric-rdma) "ucx")
)
(define-public openmpi-glicid-libfabric-rdma-ucx-ccipl
(transform-package ((instead-of "slurm-glicid" slurm-ccipl) openmpi-glicid-libfabric-rdma-ucx) "ccipl")
)
(define openmpi-glicid-transform-gcc-11 (gcc11-instead-of-gcc openmpi-glicid))
(define-public openmpi-glicid-gcc-11
(package
(inherit openmpi-glicid-transform-gcc-11)
(name (string-append (package-name openmpi-glicid-transform-gcc-11) "-gcc-11" ))
)
)

View file

@ -0,0 +1,21 @@
(define-module (glicid packages networking)
#:use-module ((gnu packages networking) #:prefix gnu:)
#:use-module (guix download)
#:use-module (guix packages)
)
(define-public squid
(package
(inherit gnu:squid)
(name "squid")
(version "5.5")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.squid-cache.org/Versions/v5/squid-" version ".tar.xz"))
(sha256 (base32 "0v0h949l4wd1hl87a8wkk1fkvj8j44wifyxi9myxdgbnci6lh7af"))
)
)
)
)

View file

@ -4,127 +4,30 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
; #:use-module (guix licenses)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages commencement)
#:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module ((guix utils) #:select (target-64bit?))
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages freeipmi)
#:use-module (gnu packages linux)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages shells)
#:use-module (gnu packages parallel)
#:use-module (gnu packages storage)
#:use-module (gnu packages networking)
#:use-module (gnu packages gtk)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-science) #:use-module (gnu packages kerberos)
#:use-module (gnu packages python-web) #:use-module (gnu packages gsasl)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages readline) #:use-module (gnu packages onc-rpc)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages commencement)
#:use-module (gnu packages gcc)
#:use-module (gnu packages chemistry)
#:use-module (gnu packages sphinx)
#:use-module (srfi srfi-1)
#:use-module (gnu packages mpi)
#:use-module (gnu packages sssd)
#:use-module (gnu packages fabric-management)
#:use-module (gnu packages benchmark)
#:use-module (gnu packages messaging)
#:use-module (gnu packages web)
#:use-module (gnu packages gnome)
#:use-module (gnu packages cluster)
#:use-module (gnu packages libevent)
#:use-module (gnu packages xorg)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages datastructures)
#:use-module (gnu packages autotools) #:use-module (gnu packages file-systems)
#:use-module (gnu packages fontutils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages image)
#:use-module (gnu packages maths)
#:use-module (guix utils)
#:use-module (gnu packages cmake)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages boost)
#:use-module (gnu packages curl)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages xml)
#:use-module (gnu packages admin)
#:use-module (gnu packages assembly)
#:use-module (gnu packages authentication)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages disk)
#:use-module (gnu packages gperf)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages lua) #:use-module (gnu packages jemalloc)
#:use-module (gnu packages ncurses) #:use-module (gnu packages storage)
#:use-module (gnu packages networking) ; #:use-module (glicid packages storage)
#:use-module (gnu packages nss)
#:use-module (gnu packages openldap)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
;; #:use-module (gnu packages glicid)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages virtualization)
#:use-module (glicid packages storage)
#:use-module (glicid packages mpi)
#:use-module (glicid packages gcc)
#:use-module (gnu packages image)
#:use-module (gnu packages perl)
#:use-module (gnu packages shells)
#:use-module (gnu packages python)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages gsasl)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages storage)
#:use-module (gnu packages file-systems)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages onc-rpc)
) )
;; https://github.com/nfs-ganesha/nfs-ganesha/archive/refs/tags/V3.5.tar.gz
(define-public nfs-ganesha (define-public nfs-ganesha
(package (package
(name "nfs-ganesha") (name "nfs-ganesha")
(version "3.5") (version "3.5")
(source (origin (source
; (method url-fetch) (origin
; (uri (string-append
; "https://github.com/nfs-ganesha/nfs-ganesha/archive/refs/tags/V" version ".tar.gz"))
;
;
; (sha256 (base32 "0545c6snmx66vpa427ij21md81vi5xa2v77428i4pq6fk6mgm06r"))
; )
; )
(method git-fetch) (method git-fetch)
(uri (uri
(git-reference (git-reference
@ -135,82 +38,40 @@
) )
(sha256 (base32 "0rdg3mjqrr4a8mywxkfis25gkbn4fylw42hg1d9cvp4dwrjk3hl4")) (sha256 (base32 "0rdg3mjqrr4a8mywxkfis25gkbn4fylw42hg1d9cvp4dwrjk3hl4"))
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
) )
) )
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments `(
`( #:configure-flags (list
;; #:validate-runpath? #f ;; we should know why (string-append "-DLIB_INSTALL_DIR=" (assoc-ref %outputs "out") "/lib" )
#:configure-flags
(list ;; Defaults to "lib64" on 64-bit archs.
(string-append
; "-DCMAKE_INSTALL_LIBDIR="
; (assoc-ref %outputs "out") "/lib"
"-DLIB_INSTALL_DIR="
(assoc-ref %outputs "out") "/lib"
; "-DCMAKE_INSTALL_RPATH="
; (assoc-ref %outputs "out")
; "/lib:"
; (assoc-ref %outputs "out")
; "/lib64"
) )
#:phases (modify-phases %standard-phases
(add-after 'unpack 'chdir (
lambda _ (chdir "src")
#t
))
) )
))
#:phases (inputs `(
(modify-phases %standard-phases
(add-after 'unpack 'chdir (lambda _ (chdir "src") #t)
)
)
)
)
; (native-search-paths
; (list
; (search-path-specification
; (variable "LIBRARY_PATH")
; (files '("lib" "lib64"))
; )
; )
; )
(inputs
`(
("perl", perl) ("perl", perl)
("oksh",oksh) ("oksh", oksh)
("python-3",python-3) ("python-3", python-3)
("mit-krb5",mit-krb5) ("mit-krb5", mit-krb5)
("gss",gss) ("gss", gss)
("pkg-config",pkg-config) ("pkg-config", pkg-config)
("jemalloc",jemalloc) ("jemalloc", jemalloc)
("ceph:lib",ceph "lib") ;; will use latest gnu or glicid ceph ("ceph:lib", ceph "lib")
("libnfsidmap",libnfsidmap) ("libnfsidmap", libnfsidmap)
("libnfs",libnfs) ("libnfs", libnfs)
; ("xfsprogs",xfsprogs) ("liburcu", liburcu)
("liburcu",liburcu) ("bison", bison)
("bison",bison) ("flex", flex)
("flex",flex) ("libnsl", libnsl)
("libnsl",libnsl) ("util-linux", util-linux "lib")
("util-linux" ,util-linux "lib") ;; uuid.h ))
(synopsis "nfs-ganesha")
) (description "NFS-Ganesha.")
)
;; placeholders
(synopsis "nfs-ganesha")
(description
"NFS-Ganesha.
bla.")
(home-page "https://") (home-page "https://")
(license license:gpl3+)) (license license:gpl3+)
;) )
; )
;)
) )
;;; glicid/nfs.scm ends here

View file

@ -4,10 +4,11 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module ((guix licenses) #:select (asl2.0)) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages geo)
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
@ -17,6 +18,88 @@
#:use-module (glicid packages openldap) #:use-module (glicid packages openldap)
) )
(define-public nginx
(package
(name "nginx")
(version "1.21.6")
(source (origin
(method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz"))
(sha256 (base32 "1bh52jqqcaj5wlh2kvhxr00jhk2hnk8k97ki4pwyj4c8920p1p36"))))
(build-system gnu-build-system)
(inputs (list libxml2 libxslt openssl pcre zlib))
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-/bin/sh
(lambda _
(substitute* "auto/feature"
(("/bin/sh") (which "sh")))
#t))
(replace 'configure
;; The configure script is hand-written, not from GNU autotools.
(lambda* (#:key configure-flags inputs outputs #:allow-other-keys)
(let ((flags
(append (list (string-append "--prefix=" (assoc-ref outputs "out"))
"--with-http_ssl_module"
"--with-http_v2_module"
"--with-http_xslt_module"
"--with-http_gzip_static_module"
"--with-http_gunzip_module"
"--with-http_addition_module"
"--with-http_sub_module"
"--with-pcre-jit"
"--with-debug"
"--with-stream"
;; Even when not cross-building, we pass the
;; --crossbuild option to avoid customizing for the
;; kernel version on the build machine.
,(let ((system "Linux") ; uname -s
(release "3.2.0") ; uname -r
;; uname -m
(machine (match (or (%current-target-system)
(%current-system))
("x86_64-linux" "x86_64")
("i686-linux" "i686")
("mips64el-linux" "mips64")
(_ "UNSUPPORTED"))))
(string-append "--crossbuild=" system ":" release ":" machine)
))
configure-flags)))
(setenv "CC" ,(cc-for-target))
(setenv "CFLAGS" ; CPPFLAGS is not respected
(string-append "-I" (assoc-ref inputs "libxml2")
"/include/libxml2"))
(format #t "configure flags: ~s~%" flags)
(apply invoke "./configure" flags)
#t)))
(add-after 'install 'install-man-page
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man (string-append out "/share/man")))
(install-file "objs/nginx.8" (string-append man "/man8"))
#t)))
(add-after 'install 'fix-root-dirs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/nginx")))
(rmdir (string-append out "/logs"))
(mkdir-p share)
(rename-file (string-append out "/conf")
(string-append share "/conf"))
(rename-file (string-append out "/html")
(string-append share "/html"))
#t))))))
(home-page "https://nginx.org")
(synopsis "HTTP and reverse proxy server")
(description
"Nginx (\"engine X\") is a high-performance web and reverse proxy server
created by Igor Sysoev. It can be used both as a stand-alone web server
and as a proxy to reduce the load on back-end HTTP or mail servers.")
(license (list license:bsd-2 license:expat license:bsd-3 license:bsd-4))))
(define-public nginx-ldap-auth-module (define-public nginx-ldap-auth-module
(package (package
(inherit nginx) (inherit nginx)
@ -87,14 +170,13 @@
(method url-fetch) (method url-fetch)
(uri (list (uri (list
(string-append "https://github.com/SpiderLabs/ModSecurity/releases/download/v" version "/modsecurity-v" version ".tar.gz") (string-append "https://github.com/SpiderLabs/ModSecurity/releases/download/v" version "/modsecurity-v" version ".tar.gz")
) ))
)
(sha256 (base32 "1sarp7bjvkkdlpky5j9axfi0qmb177vw2vn2s10c8fcdg9dgj6vm" )) (sha256 (base32 "1sarp7bjvkkdlpky5j9axfi0qmb177vw2vn2s10c8fcdg9dgj6vm" ))
) )
) )
(synopsis "modsecurity module for nginx") (synopsis "modsecurity module for nginx")
(description "modsecurity module for nginx.") (description "modsecurity module for nginx.")
(license asl2.0) (license license:asl2.0)
(home-page "https://github.com/SpiderLabs/ModSecurity") (home-page "https://github.com/SpiderLabs/ModSecurity")
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `( (inputs `(
@ -129,8 +211,7 @@
(method url-fetch) (method url-fetch)
(uri (list (uri (list
(string-append "https://github.com/SpiderLabs/ModSecurity-nginx/releases/download/v" version "/modsecurity-nginx-v" version ".tar.gz") (string-append "https://github.com/SpiderLabs/ModSecurity-nginx/releases/download/v" version "/modsecurity-nginx-v" version ".tar.gz")
) ))
)
(sha256 (base32 "0clcny8276d3j73ws661lh983vqq9m29rw7qb7gn132ha066d9j1" )) (sha256 (base32 "0clcny8276d3j73ws661lh983vqq9m29rw7qb7gn132ha066d9j1" ))
) )
) )
@ -177,4 +258,63 @@
) )
) )
) )
nginx-modsecurity-module
(define-public nginx-geoip2-module
(package
(inherit nginx)
(name "nginx-geoip2-module")
(version "3.3")
(source
(origin
(method url-fetch)
(uri (list
(string-append "https://github.com/leev/ngx_http_geoip2_module/archive/refs/tags/" version ".tar.gz")
))
(sha256 (base32 "19vqzwr6gaqkh3b7zbxc61f87d044ykw9l39i2hi7qrkr0w88ds1" ))
)
)
(synopsis "GeoIP2 module for nginx")
(description "GeoIP2 module for nginx.")
(build-system gnu-build-system)
(inputs
`(("nginx-sources" ,(package-source nginx))
("libmaxminddb", libmaxminddb)
,@(package-inputs nginx)))
(arguments
(substitute-keyword-arguments
`(#:configure-flags '("--add-dynamic-module=.")
#:make-flags '("modules")
,@(package-arguments nginx)
)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'unpack-nginx-sources
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(begin
;; The nginx source code is part of the modules source.
(format #t "decompressing nginx source code~%")
(let ((tar (assoc-ref inputs "tar")) (nginx-srcs (assoc-ref inputs "nginx-sources")))
(invoke (string-append tar "/bin/tar") "xvf" nginx-srcs "--strip-components=1")
)
#t
)
)
)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((modules-dir (string-append (assoc-ref outputs "out") "/etc/nginx/modules")))
(install-file "objs/ngx_http_geoip2_module.so" modules-dir)
(install-file "objs/ngx_stream_geoip2_module.so" modules-dir)
#t
)
)
)
(delete 'fix-root-dirs)
(delete 'install-man-page)
)
)
)
)
)
)

View file

@ -1,58 +1,67 @@
(define-module (glicid packages openldap) (define-module (glicid packages openldap)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix download) #:use-module (guix download)
#: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 openldap) #:prefix gnu:)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages groff)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
#:use-module ((gnu packages openldap) #:prefix gnu:)
#:use-module (gnu packages password-utils) #:use-module (gnu packages password-utils)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
) )
(define-public openldap (define-public openldap
(package (package
(inherit gnu:openldap)
(name "openldap") (name "openldap")
(version "2.5.7") (version "2.6.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (uri (list
(string-append "https://www.openldap.org/software/download/OpenLDAP/" "openldap-release/openldap-" version ".tgz") (string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")
(string-append "http://gpl.savoirfairelinux.net/pub/mirrors/openldap/" "openldap-release/openldap-" version ".tgz")
(string-append "http://repository.linagora.org/OpenLDAP/" "openldap-release/openldap-" version ".tgz")
(string-append "ftp://ftp.ntua.gr/mirror/OpenLDAP/" "openldap-release/openldap-" version ".tgz")
(string-append "https://mirror-hk.koddos.net/OpenLDAP/" "openldap-release/openldap-" version ".tgz")
(string-append "ftp://ftp.dti.ad.jp/pub/net/OpenLDAP/" "openldap-release/openldap-" version ".tgz")
(string-append "https://mirror.koddos.net/OpenLDAP/" "openldap-release/openldap-" version ".tgz")
(string-append "https://mirror.lyrahosting.com/OpenLDAP/" "openldap-release/openldap-" version ".tgz")
)) ))
(sha256 ( base32 "1ayr76sa5hjwldqzis5v71sbp88hd3hysc00gw1raqn33c05g5za" )) (sha256 (base32 "11ygl4iilhkz5rhndh68lss4a33cqp9arb7mxj329dif4d2r7l41"))
) )
) )
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `( (inputs (list argon2 cyrus-sasl libevent libgcrypt libltdl lz4 openssl perl snappy unixodbc wiredtiger zlib))
("libltdl", libltdl) (native-inputs (list bdb groff libtool pkg-config))
("pkg-config", pkg-config)
("libevent", libevent)
("openssl", openssl)
("argon2", argon2)
("wiredtiger", wiredtiger)
("snappy", snappy)
("lz4", lz4)
,@(package-inputs gnu:openldap)
))
(arguments '( (arguments '(
; this is needed because the make check does not work inside guix ; this is needed because the make check does not work inside guix
#:tests? #f #:tests? #f
#:configure-flags '( #:configure-flags '(
"--enable-debug" "--enable-dynamic" "--enable-syslog" "--enable-ipv6" "--enable-local" "--enable-slapd" "--enable-dynacl" "--enable-debug"
"--enable-aci" "--enable-cleartext" "--enable-crypt" "--enable-spasswd" "--enable-modules" "--enable-rlookups" "--enable-slapi" "--enable-dynamic"
"--enable-backends=mod" "--enable-overlays=mod" "--enable-argon2" "--enable-balancer" "--disable-static" "--enable-syslog"
"--enable-shared" "--with-tls=openssl" "--enable-ipv6"
"--enable-local"
"--enable-slapd"
"--enable-dynacl"
"--enable-aci"
"--enable-cleartext"
"--enable-crypt"
"--enable-spasswd"
"--enable-modules"
"--enable-rlookups"
"--enable-slapi"
"--enable-backends=mod"
"--enable-overlays=mod"
"--enable-argon2"
"--enable-balancer"
"--disable-static"
"--enable-shared"
"--with-tls=openssl"
) )
#:make-flags '("STRIP=") #:make-flags '("STRIP=")
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
@ -63,5 +72,267 @@
) )
) )
)) ))
(synopsis "Implementation of the Lightweight Directory Access Protocol")
(description "OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.")
(license license:openldap2.8)
(home-page "https://www.openldap.org/")
)
)
(define-public openldap-2.4.58
(package
(inherit openldap)
(name "openldap")
(version "2.4.58")
(source (origin
(method url-fetch)
(uri (list
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")
))
(sha256 (base32 "0yzlz1l49jc7989k65994chv0xspq30i9mdkk9mbzl0mpra95dap"))
)
)
)
)
(define-public openldap-2.4.59
(package
(inherit openldap)
(name "openldap")
(version "2.4.59")
(source (origin
(method url-fetch)
(uri (list
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")
))
(sha256 (base32 "0d1gw898gbkv46mw0gll3q0w2j2y9midlzh6f320d0nq8xkpvwwr"))
)
)
)
)
(define-public openldap-2.5.4
(package
(inherit openldap)
(name "openldap")
(version "2.5.4")
(source (origin
(method url-fetch)
(uri (list
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")
))
(sha256 (base32 "0mmk9wz23z4ahaga7ri99gnnwhjjgmfmbaaga2g8bkbhil3krh31"))
)
)
)
)
(define-public openldap-2.5.5
(package
(inherit openldap)
(name "openldap")
(version "2.5.5")
(source (origin
(method url-fetch)
(uri (list
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")
))
(sha256 (base32 "1cznvccwgj9v3207l254wyfzm1v5prk93hkx5i6ha3pw5bdfzv3l"))
)
)
)
)
(define-public openldap-2.5.6
(package
(inherit openldap)
(name "openldap")
(version "2.5.6")
(source (origin
(method url-fetch)
(uri (list
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")
))
(sha256 (base32 "07y1r9a0k07z9s9w5m477bb6ib1hr3xx9qll8i57gn9vklx4489z"))
)
)
)
)
(define-public openldap-2.5.7
(package
(inherit openldap)
(name "openldap")
(version "2.5.7")
(source (origin
(method url-fetch)
(uri (list
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")
))
(sha256 (base32 "1ayr76sa5hjwldqzis5v71sbp88hd3hysc00gw1raqn33c05g5za"))
)
)
)
)
(define-public openldap-2.5.8
(package
(inherit openldap)
(name "openldap")
(version "2.5.8")
(source (origin
(method url-fetch)
(uri (list
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")
))
(sha256 (base32 "1p3jck2kh7rsz6mkrqaailaf9ky050hn72wph52dw0j2nb1s2vin"))
)
)
)
)
(define-public openldap-2.5.9
(package
(inherit openldap)
(name "openldap")
(version "2.5.9")
(source (origin
(method url-fetch)
(uri (list
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")
))
(sha256 (base32 "17pvwrj27jybbmjqpv0p7kd2qa4i6jnp134lz7cxa0sqrbs153n0"))
)
)
)
)
(define-public openldap-2.5.10
(package
(inherit openldap)
(name "openldap")
(version "2.5.10")
(source (origin
(method url-fetch)
(uri (list
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")
))
(sha256 (base32 "1ygxy2l3kv6gmcdc8hpz8fjbg39wp8v2xcqh56xrzp51gn4k326i"))
)
)
)
)
(define-public openldap-2.5.11
(package
(inherit openldap)
(name "openldap")
(version "2.5.11")
(source (origin
(method url-fetch)
(uri (list
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")
))
(sha256 (base32 "1wfp273g3dmw5bdnlllv43ydld2nrnap71bmm8wjx7yhfrvv054m"))
)
)
)
)
(define-public openldap-2.5.12
(package
(inherit openldap)
(name "openldap")
(version "2.5.12")
(source (origin
(method url-fetch)
(uri (list
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")
))
(sha256 (base32 "15kvwfq7ly8jai1v5s3fn50x8lj50nljk93h0ryzm5wmqjznq26m"))
)
)
)
)
(define-public openldap-2.6.0
(package
(inherit openldap)
(name "openldap")
(version "2.6.0")
(source (origin
(method url-fetch)
(uri (list
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")
))
(sha256 (base32 "0kqswk8pxgnlibh0kz6py3a2x3yh9pfk6pyr2nx9lgjpmh75h75p"))
)
)
)
)
(define-public openldap-2.6.1
(package
(inherit openldap)
(name "openldap")
(version "2.6.1")
(source (origin
(method url-fetch)
(uri (list
(string-append "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-" version ".tgz")
))
(sha256 (base32 "1wz6f3g3bbqgbbxs20zlappmmhapqbl791c0waibhz9djsk6wmwx"))
)
)
)
)
(define-public nss-pam-ldapd
(package
(name "nss-pam-ldapd")
(version "0.9.12")
(source (origin
(method url-fetch)
(uri (string-append "https://arthurdejong.org/nss-pam-ldapd/nss-pam-ldapd-" version ".tar.gz"))
(sha256 (base32 "050fzcmxmf6y15dlcffc4gxr3wkk7fliqqwhlwqzbjwk8vkn3mn6"))
))
(build-system gnu-build-system)
(arguments
`(
#:configure-flags
(list (string-append
"--with-pam-seclib-dir=" (assoc-ref %outputs "out") "/lib/security/")
"--with-ldap-conf-file=/etc/nslcd.conf"
)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'override-nslcd.conf-install-path
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile.in"
(
("\\$\\(DESTDIR\\)\\$\\(NSLCD_CONF_PATH\\)")
(string-append (assoc-ref outputs "out") "/etc/nslcd.conf.example")
)
)
)
)
)
)
)
(inputs `(
("linux-pam", linux-pam)
("mit-krb5", mit-krb5)
("openldap", openldap)
("python", python)
))
(home-page "https://arthurdejong.org/nss-pam-ldapd")
(synopsis "NSS and PAM modules for LDAP")
(description "nss-pam-ldapd provides a @dfn{Name Service Switch} (NSS)
module that allows your LDAP server to provide user account, group, host name,
alias, netgroup, and basically any other information that you would normally
get from @file{/etc} flat files or NIS. It also provides a @dfn{Pluggable
Authentication Module} (PAM) to do identity and authentication management with
an LDAP server.")
(license license:lgpl2.1+)
) )
) )

View file

@ -1,102 +1,22 @@
(define-module (glicid packages parallel) (define-module (glicid packages parallel)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
; #:use-module (guix licenses)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages commencement)
#:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module ((guix utils) #:select (target-64bit?))
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages freeipmi)
#:use-module (gnu packages linux)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages parallel) #:use-module (gnu packages parallel)
#:use-module (gnu packages storage)
#:use-module (gnu packages networking)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages commencement)
#:use-module (gnu packages gcc)
#:use-module (gnu packages chemistry)
#:use-module (gnu packages sphinx)
#:use-module (srfi srfi-1)
#:use-module (gnu packages mpi)
#:use-module (gnu packages sssd)
#:use-module (gnu packages fabric-management)
#:use-module (gnu packages benchmark)
#:use-module (gnu packages messaging)
#:use-module (gnu packages web)
#:use-module (gnu packages gnome)
#:use-module (gnu packages cluster)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages xorg) #:use-module (gnu packages perl)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages flex)
#:use-module (gnu packages bison)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools)
#:use-module (gnu packages fontutils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages image)
#:use-module (gnu packages maths)
#:use-module (guix utils)
#:use-module (gnu packages cmake)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages boost)
#:use-module (gnu packages curl)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages xml)
#:use-module (gnu packages admin)
#:use-module (gnu packages assembly)
#:use-module (gnu packages authentication)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages disk)
#:use-module (gnu packages gperf)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages nss)
#:use-module (gnu packages openldap)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages compression)
#:use-module (gnu packages sphinx) #:use-module (gnu packages mpi)
#:use-module (gnu packages tls) #:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages web) #:use-module (gnu packages databases)
;; #:use-module (gnu packages glicid)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages virtualization)
) )
(define-public glicid-pmix (define-public openpmix-3.1.5
(package (package
(name "glicid-pmix-3.1.5") (name "openpmix")
(version "3.1.5") (version "3.1.5")
(source (source
(origin (origin
@ -109,98 +29,79 @@
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list (list
(string-append "--with-hwloc=" (assoc-ref %build-inputs "hwloc") ) (string-append "--with-hwloc=" (assoc-ref %build-inputs "hwloc"))
) )
) )
) )
(synopsis "MPIX lib") (synopsis "MPIX lib")
(description "MPIX. More to come. FIXIT") (description"MPIX. More to come. FIXIT")
(home-page "https://www.gnu.org/software/hello/") (home-page "https://www.gnu.org/software/hello/")
(license license:gpl3+) (license license:gpl3+)
(inputs `( (inputs `(
("libevent", libevent) ("libevent", libevent)
("hwloc" ,hwloc-2 "lib") ("hwloc" ,hwloc-2 "lib")
("perl", perl) ("perl", perl)
("gcc", gcc-11) ))
)
)
(define-public openpmix-4.1.0
(package
(inherit openpmix-3.1.5)
(version "4.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/openpmix/openpmix/releases/download/v" version "/pmix-" version ".tar.bz2"))
(sha256 (base32 "0bl4gkh87csm3yh418wvrih35mg6swavcxj78gyb7gr1qsk0apql"))
)
)
(inputs `(
("python", python)
("zlib", zlib)
("pandoc", pandoc)
,@(package-inputs openpmix-3.1.5)
))
)
)
(define-public openpmix openpmix-4.1.0)
(define-public slurm-20.02-glicid
(package
(inherit slurm-20.02)
(name "slurm-glicid")
(version "20.02.7")
(source
(origin
(inherit (package-source slurm-20.02))
(method url-fetch)
(uri (string-append "https://download.schedmd.com/slurm/slurm-" version ".tar.bz2"))
(sha256 (base32 "1khlv69q41chgkcs1i7l651hvyx8sz3j9yhjbgky3gpqrgrmz1h6"))
)
)
(inputs `(
("gtk+-2", gtk+-2)
("mariadb:dev", mariadb "dev")
,@(package-inputs slurm-20.02)
))
)
)
(define-public slurm-20.11-glicid
(package
(inherit slurm-20.02-glicid)
(name "slurm-glicid")
(version "20.11.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.schedmd.com/slurm/slurm-" version ".tar.bz2"))
(sha256 (base32 "0xq2d6dm285y541dyg1h66z7svsisrq8c81ag0f601xz1cn3mq9m"))
) )
) )
) )
) )
(define-public slurm-glicid slurm-20.11-glicid)
(define-public glicid-custom-slurm-19.05 (define-public slurm-ccipl slurm-20.11-glicid)
(package
(inherit slurm)
(name "glicid-custom-slurm-19.05")
(version "19.05.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.schedmd.com/slurm/slurm-" version ".tar.bz2"))
(sha256 (base32 "1kj79r8hng5gp98ickgvj3im4gr19nzd3p3p8g6rl75axb8jin7h"))
))
(arguments
`(#:configure-flags
(list "--enable-pam" "--sysconfdir=/etc/slurm"
"--disable-static"
(string-append "--with-freeipmi=" (assoc-ref %build-inputs "freeipmi"))
(string-append "--with-hwloc=" (assoc-ref %build-inputs "hwloc"))
(string-append "--with-json=" (assoc-ref %build-inputs "json-c"))
(string-append "--with-munge=" (assoc-ref %build-inputs "munge"))
(string-append "--with-pmix=" (assoc-ref %build-inputs "glicid-pmix"))
;; 32-bit support is marked as deprecated and needs to be
;; explicitly enabled.
;;;; ,@(if (target-64bit?) '() '("--enable-deprecated"))
)
)
)
(inputs `(("gtk+-2" ,gtk+-2)
("gcc", gcc-11)
("glicid-pmix", glicid-pmix)
; ("glicid-specific-openmpi", glicid-specific-openmpi)
,@(package-inputs slurm)
))
(propagated-inputs
`(
("sssd" ,sssd)
))
))
(define-public glicid-custom-slurm-20.02
(package
(inherit glicid-custom-slurm-19.05)
(name "glicid-custom-slurm-20.02")
(version "20.02.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.schedmd.com/slurm/slurm-" version ".tar.bz2"))
(sha256 (base32 "1khlv69q41chgkcs1i7l651hvyx8sz3j9yhjbgky3gpqrgrmz1h6"))
))
))
(define-public glicid-custom-slurm-20.11
(package
(inherit glicid-custom-slurm-20.02)
(name "glicid-custom-slurm-20.11")
(version "20.11.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.schedmd.com/slurm/slurm-" version ".tar.bz2"))
(sha256 (base32 "1fdjihg1x7ks5l77yjv14a4mg6r0v8c3zk1dcxkhrhq3n4dc9nbs"))
))
))
(define-public glicid-specific-slurm glicid-custom-slurm-20.02)

View file

@ -0,0 +1,170 @@
From f11c3f094ed5ca727ec819983425b6641db8227c Mon Sep 17 00:00:00 2001
From: Eric Bavier <bavier@member.fsf.org>
Date: Wed, 13 Feb 2019 09:32:11 -0600
Subject: [PATCH] BLACS: Remove use of long-deprecated MPI1 functions.
* BLACS/SRC/blacs_get_.c: 'MPI_Attr_get' -> 'MPI_Comm_get_attr'.
* BLACS/SRC/cgamn2d_.c, BLACS/SRC/cgamx2d_.c, BLACS/SRC/dgamn2d_.c,
BLACS/SRC/dgamx2d_.c, BLACS/SRC/igamn2d_.c, BLACS/SRC/igamx2d_.c,
BLACS/SRC/sgamn2d_.c, BLACS/SRC/sgamx2d_.c, BLACS/SRC/zgamn2d_.c,
BLACS/SRC/zgamx2d_.c: 'MPI_Type_struct' -> 'MPI_Type_create_struct'.
---
BLACS/SRC/blacs_get_.c | 2 +-
BLACS/SRC/cgamn2d_.c | 2 +-
BLACS/SRC/cgamx2d_.c | 2 +-
BLACS/SRC/dgamn2d_.c | 2 +-
BLACS/SRC/dgamx2d_.c | 2 +-
BLACS/SRC/igamn2d_.c | 2 +-
BLACS/SRC/igamx2d_.c | 2 +-
BLACS/SRC/sgamn2d_.c | 2 +-
BLACS/SRC/sgamx2d_.c | 2 +-
BLACS/SRC/zgamn2d_.c | 2 +-
BLACS/SRC/zgamx2d_.c | 2 +-
11 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/BLACS/SRC/blacs_get_.c b/BLACS/SRC/blacs_get_.c
index e979767..d4b04cf 100644
--- a/BLACS/SRC/blacs_get_.c
+++ b/BLACS/SRC/blacs_get_.c
@@ -23,7 +23,7 @@ F_VOID_FUNC blacs_get_(int *ConTxt, int *what, int *val)
case SGET_MSGIDS:
if (BI_COMM_WORLD == NULL) Cblacs_pinfo(val, &val[1]);
iptr = &val[1];
- ierr=MPI_Attr_get(MPI_COMM_WORLD, MPI_TAG_UB, (BVOID **) &iptr,val);
+ ierr=MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_TAG_UB, (BVOID **) &iptr,val);
val[0] = 0;
val[1] = *iptr;
break;
diff --git a/BLACS/SRC/cgamn2d_.c b/BLACS/SRC/cgamn2d_.c
index 2db6ccb..6958f32 100644
--- a/BLACS/SRC/cgamn2d_.c
+++ b/BLACS/SRC/cgamn2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC cgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/cgamx2d_.c b/BLACS/SRC/cgamx2d_.c
index 707c0b6..f802d01 100644
--- a/BLACS/SRC/cgamx2d_.c
+++ b/BLACS/SRC/cgamx2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC cgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/dgamn2d_.c b/BLACS/SRC/dgamn2d_.c
index dff23b4..a2627ac 100644
--- a/BLACS/SRC/dgamn2d_.c
+++ b/BLACS/SRC/dgamn2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC dgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/dgamx2d_.c b/BLACS/SRC/dgamx2d_.c
index a51f731..2a644d0 100644
--- a/BLACS/SRC/dgamx2d_.c
+++ b/BLACS/SRC/dgamx2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC dgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/igamn2d_.c b/BLACS/SRC/igamn2d_.c
index 16bc003..f6a7859 100644
--- a/BLACS/SRC/igamn2d_.c
+++ b/BLACS/SRC/igamn2d_.c
@@ -218,7 +218,7 @@ F_VOID_FUNC igamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/igamx2d_.c b/BLACS/SRC/igamx2d_.c
index 8165cbe..a7cfcc6 100644
--- a/BLACS/SRC/igamx2d_.c
+++ b/BLACS/SRC/igamx2d_.c
@@ -218,7 +218,7 @@ F_VOID_FUNC igamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/sgamn2d_.c b/BLACS/SRC/sgamn2d_.c
index d6c95e5..569c797 100644
--- a/BLACS/SRC/sgamn2d_.c
+++ b/BLACS/SRC/sgamn2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC sgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/sgamx2d_.c b/BLACS/SRC/sgamx2d_.c
index 4b0af6f..8897ece 100644
--- a/BLACS/SRC/sgamx2d_.c
+++ b/BLACS/SRC/sgamx2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC sgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/zgamn2d_.c b/BLACS/SRC/zgamn2d_.c
index 9de2b23..37897df 100644
--- a/BLACS/SRC/zgamn2d_.c
+++ b/BLACS/SRC/zgamn2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC zgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/zgamx2d_.c b/BLACS/SRC/zgamx2d_.c
index 414c381..0e9d474 100644
--- a/BLACS/SRC/zgamx2d_.c
+++ b/BLACS/SRC/zgamx2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC zgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
--
2.20.1

28
glicid/packages/perl.scm Normal file
View file

@ -0,0 +1,28 @@
(define-module (glicid packages perl)
#:use-module (guix build-system perl)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix utils)
)
(define-public perl-extutils-embed
(package
(name "perl-extutils-embed")
(version "1.14")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/D/DO/DOUGM/ExtUtils-Embed-" version ".tar.gz"))
(sha256 (base32 "1w55q0wz6i4k9p500mc4wmr8jndnczb6qqrd2m1mrnx13v2mbr7h"))
)
)
(build-system perl-build-system)
(arguments '(
#:tests? #f
))
(home-page "https://metacpan.org/release/ExtUtils-Embed")
(synopsis "Utilities for embedding Perl in C/C++ applications")
(description "Utilities for embedding Perl in C/C++ applications")
(license #f)
)
)

4240
glicid/packages/rust.scm Normal file

File diff suppressed because it is too large Load diff

View file

@ -4,285 +4,177 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
; #:use-module (guix licenses)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages commencement)
#:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module ((guix utils) #:select (target-64bit?)) #:use-module (gnu packages ssh)
#:use-module (gnu packages) #:use-module (gnu packages hurd)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages freeipmi)
#:use-module (gnu packages linux)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages parallel)
#:use-module (gnu packages storage)
#:use-module (gnu packages networking)
#:use-module (gnu packages gtk)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages commencement)
#:use-module (gnu packages gcc)
#:use-module (gnu packages chemistry)
#:use-module (gnu packages sphinx)
#:use-module (srfi srfi-1)
#:use-module (gnu packages mpi)
#:use-module (gnu packages sssd)
#:use-module (gnu packages fabric-management)
#:use-module (gnu packages benchmark)
#:use-module (gnu packages messaging)
#:use-module (gnu packages web)
#:use-module (gnu packages gnome)
#:use-module (gnu packages cluster)
#:use-module (gnu packages libevent)
#:use-module (gnu packages xorg)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages flex)
#:use-module (gnu packages bison)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools)
#:use-module (gnu packages fontutils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages image)
#:use-module (gnu packages maths)
#:use-module (guix utils)
#:use-module (gnu packages cmake)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages boost)
#:use-module (gnu packages curl)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages xml)
#:use-module (gnu packages admin)
#:use-module (gnu packages assembly)
#:use-module (gnu packages authentication)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages disk)
#:use-module (gnu packages gperf)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages nss)
#:use-module (gnu packages openldap)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages linux)
#:use-module (gnu packages python-xyz) )
#:use-module (gnu packages sphinx) (define-public libcbor-0.8.0
#:use-module (gnu packages tls) (package
#:use-module (gnu packages web) (name "libcbor")
;; #:use-module (gnu packages glicid) (version "0.8.0")
#:use-module (gnu packages pretty-print) (source
#:use-module (gnu packages virtualization) (origin
#:use-module (glicid packages storage) (method url-fetch)
#:use-module (glicid packages mpi) (uri (string-append "http://github.com/PJK/libcbor/archive/refs/tags/v" version ".tar.gz"))
#:use-module (glicid packages gcc) (sha256 (base32 "12vw46ahhsc3ydnivkv5lvk1cn4sjjmcr639cjcl99d4dqb9g031"))
)
)
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list
"-DCMAKE_CXX_FLAGS=-fPIE"
"-DCMAKE_C_FLAGS=-fPIE"
))
)
(synopsis "libfido2")
(description "Todo")
(home-page "toto")
(license license:gpl2+)
)
) )
(define-public libcbor-0.9.0
;;;;;;;;
(use-modules (guix packages))
(use-modules (guix download))
(use-modules (gnu packages linux))
(use-modules (gnu packages gcc))
;;(use-modules (gnu packages glicid))
(use-modules (gnu packages ssh))
(use-modules (gnu packages hurd))
(use-modules (guix build-system gnu))
(use-modules (guix build-system cmake))
(use-modules (gnu packages compression))
(use-modules (gnu packages crypto))
(use-modules (gnu packages tls))
;;(use-modules (gnu packages glicid))
(use-modules (gnu packages pkg-config))
(use-modules ((guix licenses) #:prefix license:))
(define-public glicid-libcbor
(package (package
(name "glicid-libcbor") (inherit libcbor-0.8.0)
(version "0.8.0") (version "0.9.0")
(source (source
(origin (origin
(method url-fetch)
(uri (string-append "http://github.com/PJK/libcbor/archive/refs/tags/v" version ".tar.gz"))
(sha256 (base32 "1l8m7h84zwlx088gkz6gvg2fq11g0p3q6lblwba8c01y6gwy90fs"))
)
)
)
)
(method url-fetch) (define-public libcbor-latest libcbor-0.9.0)
(uri (string-append
"http://github.com/PJK/libcbor/archive/refs/tags/v" version ".tar.gz"))
(sha256
(base32
"12vw46ahhsc3ydnivkv5lvk1cn4sjjmcr639cjcl99d4dqb9g031"))
)) (define-public libfido2-1.8.0
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DCMAKE_CXX_FLAGS=-fPIE"
"-DCMAKE_C_FLAGS=-fPIE")))
(synopsis "libfido2")
(description "Todo")
(home-page "toto")
(license license:gpl2+)
))
(define-public glicid-libfido2
(package (package
(name "libfido2")
(name "glicid-libfido2")
(version "1.8.0") (version "1.8.0")
(source (source
(origin (origin
(method url-fetch)
(method url-fetch) (uri (string-append "https://developers.yubico.com/libfido2/Releases/libfido2-" version ".tar.gz"))
(uri (string-append "https://developers.yubico.com/libfido2/Releases/libfido2-" (sha256 (base32 "07gxyy5yzgfh5hg7q9fr77z5mkj0xjvd5ya7p5f5kar4iwc92hjm"))
version ".tar.gz")) )
; (file-name (string-append name "-" version ".tar.gz")) )
(sha256
(base32
"07gxyy5yzgfh5hg7q9fr77z5mkj0xjvd5ya7p5f5kar4iwc92hjm"))
))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments '(#:tests? #f)) (arguments '(
#:tests? #f
))
(inputs `( (inputs `(
("glicid-libcbor",glicid-libcbor) ("libcbor",libcbor-latest)
("openssl",openssl) ("openssl",openssl)
("zlib", zlib) ("zlib", zlib)
("pkg-config", pkg-config) ; or cmake won't find zlib ! ("pkg-config", pkg-config)
("eudev", eudev) ("eudev", eudev)
)) ))
(synopsis "libfido2")
(synopsis "libfido2") (description "Todo")
(description "Todo") (home-page "toto")
(home-page "toto") (license license:gpl2+)
(license license:gpl2+) )
) )
(define-public libfido2-1.9.0
(package
(inherit libfido2-1.8.0)
(version "1.9.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://developers.yubico.com/libfido2/Releases/libfido2-" version ".tar.gz"))
(sha256 (base32 "1ln2b0zfvl35r03kn2k1i2aw1k3ypvivc71xmp4dzlin6ypy6fds"))
)
)
)
) )
(define libfido2-latest libfido2-1.9.0)
(define-public glicid-specific-openssh (define-public openssh-with-fido2
(package (package
(inherit openssh) (inherit openssh)
(name "glicid-specific-openssh") (name "openssh-with-fido2")
(arguments (arguments `(
#:test-target "tests"
`(#:test-target "tests"
;; Otherwise, the test scripts try to use a nonexistent directory and ;; Otherwise, the test scripts try to use a nonexistent directory and
;; fail. ;; fail.
#:make-flags '("REGRESSTMP=\"$${BUILDDIR}/regress\"") #:make-flags '("REGRESSTMP=\"$${BUILDDIR}/regress\"")
#:configure-flags `(
#:configure-flags `("--sysconfdir=/etc/ssh" "--sysconfdir=/etc/ssh"
;; Default value of 'PATH' used by sshd. ;; Default value of 'PATH' used by sshd.
"--with-default-path=/run/current-system/profile/bin" "--with-default-path=/run/current-system/profile/bin"
;; configure needs to find krb5-config. ;; configure needs to find krb5-config.
,(string-append "--with-kerberos5=" ,(string-append "--with-kerberos5=" (assoc-ref %build-inputs "mit-krb5") "/bin")
(assoc-ref %build-inputs "mit-krb5")
"/bin")
;; libedit is needed for sftp completion. ;; libedit is needed for sftp completion.
"--with-libedit" "--with-libedit"
;; for u2f ;; for u2f
"--with-security-key-builtin" "--with-security-key-builtin"
; ,(string-append "--with-fido2=" (assoc-ref %build-inputs "libfido2"))
;; Enable PAM support in sshd. ;; Enable PAM support in sshd.
,,@(if (hurd-target?) ,,@(if (hurd-target?)
'() '()
'("--with-pam")) '("--with-pam")
)
;; "make install" runs "install -s" by default, ;; "make install" runs "install -s" by default,
;; which doesn't work for cross-compiled binaries ;; which doesn't work for cross-compiled binaries
;; because it invokes 'strip' instead of ;; because it invokes 'strip' instead of
;; 'TRIPLET-strip'. Work around this. ;; 'TRIPLET-strip'.Work around this.
,,@(if (%current-target-system) ,,@(if (%current-target-system)
'("--disable-strip") '("--disable-strip")
'() '()
)) )
)
#:phases
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'configure 'reset-/var/empty (add-after 'configure 'reset-/var/empty
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
(substitute* "Makefile" (substitute*
(("PRIVSEP_PATH=/var/empty") "Makefile"
(string-append "PRIVSEP_PATH=" out "/var/empty"))) (("PRIVSEP_PATH=/var/empty") (string-append "PRIVSEP_PATH=" out "/var/empty"))
#t))) )
#t
)
)
)
(add-before 'check 'patch-tests (add-before 'check 'patch-tests
(lambda _ (lambda _
(substitute* "regress/test-exec.sh" (substitute* "regress/test-exec.sh" (("/bin/sh") (which "sh")))
(("/bin/sh") (which "sh")))
;; Remove 't-exec' regress target which requires user 'sshd'. ;; Remove 't-exec' regress target which requires user 'sshd'.
(substitute* (list "Makefile" (substitute*
"regress/Makefile") (list "Makefile" "regress/Makefile")
(("^(tests:.*) t-exec(.*)" all pre post) (("^(tests:.*) t-exec(.*)" all pre post) (string-append pre post))
(string-append pre post))) )
#t)) #t
)
)
(replace 'install (replace 'install
(lambda* (#:key outputs (make-flags '()) #:allow-other-keys) (lambda*
(
#:key outputs (make-flags '())
#:allow-other-keys
)
;; Install without host keys and system configuration files. ;; Install without host keys and system configuration files.
(apply invoke "make" "install-nosysconf" make-flags) (apply invoke "make" "install-nosysconf" make-flags)
(install-file "contrib/ssh-copy-id" (install-file "contrib/ssh-copy-id" (string-append (assoc-ref outputs "out") "/bin/"))
(string-append (assoc-ref outputs "out") (chmod (string-append (assoc-ref outputs "out") "/bin/ssh-copy-id") #o555)
"/bin/")) (install-file "contrib/ssh-copy-id.1" (string-append (assoc-ref outputs "out") "/share/man/man1/"))
(chmod (string-append (assoc-ref outputs "out") #t
"/bin/ssh-copy-id") #o555)
(install-file "contrib/ssh-copy-id.1"
(string-append (assoc-ref outputs "out")
"/share/man/man1/"))
#t))) ; ))
)
) )
(inputs `(("glicid-libfido2", glicid-libfido2)
("glicid-libcbor", glicid-libcbor)
,@(package-inputs openssh)))
) )
)
))
(inputs `(
("libfido2", libfido2-latest)
("libcbor", libcbor-latest)
,@(package-inputs openssh)
))
)
) )
;;; glicid/ssh.scm ends here

26
glicid/packages/sssd.scm Normal file
View file

@ -0,0 +1,26 @@
(define-module (glicid packages sssd)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((gnu packages sssd) #:prefix gnu:)
)
(define-public sssd-upstream-orig
(package
(inherit gnu:sssd)
(name "sssd-upstream")
(version "1_16_5")
(source
(origin
(inherit (package-source gnu:sssd))
(method git-fetch)
(uri (git-reference
(url "https://github.com/SSSD/sssd")
(commit (string-append "sssd-" version))
))
(file-name (git-file-name name version))
(sha256 (base32 "0zbs04lkjbp7y92anmafl7gzamcnq1f147p13hc4byyvjk9rg6f7"))
)
)
)
)

View file

@ -2,29 +2,40 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages virtualization) #:use-module (gnu packages virtualization)
#:use-module (gnu packages storage) ;; «regular» ceph is defined here #:use-module (gnu packages storage)
#:use-module (glicid packages storage) ;; a «more up to date» version MAY be here ; #:use-module (glicid packages storage)
) )
;;;;;;;;
(define-public qemu-with-rbd (define-public qemu-with-rbd
(package (package
(inherit qemu) (inherit qemu)
(name "qemu-with-rbd") (name "qemu-with-rbd")
(arguments (arguments
(substitute-keyword-arguments `(
(substitute-keyword-arguments #:tests? #f
`(#:tests? #f ,@(package-arguments qemu)
,@(package-arguments qemu))) ))
) )
(inputs `(
(inputs `(("ceph:lib", ceph "lib" ) ;; will take the more up to date ceph ("ceph:lib", ceph "lib")
,@(package-inputs qemu))) ,@(package-inputs qemu)
))
) )
) )
(define-public qemu-minimal-with-rbd
;;; glicid/virtualizationvirtualization.scm ends here (package
(inherit qemu-minimal)
(name "qemu-minimal-with-rbd")
(arguments
(substitute-keyword-arguments `(
#:tests? #f
,@(package-arguments qemu-minimal)
))
)
(inputs `(
("ceph:lib", ceph "lib" )
,@(package-inputs qemu-minimal)
))
)
)

20
glicid/packages/vpn.scm Normal file
View file

@ -0,0 +1,20 @@
(define-module (glicid packages vpn)
#:use-module (guix packages)
#:use-module ((gnu packages vpn) #:prefix gnu:)
#:use-module (guix download)
)
(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")
)
)

430
glicid/services/cuirass.scm Normal file
View file

@ -0,0 +1,430 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
;;; the Free Software Foundation, either version 3 of the License, or
;;; (at your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (glicid services cuirass)
#:use-module (guix channels)
#:use-module (guix gexp)
#:use-module (guix records)
#:use-module (guix store)
#:use-module (guix utils)
#:use-module (gnu packages admin)
#:use-module (gnu packages ci)
#:use-module (gnu packages databases)
#:use-module (gnu packages version-control)
#:use-module (gnu services)
#:use-module (gnu services base)
#:use-module (gnu services databases)
#:use-module (gnu services shepherd)
#:use-module (gnu services admin)
#:use-module (gnu system shadow)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:export (cuirass-remote-server-configuration
cuirass-remote-server-configuration?
cuirass-configuration
cuirass-configuration?
cuirass-service-type
cuirass-remote-worker-configuration
cuirass-remote-worker-configuration?
cuirass-remote-worker-service-type))
;;;; Commentary:
;;;
;;; This module implements a service that to run instances of Cuirass, a
;;; continuous integration tool.
;;;
;;;; Code:
(define %cuirass-default-database
"dbname=cuirass")
(define-record-type* <cuirass-remote-server-configuration>
cuirass-remote-server-configuration make-cuirass-remote-server-configuration
cuirass-remote-server-configuration?
(backend-port cuirass-remote-server-configuration-backend-port ;int
(default 5555))
(log-port cuirass-remote-server-configuration-log-port ;int
(default 5556))
(publish-port cuirass-remote-server-configuration-publish-port ;int
(default 5557))
(log-file cuirass-remote-server-log-file ;string
(default "/var/log/cuirass-remote-server.log"))
(cache cuirass-remote-server-configuration-cache ;string
(default "/var/cache/cuirass/remote/"))
(publish? cuirass-remote-server-configuration-publish? ;boolean
(default #t))
(trigger-url cuirass-remote-server-trigger-url ;string
(default #f))
(public-key cuirass-remote-server-configuration-public-key ;string
(default #f))
(private-key cuirass-remote-server-configuration-private-key ;string
(default #f)))
(define-record-type* <cuirass-configuration>
cuirass-configuration make-cuirass-configuration
cuirass-configuration?
(cuirass cuirass-configuration-cuirass ;file-like
(default cuirass))
(log-file cuirass-configuration-log-file ;string
(default "/var/log/cuirass.log"))
(web-log-file cuirass-configuration-web-log-file ;string
(default "/var/log/cuirass-web.log"))
(cache-directory cuirass-configuration-cache-directory ;string (dir-name)
(default "/var/cache/cuirass"))
(user cuirass-configuration-user ;string
(default "cuirass"))
(group cuirass-configuration-group ;string
(default "cuirass"))
(interval cuirass-configuration-interval ;integer (seconds)
(default 60))
(parameters cuirass-configuration-parameters ;string
(default #f))
(remote-server cuirass-configuration-remote-server
(default #f))
(database cuirass-configuration-database ;string
(default %cuirass-default-database))
(port cuirass-configuration-port ;integer (port)
(default 8081))
(host cuirass-configuration-host ;string
(default "localhost"))
(specifications cuirass-configuration-specifications)
;gexp that evaluates to specification-alist
(use-substitutes? cuirass-configuration-use-substitutes? ;boolean
(default #f))
(one-shot? cuirass-configuration-one-shot? ;boolean
(default #f))
(fallback? cuirass-configuration-fallback? ;boolean
(default #f))
(extra-options cuirass-configuration-extra-options
(default '()))
(http-proxy cuirass-configuration-http-proxy ;string
(default ""))
(https-proxy cuirass-configuration-https-proxy ;string
(default ""))
)
(define (cuirass-shepherd-service config)
"Return a <shepherd-service> for the Cuirass service with CONFIG."
(let ((cuirass (cuirass-configuration-cuirass config))
(cache-directory (cuirass-configuration-cache-directory config))
(web-log-file (cuirass-configuration-web-log-file config))
(log-file (cuirass-configuration-log-file config))
(user (cuirass-configuration-user config))
(group (cuirass-configuration-group config))
(interval (cuirass-configuration-interval config))
(parameters (cuirass-configuration-parameters config))
(remote-server (cuirass-configuration-remote-server config))
(database (cuirass-configuration-database config))
(port (cuirass-configuration-port config))
(host (cuirass-configuration-host config))
(specs (cuirass-configuration-specifications config))
(use-substitutes? (cuirass-configuration-use-substitutes? config))
(one-shot? (cuirass-configuration-one-shot? config))
(fallback? (cuirass-configuration-fallback? config))
(extra-options (cuirass-configuration-extra-options config))
(http-proxy (cuirass-configuration-http-proxy config))
(https-proxy (cuirass-configuration-https-proxy config)))
`(,(shepherd-service
(documentation "Run Cuirass.")
(provision '(cuirass))
(requirement '(guix-daemon postgres postgres-roles networking))
(start #~(make-forkexec-constructor
(list (string-append #$cuirass "/bin/cuirass")
"register"
"--cache-directory" #$cache-directory
"--specifications"
#$(scheme-file "cuirass-specs.scm" specs)
"--database" #$database
"--interval" #$(number->string interval)
#$@(if parameters
(list (string-append
"--parameters="
parameters))
'())
#$@(if remote-server '("--build-remote") '())
#$@(if use-substitutes? '("--use-substitutes") '())
#$@(if one-shot? '("--one-shot") '())
#$@(if fallback? '("--fallback") '())
#$@extra-options)
#:environment-variables
(list
"GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt"
(string-append "GIT_EXEC_PATH=" #$git "/libexec/git-core")
(string-append "http_proxy=" #$http-proxy)
(string-append "https_proxy=" #$http-proxy)
;"http_proxy=http://proxy-upgrade.univ-nantes.prive:3128/"
;"https_proxy=http://proxy-upgrade.univ-nantes.prive:3128/"
)
#:user #$user
#:group #$group
#:log-file #$log-file))
(stop #~(make-kill-destructor)))
,(shepherd-service
(documentation "Run Cuirass web interface.")
(provision '(cuirass-web))
(requirement '(cuirass))
(start #~(make-forkexec-constructor
(list (string-append #$cuirass "/bin/cuirass")
"web"
"--database" #$database
"--listen" #$host
"--port" #$(number->string port)
#$@(if parameters
(list (string-append
"--parameters="
parameters))
'())
#$@extra-options)
#:user #$user
#:group #$group
#:log-file #$web-log-file))
(stop #~(make-kill-destructor)))
,@(if remote-server
(match-record remote-server <cuirass-remote-server-configuration>
(backend-port publish-port log-file cache publish?
trigger-url public-key private-key)
(list
(shepherd-service
(documentation "Run Cuirass remote build server.")
(provision '(cuirass-remote-server))
(requirement '(avahi-daemon cuirass))
(start #~(make-forkexec-constructor
(list (string-append #$cuirass "/bin/cuirass")
"remote-server"
(string-append "--database=" #$database)
(string-append "--cache=" #$cache)
(string-append "--user=" #$user)
#$@(if backend-port
(list (string-append
"--backend-port="
(number->string backend-port)))
'())
#$@(if publish-port
(list (string-append
"--publish-port="
(number->string publish-port)))
'())
#$@(if parameters
(list (string-append
"--parameters="
parameters))
'())
#$@(if trigger-url
(list
(string-append
"--trigger-substitute-url="
trigger-url))
'())
#$@(if publish?
'()
(list "--no-publish"))
#$@(if public-key
(list
(string-append "--public-key="
public-key))
'())
#$@(if private-key
(list
(string-append "--private-key="
private-key))
'()))
#:environment-variables
(list
"GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt"
(string-append "GIT_EXEC_PATH=" #$git "/libexec/git-core")
(string-append "http_proxy=" #$http-proxy)
(string-append "https_proxy=" #$http-proxy)
)
#:log-file #$log-file))
(stop #~(make-kill-destructor)))))
'()))))
(define (cuirass-account config)
"Return the user accounts and user groups for CONFIG."
(let ((cuirass-user (cuirass-configuration-user config))
(cuirass-group (cuirass-configuration-group config)))
(list (user-group
(name cuirass-group)
(system? #t))
(user-account
(name cuirass-user)
(group cuirass-group)
(system? #t)
(comment "Cuirass privilege separation user")
(home-directory (string-append "/var/lib/" cuirass-user))
(shell (file-append shadow "/sbin/nologin"))))))
(define (cuirass-postgresql-role config)
(let ((user (cuirass-configuration-user config)))
(list (postgresql-role
(name user)
(create-database? #t)))))
(define (cuirass-activation config)
"Return the activation code for CONFIG."
(let* ((cache (cuirass-configuration-cache-directory config))
(remote-server (cuirass-configuration-remote-server config))
(remote-cache (and remote-server
(cuirass-remote-server-configuration-cache
remote-server)))
(user (cuirass-configuration-user config))
(log "/var/log/cuirass")
(profile (string-append "/var/guix/profiles/per-user/" user))
(roots (string-append profile "/cuirass"))
(group (cuirass-configuration-group config)))
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(mkdir-p #$cache)
(mkdir-p #$log)
(mkdir-p #$roots)
(when #$remote-cache
(mkdir-p #$remote-cache))
(let ((uid (passwd:uid (getpw #$user)))
(gid (group:gid (getgr #$group))))
(chown #$cache uid gid)
(chown #$log uid gid)
(chown #$roots uid gid)
(chown #$profile uid gid)
(when #$remote-cache
(chown #$remote-cache uid gid)))))))
(define (cuirass-log-rotations config)
"Return the list of log rotations that corresponds to CONFIG."
(list (log-rotation
(files (list (cuirass-configuration-log-file config)
(cuirass-configuration-web-log-file config)))
(frequency 'weekly)
(options '("rotate 40"))))) ;worth keeping
(define cuirass-service-type
(service-type
(name 'cuirass)
(extensions
(list
(service-extension profile-service-type ;for 'info cuirass'
(compose list cuirass-configuration-cuirass))
(service-extension rottlog-service-type cuirass-log-rotations)
(service-extension activation-service-type cuirass-activation)
(service-extension shepherd-root-service-type cuirass-shepherd-service)
(service-extension account-service-type cuirass-account)
;; Make sure postgresql and postgresql-role are instantiated.
(service-extension postgresql-service-type (const #t))
(service-extension postgresql-role-service-type
cuirass-postgresql-role)))
(description
"Run the Cuirass continuous integration service.")))
(define-record-type* <cuirass-remote-worker-configuration>
cuirass-remote-worker-configuration make-cuirass-remote-worker-configuration
cuirass-remote-worker-configuration?
(cuirass cuirass-remote-worker-configuration-cuirass ;file-like
(default cuirass))
(workers cuirass-remote-worker-workers ;int
(default 1))
(server cuirass-remote-worker-server ;string
(default #f))
(systems cuirass-remote-worker-systems ;list
(default (list (%current-system))))
(log-file cuirass-remote-worker-log-file ;string
(default "/var/log/cuirass-remote-worker.log"))
(publish-port cuirass-remote-worker-configuration-publish-port ;int
(default 5558))
(substitute-urls cuirass-remote-worker-configuration-substitute-urls
(default %default-substitute-urls)) ;list of strings
(public-key cuirass-remote-worker-configuration-public-key ;string
(default #f))
(private-key cuirass-remote-worker-configuration-private-key ;string
(default #f)))
(define (cuirass-remote-worker-shepherd-service config)
"Return a <shepherd-service> for the Cuirass remote worker service with
CONFIG."
(match-record config <cuirass-remote-worker-configuration>
(cuirass workers server systems log-file publish-port
substitute-urls public-key private-key)
(list (shepherd-service
(documentation "Run Cuirass remote build worker.")
(provision '(cuirass-remote-worker))
(requirement '(avahi-daemon guix-daemon networking))
(start #~(make-forkexec-constructor
(list (string-append #$cuirass "/bin/cuirass")
"remote-worker"
(string-append "--workers="
#$(number->string workers))
#$@(if server
(list (string-append "--server=" server))
'())
#$@(if systems
(list (string-append
"--systems="
(string-join systems ",")))
'())
#$@(if publish-port
(list (string-append
"--publish-port="
(number->string publish-port)))
'())
#$@(if substitute-urls
(list (string-append
"--substitute-urls="
(string-join substitute-urls)))
'())
#$@(if public-key
(list
(string-append "--public-key="
public-key))
'())
#$@(if private-key
(list
(string-append "--private-key="
private-key))
'()))
#:environment-variables
(list
"GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt"
(string-append "GIT_EXEC_PATH=" #$git "/libexec/git-core")
(string-append "http_proxy=" #$http-proxy)
(string-append "https_proxy=" #$http-proxy)
)
#:log-file #$log-file))
(stop #~(make-kill-destructor))))))
(define cuirass-remote-worker-service-type
(service-type
(name 'cuirass-remote-worker)
(extensions
(list
(service-extension shepherd-root-service-type
cuirass-remote-worker-shepherd-service)))
(description
"Run the Cuirass remote build worker service.")))

View file

@ -0,0 +1,73 @@
(define-module (glicid services file-systems)
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:use-module (guix)
#:use-module (guix gexp)
#:use-module (guix records)
#:use-module (ice-9 match)
#:use-module (gnu packages file-systems)
#:export (
%default-autofs-conf
autofs-configuration
autofs-configuration?
autofs-service
autofs-service-type
)
)
(define %default-autofs-conf
(plain-file "autofs" "
# Empty file as we do nothing by default
")
)
(define-record-type* <autofs-configuration>
autofs-configuration make-autofs-configuration
autofs-configuration?
(autofs autofs-configuration-autofs
(default autofs)
)
(config-file autofs-config-file
(default %default-autofs-conf)
)
(log-file autofs-log-file
(default "/var/log/autofs.log")
)
)
(define autofs-service
(match-lambda
(($ <autofs-configuration> autofs config-file log-file)
(list
(shepherd-service
(provision '(autofs) )
(documentation "Run autofs.")
(requirement '(user-processes))
(respawn? #t)
(start #~(make-forkexec-constructor
(list
#$(file-append autofs "/sbin/automount")
"-d" "-f"
)
#:log-file #$log-file
))
(stop #~(make-kill-destructor))
)
)
)
)
)
(define autofs-service-type
(service-type (name 'autofs)
(extensions
(list (
service-extension
shepherd-root-service-type
autofs-service
))
)
(description "Run autofs")
)
)

View file

@ -0,0 +1,112 @@
(define-module (glicid services networking)
#:use-module (gnu packages networking)
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:use-module (guix)
#:use-module (guix records)
#:use-module (ice-9 match)
#: export (
squid-configuration
squid-configuration?
squid-shepherd-service
squid-service-type
)
)
(define-record-type* <squid-configuration>
squid-configuration make-squid-configuration
squid-configuration?
(squid squid-configuration-squid
(default squid)
)
(port squid-configuration-port
(default 3128)
)
(pid-file squid-configuration-pid-file
(default "/var/run/squid.pid")
)
(config-file squid-configuration-config-file
(default (file-append squid "/etc/squid.conf"))
)
(log-file squid-configuration-log-file
(default "/var/log/squid.log")
)
)
(define squid-shepherd-service
(match-lambda
(($ <squid-configuration> squid port pid-file config-file log-file)
(list
(shepherd-service
(provision '(squid) )
(documentation "Run squid.")
(requirement '(user-processes))
(respawn? #t)
(start #~(make-forkexec-constructor
(list
#$(file-append squid "/sbin/squid")
"-d ALL,1"
"-a" #$port
"-u" #$port
"-f" #$config-file
)
#:pid-file #$pid-file
#:log-file #$log-file
))
(stop #~(exec-command
(list
#$(file-append squid "/sbin/squid")
"-d"
"-a" #$port
"-u" #$port
"-k" "shutdown"
"-f" #$config-file
)
#:pid-file #$pid-file
#:log-file #$log-file
))
(actions (list
(shepherd-action
(name 'reload)
(documentation "Reload the settings file from disk.")
(procedure #~(exec-command
(list
#$(file-append squid "/sbin/squid")
"-d"
"-a" #$port
"-u" #$port
"-k" "reconfigure"
"-f" #$config-file
)
))
)
))
)
)
)
)
)
(define %squid-activation
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(mkdir-p "/var/run/squid")
(mkdir-p "/var/spool/squid")
#t
)
)
)
(define squid-service-type
(service-type (name 'squid)
(extensions
(list
(service-extension shepherd-root-service-type squid-shepherd-service)
(service-extension activation-service-type (const %squid-activation))
)
)
(description "Run @uref{http://www.squid-cache.org/, squid} community developped Squid software.")
)
)

View file

@ -1,5 +1,5 @@
(define-module (glicid services openldap) (define-module (glicid services openldap)
#:use-module (glicid packages openldap) #:use-module (gnu packages openldap)
#:use-module (gnu services) #:use-module (gnu services)
#:use-module (gnu services shepherd) #:use-module (gnu services shepherd)
#:use-module (guix) #:use-module (guix)
@ -8,57 +8,52 @@
#: export ( #: export (
openldap-configuration openldap-configuration
openldap-configuration? openldap-configuration?
%default-slapd.conf openldap-shepherd-service
openldap-service-type
) )
) )
(define-record-type* <openldap-configuration> (define-record-type* <openldap-configuration>
openldap-configuration make-openldap-configuration openldap-configuration make-openldap-configuration
openldap-configuration? openldap-configuration?
(openldap openldap-configuration-openldap ;<package> (openldap openldap-configuration-openldap
(default openldap-glicid) (default openldap)
) )
(arguments openldap-configuration-arguments ;list of strings (uri openldap-configuration-uri
(default '()) (default "ldapi:// ldap://")
) )
(logflags openldap-configuration-logflags ;number (logflags openldap-configuration-logflags
(default "0") (default "0")
) )
(log-file openldap-configuration-log-file ; string (pid-file openldap-configuration-pid-file
(default "/var/log/slapd.log")
)
(pid-file openldap-configuration-pid-file ; string
(default "/var/run/openldap/slapd.pid") (default "/var/run/openldap/slapd.pid")
) )
(config-file openldap-configuration-config-file ; string (config-file openldap-configuration-config-file
(default %default-slapd.conf) (default (file-append openldap "/etc/openldap/slapd.conf"))
) )
(schema-dir openldap-configuration-schema-dir ; string (log-file openldap-configuration-log-file
(default '()) (default "/var/log/slapd.log")
) )
) )
(define %default-slapd.conf
(plain-file "slapd.conf" "
# Empty file for test
"))
(define schema_dir (local-file "ldap_schema" #:recursive? #t))
(define openldap-shepherd-service (define openldap-shepherd-service
(match-lambda (match-lambda
(($ <openldap-configuration> openldap arguments logflags log-file pid-file config-file schema-dir) (($ <openldap-configuration> openldap uri logflags pid-file config-file log-file)
(list (list
(shepherd-service (shepherd-service
(provision '(slapd) ) (provision '(slapd) )
(documentation "Run openldap.") (documentation "Run openldap.")
(requirement '(user-processes)) (requirement '(user-processes))
(respawn? #f) (respawn? #t)
(start #~(make-forkexec-constructor (start #~(make-forkexec-constructor
(list (list
#$(file-append openldap-glicid "/libexec/slapd") #$(file-append openldap "/libexec/slapd")
"-h 'ldap:/// ldaps:///'" "-h" #$uri
"-d" #$logflags "-d" #$logflags
"-f" #$config-file "-f" #$config-file
) )
#:pid-file #$pid-file #:pid-file #$pid-file
#:log-file #$log-file
)) ))
(stop #~(make-kill-destructor)) (stop #~(make-kill-destructor))
) )
@ -66,14 +61,26 @@
) )
) )
) )
(define %openldap-activation
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(mkdir-p "/var/run/openldap")
(mkdir-p "/var/lib/ldap")
#t
)
)
)
(define openldap-service-type (define openldap-service-type
(service-type (name 'slapd) (service-type (name 'slapd)
(extensions (extensions
(list ( (list
service-extension (service-extension shepherd-root-service-type openldap-shepherd-service)
shepherd-root-service-type (service-extension activation-service-type (const %openldap-activation))
openldap-shepherd-service )
))
) )
(description "Run @uref{https://www.openldap.org, Openldap} community developped LDAP software.") (description "Run @uref{https://www.openldap.org, Openldap} community developped LDAP software.")
) )

View file

@ -0,0 +1,218 @@
(define-module (glicid services parallel)
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:use-module (guix)
#:use-module (guix records)
#:use-module (ice-9 match)
#:use-module (gnu packages parallel)
#:export (
munged-configuration
munged-configuration?
munged-service
munged-service-type
slurmdbd-configuration
slurmdbd-configuration?
slurmdbd-service
slurmdbd-service-type
slurmctld-configuration
slurmctld-configuration?
slurmctld-service
slurmctld-service-type
)
)
;
; Munged
;
(define-record-type* <munged-configuration>
munged-configuration make-munged-configuration
munged-configuration?
(munge munge-configuration-munge
(default munge)
)
(key-file munged-key-file
(default (file-append munge "/etc/munge/munged.key"))
)
(log-file munged-log-file
(default "/var/log/munged.log")
)
)
(define munged-service
(match-lambda
(($ <munged-configuration> munge key-file log-file)
(list
(shepherd-service
(provision '(munged) )
(documentation "Run munged.")
(requirement '(user-processes))
(respawn? #t)
(start #~(make-forkexec-constructor
(list
#$(file-append munge "/sbin/munged")
"-F"
"-f" ; until we fix the permissions
"--key-file" #$key-file
)
#:log-file #$log-file
))
(stop #~(make-kill-destructor))
)
)
)
)
)
(define %munged-activation
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(mkdir-p "/var/run/munge")
(mkdir-p "/var/lib/munge")
#t
)
)
)
(define munged-service-type
(service-type (name 'munged)
(extensions
(list
(service-extension shepherd-root-service-type munged-service)
(service-extension activation-service-type (const %munged-activation))
)
)
(description "Run munged")
)
)
;
; slurmdbd
;
(define-record-type* <slurmdbd-configuration>
slurmdbd-configuration make-slurmdbd-configuration
slurmdbd-configuration?
(slurm slurm-configuration-slurm
(default slurm)
)
(slurmdbd-conf slurmdbd-slurmdbd-conf
(default (file-append slurm "/etc/slurm/slurmdbd.conf"))
)
(log-file slurmdbd-log-file
(default "/var/log/slurmdbd.log")
)
)
(define slurmdbd-service
(match-lambda
(($ <slurmdbd-configuration> slurm slurmdbd-conf log-file)
(list
(shepherd-service
(provision '(slurmdbd) )
(documentation "Run slurmdbd.")
(requirement '(user-processes))
(respawn? #t)
(start #~(make-forkexec-constructor
(list
#$(file-append slurm "/sbin/slurmdbd")
"-D"
)
#:log-file #$log-file
))
(stop #~(make-kill-destructor))
)
)
)
)
)
(define %slurmdbd-activation
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(mkdir-p "/var/log/slurm")
(mkdir-p "/var/lib/slurm-archives")
(mkdir-p "/var/lib/slurm")
(chmod "0600" "/etc/slurm/slurmdbd.conf")
#t
)
)
)
(define slurmdbd-service-type
(service-type (name 'slurmdbd)
(extensions
(list
(service-extension shepherd-root-service-type slurmdbd-service)
(service-extension activation-service-type (const %slurmdbd-activation))
)
)
(description "Run slurmdbd")
)
)
;
; slurmctld
;
(define-record-type* <slurmctld-configuration>
slurmctld-configuration make-slurmctld-configuration
slurmctld-configuration?
(slurm slurm-configuration-slurm
(default slurm)
)
(slurmctld-conf slurmctld-slurmctld-conf
(default (file-append slurm "/etc/slurm/slurmctld.conf"))
)
(log-file slurmctld-log-file
(default "/var/log/slurmctld.log")
)
)
(define slurmctld-service
(match-lambda
(($ <slurmctld-configuration> slurm slurmctld-conf log-file)
(list
(shepherd-service
(provision '(slurmctld) )
(documentation "Run slurmctld.")
(requirement '(user-processes))
(respawn? #t)
(start #~(make-forkexec-constructor
(list
#$(file-append slurm "/sbin/slurmctld")
"-D" "-R"
"-f" #$slurmctld-conf
)
#:log-file #$log-file
))
(stop #~(make-kill-destructor))
)
)
)
)
)
(define %slurmctld-activation
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(mkdir-p "/var/log/slurm")
(mkdir-p "/var/lib/slurm-archives")
(mkdir-p "/var/lib/slurm")
#t
)
)
)
(define slurmctld-service-type
(service-type (name 'slurmctld)
(extensions
(list
(service-extension shepherd-root-service-type slurmctld-service)
(service-extension activation-service-type (const %slurmctld-activation))
)
)
(description "Run slurmctld")
)
)

View file

@ -0,0 +1,71 @@
(define-module (glicid services rc-local)
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:use-module (guix)
#:use-module (guix records)
#:use-module (ice-9 match)
#:use-module (gnu packages bash)
#:export (
%default-rc-local-conf
rc-local-configuration
rc-local-configuration?
rc-local-service
rc-local-service-type
)
)
(define %default-rc-local-conf
(plain-file "rc-local" "
# Empty file as we do nothing by default
")
)
(define-record-type* <rc-local-configuration>
rc-local-configuration make-rc-local-configuration
rc-local-configuration?
(config-file rc-local-config-file
(default %default-rc-local-conf)
)
(log-file rc-local-log-file
(default "/var/log/rc-local.log")
)
)
(define rc-local-service
(match-lambda
(($ <rc-local-configuration> config-file log-file)
(list
(shepherd-service
(provision '(rc-local) )
(documentation "Run rc-local.")
(requirement '(user-processes))
(respawn? #f)
(one-shot? #t)
(start #~(make-forkexec-constructor
(list
#$(file-append bash "/bin/bash")
"-l"
#$config-file
)
#:log-file #$log-file
))
(stop #~(make-kill-destructor))
)
)
)
)
)
(define rc-local-service-type
(service-type (name 'rc-local)
(extensions
(list (
service-extension
shepherd-root-service-type
rc-local-service
))
)
(description "Run a script in a rc-local like form")
)
)

View file

@ -1,8 +1,43 @@
(define-module (glicid utils) (define-module (glicid utils)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix transformations)
#:use-module (guix utils)
#:use-module (gnu packages gcc)
#:use-module (glicid packages gcc)
#:use-module (gnu packages commencement)
#:use-module (gnu packages)
#:export (latest-version) #:export (latest-version)
) #:export (gcc11-instead-of-gcc)
;; helper function #:export (transform-package)
;; return latest version of 2 packages #:export (instead-of)
)
;(define (latest-version v1 v2) (if (string> (package-version v1) (package-version v2)) v1 v2))
(define (latest-version v1 v2) (if (string> (package-version v1) (package-version v2)) v1 v2)) (define (latest-version v1 v2)
(case (version-compare (package-version v1) (package-version v2))
((>) v1)
((=) v1)
((<) v2)
)
)
(define gcc11-instead-of-gcc
(package-input-rewriting `(
(,gcc-toolchain . ,gcc-toolchain-11)
(,gfortran-toolchain . ,gfortran-toolchain-11)
))
)
(define (transform-package original-package suffix)
(package
(inherit original-package)
(name (string-append (package-name original-package) "-" suffix ))
)
)
(define (instead-of package-a-spec package-b)
(package-input-rewriting/spec `(
(,package-a-spec . ,(const package-b))
))
)