🔒 Repository is read-only – file editing is disabled.

recipes/core/pag/PAGBUILD.yaml main

68 linii Raw ← Powrót
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
pkgname: pag
pkgver: '3.3.23'
pkgrel: '3'
pkgdesc: 'PaganOS package manager  atomowa instalacja, weryfikacja GPG, i18n (PL/EN), rollback'
url: 'https://git.paganlinux.eu/pag'
arch: x86_64
# UWAGA: gnupg jest twardą zależnością runtime – bez gpg pag nie potrafi
# zweryfikować ani indeksu repo, ani paczek (fail-closed), a komunikaty były
# mylące. Musi być instalowany razem z pag.
depends:
- python3
- gnupg
makedepends: []
source:
- 'https://git.paganlinux.eu/git/pag/archive?branch=main'
sha256sums:
- SKIP
update: |
  curl -fsSL 'https://git.paganlinux.eu/git/pag/archive?branch=main' \
    | tar -xzO pag-main/pag 2>/dev/null \
    | grep -m1 -oE 'PAG_VERSION = "[0-9.]+"' \
    | grep -oE '[0-9.]+'
build: |
  cd ${pkgname}-${pkgver}
  # Źródło z CRLF psuje shebang („env: 'python3\r': No such file or directory”).
  # Normalizuj do LF zanim cokolwiek zainstalujemy/pakujemy.
  sed -i 's/\r$//' pag
  head -1 pag | grep -q '^#!/usr/bin/env python3$' \
    || { echo "❌ pag: nieprawidłowy shebang po normalizacji: $(head -1 pag)" >&2; exit 1; }
  # Walidacja składni – nie pakuj uszkodzonego/po edycji skryptu
  python3 -m py_compile pag
  install -Dm755 pag "${PKGDIR}/usr/bin/pag"

  # Rejestracja plików .pag w menedżerach plików. Instalacja przechodzi
  # przez pkexec i pag, więc nadal wymaga podpisu GPG oraz klucza repo.
  install -Dm644 /dev/stdin "${PKGDIR}/usr/share/mime/packages/pagan-package.xml" <<'EOF'
  <?xml version="1.0" encoding="UTF-8"?>
  <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
    <mime-type type="application/x-pagan-package">
      <comment>PaganOS package</comment>
      <comment xml:lang="pl">Pakiet PaganOS</comment>
      <glob pattern="*.pag"/>
    </mime-type>
  </mime-info>
  EOF
  install -Dm644 /dev/stdin "${PKGDIR}/usr/share/applications/pag-package-installer.desktop" <<'EOF'
  [Desktop Entry]
  Type=Application
  Name=PaganOS Package Installer
  Name[pl]=Instalator pakietów PaganOS
  Comment=Verify and install a PaganOS .pag package
  Comment[pl]=Sprawdź i zainstaluj pakiet PaganOS .pag
  Exec=pkexec env PAG_YES=1 /usr/bin/pag install -- %F
  Terminal=true
  NoDisplay=true
  MimeType=application/x-pagan-package;
  Categories=System;PackageManager;
  EOF

  # Tłumaczenia generowane z TEJ SAMEJ wersji paga → zawsze zgodne;
  # `pag` czyta je z /etc/pag/lang → /usr/share/pag/lang (pliki nadpisują
  # wbudowane słowniki, a ich brak nie psuje działania).
  # `|| echo` – gdy źródło paga w git jest starsze i nie zna --lang-extract,
  # build NIE pada: zostają wbudowane słowniki (PL/EN).
  PAG_LANG_NO_FILES=1 python3 pag --lang-extract "${PKGDIR}/usr/share/pag/lang" \
    || echo "  (uwaga: --lang-extract nieobsługiwane – zostają wbudowane tłumaczenia)"
package: |
  true