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

This commit is contained in:
Jean-François GUILLAUME 2021-11-04 14:27:19 +01:00
commit cc5cc2847f
GPG key ID: 38751DAE145EFB5A
17 changed files with 2211 additions and 1059 deletions

View file

@ -0,0 +1,122 @@
(define-module (glicid packages benchmark)
#:use-module (guix packages)
#: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 (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 storage)
#:use-module (glicid packages mpi)
#:use-module (glicid packages gcc)
)
;;;;;;;;
(define-public glicid-intel-mpi-benchmarks
(package
(inherit intel-mpi-benchmarks/openmpi)
(name "glicid-intel-mpi-benchmarks")
)
)
(define-public glicid-intel-mpi-benchmarks-gcc-11
(package
(inherit glicid-intel-mpi-benchmarks)
(name "glicid-specific-intel-mpi-benchmarks")
(inputs `(("openmpi", glicid-openmpi-gcc-11)
("gcc",gcc-11)
,@(package-inputs glicid-intel-mpi-benchmarks)))
)
)
;;; glicid/benchmark.scm ends here

139
glicid/packages/cluster.scm Normal file
View file

@ -0,0 +1,139 @@
(define-module (glicid packages cluster)
#:use-module (guix packages)
#: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) #: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)
)
;;;;;;;;
(define-public keepalived
(package
(inherit gnu:keepalived)
(version "2.2.4")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.keepalived.org/software/keepalived-"
version ".tar.gz"))
(sha256
(base32
"1py1xdrxzdxn09yi8dx842rmhnc8lv7z09wmb2mfljylhy8dcf01"
))))
)
)
(define-public glicid-keepalived
(package
(inherit (latest-version keepalived gnu:keepalived))
(name "glicid-keepalived")
(arguments
`(#:configure-flags
(list (string-append "--enable-snmp")
(string-append "--enable-snmp-checker")
(string-append "--enable-snmp-rfc")
)
)
)
(inputs `(("net-snmp", net-snmp)
,@(package-inputs keepalived)))
)
)
;;; glicid/cluster.scm ends here

View file

@ -0,0 +1,165 @@
(define-module (glicid packages fabric-management)
#:use-module (guix packages)
#: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 (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)
)
(define-public glicid-ucx
(package
(inherit ucx)
(name "glicid-ucx")
(version "1.11.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/openucx/ucx/releases/download/v" version "/ucx-" version ".tar.gz" ))
(sha256 (base32 "1py62vjr0hgyqsdpr04jhn918i8ccn6ghjalwpcjpz24admgisyy"))
)
)
)
)
(define-public glicid-ucx-gcc-11
(package
(inherit glicid-ucx)
(name "glicid-ucx-gcc-11")
(inputs `(("gcc-11", gcc-11)
("gfortran-11", gfortran-11)
,@(package-inputs glicid-ucx)))
)
)
(define-public glicid-ucx-gcc-10
(package
(inherit glicid-ucx)
(name "glicid-ucx-gcc-10")
(inputs `(("gcc-10", gcc-10)
("gfortran-10", gfortran-10)
,@(package-inputs glicid-ucx)))
)
)
(define-public glicid-specific-ucx-gcc-11
(package
(inherit glicid-ucx)
(name "glicid-specific-ucx-gcc-11")
(version "1.10.0")
(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
(package
(inherit ucx)
(inputs `(("gcc", gcc-10)
("gfortran", gfortran-10)
("libfabric", glicid-libfabric-gcc-11)
("rdma-core",glicid-rdma-core-gcc-11)
,@(package-inputs glicid-ucx)))
)
)
;;; glicid/fabric-management.scm ends here

176
glicid/packages/gcc.scm Normal file
View file

@ -0,0 +1,176 @@
(define-module (glicid packages gcc)
#:use-module (guix packages)
#: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 (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)
)
(define* (custom-gcc gcc name languages
#:optional
(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
(hidden-package
(custom-gcc gcc-11 "gfortran" '("fortran")
%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
(package (inherit (make-gcc-toolchain gfortran-11))
(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.")))
;;; glicid/gcc.scm ends here

View file

@ -90,198 +90,16 @@
;; #: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 mpi)
#:use-module (glicid packages gcc)
) )
(define* (custom-gcc gcc name languages
#:optional
(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
(hidden-package
(custom-gcc gcc-11 "gfortran" '("fortran")
%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
(package (inherit (make-gcc-toolchain gfortran-11))
(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 glicid-pmix
(package
(name "glicid-pmix-3.1.5")
(version "3.1.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/openpmix/openpmix/releases/download/v" version "/pmix-" version ".tar.bz2"))
(sha256 (base32 "1xswdkfcrw123ghcr9gmrb852nzjbl4i6qwrid3xyma42yal34w8"))
)
)
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list
(string-append "--with-hwloc=" (assoc-ref %build-inputs "hwloc") )
)
)
)
(synopsis "MPIX lib")
(description "MPIX. More to come. FIXIT")
(home-page "https://www.gnu.org/software/hello/")
(license license:gpl3+)
(inputs `(
("libevent", libevent)
("hwloc" ,hwloc-2 "lib")
("perl", perl)
("gcc", gcc-11)
)
)
)
)
(define-public glicid-custom-slurm-19.05
(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)
(define-public glicid-librdkafka-09 (define-public glicid-librdkafka-09
(package (package
(inherit librdkafka) (inherit librdkafka)
@ -422,131 +240,6 @@ in the @code{debug} output), and binutils.")))
; ) ; )
;) ;)
(define-public glicid-rdma-core
(package
(inherit rdma-core)
(name "glicid-rdma-core")
(version "31.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
"02ym93k6khfmzm9rml79x9zh1dy8231sygw16r287mhwp0x9mbji"))))
)
)
(define-public glicid-rdma-core-gcc-11
(package
(inherit rdma-core)
(name "glicid-rdma-core-gcc-11")
(version "32.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
"1z1i741bcn9vchmkjs8nxj0c0bw0jr53zj74l839n2wrb45f55w1"))))
(inputs `(("gcc-11", gcc-11)
,@(package-inputs rdma-core)))
)
)
(define-public glicid-libfabric-gcc-11
(package
(inherit libfabric)
(name "glicid-libfabric-gcc-11")
(version "1.11.2")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/ofiwg/libfabric/releases/download/v"
version "/libfabric-" version ".tar.bz2"))
(sha256
(base32 "1nnpfkwxhim2nqjkb1vwrb4wj4j3l6w6yvvy69fqam2snlhshazz"))))
(inputs `(("gcc-11", gcc-11)
,@(package-inputs libfabric)))
)
)
(define-public glicid-ucx-gcc-11
(package
(inherit ucx)
(name "glicid-ucx-gcc-11")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/openucx/ucx/releases/download/v" version "/ucx-" version ".tar.gz" ))
(sha256 (base32 "0bdrbp86snq5z0y66zzxs7ig33g9h59kag11rc1lqwll3d5y51dq"))
))
(inputs `(("gcc-11", gcc-11)
("gfortran-11", gfortran-11)
,@(package-inputs ucx)))
)
)
(define-public glicid-ucx-gcc-10
(package
(inherit ucx)
(name "glicid-ucx-gcc-10")
(version "1.9.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/openucx/ucx/releases/download/v" version "/ucx-" version ".tar.gz" ))
(sha256 (base32 "1yrmwvjxi3najax1wz4irpzxns6cp74ksdx4i1049mf03n2ci8m7"))
))
(inputs `(("gcc-10", gcc-10)
("gfortran-10", gfortran-10)
,@(package-inputs ucx)))
)
)
(define-public glicid-openmpi-gcc-11
(package
(inherit openmpi)
(name "glicid-openpmi-gcc-11")
(version "4.1.1")
; (source
; (origin
; (method url-fetch)
; (uri (string-append "https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-" version ".tar.gz"))
; (sha256 (base32 "02hlg2pgk1np78dqlplwd5qcgrrymy8s49ng4sdrscqmvp1ng112"))
; ))
(inputs `(("gcc-11", gcc-11)
("gfortran-11", gfortran-11)
("glicid-ucx-gcc-11",glicid-ucx-gcc-11)
;; ("glicid-rdma-core",glicid-rdma-core) ;;; segfault !!!
,@(package-inputs openmpi)))
)
)
(define-public glicid-intel-mpi-benchmarks
(package
(inherit intel-mpi-benchmarks/openmpi)
(name "glicid-intel-mpi-benchmarks")
(inputs `(("glicid-openmpi-gcc-11", glicid-openmpi-gcc-11)
("gcc",gcc-11)
,@(package-inputs intel-mpi-benchmarks/openmpi)))
)
)
(define-public glicid-gromacs-gcc-11 (define-public glicid-gromacs-gcc-11
(package (package
@ -583,149 +276,6 @@ in the @code{debug} output), and binutils.")))
)) ))
(define-public glicid-gajim
(package
(inherit gajim)
(name "glicid-gajim")
(version "1.2.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://gajim.org/downloads/1.2/gajim-" version ".tar.gz"))
(sha256 (base32 "1gfcp3b5nq43xxz5my8vfhfxnnli726j3hzcgwh9fzrzzd9ic3gx"))
))
(inputs `(("python-packaging", python-packaging)
("glicid-python-nbxmpp", glicid-python-nbxmpp)
("python-css-parser", python-css-parser)
,@(package-inputs gajim)))
(propagated-inputs
`(
("glib-networking" ,glib-networking)
("libsoup" ,libsoup)
("gnutls" , gnutls)
))
))
;;26.2 is ok : "1ilns8spik1xz2n668pf0awp4n7b3q7n886ml0q3bslb8fmqfl0i"
;;27.1 is ok : "1mqaxzsbhm7kh20dwdrapvx4x86wkbk1wgb2yyjz73l6bymv7vir"
;;28.1 is ok : "04y7wm2an842hf6idlbjvmiqnlh05xb2i9rhdb5ifzw6n3ciz5nr"
;; 30.0 crash : "1ycvd8sp3giwjbp0x3nvb8q2wrdc50s7lmzf44b9l51qgcnvvq93"
;; 31.0 crash :
;; 32.0 crash : "1z1i741bcn9vchmkjs8nxj0c0bw0jr53zj74l839n2wrb45f55w1"
;; 33.0 crash : "0cnmw04z68x042nkqxg57wijzkf9ysmvr8xxidxhxz0mxwx9impg"
(define-public glicid-specific-rdma-core-gcc-11
(package
(inherit rdma-core)
(name "glicid-specific-rdma-core-gcc-11")
(version "36.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
;; "1s4b80jzdi2m6j5aix3mxl6iafgbqp88pfxy7568zxwc8rkcz71x"
"13ccvy3qv5b87g3b5q86gjv4wkgv86dlm9xbmii5aiy3i10ym48l"
))))
(inputs `(("gcc", gcc-11)
,@(package-inputs rdma-core)))
)
)
(define-public glicid-specific-libfabric-gcc-11
(package
(inherit libfabric)
(name "glicid-specific-libfabric-gcc-11")
(version "1.12.1")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/ofiwg/libfabric/releases/download/v"
version "/libfabric-" version ".tar.bz2"))
(sha256
(base32 "0b34p88w399jabdf77jpskxyv2j60nwxlsj3lyk9svjy9458wg6v"))))
(inputs `(("gcc", gcc-11)
("rdma-core", glicid-specific-rdma-core-gcc-11)
,@(package-inputs libfabric)))
)
)
(define-public glicid-specific-ucx-gcc-11
(package
(inherit ucx)
(name "glicid-specific-ucx-gcc-11")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/openucx/ucx/releases/download/v" version "/ucx-" version ".tar.gz" ))
(sha256 (base32 "0bdrbp86snq5z0y66zzxs7ig33g9h59kag11rc1lqwll3d5y51dq"))
))
(inputs `(("gcc", gcc-11)
("gfortran", gfortran-11)
("libfabric", glicid-specific-libfabric-gcc-11)
("rdma-core",glicid-specific-rdma-core-gcc-11)
,@(package-inputs ucx)))
)
)
(define-public glicid-specific-ucx-gcc-10
(package
(inherit ucx)
(name "glicid-specific-ucx-gcc-10")
(version "1.9.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/openucx/ucx/releases/download/v" version "/ucx-" version ".tar.gz" ))
(sha256 (base32 "1yrmwvjxi3najax1wz4irpzxns6cp74ksdx4i1049mf03n2ci8m7"))
))
(inputs `(("gcc", gcc-10)
("gfortran", gfortran-10)
("libfabric", glicid-specific-libfabric-gcc-11)
("rdma-core",glicid-specific-rdma-core-gcc-11)
,@(package-inputs ucx)))
)
)
(define-public glicid-specific-openmpi
(package
(inherit glicid-openmpi-gcc-11)
(name "glicid-specific-openmpi")
(inputs `(
("gcc",gcc-11)
("rdma-core",glicid-specific-rdma-core-gcc-11)
("ucx",glicid-specific-ucx-gcc-10)
("libfabric",glicid-specific-libfabric-gcc-11)
; ("slurm", glicid-specific-slurm)
,@(package-inputs glicid-openmpi-gcc-11)))
)
)
(define-public glicid-specific-intel-mpi-benchmarks
(package
(inherit glicid-intel-mpi-benchmarks)
(name "glicid-specific-intel-mpi-benchmarks")
(inputs `(("openmpi", glicid-specific-openmpi)
("gcc",gcc-11)
,@(package-inputs glicid-intel-mpi-benchmarks)))
)
)
(define-public glicid-specific-hdf5 (define-public glicid-specific-hdf5
(package (package
(inherit hdf5-1.12) (inherit hdf5-1.12)
@ -823,58 +373,6 @@ in the @code{debug} output), and binutils.")))
) )
) )
(define-public glicid-specific-cmake
(package
(inherit cmake)
(name "glicid-specific-cmake")
(version "3.20.2")
;; TODO: Move the following source field to the cmake-bootstrap package in
;; the next rebuild cycle.
(source (origin
(method url-fetch)
(uri (string-append "https://cmake.org/files/v"
(version-major+minor version)
"/cmake-" version ".tar.gz"))
(sha256
(base32
"0kjlb7sxbwg8z4027c3jjcmyjh9d36p0r9d4nqxynyaijz5nxkxf"))))
)
)
(define-public glicid-keepalived
(package
(inherit keepalived)
(name "glicid-keepalived")
(version "2.1.5")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.keepalived.org/software/keepalived-"
version ".tar.gz"))
(sha256
(base32
"0n92fdlmm251scq2j7w1nqwly8jsla4sxrd0jnfb6nn9qp5pqkfr"))))
(arguments
`(#:configure-flags
(list (string-append "--enable-snmp")
(string-append "--enable-snmp-checker")
(string-append "--enable-snmp-rfc")
)
)
)
(inputs `(("net-snmp", net-snmp)
,@(package-inputs keepalived)))
)
)
(define-public glicid-motif (define-public glicid-motif
(package (package
@ -1040,458 +538,5 @@ in the @code{debug} output), and binutils.")))
) )
(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
(name "glicid-libcbor")
(version "0.8.0")
(source
(origin
(method url-fetch)
(uri (string-append
"http://github.com/PJK/libcbor/archive/refs/tags/v" version ".tar.gz"))
(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 glicid-libfido2
(package
(name "glicid-libfido2")
(version "1.8.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://developers.yubico.com/libfido2/Releases/libfido2-"
version ".tar.gz"))
; (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"07gxyy5yzgfh5hg7q9fr77z5mkj0xjvd5ya7p5f5kar4iwc92hjm"))
))
(build-system cmake-build-system)
(arguments '(#:tests? #f))
(inputs `(
("glicid-libcbor",glicid-libcbor)
("openssl",openssl)
("zlib", zlib)
("pkg-config", pkg-config) ; or cmake won't find zlib !
("eudev", eudev)
))
(synopsis "libfido2")
(description "Todo")
(home-page "toto")
(license license:gpl2+)
)
)
(define-public glicid-specific-openssh
(package
(inherit openssh)
(name "glicid-specific-openssh")
(arguments
`(#:test-target "tests"
;; Otherwise, the test scripts try to use a nonexistent directory and
;; fail.
#:make-flags '("REGRESSTMP=\"$${BUILDDIR}/regress\"")
#:configure-flags `("--sysconfdir=/etc/ssh"
;; Default value of 'PATH' used by sshd.
"--with-default-path=/run/current-system/profile/bin"
;; configure needs to find krb5-config.
,(string-append "--with-kerberos5="
(assoc-ref %build-inputs "mit-krb5")
"/bin")
;; libedit is needed for sftp completion.
"--with-libedit"
;; for u2f
"--with-security-key-builtin"
; ,(string-append "--with-fido2=" (assoc-ref %build-inputs "libfido2"))
;; Enable PAM support in sshd.
,,@(if (hurd-target?)
'()
'("--with-pam"))
;; "make install" runs "install -s" by default,
;; which doesn't work for cross-compiled binaries
;; because it invokes 'strip' instead of
;; 'TRIPLET-strip'. Work around this.
,,@(if (%current-target-system)
'("--disable-strip")
'()
))
#:phases
(modify-phases %standard-phases
(add-after 'configure 'reset-/var/empty
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "Makefile"
(("PRIVSEP_PATH=/var/empty")
(string-append "PRIVSEP_PATH=" out "/var/empty")))
#t)))
(add-before 'check 'patch-tests
(lambda _
(substitute* "regress/test-exec.sh"
(("/bin/sh") (which "sh")))
;; Remove 't-exec' regress target which requires user 'sshd'.
(substitute* (list "Makefile"
"regress/Makefile")
(("^(tests:.*) t-exec(.*)" all pre post)
(string-append pre post)))
#t))
(replace 'install
(lambda* (#:key outputs (make-flags '()) #:allow-other-keys)
;; Install without host keys and system configuration files.
(apply invoke "make" "install-nosysconf" make-flags)
(install-file "contrib/ssh-copy-id"
(string-append (assoc-ref outputs "out")
"/bin/"))
(chmod (string-append (assoc-ref outputs "out")
"/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)))
)
)
(define-public snappy-1.1.8
(package
(name "snappy")
(version "1.1.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/snappy")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1j0kslq2dvxgkcxl1gakhvsa731yrcvcaipcp5k8k7ayicvkv9jv"))
(patches (search-patches "snappy-add-O2-flag-in-CmakeLists.txt.patch"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
(home-page "https://github.com/google/snappy")
(synopsis "Fast compressor/decompressor")
(description "Snappy is a compression/decompression library. It does not
aim for maximum compression, or compatibility with any other compression library;
instead, it aims for very high speeds and reasonable compression. For instance,
compared to the fastest mode of zlib, Snappy is an order of magnitude faster
for most inputs, but the resulting compressed files are anywhere from 20% to
100% bigger.")
(license license:asl2.0)))
(define-public glicid-ceph-15
(package
(name "glicid-ceph-15")
(version "15.2.14")
(source (origin
(method url-fetch)
(uri (string-append "https://download.ceph.com/tarballs/ceph-"
version ".tar.gz"))
(sha256
(base32
"12cz10aascr2h7xbxp9ba5207pn9qv6m50xp5f8ns80vj6lzi6d3"))
; (patches
; (search-patches "ceph-disable-cpu-optimizations.patch"))
(modules '((guix build utils)))
(snippet
'(begin
(for-each delete-file-recursively
'(;; TODO: Unbundle these:
;"src/isa-l"
;"src/lua"
;"src/xxHash"
;"src/zstd"
;"src/civetweb"
;"src/seastar/fmt"
; "src/test/downloads"
"src/c-ares"
"src/fmt" ;; YD
"src/googletest"
"src/rapidjson"
"src/spdk"
"src/rocksdb"
"src/boost"))
#t))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(let* ((out (assoc-ref %outputs "out"))
(lib (assoc-ref %outputs "lib"))
(libdir (string-append lib "/lib")))
(list (string-append "-DCMAKE_INSTALL_PREFIX=" out)
(string-append "-DCMAKE_INSTALL_LIBDIR=" libdir)
(string-append "-DCMAKE_INSTALL_INCLUDEDIR="
lib "/include")
;; We need both libdir and libdir/ceph in RUNPATH.
(string-append "-DCMAKE_INSTALL_RPATH="
libdir ";" libdir "/ceph")
(string-append "-DCMAKE_INSTALL_SYSCONFDIR=" out "/etc")
(string-append "-DCMAKE_INSTALL_DATADIR=" lib "/share")
(string-append "-DCMAKE_INSTALL_MANDIR=" out "/share/man")
(string-append "-DCMAKE_INSTALL_DOCDIR=" out "/share/ceph/doc")
(string-append "-DCMAKE_INSTALL_LIBEXECDIR=" out "/libexec")
(string-append "-DKEYUTILS_INCLUDE_DIR="
(assoc-ref %build-inputs "keyutils") "/include")
(string-append "-DXFS_INCLUDE_DIR="
(assoc-ref %build-inputs "xfsprogs") "/include")
"-DCMAKE_INSTALL_LOCALSTATEDIR=/var"
"-DBUILD_SHARED_LIBS=ON"
"-DWITH_SYSTEM_ROCKSDB=ON"
"-DWITH_SYSTEM_BOOST=ON"
"-DWITH_PYTHON3=ON"
;; TODO: Enable these when available in Guix.
"-DWITH_MGR_DASHBOARD_FRONTEND=OFF" ;requires node + nodeenv
"-DWITH_BABELTRACE=OFF"
"-DWITH_LTTNG=OFF"
"-DWITH_SPDK=OFF"
"-DWITH_RADOSGW_AMQP_ENDPOINT=OFF"
;; Use jemalloc instead of tcmalloc.
"-DALLOCATOR=jemalloc"
;; Do not bother building the tests; we are not currently running
;; them, and they do not build with system googletest as of 14.2.5.
"-DWITH_TESTS=OFF"))
;; FIXME: Some of the tests leak Btrfs subvolumes on Btrfs. See
;; <https://bugs.gnu.org/29674> for details. Disable tests until
;; resolved.
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(lib (assoc-ref outputs "lib")))
(substitute* "cmake/modules/Distutils.cmake"
;; Prevent creation of Python eggs.
(("setup.py install")
"setup.py install --single-version-externally-managed --root=/"))
(substitute* (find-files "src/pybind" "^setup\\.py$")
;; Here we inject an extra line to the `setup.py' of the
;; Python C libraries so RUNPATH gets set up correctly.
; (("^([[:blank:]]+)extra_compile_args=(.*)$" _ indent args)
; (string-append indent "extra_compile_args=" args
; indent "extra_link_args=['-Wl,-rpath="
; lib "/lib'],\n")))
(("^([[:blank:]]+)extra_link_args=(.*)$" _ indent args)
(string-append indent "extra_link_args=(['-Wl,-rpath=" lib "/lib'] + distutils.sysconfig.get_config_var('LDFLAGS').split() + \n")))
;; Statically link libcrc32 because it does not get installed,
;; yet several libraries end up referring to it.
(substitute* "src/common/CMakeLists.txt"
(("add_library\\(crc32")
"add_library(crc32 STATIC"))
(substitute* "udev/50-rbd.rules"
(("/usr/bin/ceph-rbdnamer")
(string-append out "/bin/ceph-rbdnamer")))
#t)))
(add-before 'install 'set-install-environment
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(py3sitedir
(string-append out "/lib/python"
,(version-major+minor
(package-version python))
"/site-packages")))
;; The Python install scripts refuses to function if
;; the install directory is not on PYTHONPATH.
(setenv "PYTHONPATH"
(string-append py3sitedir ":"
(getenv "PYTHONPATH")))
#t)))
(add-after 'install 'wrap-python-scripts
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(scripts '("ceph" "ceph-mgr" "ceph-volume"))
(prettytable (assoc-ref inputs "python-prettytable"))
(six (assoc-ref inputs "python-six"))
(sitedir (lambda (package)
(string-append package
"/lib/python"
,(version-major+minor
(package-version python))
"/site-packages")))
(PYTHONPATH (string-append
(sitedir out) ":"
(sitedir six) ":"
(sitedir prettytable))))
(for-each (lambda (executable)
(wrap-program (string-append out "/bin/" executable)
`("PYTHONPATH" ":" prefix (,PYTHONPATH))))
scripts)
#t))))))
(outputs
'("out" "lib"))
(native-inputs
`(("gperf" ,gperf)
("pkg-config" ,pkg-config)
("python-cython" ,python-cython)
("python-sphinx" ,python-sphinx)
("yasm" ,yasm)))
(inputs
`(("boost" ,boost)
("curl" ,curl)
("cryptsetup" ,cryptsetup)
("expat" ,expat)
("fcgi" ,fcgi)
("fmt",fmt) ;; maybe need v5 ?
("fuse" ,fuse)
("jemalloc" ,jemalloc)
("keyutils" ,keyutils)
("leveldb" ,leveldb)
("libaio" ,libaio)
("libatomic-ops" ,libatomic-ops)
("libcap-ng" ,libcap-ng)
("libnl" ,libnl)
("librdkafka" ,librdkafka)
("lua" ,lua)
("lz4" ,lz4)
("oath-toolkit" ,oath-toolkit)
("openldap" ,openldap)
("openssl" ,openssl)
("ncurses" ,ncurses)
("nss" ,nss)
("python-prettytable" ,python-prettytable) ;used by ceph_daemon.py
("python-six" ,python-six) ;for ceph-mgr + plugins
("python" ,python-wrapper)
("rapidjson" ,rapidjson)
("rdma-core" ,rdma-core)
("rocksdb" ,rocksdb)
("snappy" ,snappy-1.1.8)
("udev" ,eudev)
("util-linux" ,util-linux)
("util-linux:lib" ,util-linux "lib")
("xfsprogs" ,xfsprogs)
("zlib" ,zlib)))
(home-page "https://ceph.com/")
(synopsis "Distributed object store and file system")
(description
"Ceph is a distributed storage system designed for reliability and
performance. It provides network-based block devices (RBD), a POSIX
compliant file system (CephFS), and offers compatibility with various
storage protocols (S3, NFS, and others) through the RADOS gateway.")
;; The Ceph libraries are LGPL2.1 and most of the utilities fall under
;; GPL2. The installed erasure code plugins are BSD-3 licensed and do
;; not use the GPL code. The source archive includes a number of files
;; carrying other licenses; consult COPYING for more information. Note
;; that COPYING does not cover third-party bundled software.
(license (list license:lgpl2.1 license:gpl2 ;some files are 'or later'
license:cc-by-sa3.0 ;documentation
license:bsd-3 ;isa-l,jerasure,++
license:expat))) ;civetweb,java bindings
)
(define-public glicid-ceph glicid-ceph-15)
(define-public glicid-qemu
(package
(inherit qemu)
(name "glicid-qemu")
)
)
(define-public qemu-with-rbd
(package
(inherit glicid-qemu)
(name "qemu-with-rbd")
(arguments
(substitute-keyword-arguments
`(#:tests? #f
,@(package-arguments glicid-qemu)))
)
(inputs `(("glicid-ceph:lib", glicid-ceph "lib" )
,@(package-inputs glicid-qemu)))
)
)
;;; glicid.scm ends here ;;; glicid.scm ends here

113
glicid/packages/gnome.scm Normal file
View file

@ -0,0 +1,113 @@
(define-module (glicid packages gnome)
#:use-module (guix packages)
#: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 (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 (gnu packages gnome)
)
;;;;;;;;
(define-public glicid-terminator
(package
(inherit terminator)
(name "glicid-terminator")
(propagated-inputs
`(
("sssd" ,sssd)
,@(package-propagated-inputs terminator)
))
)
)

146
glicid/packages/linux.scm Normal file
View file

@ -0,0 +1,146 @@
(define-module (glicid packages linux)
#:use-module (guix packages)
#: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 (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)
)
(define-public glicid-rdma-core
(package
(inherit rdma-core)
(name "glicid-rdma-core")
(version "37.1")
(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
"1hjwagf5x48vgshy5s01qjlzjr8kmxpflfcvh8pgj3zbj82zzxiz"))))
)
)
(define-public glicid-rdma-core-gcc-11
(package
(inherit glicid-rdma-core)
(name "glicid-rdma-core-gcc-11")
(inputs `(("gcc-11", gcc-11)
,@(package-inputs rdma-core)))
)
)
(define-public glicid-libfabric
(package
(inherit libfabric)
(name "glicid-libfabric")
(version "1.13.1")
)
)
(define-public glicid-libfabric-gcc-11
(package
(inherit glicid-libfabric)
(name "glicid-libfabric-gcc-11")
(inputs `(("gcc-11", gcc-11)
("rdma-core", glicid-rdma-core-gcc-11)
,@(package-inputs glicid-libfabric)))
)
)
;;; glicid/linux.scm ends here

138
glicid/packages/mpi.scm Normal file
View file

@ -0,0 +1,138 @@
(define-module (glicid packages mpi)
#:use-module (guix packages)
#: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 (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 fabric-management)
)
(define-public glicid-openmpi
(package
(inherit openmpi)
(name "glicid-openpmi")
)
)
(define-public glicid-openmpi-gcc-11
(package
(inherit glicid-openmpi)
(name "glicid-openpmi-gcc-11")
(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 glicid-specific-openmpi
(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)))
)
)

216
glicid/packages/nfs.scm Normal file
View file

@ -0,0 +1,216 @@
(define-module (glicid packages nfs)
#:use-module (guix packages)
#: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 (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 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
(package
(name "nfs-ganesha")
(version "3.5")
(source (origin
; (method url-fetch)
; (uri (string-append
; "https://github.com/nfs-ganesha/nfs-ganesha/archive/refs/tags/V" version ".tar.gz"))
;
;
; (sha256 (base32 "0545c6snmx66vpa427ij21md81vi5xa2v77428i4pq6fk6mgm06r"))
; )
; )
(method git-fetch)
(uri
(git-reference
(url "https://github.com/nfs-ganesha/nfs-ganesha.git")
(commit (string-append "V" version))
(recursive? #t)
)
)
(sha256 (base32 "0rdg3mjqrr4a8mywxkfis25gkbn4fylw42hg1d9cvp4dwrjk3hl4"))
(file-name (string-append name "-" version "-checkout"))
)
)
(build-system cmake-build-system)
(arguments
`(
;; #:validate-runpath? #f ;; we should know why
#: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)
)
)
)
)
; (native-search-paths
; (list
; (search-path-specification
; (variable "LIBRARY_PATH")
; (files '("lib" "lib64"))
; )
; )
; )
(inputs
`(
("perl", perl)
("oksh",oksh)
("python-3",python-3)
("mit-krb5",mit-krb5)
("gss",gss)
("pkg-config",pkg-config)
("jemalloc",jemalloc)
("ceph:lib",ceph "lib") ;; will use latest gnu or glicid ceph
("libnfsidmap",libnfsidmap)
("libnfs",libnfs)
; ("xfsprogs",xfsprogs)
("liburcu",liburcu)
("bison",bison)
("flex",flex)
("libnsl",libnsl)
("util-linux" ,util-linux "lib") ;; uuid.h
)
)
;; placeholders
(synopsis "nfs-ganesha")
(description
"NFS-Ganesha.
bla.")
(home-page "https://")
(license license:gpl3+))
;)
; )
;)
)
;;; glicid/nfs.scm ends here

View file

@ -1,12 +1,20 @@
(define-module (glicid packages nginx) (define-module (glicid packages nginx)
#:use-module (guix packages) #:use-module (ice-9 match)
#:use-module (guix utils) #:use-module (guix)
#: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 licenses) #:select (asl2.0))
#:use-module (guix utils)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages web) #:use-module (gnu packages web)
; #:use-module (glicid packages openldap) #:use-module (gnu packages xml)
#:use-module (gnu packages openldap) #:use-module (gnu packages tls)
#:use-module (glicid packages openldap)
) )
(define-public nginx-ldap-auth-module (define-public nginx-ldap-auth-module
@ -70,66 +78,103 @@
) )
) )
;(define-public nginx-modsecurity (define-public modsecurity
; (package (package
; (inherit nginx) (name "modsecurity")
; (name "nginx-modsecurity") (version "3.0.5")
; (version "3.0.5") (source
; (source (origin
; (origin (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/v3.0.5/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)
; (build-system gnu-build-system) (home-page "https://github.com/SpiderLabs/ModSecurity")
; (inputs (build-system gnu-build-system)
; `(("nginx-sources" ,(package-source nginx)) (inputs `(
; ("openldap", openldap) ("curl", curl)
; ,@(package-inputs nginx))) ("libxml2", libxml2)
; (arguments ("libxslt", libxslt)
; (substitute-keyword-arguments ("openssl", openssl)
; `(#:configure-flags '("--add-dynamic-module=.") ("pcre", pcre)
; #:make-flags '("modules") ("pcre:bin", pcre "bin")
; ,@(package-arguments nginx) ("zlib", zlib)
; ) ("pkg-config", pkg-config)
; ((#:phases phases) ("nginx-sources", (package-source nginx))
; `(modify-phases ,phases ))
; (replace 'configure (arguments `(
; (lambda* (#:key output #:allow-other-keys) #:configure-flags (list
; (invoke "./configure" "--enable-standalone-module" "make" ) (string-append "--with-curl=" (assoc-ref %build-inputs "curl"))
; ) (string-append "--with-pcre=" (assoc-ref %build-inputs "pcre:bin") "/bin/pcre-config")
; ) (string-append "--with-libxml=" (assoc-ref %build-inputs "libxml2"))
;; (add-after 'configure 'unpack-nginx-sources "--enable-standalone-module"
;; (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") (define-public nginx-modsecurity-module
;; ) (package
;; #t (inherit nginx)
;; ) (name "nginx-modsecurity-module")
;; ) (version "1.0.2")
;; ) (source
;; (replace 'install (origin
;; (lambda* (#:key outputs #:allow-other-keys) (method url-fetch)
;; (let ((modules-dir (string-append (assoc-ref outputs "out") "/etc/nginx/modules"))) (uri (list
;; (install-file "objs/ngx_http_auth_ldap_module.so" modules-dir) (string-append "https://github.com/SpiderLabs/ModSecurity-nginx/releases/download/v" version "/modsecurity-nginx-v" version ".tar.gz")
;; #t )
;; ) )
;; ) (sha256 (base32 "0clcny8276d3j73ws661lh983vqq9m29rw7qb7gn132ha066d9j1" ))
;; ) )
; (delete 'fix-root-dirs) )
; (delete 'install-man-page) (synopsis "ModSecurity module for nginx")
; ) (description "ModSecurity module for nginx.")
; ) (build-system gnu-build-system)
; ) (inputs
; ) `(("nginx-sources" ,(package-source nginx))
; ) ("modsecurity", modsecurity)
;) ,@(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_modsecurity_module.so" modules-dir)
#t
)
)
)
(delete 'fix-root-dirs)
(delete 'install-man-page)
)
)
)
)
)
)
nginx-modsecurity-module

View file

@ -14,37 +14,54 @@
) )
(define-public openldap (define-public openldap
(package (package
(inherit gnu:openldap) (inherit gnu:openldap)
(name "openldap") (name "openldap")
(version "2.5.7") (version "2.5.7")
(build-system gnu-build-system) (source (origin
(inputs `( (method url-fetch)
("libltdl", libltdl) (uri (list
("pkg-config", pkg-config) (string-append "https://www.openldap.org/software/download/OpenLDAP/" "openldap-release/openldap-" version ".tgz")
("libevent", libevent) (string-append "http://gpl.savoirfairelinux.net/pub/mirrors/openldap/" "openldap-release/openldap-" version ".tgz")
("openssl", openssl) (string-append "http://repository.linagora.org/OpenLDAP/" "openldap-release/openldap-" version ".tgz")
("argon2", argon2) (string-append "ftp://ftp.ntua.gr/mirror/OpenLDAP/" "openldap-release/openldap-" version ".tgz")
("wiredtiger", wiredtiger) (string-append "https://mirror-hk.koddos.net/OpenLDAP/" "openldap-release/openldap-" version ".tgz")
("snappy", snappy) (string-append "ftp://ftp.dti.ad.jp/pub/net/OpenLDAP/" "openldap-release/openldap-" version ".tgz")
("lz4", lz4) (string-append "https://mirror.koddos.net/OpenLDAP/" "openldap-release/openldap-" version ".tgz")
,@(package-inputs gnu:openldap) (string-append "https://mirror.lyrahosting.com/OpenLDAP/" "openldap-release/openldap-" version ".tgz")
)) ))
(arguments '( (sha256 ( base32 "1ayr76sa5hjwldqzis5v71sbp88hd3hysc00gw1raqn33c05g5za" ))
; this is needed because the make check does not work inside guix )
#:configure-flags '(
"--enable-debug" "--enable-dynamic" "--enable-syslog" "--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"
)
#:phases (modify-phases %standard-phases
(add-before 'build 'make-depend
(lambda* (#:key input #:allow-other-keys)
(invoke "make" "depend")
)
)
)
))
) )
(build-system gnu-build-system)
(inputs `(
("libltdl", libltdl)
("pkg-config", pkg-config)
("libevent", libevent)
("openssl", openssl)
("argon2", argon2)
("wiredtiger", wiredtiger)
("snappy", snappy)
("lz4", lz4)
,@(package-inputs gnu:openldap)
))
(arguments '(
; this is needed because the make check does not work inside guix
#:tests? #f
#:configure-flags '(
"--enable-debug" "--enable-dynamic" "--enable-syslog" "--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=")
#:phases (modify-phases %standard-phases
(add-before 'build 'make-depend
(lambda* (#:key input #:allow-other-keys)
(invoke "make" "depend")
)
)
)
))
)
) )

View file

@ -0,0 +1,206 @@
(define-module (glicid packages parallel)
#:use-module (guix packages)
#: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 (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)
)
(define-public glicid-pmix
(package
(name "glicid-pmix-3.1.5")
(version "3.1.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/openpmix/openpmix/releases/download/v" version "/pmix-" version ".tar.bz2"))
(sha256 (base32 "1xswdkfcrw123ghcr9gmrb852nzjbl4i6qwrid3xyma42yal34w8"))
)
)
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list
(string-append "--with-hwloc=" (assoc-ref %build-inputs "hwloc") )
)
)
)
(synopsis "MPIX lib")
(description "MPIX. More to come. FIXIT")
(home-page "https://www.gnu.org/software/hello/")
(license license:gpl3+)
(inputs `(
("libevent", libevent)
("hwloc" ,hwloc-2 "lib")
("perl", perl)
("gcc", gcc-11)
)
)
)
)
(define-public glicid-custom-slurm-19.05
(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,13 @@
Patch tracked upstream at https://tracker.ceph.com/issues/50934
--- a/src/compressor/snappy/SnappyCompressor.h
+++ b/src/compressor/snappy/SnappyCompressor.h
@@ -96,7 +96,7 @@ class SnappyCompressor : public Compressor {
if (qat_enabled)
return qat_accel.decompress(p, compressed_len, dst);
#endif
- snappy::uint32 res_len = 0;
+ uint32_t res_len = 0;
BufferlistSource source_1(p, compressed_len);
if (!snappy::GetUncompressedLength(&source_1, &res_len)) {
return -1;

288
glicid/packages/ssh.scm Normal file
View file

@ -0,0 +1,288 @@
(define-module (glicid packages ssh)
#:use-module (guix packages)
#: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 (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 storage)
#:use-module (glicid packages mpi)
#:use-module (glicid packages gcc)
)
;;;;;;;;
(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
(name "glicid-libcbor")
(version "0.8.0")
(source
(origin
(method url-fetch)
(uri (string-append
"http://github.com/PJK/libcbor/archive/refs/tags/v" version ".tar.gz"))
(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 glicid-libfido2
(package
(name "glicid-libfido2")
(version "1.8.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://developers.yubico.com/libfido2/Releases/libfido2-"
version ".tar.gz"))
; (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"07gxyy5yzgfh5hg7q9fr77z5mkj0xjvd5ya7p5f5kar4iwc92hjm"))
))
(build-system cmake-build-system)
(arguments '(#:tests? #f))
(inputs `(
("glicid-libcbor",glicid-libcbor)
("openssl",openssl)
("zlib", zlib)
("pkg-config", pkg-config) ; or cmake won't find zlib !
("eudev", eudev)
))
(synopsis "libfido2")
(description "Todo")
(home-page "toto")
(license license:gpl2+)
)
)
(define-public glicid-specific-openssh
(package
(inherit openssh)
(name "glicid-specific-openssh")
(arguments
`(#:test-target "tests"
;; Otherwise, the test scripts try to use a nonexistent directory and
;; fail.
#:make-flags '("REGRESSTMP=\"$${BUILDDIR}/regress\"")
#:configure-flags `("--sysconfdir=/etc/ssh"
;; Default value of 'PATH' used by sshd.
"--with-default-path=/run/current-system/profile/bin"
;; configure needs to find krb5-config.
,(string-append "--with-kerberos5="
(assoc-ref %build-inputs "mit-krb5")
"/bin")
;; libedit is needed for sftp completion.
"--with-libedit"
;; for u2f
"--with-security-key-builtin"
; ,(string-append "--with-fido2=" (assoc-ref %build-inputs "libfido2"))
;; Enable PAM support in sshd.
,,@(if (hurd-target?)
'()
'("--with-pam"))
;; "make install" runs "install -s" by default,
;; which doesn't work for cross-compiled binaries
;; because it invokes 'strip' instead of
;; 'TRIPLET-strip'. Work around this.
,,@(if (%current-target-system)
'("--disable-strip")
'()
))
#:phases
(modify-phases %standard-phases
(add-after 'configure 'reset-/var/empty
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "Makefile"
(("PRIVSEP_PATH=/var/empty")
(string-append "PRIVSEP_PATH=" out "/var/empty")))
#t)))
(add-before 'check 'patch-tests
(lambda _
(substitute* "regress/test-exec.sh"
(("/bin/sh") (which "sh")))
;; Remove 't-exec' regress target which requires user 'sshd'.
(substitute* (list "Makefile"
"regress/Makefile")
(("^(tests:.*) t-exec(.*)" all pre post)
(string-append pre post)))
#t))
(replace 'install
(lambda* (#:key outputs (make-flags '()) #:allow-other-keys)
;; Install without host keys and system configuration files.
(apply invoke "make" "install-nosysconf" make-flags)
(install-file "contrib/ssh-copy-id"
(string-append (assoc-ref outputs "out")
"/bin/"))
(chmod (string-append (assoc-ref outputs "out")
"/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)))
)
)
;;; glicid/ssh.scm ends here

285
glicid/packages/storage.scm Normal file
View file

@ -0,0 +1,285 @@
(define-module (glicid packages storage)
#:use-module (guix packages)
#: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) #:prefix gnu: )
#: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)
)
(define-public ceph
(package
(inherit gnu:ceph)
(name "ceph")
(version "15.2.15")
(source (origin
(method url-fetch)
(uri (string-append "https://download.ceph.com/tarballs/ceph-"
version ".tar.gz"))
(sha256
(base32
"1gyh01kwbds4s43nlaj3q1mbyx7lnpw0dz1bncsx865y5vzxmk2x"))
(patches
(search-patches "ceph-fix-snappy-breaking-change.patch"))
(modules '((guix build utils)))
(snippet
'(begin
(for-each delete-file-recursively
'(;; TODO: Unbundle these:
;"src/isa-l"
;"src/lua"
;"src/xxHash"
;"src/zstd"
;"src/civetweb"
;"src/seastar/fmt"
; "src/test/downloads"
"src/c-ares"
"src/fmt" ;; YD
"src/googletest"
"src/rapidjson"
"src/spdk"
"src/rocksdb"
"src/boost"))
#t))))
(arguments
`(#:configure-flags
(let* ((out (assoc-ref %outputs "out"))
(lib (assoc-ref %outputs "lib"))
(libdir (string-append lib "/lib")))
(list (string-append "-DCMAKE_INSTALL_PREFIX=" out)
(string-append "-DCMAKE_INSTALL_LIBDIR=" libdir)
(string-append "-DCMAKE_INSTALL_INCLUDEDIR="
lib "/include")
;; We need both libdir and libdir/ceph in RUNPATH.
(string-append "-DCMAKE_INSTALL_RPATH="
libdir ";" libdir "/ceph")
(string-append "-DCMAKE_INSTALL_SYSCONFDIR=" out "/etc")
(string-append "-DCMAKE_INSTALL_DATADIR=" lib "/share")
(string-append "-DCMAKE_INSTALL_MANDIR=" out "/share/man")
(string-append "-DCMAKE_INSTALL_DOCDIR=" out "/share/ceph/doc")
(string-append "-DCMAKE_INSTALL_LIBEXECDIR=" out "/libexec")
(string-append "-DKEYUTILS_INCLUDE_DIR="
(assoc-ref %build-inputs "keyutils") "/include")
(string-append "-DXFS_INCLUDE_DIR="
(assoc-ref %build-inputs "xfsprogs") "/include")
"-DCMAKE_INSTALL_LOCALSTATEDIR=/var"
"-DBUILD_SHARED_LIBS=ON"
"-DWITH_SYSTEM_ROCKSDB=ON"
"-DWITH_SYSTEM_BOOST=ON"
"-DWITH_PYTHON3=ON"
;; TODO: Enable these when available in Guix.
"-DWITH_MGR_DASHBOARD_FRONTEND=OFF" ;requires node + nodeenv
"-DWITH_BABELTRACE=OFF"
"-DWITH_LTTNG=OFF"
"-DWITH_SPDK=OFF"
"-DWITH_RADOSGW_AMQP_ENDPOINT=OFF"
;; Use jemalloc instead of tcmalloc.
"-DALLOCATOR=jemalloc"
;; Do not bother building the tests; we are not currently running
;; them, and they do not build with system googletest as of 14.2.5.
"-DWITH_TESTS=OFF"))
;; FIXME: Some of the tests leak Btrfs subvolumes on Btrfs. See
;; <https://bugs.gnu.org/29674> for details. Disable tests until
;; resolved.
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(lib (assoc-ref outputs "lib")))
(substitute* "cmake/modules/Distutils.cmake"
;; Prevent creation of Python eggs.
(("setup.py install")
"setup.py install --single-version-externally-managed --root=/"))
(substitute* (find-files "src/pybind" "^setup\\.py$")
;; Here we inject an extra line to the `setup.py' of the
;; Python C libraries so RUNPATH gets set up correctly.
; (("^([[:blank:]]+)extra_compile_args=(.*)$" _ indent args)
; (string-append indent "extra_compile_args=" args
; indent "extra_link_args=['-Wl,-rpath="
; lib "/lib'],\n")))
(("^([[:blank:]]+)extra_link_args=(.*)$" _ indent args)
(string-append indent "extra_link_args=(['-Wl,-rpath=" lib "/lib'] + distutils.sysconfig.get_config_var('LDFLAGS').split() + \n")))
;; Statically link libcrc32 because it does not get installed,
;; yet several libraries end up referring to it.
(substitute* "src/common/CMakeLists.txt"
(("add_library\\(crc32")
"add_library(crc32 STATIC"))
(substitute* "udev/50-rbd.rules"
(("/usr/bin/ceph-rbdnamer")
(string-append out "/bin/ceph-rbdnamer")))
#t)))
(add-before 'install 'set-install-environment
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(py3sitedir
(string-append out "/lib/python"
,(version-major+minor
(package-version python))
"/site-packages")))
;; The Python install scripts refuses to function if
;; the install directory is not on PYTHONPATH.
(setenv "PYTHONPATH"
(string-append py3sitedir ":"
(getenv "PYTHONPATH")))
#t)))
(add-after 'install 'wrap-python-scripts
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(scripts '("ceph" "ceph-mgr" "ceph-volume"))
(prettytable (assoc-ref inputs "python-prettytable"))
(six (assoc-ref inputs "python-six"))
(sitedir (lambda (package)
(string-append package
"/lib/python"
,(version-major+minor
(package-version python))
"/site-packages")))
(PYTHONPATH (string-append
(sitedir out) ":"
(sitedir six) ":"
(sitedir prettytable))))
(for-each (lambda (executable)
(wrap-program (string-append out "/bin/" executable)
`("PYTHONPATH" ":" prefix (,PYTHONPATH))))
scripts)
#t))))))
(inputs
`(("boost" ,boost)
("curl" ,curl)
("cryptsetup" ,cryptsetup)
("expat" ,expat)
("fcgi" ,fcgi)
("fmt",fmt) ;; maybe need v5 ?
("fuse" ,fuse)
("jemalloc" ,jemalloc)
("keyutils" ,keyutils)
("leveldb" ,leveldb)
("libaio" ,libaio)
("libatomic-ops" ,libatomic-ops)
("libcap-ng" ,libcap-ng)
("libnl" ,libnl)
("librdkafka" ,librdkafka)
("lua" ,lua)
("lz4" ,lz4)
("oath-toolkit" ,oath-toolkit)
("openldap" ,openldap)
("openssl" ,openssl)
("ncurses" ,ncurses)
("nss" ,nss)
("python-prettytable" ,python-prettytable) ;used by ceph_daemon.py
("python-six" ,python-six) ;for ceph-mgr + plugins
("python" ,python-wrapper)
("rapidjson" ,rapidjson)
("rdma-core" ,rdma-core)
("rocksdb" ,rocksdb)
("snappy" ,snappy)
("udev" ,eudev)
("util-linux" ,util-linux)
("util-linux:lib" ,util-linux "lib")
("xfsprogs" ,xfsprogs)
("zlib" ,zlib)))
)
)

View file

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

8
glicid/utils.scm Normal file
View file

@ -0,0 +1,8 @@
(define-module (glicid utils)
#:use-module (guix packages)
#:export (latest-version)
)
;; helper function
;; return latest version of 2 packages
(define (latest-version v1 v2) (if (string> (package-version v1) (package-version v2)) v1 v2))