summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authoricealtria2024-04-22 23:48:09 +0800
committericealtria2024-04-22 23:49:58 +0800
commitefc067fbeebb273a87debc420565bdf8e083f6df (patch)
tree617e5f2532a745d818f51674498039d022632d62
downloadaur-efc067fbeebb273a87debc420565bdf8e083f6df.tar.gz
init
-rw-r--r--.SRCINFO27
-rw-r--r--.gitignore5
-rw-r--r--PKGBUILD62
-rw-r--r--geph5-client-gui.desktop9
-rw-r--r--geph5-client@.service14
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