commit 2b897ca277db0b2fdf9b697a49592ceca7f4b963 Author: Christian Schendel Date: Wed Sep 3 21:01:04 2025 +0200 Initial commit diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 0000000..027de06 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,50 @@ +pkgbase = pamac-aur + pkgdesc = A Gtk frontend, Package Manager based on libalpm with AUR and Appstream support + pkgver = 11.7.3 + pkgrel = 5 + url = https://github.com/manjaro/pamac + install = pamac.install + arch = i686 + arch = x86_64 + arch = arm + arch = armv6h + arch = armv7h + arch = aarch64 + license = GPL-3.0-or-later + makedepends = gettext + makedepends = itstool + makedepends = vala + makedepends = meson + makedepends = ninja + makedepends = gobject-introspection + makedepends = xorgproto + makedepends = asciidoc + makedepends = git + makedepends = systemd + depends = libnotify + depends = libhandy + depends = libadwaita + depends = gdk-pixbuf2 + depends = glib2 + depends = glibc + depends = gtk3 + depends = gtk4 + depends = hicolor-icon-theme + depends = libpamac-aur>=11.7 + depends = gnutls>=3.4 + depends = git + optdepends = polkit-gnome: needed for authentification in Cinnamon, Gnome + optdepends = lxsession: needed for authentification in Xfce, LXDE etc. + provides = pamac=11.7.3-5 + provides = pamac-cli=11.7.3-1 + conflicts = pamac + conflicts = pamac-tray-appindicator + conflicts = pamac-cli + options = !emptydirs + options = !strip + source = pamac-11.7.3-5.zip::https://github.com/manjaro/pamac/archive/06c846c0310030ee45870b190359553b1c105f77.zip + source = pamac-cli-11.7.3-1.zip::https://github.com/manjaro/pamac-cli/archive/27cc40525a5820177a9d77028d9e481a500d61ee.zip + b2sums = f33f15b0b30ff2695f3bed4d3d66487ea47c4fd8ddb638d43a261941d29d8beb4d1f26a03d3c1b755e133befd26784e03ed0cbc16b9bc2deb1a359e34f4cbc38 + b2sums = 391cf70e6f920411ea02f1f21e57192d2883414116a95dcdb38089c7d29ffaf5e0123de947fcc048517d0085d9484fcfc8b8951fc05e0c72ba61fd0ff61f6ff1 + +pkgname = pamac-aur diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ed2cb17 --- /dev/null +++ b/.gitignore @@ -0,0 +1,19 @@ +# Ignore everything +* + +# But not these files... +!.gitignore +!PKGBUILD +!.SRCINFO +!LICENSE +!chroot-build +!.nvchecker.toml +!/keys +!/keys/pgp +!/keys/pgp/*.asc +!/LICENSES +!/LICENSES/*.txt +!REUSE.toml +!*.install +!*.patch +!*.hook diff --git a/.nvchecker.toml b/.nvchecker.toml new file mode 100644 index 0000000..1a08d64 --- /dev/null +++ b/.nvchecker.toml @@ -0,0 +1,3 @@ +[pamac-aur] +source = "git" +git = "https://github.com/manjaro/pamac.git" diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b87c5e4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,12 @@ +Copyright Arch Linux Contributors + +Permission to use, copy, modify, and/or distribute this software for +any purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE +FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY +DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/LICENSES/0BSD.txt b/LICENSES/0BSD.txt new file mode 120000 index 0000000..ea5b606 --- /dev/null +++ b/LICENSES/0BSD.txt @@ -0,0 +1 @@ +../LICENSE \ No newline at end of file diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..c1993a2 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,109 @@ +# Maintainer: Christian Schendel +# Maintainer: Zeph +# https://gitlab.manjaro.org/packages/extra/pamac +ENABLE_FAKE_GNOME_SOFTWARE=0 + +pkgname=pamac-aur +pkgver=11.7.3 +pkgrel=5 +_pkgfixver=$pkgver +_pkgfixvercli=11.7.3 +_pkgrelcli=1 + +_commit='06c846c0310030ee45870b190359553b1c105f77' +_commitcli='27cc40525a5820177a9d77028d9e481a500d61ee' +b2sums=('f33f15b0b30ff2695f3bed4d3d66487ea47c4fd8ddb638d43a261941d29d8beb4d1f26a03d3c1b755e133befd26784e03ed0cbc16b9bc2deb1a359e34f4cbc38' + '391cf70e6f920411ea02f1f21e57192d2883414116a95dcdb38089c7d29ffaf5e0123de947fcc048517d0085d9484fcfc8b8951fc05e0c72ba61fd0ff61f6ff1') + +pkgdesc="A Gtk frontend, Package Manager based on libalpm with AUR and Appstream support" +arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64') +url="https://github.com/manjaro/pamac" +urlcli="https://github.com/manjaro/pamac-cli" +license=('GPL-3.0-or-later') +depends=( + libnotify + libhandy + libadwaita + gdk-pixbuf2 + glib2 + glibc + gtk3 + gtk4 + hicolor-icon-theme + 'libpamac-aur>=11.7' + 'gnutls>=3.4' + git +) +optdepends=( + 'polkit-gnome: needed for authentification in Cinnamon, Gnome' + 'lxsession: needed for authentification in Xfce, LXDE etc.' +) +makedepends=( + gettext + itstool + vala + meson + ninja + gobject-introspection + xorgproto + asciidoc + git + systemd +) +conflicts=( + pamac + pamac-tray-appindicator + pamac-cli +) +provides=( + "pamac=$_pkgfixver-$pkgrel" + "pamac-cli=$_pkgfixvercli-$_pkgrelcli" +) +options=(!emptydirs !strip) +install=pamac.install +source=("pamac-$_pkgfixver-$pkgrel.zip::$url/archive/$_commit.zip" + "pamac-cli-$_pkgfixvercli-$_pkgrelcli.zip::$urlcli/archive/$_commitcli.zip") + +define_meson='' +if [ "${ENABLE_FAKE_GNOME_SOFTWARE}" = 1 ]; then + conflicts+=('pamac-gnome-integration' 'pamac-gnome-integration-dev' 'gnome-software') + define_meson+=' -Denable-fake-gnome-software=true' +fi + +_srcdir="pamac-$_commit" +_srcdircli="pamac-cli-$_commitcli" + +prepare() { + cd "${srcdir}/${_srcdir}" + # adjust version string + sed -i -e "s|\"$_pkgfixver\"|\"$pkgver-$pkgrel\"|g" src/version.vala + cd "${srcdir}/${_srcdircli}" + # adjust version string + sed -i -e "s|\"$_pkgfixvercli\"|\"$_pkgfixvercli-$__pkgrelcli\"|g" src/version.vala +} + +build() { + cd "${srcdir}/${_srcdir}" + mkdir -p builddir && cd builddir + meson --buildtype=release \ + --prefix=/usr \ + --sysconfdir=/etc $define_meson + ninja + + cd "${srcdir}/${_srcdircli}" + mkdir -p builddir && cd builddir + meson setup --prefix=/usr --sysconfdir=/etc --buildtype=release + meson compile +} + +package() { + cd "${srcdir}/${_srcdir}/builddir" + DESTDIR="$pkgdir" ninja install + cp -r "$srcdir/pamac-$_commit/data/gnome-shell/pamac-updates@manjaro.org" "$pkgdir/usr/share/gnome-shell/extensions" + cd "${srcdir}/${_srcdircli}/builddir" + meson install --destdir "$pkgdir" + + install -Dm644 "${srcdir}/${_srcdir}/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/REUSE.toml b/REUSE.toml new file mode 100644 index 0000000..e45b4ff --- /dev/null +++ b/REUSE.toml @@ -0,0 +1,23 @@ +version = 1 + +[[annotations]] +path = [ + "PKGBUILD", + "README.md", + "keys/**", + ".SRCINFO", + ".nvchecker.toml", + ".gitignore", + "*.install", + "*.sysusers", + "*.tmpfiles", + "*.logrotate", + "*.pam", + "*.service", + "*.socket", + "*.timer", + "*.desktop", + "*.hook", +] +SPDX-FileCopyrightText = "Arch Linux contributors" +SPDX-License-Identifier = "0BSD" diff --git a/chroot-build b/chroot-build new file mode 100755 index 0000000..93f0716 --- /dev/null +++ b/chroot-build @@ -0,0 +1,65 @@ +#!/bin/bash + +# SPDX-FileCopyrightText: Christian Schendel +# SPDX-License-Identifier: 0BSD + +set -euo pipefail +use_tmpfs=true +CHROOT="/tmp/mkarchroot" + +check_available_ram() { + if [ "$(awk '/^MemAvailable:/ { print $2; }' /proc/meminfo)" -lt 50000 ]; then + use_tmpfs=false + fi +} + +create_chroot_directory() { + if [ $use_tmpfs ]; then + sudo mount --mkdir -t tmpfs -o defaults,size=20G tmpfs $CHROOT + else + sudo mkdir -p "$CHROOT" + fi +} + +create_chroot_environment() { + if [[ ! -d "$CHROOT/root" ]]; then + mkarchroot -M ~/.config/pacman/makepkg.conf "$CHROOT/root" base-devel libpamac-aur + fi +} + +build_package(){ + arch-nspawn "$CHROOT/root" pacman -Syu + if makechrootpkg -c -r "$CHROOT" -- -Asf . ; then + makepkg --printsrcinfo >.SRCINFO + else + delete_chroot_environment && echo -e "\n\e[1;31m==> BUILD FAILED: \e[1;37m$CHROOT removed\e[0m " && exit 1 + fi +} + +sign_package(){ + PACKAGE="$(makepkg --packagelist)" + gpg --use-agent --output "$PACKAGE.sig" --detach-sign "$PACKAGE" +} + +delete_chroot_environment() { + if [ "$(stat -f --format=%T "$CHROOT")" == "btrfs" ]; then + { + sudo btrfs subvolume delete "$CHROOT/root/var/lib/portables" + sudo btrfs subvolume delete "$CHROOT/root/var/lib/machines" + sudo btrfs subvolume delete "$CHROOT/root" + sudo rm -Rf $CHROOT + } >>/dev/null 2>&1 + elif [ "$(stat -f --format=%T "$CHROOT")" == "tmpfs" ]; then + sudo umount -f $CHROOT + fi + sudo rm -Rf $CHROOT +} + +check_available_ram +create_chroot_directory +create_chroot_environment +build_package +sign_package +delete_chroot_environment + +# vim: set ts=4 sw=4 et: diff --git a/pamac.install b/pamac.install new file mode 100644 index 0000000..8113748 --- /dev/null +++ b/pamac.install @@ -0,0 +1,13 @@ +post_install() { + # enable pamac extension + printf '==> Enable Pamac Updates Indicator via\n' + printf ' Extensions\n' +} + +post_upgrade() { + if [[ ! "gsettings get org.gnome.shell enabled-extensions | grep 'pamac-updates'" ]]; then + # enable pamac extension + printf '==> Enable Pamac Updates Indicator via\n' + printf ' Extensions\n' + fi +}