gnu: rpm: Update to 4.20.1.

* gnu/packages/package-management.scm (rpm): Update to 4.20.1.
[inputs]: Remove zstd; add readline, dbus, elfutils, acl, audit, libselinux,
libcap, and zstd:lib.
[native-inputs]: Add gettext-minimal and rpmpgp_legacy.

Change-Id: I99ef92eb7c40fd80765a0530979033bdce3ce3da
This commit is contained in:
Zheng Junjie 2025-08-30 01:48:50 +08:00
parent 4b67e24126
commit 51e1f76574
No known key found for this signature in database
GPG key ID: 3B5AA993E1A2DFF0

View file

@ -132,6 +132,7 @@
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control)
#:autoload (guix build-system channel) (channel-build-system) #:autoload (guix build-system channel) (channel-build-system)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
@ -152,6 +153,10 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages readline)
#:use-module (gnu packages admin)
#:use-module (gnu packages selinux)
#:use-module (gnu packages elf)
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE $GUIX_EXTENSIONS_PATH)) #:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE $GUIX_EXTENSIONS_PATH))
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (srfi srfi-1)) #:use-module (srfi srfi-1))
@ -1025,7 +1030,7 @@ features of Stow with some extensions.")
(define-public rpm (define-public rpm
(package (package
(name "rpm") (name "rpm")
(version "4.18.0") (version "4.20.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://ftp.rpm.org/releases/rpm-" (uri (string-append "http://ftp.rpm.org/releases/rpm-"
@ -1033,39 +1038,71 @@ features of Stow with some extensions.")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0m250plyananjn0790xmwy6kixmxcdj5iyy2ybnk1aw7f4nia5ra")))) "0kqjc4k679h4s47gx4wxi049yvy9hpjcijvinqx56r43cc97wr2j"))))
(outputs '("out" "debug")) (outputs '("out" "debug"))
(build-system gnu-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:configure-flags '("--enable-python" (list
;; The RPM database must be writable. #:tests? #f ; TEST need fhs envirnment.
"--localstatedir=/var") #:configure-flags
#:phases (modify-phases %standard-phases #~(list
(add-after 'unpack 'fix-lua-check ;; TODO: Add rpm-sequoia
(lambda _ "-DWITH_SEQUOIA=OFF"
(substitute* "configure" #$@(if (this-package-native-input "rpmpgp_legacy")
(("lua >= ?.?") #~("-DWITH_LEGACY_OPENPGP=ON")
"lua-5.3 >= 5.3")))) #~()))
(add-after 'unpack 'patch-build-system #:phases
(lambda _ #~(modify-phases %standard-phases
;; The build system attempts to create /var in the build (add-after 'unpack 'unpack-rpmpgp_legacy
;; chroot, and fails. (lambda _
(substitute* "Makefile.in" (copy-recursively
((".*MKDIR_P) \\$\\(DESTDIR)\\$\\(localstatedir.*") #$(this-package-native-input "rpmpgp_legacy")
""))))))) "rpmio/rpmpgp_legacy")))
(add-after 'unpack 'fix-install
(lambda _
(let ((site
(string-append
#$output
"/lib/python"
#$(version-major+minor
(package-version
(this-package-native-input "python")))
"/site-packages")))
(substitute* "python/CMakeLists.txt"
(("\\$[{]Python3_SITEARCH[}]")
site)))
(substitute* "plugins/CMakeLists.txt"
(("\\$[{]dbus-1_DATADIR[}]")
(string-append #$output "/share"))))))))
(native-inputs (native-inputs
(list pkg-config (list pkg-config
python)) python
gettext-minimal
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rpm-software-management/rpmpgp_legacy")
(commit "1.1")))
(file-name "rpmpgp_legacy")
(sha256
(base32 "0z29bdjfd5p0ygn2g9w3xjc4fx4ba8rcikk28acjl7xwfgfsa4pd")))))
(inputs (inputs
(list bzip2 (list bzip2
readline
file file
libarchive libarchive
libgcrypt libgcrypt
dbus
lua lua
sqlite sqlite
xz xz
zlib zlib
zstd)) elfutils
acl
audit
libselinux
libcap
`(,zstd "lib")))
(propagated-inputs (propagated-inputs
;; popt is listed in the 'Requires' of rpm.pc. ;; popt is listed in the 'Requires' of rpm.pc.
(list popt)) (list popt))