diff options
author | icealtria | 2024-04-22 23:48:09 +0800 |
---|---|---|
committer | icealtria | 2024-04-22 23:49:58 +0800 |
commit | efc067fbeebb273a87debc420565bdf8e083f6df (patch) | |
tree | 617e5f2532a745d818f51674498039d022632d62 | |
download | aur-efc067fbeebb273a87debc420565bdf8e083f6df.tar.gz |
init
-rw-r--r-- | .SRCINFO | 27 | ||||
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | PKGBUILD | 62 | ||||
-rw-r--r-- | geph5-client-gui.desktop | 9 | ||||
-rw-r--r-- | geph5-client@.service | 14 |
5 files changed, 117 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..67e1d6ab863f --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,27 @@ +pkgbase = geph5-git + pkgdesc = Geph is a modular Internet censorship circumvention system designed specifically to deal with national filtering. + pkgver = r156.67281d3 + pkgrel = 1 + url = https://github.com/geph-official/geph5 + arch = x86_64 + license = MPL-2.0 + makedepends = git + makedepends = cargo + depends = gcc-libs + depends = glibc + source = git+https://github.com/geph-official/geph5.git + source = https://raw.githubusercontent.com/geph-official/gephgui/master/public/gephlogo.png + source = geph5-client@.service + source = geph5-client-gui.desktop + md5sums = SKIP + md5sums = 4655e64a5d56c316383e1ffa79ddc772 + md5sums = 17ea478eaac2dc3dda008acc63c9bba8 + md5sums = 374b014018c671a40c3a2b81d1334121 + +pkgname = geph5-client-gui-git + provides = geph5-client-gui + conflicts = geph5-client-gui + +pkgname = geph5-client-git + provides = geph5-client + conflicts = geph5-client diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..571942308a0c --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +*pkg.tar* +pkg +geph5 +src +gephlogo.png diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..1e79e00fc72f --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,62 @@ +pkgbase=geph5-git +_pkgbase=geph5 +pkgname=( + #'geph5-bridge-git' + #'geph5-broker-git' + 'geph5-client-gui-git' + 'geph5-client-git' + #'geph5-exit-git' + ) +pkgver=r156.67281d3 +pkgrel=1 +pkgdesc="Geph is a modular Internet censorship circumvention system designed specifically to deal with national filtering." +arch=('x86_64') +url="https://github.com/geph-official/geph5" +license=('MPL-2.0') +depends=('gcc-libs' 'glibc') +makedepends=('git' 'cargo') +source=("git+${url}.git" + "https://raw.githubusercontent.com/geph-official/gephgui/master/public/gephlogo.png" + 'geph5-client@.service' + "geph5-client-gui.desktop") +md5sums=('SKIP' + '4655e64a5d56c316383e1ffa79ddc772' + '17ea478eaac2dc3dda008acc63c9bba8' + '374b014018c671a40c3a2b81d1334121') + +pkgver() { + cd "${srcdir}"/"${_pkgbase}"/ + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +prepare() { + export RUSTUP_TOOLCHAIN=stable + cd "${srcdir}"/"${_pkgbase}"/ + cargo fetch --locked --target "$CARCH-unknown-linux-gnu" +} + +build() { + export RUSTUP_TOOLCHAIN=stable + export CARGO_TARGET_DIR=target + export CFLAGS+=" -ffat-lto-objects" # https://github.com/launchbadge/sqlx/issues/3149 + cd "${srcdir}"/"${_pkgbase}"/ + cargo build --frozen --release --manifest-path binaries/geph5-client/Cargo.toml + cargo build --frozen --release --manifest-path binaries/geph5-client-gui/Cargo.toml +} + +package_geph5-client-git() { + cd "${srcdir}"/"${_pkgbase}"/ + provides=('geph5-client') + conflicts=('geph5-client') + install -Dm0644 "${srcdir}"/geph5-client@.service -t "${pkgdir}"/usr/lib/systemd/system/ + install -Dm0755 -t "$pkgdir/usr/bin/" "target/release/geph5-client" +} + +package_geph5-client-gui-git() { + provides=('geph5-client-gui') + conflicts=('geph5-client-gui') + install -Dm0644 "${srcdir}/gephlogo.png" "$pkgdir/usr/share/icons/hicolor/512x512/apps/geph5-client-gui.png" + install -Dm0644 geph5-client-gui.desktop "$pkgdir/usr/share/applications/geph5-client-gui.desktop" + cd "${srcdir}/${_pkgbase}/" + install -Dm0755 -t "$pkgdir/usr/bin/" "target/release/geph5-client-gui" +} diff --git a/geph5-client-gui.desktop b/geph5-client-gui.desktop new file mode 100644 index 000000000000..e8fd23c59eaa --- /dev/null +++ b/geph5-client-gui.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Version=1.0 +Name=Geph +Exec=/usr/bin/geph5-client-gui +Comment=Geph is a modular Internet censorship circumvention system designed specifically to deal with national filtering. +Icon=geph5-client-gui +Categories=Network; +Terminal=false diff --git a/geph5-client@.service b/geph5-client@.service new file mode 100644 index 000000000000..791d612ba339 --- /dev/null +++ b/geph5-client@.service @@ -0,0 +1,14 @@ +[Unit] +Description=Geph5 client Service for %i. +After=network.target nss-lookup.target + +[Service] +Type=exec +User=%i +CapabilityBoundingSet=CAP_NET_BIND_SERVICE +AmbientCapabilities=CAP_NET_BIND_SERVICE +ExecStart=/usr/bin/geph5-client -c /home/%i/.config/geph5-prefs/settings +Restart=on-abort + +[Install] +WantedBy=multi-user.target |