diff --git a/glicid/packages/benchmark.scm b/glicid/packages/benchmark.scm new file mode 100644 index 0000000..ac601e9 --- /dev/null +++ b/glicid/packages/benchmark.scm @@ -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 diff --git a/glicid/packages/cluster.scm b/glicid/packages/cluster.scm new file mode 100644 index 0000000..da9cf56 --- /dev/null +++ b/glicid/packages/cluster.scm @@ -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 diff --git a/glicid/packages/fabric-management.scm b/glicid/packages/fabric-management.scm new file mode 100644 index 0000000..6a157c9 --- /dev/null +++ b/glicid/packages/fabric-management.scm @@ -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 diff --git a/glicid/packages/gcc.scm b/glicid/packages/gcc.scm new file mode 100644 index 0000000..6e2c873 --- /dev/null +++ b/glicid/packages/gcc.scm @@ -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 diff --git a/glicid/packages/glicid.scm b/glicid/packages/glicid.scm index 48ccc50..4b2cd1c 100644 --- a/glicid/packages/glicid.scm +++ b/glicid/packages/glicid.scm @@ -90,198 +90,16 @@ ;; #: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* (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 (package (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 (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 (package (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 (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 - ;; 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 diff --git a/glicid/packages/gnome.scm b/glicid/packages/gnome.scm new file mode 100644 index 0000000..98ff711 --- /dev/null +++ b/glicid/packages/gnome.scm @@ -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) + + )) + + ) +) diff --git a/glicid/packages/linux.scm b/glicid/packages/linux.scm new file mode 100644 index 0000000..f3a9ceb --- /dev/null +++ b/glicid/packages/linux.scm @@ -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 diff --git a/glicid/packages/mpi.scm b/glicid/packages/mpi.scm new file mode 100644 index 0000000..11a9acc --- /dev/null +++ b/glicid/packages/mpi.scm @@ -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))) + ) +) + diff --git a/glicid/packages/nfs.scm b/glicid/packages/nfs.scm new file mode 100644 index 0000000..319fa0a --- /dev/null +++ b/glicid/packages/nfs.scm @@ -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 diff --git a/glicid/packages/nginx.scm b/glicid/packages/nginx.scm index b349b60..d5e1de1 100644 --- a/glicid/packages/nginx.scm +++ b/glicid/packages/nginx.scm @@ -1,12 +1,20 @@ (define-module (glicid packages nginx) - #:use-module (guix packages) - #:use-module (guix utils) + #:use-module (ice-9 match) + #:use-module (guix) + #:use-module (guix build-system gnu) #:use-module (guix 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 (glicid packages openldap) - #:use-module (gnu packages openldap) + #:use-module (gnu packages xml) + #:use-module (gnu packages tls) + #:use-module (glicid packages openldap) ) (define-public nginx-ldap-auth-module @@ -70,66 +78,103 @@ ) ) -;(define-public nginx-modsecurity -; (package -; (inherit nginx) -; (name "nginx-modsecurity") -; (version "3.0.5") -; (source -; (origin -; (method url-fetch) -; (uri (list -; (string-append "https://github.com/SpiderLabs/ModSecurity/releases/download/v3.0.5/modsecurity-v" version ".tar.gz") -; ) -; ) -; (sha256 (base32 "1sarp7bjvkkdlpky5j9axfi0qmb177vw2vn2s10c8fcdg9dgj6vm" )) -; ) -; ) -; (synopsis "modsecurity module for nginx") -; (description "modsecurity module for nginx.") -; (build-system gnu-build-system) -; (inputs -; `(("nginx-sources" ,(package-source nginx)) -; ("openldap", openldap) -; ,@(package-inputs nginx))) -; (arguments -; (substitute-keyword-arguments -; `(#:configure-flags '("--add-dynamic-module=.") -; #:make-flags '("modules") -; ,@(package-arguments nginx) -; ) -; ((#:phases phases) -; `(modify-phases ,phases -; (replace 'configure -; (lambda* (#:key output #:allow-other-keys) -; (invoke "./configure" "--enable-standalone-module" "make" ) -; ) -; ) -;; (add-after 'configure 'unpack-nginx-sources -;; (lambda* (#:key inputs native-inputs #:allow-other-keys) -;; (begin -;; ;; The nginx source code is part of the module’s 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_auth_ldap_module.so" modules-dir) -;; #t -;; ) -;; ) -;; ) -; (delete 'fix-root-dirs) -; (delete 'install-man-page) -; ) -; ) -; ) -; ) -; ) -;) +(define-public modsecurity + (package + (name "modsecurity") + (version "3.0.5") + (source + (origin + (method url-fetch) + (uri (list + (string-append "https://github.com/SpiderLabs/ModSecurity/releases/download/v" version "/modsecurity-v" version ".tar.gz") + ) + ) + (sha256 (base32 "1sarp7bjvkkdlpky5j9axfi0qmb177vw2vn2s10c8fcdg9dgj6vm" )) + ) + ) + (synopsis "modsecurity module for nginx") + (description "modsecurity module for nginx.") + (license asl2.0) + (home-page "https://github.com/SpiderLabs/ModSecurity") + (build-system gnu-build-system) + (inputs `( + ("curl", curl) + ("libxml2", libxml2) + ("libxslt", libxslt) + ("openssl", openssl) + ("pcre", pcre) + ("pcre:bin", pcre "bin") + ("zlib", zlib) + ("pkg-config", pkg-config) + ("nginx-sources", (package-source nginx)) + )) + (arguments `( + #:configure-flags (list + (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")) + "--enable-standalone-module" + ) + )) + ) +) + +(define-public nginx-modsecurity-module + (package + (inherit nginx) + (name "nginx-modsecurity-module") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (list + (string-append "https://github.com/SpiderLabs/ModSecurity-nginx/releases/download/v" version "/modsecurity-nginx-v" version ".tar.gz") + ) + ) + (sha256 (base32 "0clcny8276d3j73ws661lh983vqq9m29rw7qb7gn132ha066d9j1" )) + ) + ) + (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 module’s 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 diff --git a/glicid/packages/openldap.scm b/glicid/packages/openldap.scm index bbf35a0..926cbaa 100644 --- a/glicid/packages/openldap.scm +++ b/glicid/packages/openldap.scm @@ -14,37 +14,54 @@ ) (define-public openldap - (package - (inherit gnu:openldap) - (name "openldap") - (version "2.5.7") - (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 - #: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") - ) - ) - ) - )) + (package + (inherit gnu:openldap) + (name "openldap") + (version "2.5.7") + (source (origin + (method url-fetch) + (uri (list + (string-append "https://www.openldap.org/software/download/OpenLDAP/" "openldap-release/openldap-" version ".tgz") + (string-append "http://gpl.savoirfairelinux.net/pub/mirrors/openldap/" "openldap-release/openldap-" version ".tgz") + (string-append "http://repository.linagora.org/OpenLDAP/" "openldap-release/openldap-" version ".tgz") + (string-append "ftp://ftp.ntua.gr/mirror/OpenLDAP/" "openldap-release/openldap-" version ".tgz") + (string-append "https://mirror-hk.koddos.net/OpenLDAP/" "openldap-release/openldap-" version ".tgz") + (string-append "ftp://ftp.dti.ad.jp/pub/net/OpenLDAP/" "openldap-release/openldap-" version ".tgz") + (string-append "https://mirror.koddos.net/OpenLDAP/" "openldap-release/openldap-" version ".tgz") + (string-append "https://mirror.lyrahosting.com/OpenLDAP/" "openldap-release/openldap-" version ".tgz") + )) + (sha256 ( base32 "1ayr76sa5hjwldqzis5v71sbp88hd3hysc00gw1raqn33c05g5za" )) + ) ) + (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") + ) + ) + ) + )) + ) ) diff --git a/glicid/packages/parallel.scm b/glicid/packages/parallel.scm new file mode 100644 index 0000000..7721c07 --- /dev/null +++ b/glicid/packages/parallel.scm @@ -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) + + + diff --git a/glicid/packages/patches/ceph-fix-snappy-breaking-change.patch b/glicid/packages/patches/ceph-fix-snappy-breaking-change.patch new file mode 100644 index 0000000..7a10e2e --- /dev/null +++ b/glicid/packages/patches/ceph-fix-snappy-breaking-change.patch @@ -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; diff --git a/glicid/packages/ssh.scm b/glicid/packages/ssh.scm new file mode 100644 index 0000000..59f2f46 --- /dev/null +++ b/glicid/packages/ssh.scm @@ -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 diff --git a/glicid/packages/storage.scm b/glicid/packages/storage.scm new file mode 100644 index 0000000..5f0cf83 --- /dev/null +++ b/glicid/packages/storage.scm @@ -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 + ;; 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))) + ) + +) + + diff --git a/glicid/packages/virtualization.scm b/glicid/packages/virtualization.scm new file mode 100644 index 0000000..0bfe6d7 --- /dev/null +++ b/glicid/packages/virtualization.scm @@ -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 diff --git a/glicid/utils.scm b/glicid/utils.scm new file mode 100644 index 0000000..7c317a6 --- /dev/null +++ b/glicid/utils.scm @@ -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))