From 3a6eca2ed21811e9411509d2aa42f33efd6dfb73 Mon Sep 17 00:00:00 2001 From: Kevin Yue Date: Sun, 25 Feb 2024 11:50:24 +0800 Subject: [PATCH] Add build dependencies --- Makefile | 22 ++++++++++++-- packaging/deb/control | 2 +- packaging/pkgbuild/PKGBUILD.in | 30 +++++++++++++++++++ .../rpm/globalprotect-openconnect.spec.in | 4 +++ 4 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 packaging/pkgbuild/PKGBUILD.in diff --git a/Makefile b/Makefile index 42f8c00..2a1efd5 100644 --- a/Makefile +++ b/Makefile @@ -120,7 +120,7 @@ publish-ppa: ppa dput ppa:yuezk/globalprotect-openconnect ../*.changes # Generate RPM sepc file -rpm-spec: +init-rpm: rm -rf .build/rpm mkdir -p .build/rpm @@ -135,7 +135,7 @@ rpm-spec: sed -i "s/@DATE@/$(shell LC_ALL=en.US date -u "+%a %b %e %T %Z %Y")/g" .build/rpm/globalprotect-openconnect.changes # Ensure ../globalprotect-openconnect-*.tar.gz exists. -rpm: rpm-spec +rpm: init-rpm if [ ! -f ../$(PKG).tar.gz ]; then \ echo "Missing ../$(PKG).tar.gz"; \ exit 1; \ @@ -156,4 +156,20 @@ rpm: rpm-spec cp $(HOME)/rpmbuild/SRPMS/$(PKG_NAME)*.rpm .build/rpm; \ fi -pkgbuild: +init-pkgbuild: + rm -rf .build/pkgbuild + mkdir -p .build/pkgbuild + + if [ ! -f ../$(PKG).tar.gz ]; then \ + echo "Missing ../$(PKG).tar.gz"; \ + exit 1; \ + fi + cp ../$(PKG).tar.gz .build/pkgbuild + + cp packaging/pkgbuild/PKGBUILD.in .build/pkgbuild/PKGBUILD + sed -i "s/@PKG_NAME@/$(PKG_NAME)/g" .build/pkgbuild/PKGBUILD + sed -i "s/@VERSION@/$(VERSION)/g" .build/pkgbuild/PKGBUILD + sed -i "s/@REVISION@/$(REVISION)/g" .build/pkgbuild/PKGBUILD + +pkgbuild: init-pkgbuild + cd .build/pkgbuild && makepkg -s --noconfirm diff --git a/packaging/deb/control b/packaging/deb/control index e96a6be..c9afab4 100644 --- a/packaging/deb/control +++ b/packaging/deb/control @@ -3,7 +3,7 @@ Section: net Priority: optional Maintainer: Kevin Yue Standards-Version: 4.1.4 -Build-Depends: debhelper (>= 9), make (>= 4), openconnect (>= 8.20), libxml2, libsecret-1-0, libayatana-appindicator3-1, libwebkit2gtk-4.0-37, libgtk-3-0, gnome-keyring +Build-Depends: debhelper (>= 9), pkg-config, rust (>= 1.74), cargo (>= 1.74), jq (>= 1), make (>= 4), openconnect (>= 8.20), libxml2, libsecret-1-0, libayatana-appindicator3-1, libwebkit2gtk-4.0-37, libgtk-3-0, gnome-keyring Homepage: https://github.com/yuezk/GlobalProtect-openconnect Package: globalprotect-openconnect diff --git a/packaging/pkgbuild/PKGBUILD.in b/packaging/pkgbuild/PKGBUILD.in new file mode 100644 index 0000000..9ab0aaa --- /dev/null +++ b/packaging/pkgbuild/PKGBUILD.in @@ -0,0 +1,30 @@ +# Maintainer: Keinv Yue + +_pkgname=@PKG_NAME@ +pkgname=${_pkgname} +pkgver="@VERSION@" +pkgrel=@REVISION@ +pkgdesc="A GUI for GlobalProtect VPN, based on OpenConnect, supports the SSO authentication method." +arch=('x86_64' 'aarch64') +url="https://github.com/yuezk/GlobalProtect-openconnect" +license=('GPL3') +makedepends=('make' 'pkg-config' 'rust' 'cargo' 'jq' 'webkit2gtk' 'curl' 'wget' 'file' 'openssl' 'appmenu-gtk-module' 'gtk3' 'libappindicator-gtk3' 'librsvg' 'libvips' 'libayatana-appindicator' 'openconnect' 'libsecret') +depends=('openconnect>=8.20' webkit2gtk libappindicator-gtk3 libayatana-appindicator libsecret libxml2) +optdepends=('wmctrl: for window management') + +provides=('globalprotect-openconnect' 'gpclient' 'gpservice' 'gpauth' 'gpgui') + +source=("${_pkgname}-${pkgver}.tar.gz") +sha256sums=('SKIP') + +options=('!strip') + +build() { + cd "$pkgname-$pkgver" + make build OFFLINE=1 +} + +package() { + cd "$pkgname-$pkgver" + make install DESTDIR="$pkgdir" +} diff --git a/packaging/rpm/globalprotect-openconnect.spec.in b/packaging/rpm/globalprotect-openconnect.spec.in index 42ac2f5..a0e6361 100644 --- a/packaging/rpm/globalprotect-openconnect.spec.in +++ b/packaging/rpm/globalprotect-openconnect.spec.in @@ -9,6 +9,10 @@ URL: https://github.com/yuezk/GlobalProtect-openconnect Source: %{name}.tar.gz BuildRequires: make +BuildRequires: rust +BuildRequires: cargo +BuildRequires: jq +BuildRequires: pkg-config BuildRequires: openconnect-devel BuildRequires: openssl-devel BuildRequires: curl