>From 5d3be174c4e7fbd1db05f73147e1da2f17b6deb2 Mon Sep 17 00:00:00 2001 Message-ID: <5d3be174c4e7fbd1db05f73147e1da2f17b6deb2.1703383755.git.terramorpha@cock.li> From: terramorpha Date: Sat, 23 Dec 2023 21:07:55 -0500 Subject: [PATCH] gnu: Add pacman. * gnu/packages/package-management.scm (pacman): New variable. Change-Id: I2cedb84fc648ee5c4c07bee8bfb516861ffc1c22 --- gnu/packages/package-management.scm | 46 ++++++++++++++++++ .../patches/pacman-fix-meson-build.diff | 48 +++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 gnu/packages/patches/pacman-fix-meson-build.diff diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 97ea41df66..4d9b5f666f 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2022, 2023 Zhu Zihao ;;; Copyright © 2023 jgart ;;; Copyright © 2023 Mădălin Ionel Patrașcu +;;; Copyright © 2023 Justin Veilleux ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,6 +67,7 @@ (define-module (gnu packages package-management) #:use-module (gnu packages dejagnu) #:use-module (gnu packages dbm) #:use-module (gnu packages docbook) + #:use-module (gnu packages documentation) #:use-module (gnu packages file) #:use-module (gnu packages freedesktop) #:use-module (gnu packages flex) @@ -2326,3 +2328,47 @@ (define-public modules used on high-performance clusters to dynamically add and remove paths to specific versions of applications.") (license license:gpl2+))) + +(define-public pacman + (package + (name "pacman") + (version "6.0.2") + (source (origin + (method git-fetch) + (uri + (git-reference + (url "https://gitlab.archlinux.org/pacman/pacman.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0yxh6kljy19bc4wiphss3jq2nv7h3hw6vnrwbway5kbyqhbahx7p")) + (patches + (list + (search-patch "pacman-fix-meson-build.diff"))))) + (build-system meson-build-system) + (arguments + (list + #:tests? #f)) +(inputs + (list + curl + libarchive + gpgme + openssl)) + (native-inputs + (list + asciidoc + perl + python-3 + gnu-gettext + coreutils + pkg-config)) + (home-page "https://archlinux.org/pacman/") + (synopsis "Simple library-based package manager") + (description + "pacman is a utility which manages software packages in Linux. It uses +simple compressed files as a package format, and maintains a text-based +package database (more of a hierarchy), just in case some hand tweaking is +necessary.") + (license license:gpl2))) diff --git a/gnu/packages/patches/pacman-fix-meson-build.diff b/gnu/packages/patches/pacman-fix-meson-build.diff new file mode 100644 index 0000000000..47ce74739e --- /dev/null +++ b/gnu/packages/patches/pacman-fix-meson-build.diff @@ -0,0 +1,48 @@ +diff --git a/doc/meson.build b/doc/meson.build +index 5a8eb3a4..74ccf53e 100644 +--- a/doc/meson.build ++++ b/doc/meson.build +@@ -100,7 +100,7 @@ foreach page: manpages + sitepages + endforeach + + run_target('html', +- command : ['/bin/true'], ++ command : ['true'], + depends : html_targets) + + custom_target( +diff --git a/meson.build b/meson.build +index 37523b01..6c568020 100644 +--- a/meson.build ++++ b/meson.build +@@ -396,13 +396,13 @@ configure_file( + input : 'etc/makepkg.conf.in', + output : 'makepkg.conf', + configuration : substs, +- install_dir : SYSCONFDIR) ++ install_dir : join_paths(PREFIX, 'etc')) + + configure_file( + input : 'etc/pacman.conf.in', + output : 'pacman.conf', + configuration : substs, +- install_dir : SYSCONFDIR) ++ install_dir : join_paths(PREFIX, 'etc')) + + install_data( + 'proto/PKGBUILD-split.proto', +@@ -411,14 +411,6 @@ install_data( + 'proto/proto.install', + install_dir : join_paths(DATAROOTDIR, 'pacman')) + +-foreach path : [ +- join_paths(LOCALSTATEDIR, 'lib/pacman/'), +- join_paths(LOCALSTATEDIR, 'cache/pacman/pkg/'), +- join_paths(DATAROOTDIR, 'makepkg-template/'), +- join_paths(DATAROOTDIR, 'libalpm/hooks/'), +- ] +- meson.add_install_script('sh', '-c', 'mkdir -p "$DESTDIR/@0@"'.format(path)) +-endforeach + + TEST_ENV = environment() + TEST_ENV.set('PMTEST_SCRIPTLIB_DIR', join_paths(meson.source_root(), 'scripts/library/')) base-commit: a8196632647b343f8e03c8f12fbdc0cc84ff90f6 -- 2.41.0