guix-glicid/glicid/packages/linux.scm
2023-10-30 08:57:19 +01:00

242 lines
11 KiB
Scheme

(define-module (glicid packages linux)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (gnu packages)
#:use-module (gnu packages backup)
#:use-module (gnu packages compression)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages golang)
#:use-module ((gnu packages linux) #:prefix gnu:)
#:use-module (gnu packages linux)
#:use-module (gnu system uuid)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools)
#:use-module (gnu packages python)
#:use-module (gnu packages tls)
#:use-module (glicid packages golang)
#:use-module (glicid utils))
(define-public rdma-core-upstream-48.0
(package
(inherit gnu:rdma-core)
(name (string-append (package-name gnu:rdma-core) "-upstream"))
(version "48.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 "0h281dw2yph8pzfsr1wblqy6pb8nd9yj1pdf5c62zwc1l9b2fa3q"))))))
(define-public rdma-core-upstream-45.0
(package
(inherit gnu:rdma-core)
(name (string-append (package-name gnu:rdma-core) "-upstream"))
(version "45.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 "16k08qm08ssqnri3217y687j6v4sz7ag4frq4nj31dssyg65c4lq"))))))
(define local-rdma-core rdma-core-upstream-48.0)
(define-public rdma-core-latest (latest-version local-rdma-core gnu:rdma-core))
(define-public libfabric-upstream-1.19.0
(package
(inherit gnu:libfabric)
(version "1.19.0")
(name (string-append (package-name gnu:libfabric) "-upstream"))
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ofiwg/libfabric/releases/download/v" version "/libfabric-" version ".tar.bz2"))
(sha256 (base32 "17pg0fb4fa77r1bmp0xk535m8n8fadpfdg93cb280ghhx55pck7i"))))
(inputs (modify-inputs (package-inputs gnu:libfabric)
(prepend `(,util-linux "lib") gnu:numactl)))))
(define-public libfabric-upstream-1.18.0
(package
(inherit gnu:libfabric)
(version "1.18.0")
(name (string-append (package-name gnu:libfabric) "-upstream"))
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ofiwg/libfabric/releases/download/v" version "/libfabric-" version ".tar.bz2"))
(sha256 (base32 "0hzxi8bv06armscbvnsa30wjyp8w9802p5i00la92angng3vfbwi"))))
(inputs (modify-inputs (package-inputs gnu:libfabric)
(prepend `(,util-linux "lib") gnu:numactl)))))
(define local-libfabric libfabric-upstream-1.19.0)
(define-public libfabric-latest (latest-version local-libfabric gnu:libfabric))
(define-public psm2-upstream-11.2.230
(package
(inherit gnu:psm2)
(name "psm2-upstream")
(version "11.2.230")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cornelisnetworks/opa-psm2")
(commit (string-append "PSM2_" version))))
(file-name (git-file-name name version))
(sha256 (base32 "1bm7ndhi8qzmd0plnggj2h52yb34bab4k38530nsnkmv9smwdivl"))))))
(define local-psm2 psm2-upstream-11.2.230)
(define-public psm2-latest (latest-version local-psm2 gnu:psm2))
(define-public psm2-upstream-11.2.228
(package
(inherit local-psm2)
(version "11.2.228")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cornelisnetworks/opa-psm2")
(commit (string-append "PSM2_" version))))
(file-name (git-file-name "local-psm2" version))
(sha256 (base32 "1yymw4rkpdkzyi0lglagncjg1az2qmnq6f3lgrkvs6y77l9z6wrz"))))))
(define-public corefreq
(package
(inherit gnu:corefreq)
(name "corefreq")
(version "1.96.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cyring/CoreFreq")
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32 "15wi9v7zcd62ab03zji43l33f1mc70lsdvqylv33kfpaf3k72lm4"))))))
(define-public lvm2-past-20311
(package
(name "lvm2")
(version "2.03.11")
(source (origin
(method url-fetch)
(uri (list (string-append "https://sourceware.org/ftp/lvm2/LVM2."
version ".tgz")
(string-append "ftp://sources.redhat.com/pub/lvm2/releases/LVM2."
version ".tgz")))
(sha256
(base32
"1m4xpda8vbyd89ca0w8nacvnl4j34yzsa625gn990fb5sh84ab44"))
(modules '((guix build utils)))
(snippet
'(begin
(use-modules (guix build utils))
;; Honor sysconfdir.
(substitute* "make.tmpl.in"
(("^confdir = .*$")
"confdir = @sysconfdir@\n")
(("DEFAULT_SYS_DIR = @DEFAULT_SYS_DIR@")
"DEFAULT_SYS_DIR = @sysconfdir@"))
#t))
;YD; (patches (search-patches "lvm2-static-link.patch"))
))
(build-system gnu-build-system)
(native-inputs
(list config
pkg-config procps)) ;tests use 'pgrep'
(inputs
`(("libaio" ,libaio)
("udev" ,eudev)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'update-config
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(install-file (search-input-file
(or native-inputs inputs) "/bin/config.sub")
"autoconf")
(install-file (search-input-file
(or native-inputs inputs) "/bin/config.guess")
"autoconf")))
(add-after 'configure 'set-makefile-shell
(lambda _
;; Use 'sh', not 'bash', so that '. lib/utils.sh' works as
;; expected.
(setenv "SHELL" (which "sh"))
;; Replace /bin/sh with the right file name.
(patch-makefile-SHELL "make.tmpl")
#t)))
#:configure-flags (list (string-append "--sysconfdir="
(assoc-ref %outputs "out")
"/etc/lvm")
"--enable-udev_sync"
"--enable-udev_rules"
"--enable-pkgconfig"
"--enable-cmdlib"
"--enable-dmeventd" ; Requires '--enable-cmdlib'.
;; Make sure programs such as 'dmsetup' can
;; find libdevmapper.so.
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib,-rpath="
(assoc-ref %outputs "out")
"/lib/device-mapper")
;; This is needed when cross-compiling.
,@(if (%current-target-system)
'("ac_cv_func_malloc_0_nonnull=yes"
"ac_cv_func_realloc_0_nonnull=yes")
'()))
;; The tests use 'mknod', which requires root access.
#:tests? #f))
(supported-systems (delete "i586-gnu" %supported-systems))
(home-page "https://sourceware.org/lvm2/")
(synopsis "Logical volume management for Linux")
(description
"LVM2 is the logical volume management tool set for Linux-based systems.
This package includes the user-space libraries and tools, including the device
mapper. Kernel components are part of Linux-libre.")
;; Libraries (liblvm2, libdevmapper) are LGPLv2.1.
;; Command-line tools are GPLv2.
(license (list license:gpl2 license:lgpl2.1))))
(define-public lvm2
(package
(inherit gnu:lvm2)
(version "2.03.22")
(source (origin
(method url-fetch)
(uri (list (string-append "https://sourceware.org/ftp/lvm2/LVM2."
version ".tgz")
(string-append "ftp://sources.redhat.com/pub/lvm2/releases/LVM2."
version ".tgz")))
(sha256
(base32
"0z6w6bknhwh1n3qfkb5ij6x57q3wjf28lq3l8kh7rkhsplinjnjc"))
(patches (search-patches "glicid/packages/patches/lvm2-no-systemd.patch"))
(modules '((guix build utils)))
(snippet
'(begin
(use-modules (guix build utils))
;; Honor sysconfdir.
(substitute* "make.tmpl.in"
(("^confdir = .*$")
"confdir = @sysconfdir@\n")
(("DEFAULT_SYS_DIR = @DEFAULT_SYS_DIR@")
"DEFAULT_SYS_DIR = @sysconfdir@"))))))
))