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

recipes/gui/networkmanager/PAGBUILD.yaml main

82 linii Raw ← Powrót
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
pkgname: networkmanager
pkgver: '1.58.0'
pkgrel: '1'
pkgdesc: 'Network connection manager and user applications'
url: 'https://gitlab.freedesktop.org/NetworkManager/NetworkManager'
arch: x86_64
license:
- 'LGPL-2.1-or-later'

depends:
- 'wpa-supplicant'

makedepends:
- libndp
- libgudev
- 'dbus-glib'
- iptables
- libnl
- nss
- 'wireless-tools'
- polkit
- upower
- vala
- grep
- 'gobject-introspection'
- newt
- python
- 'python-gobject'
- 'gtk-doc'
- meson
- ninja

source:
- 'https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git'

sha256sums:
- SKIP

hooks:
  'post-install': |
    name=networkmanager
    version=1.58.0
    release=1
    systemctl enable NetworkManager
    systemctl disable NetworkManager-wait-online

build: |
  cd NetworkManager
  grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/'
  sed -i "s/2\.0/3\.0/g" tools/generate-docs-nm-settings-docs-gir.py
  # Źródło git: katalog roboczy to już korzeń projektu (cd NetworkManager) –
  # meson przyjmuje '.' jako katalog źródłowy, a nie NetworkManager-1.58.0
  # (taki katalog nie istnieje – to by powód „Neither source directory ...
  # nor build directory 'builddir' exist"). Poprawiona też składnia -Dopcja=wartość.
  meson setup --prefix /usr --buildtype plain --libexecdir lib --sbindir bin -Db_pie=true . builddir -Dsession_tracking=systemd -Dlibaudit=no -Dlibpsl=false -Dnmtui=true -Dselinux=false -Dqt=false -Dovs=false -Dppp=false -Dmodem_manager=false -Dnm_cloud_setup=false -Ddocs=false -Dvapi=true -Dnbft=false -Dclat=false
  meson compile -C builddir
  DESTDIR=${PKGDIR} meson install -C builddir

package: |
  # create a VPN directory
  install -d ${PKGDIR}/etc/NetworkManager/VPN

  # create keyfile plugin system-settings directory
  install -d ${PKGDIR}/etc/NetworkManager/system-connections

  # Minimum config to make NetworkManager working
  cat >> ${PKGDIR}/etc/NetworkManager/NetworkManager.conf << "EOF"
  [main]
  plugins=keyfile
  EOF

  # Allow polkit to manage authorizations
  cat > ${PKGDIR}/etc/NetworkManager/conf.d/polkit.conf << "EOF"
  [main]
  auth-polkit=true
  EOF

  mkdir -p ${PKGDIR}/usr/share/polkit-1/rules.d
  cat > ${PKGDIR}/usr/share/polkit-1/rules.d/org.freedesktop.NetworkManager.rules << "EOF"
  polkit.addRule(function(action, subject) {
      if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("netdev")) {
          return polkit.Result.YES;