From 7ab29b968413fc4492464c67727c9af0b53af7b9 Mon Sep 17 00:00:00 2001 From: Christian Schendel Date: Mon, 24 Nov 2025 11:40:39 +0100 Subject: [PATCH] upgpkg: wireguard-gui-bin-1:0.1.8-3: new upstream release --- .SRCINFO | 37 +++++++++++ .gitignore | 19 ++++++ .nvchecker.toml | 5 ++ LICENSE | 12 ++++ LICENSES/0BSD.txt | 1 + PKGBUILD | 62 +++++++++++++++++++ REUSE.toml | 23 +++++++ chroot-build | 65 ++++++++++++++++++++ io.github.0xle0ne.wireguard_gui.metainfo.xml | 23 +++++++ wireguard.svg | 15 +++++ 10 files changed, 262 insertions(+) create mode 100644 .SRCINFO create mode 100644 .gitignore create mode 100644 .nvchecker.toml create mode 100644 LICENSE create mode 120000 LICENSES/0BSD.txt create mode 100644 PKGBUILD create mode 100644 REUSE.toml create mode 100755 chroot-build create mode 100644 io.github.0xle0ne.wireguard_gui.metainfo.xml create mode 100644 wireguard.svg diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 0000000..d42f3f6 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,37 @@ +pkgbase = wireguard-gui-bin + pkgdesc = A wireguard client GUI for Linux made with nextauri. + pkgver = 0.1.8 + pkgrel = 3 + epoch = 1 + url = https://github.com/0xle0ne/wireguard-gui + arch = x86_64 + license = MIT + license = Apache-2.0 + depends = cairo + depends = gcc-libs + depends = gdk-pixbuf2 + depends = glib2 + depends = glibc + depends = gtk3 + depends = hicolor-icon-theme + depends = libsoup3 + depends = webkit2gtk-4.1 + provides = wireguard-gui + conflicts = wireguard-gui + options = !strip + source = https://github.com/0xle0ne/wireguard-gui/releases/download/0.1.8-stable/wireguard-gui_0.1.8_amd64.deb + source = https://raw.githubusercontent.com/0xle0ne/wireguard-gui/refs/heads/master/LICENSE-MIT + source = https://raw.githubusercontent.com/0xle0ne/wireguard-gui/refs/heads/master/LICENSE-APACHE + source = https://raw.githubusercontent.com/0xle0ne/wireguard-gui/refs/heads/master/CODE_OF_CONDUCT.md + source = https://raw.githubusercontent.com/0xle0ne/wireguard-gui/refs/heads/master/CHANGELOG.md + source = wireguard.svg + source = io.github.0xle0ne.wireguard_gui.metainfo.xml + b2sums = 7c1143fec0b97b883f5448c14ec8d5e07a01abbe6c70098fbe25784de6ad64a9599505c6bb4adaa469e79219c35dbc8b3fed5794c05596839d347779863799ea + b2sums = 3b9a34d7ee9ad426f45415688d46758019fd98e200d0c3214f00f0572933bd052a99d3016fbddae076626d5c31681c40be3d8db4968e48ad2fc41d150c2dd2bc + b2sums = 8309d3aa03dafee58622460da550d7395ac19bccbbf163c1525648c8e50a7479206cdbdf4b012a56a3f713debba5a4ee0e4a7930a969a66e01ca485b0e8b9fd2 + b2sums = 3e8db90891a9ac4ff4bc9105502fc0d4739021c2ddd218f8aa3c977e89a72ed935411c0c2570f2a6ef450179a17891ee35879af5a4e02da1575576f203f982c9 + b2sums = 1e5743bc2220901d901e6a89627cc7b145018d6cbeec0a0abbde16b712216e753eb4deec06b7e29d4f2994d5af98980620c83b1e31cddbeef3ebbca7579f1d67 + b2sums = 7131260b45988cbfce86710ae1258614e824a5e26b76c7680fe91eb15b66e525fe332700083acfc04ec2124654532f4ffde1323f6a926aea2207de0fb73b6455 + b2sums = df438172677ec6128b3ef7d71c6d2fc291c7f6cc0d959b454ea4f6fd18db709b46ef98b3cea0c34479ce6bb71050cf9d383c2bff4335fea9c67da5fcb28011b8 + +pkgname = wireguard-gui-bin diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2961130 --- /dev/null +++ b/.gitignore @@ -0,0 +1,19 @@ +# Ignore everything +* + +# But not these files... +!.gitignore +!PKGBUILD +!.SRCINFO +!LICENSE +!chroot-build +!.nvchecker.toml +!/keys +!/keys/pgp +!/keys/pgp/*.asc +!/LICENSES +!/LICENSES/*.txt +!REUSE.toml +!*.patch +!*.xml +!*.svg diff --git a/.nvchecker.toml b/.nvchecker.toml new file mode 100644 index 0000000..a7bbb32 --- /dev/null +++ b/.nvchecker.toml @@ -0,0 +1,5 @@ +[wireguard-gui-bin] +source = "git" +git = "https://github.com/0xle0ne/wireguard-gui.git" +from_pattern = '^(\d+).(\d+).(\d+)-(\D+)$' +to_pattern = '\1.\2.\3' diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b87c5e4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,12 @@ +Copyright Arch Linux Contributors + +Permission to use, copy, modify, and/or distribute this software for +any purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE +FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY +DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/LICENSES/0BSD.txt b/LICENSES/0BSD.txt new file mode 120000 index 0000000..ea5b606 --- /dev/null +++ b/LICENSES/0BSD.txt @@ -0,0 +1 @@ +../LICENSE \ No newline at end of file diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..51d7068 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,62 @@ +# Maintainer: Christian Schendel + +pkgname=wireguard-gui-bin +pkgver=0.1.8 +pkgrel=3 +epoch=1 +pkgdesc="A wireguard client GUI for Linux made with nextauri." +arch=(x86_64) +url="https://github.com/0xle0ne/wireguard-gui" +license=( + MIT + Apache-2.0 +) +options=('!strip') +depends=( + cairo + gcc-libs + gdk-pixbuf2 + glib2 + glibc + gtk3 + hicolor-icon-theme + libsoup3 + webkit2gtk-4.1 +) +provides=("${pkgname%-bin}") +conflicts=("${pkgname%-bin}") +source=( + "${url}/releases/download/${pkgver}-stable/${pkgname%-bin}_${pkgver}_amd64.deb" + "https://raw.githubusercontent.com/0xle0ne/${pkgname%-bin}/refs/heads/master/LICENSE-MIT" + "https://raw.githubusercontent.com/0xle0ne/${pkgname%-bin}/refs/heads/master/LICENSE-APACHE" + "https://raw.githubusercontent.com/0xle0ne/${pkgname%-bin}/refs/heads/master/CODE_OF_CONDUCT.md" + "https://raw.githubusercontent.com/0xle0ne/${pkgname%-bin}/refs/heads/master/CHANGELOG.md" + "wireguard.svg" + "io.github.0xle0ne.wireguard_gui.metainfo.xml" +) +b2sums=('7c1143fec0b97b883f5448c14ec8d5e07a01abbe6c70098fbe25784de6ad64a9599505c6bb4adaa469e79219c35dbc8b3fed5794c05596839d347779863799ea' + '3b9a34d7ee9ad426f45415688d46758019fd98e200d0c3214f00f0572933bd052a99d3016fbddae076626d5c31681c40be3d8db4968e48ad2fc41d150c2dd2bc' + '8309d3aa03dafee58622460da550d7395ac19bccbbf163c1525648c8e50a7479206cdbdf4b012a56a3f713debba5a4ee0e4a7930a969a66e01ca485b0e8b9fd2' + '3e8db90891a9ac4ff4bc9105502fc0d4739021c2ddd218f8aa3c977e89a72ed935411c0c2570f2a6ef450179a17891ee35879af5a4e02da1575576f203f982c9' + '1e5743bc2220901d901e6a89627cc7b145018d6cbeec0a0abbde16b712216e753eb4deec06b7e29d4f2994d5af98980620c83b1e31cddbeef3ebbca7579f1d67' + '7131260b45988cbfce86710ae1258614e824a5e26b76c7680fe91eb15b66e525fe332700083acfc04ec2124654532f4ffde1323f6a926aea2207de0fb73b6455' + 'df438172677ec6128b3ef7d71c6d2fc291c7f6cc0d959b454ea4f6fd18db709b46ef98b3cea0c34479ce6bb71050cf9d383c2bff4335fea9c67da5fcb28011b8') + +package() { + tar xfz "${srcdir}/data.tar.gz" -C "${pkgdir}" --no-same-owner + install -Dm644 "${srcdir}/LICENSE-MIT" \ + "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-MIT" + install -Dm644 "${srcdir}/LICENSE-APACHE" \ + "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-APACHE" + install -Dm644 "${srcdir}/CODE_OF_CONDUCT.md" \ + "${pkgdir}/usr/share/doc/${pkgname}/CODE_OF_CONDUCT.md" + install -Dm644 "${srcdir}/CHANGELOG.md" \ + "${pkgdir}/usr/share/doc/${pkgname}/CHANGELOG.md" + + rm -r "${pkgdir}/usr/share/icons" + install -Dm644 "${srcdir}/wireguard.svg" \ + "${pkgdir}/usr/share/icons/hicolor/scalable/apps/wireguard-gui.svg" + + install -Dm644 "${srcdir}/io.github.0xle0ne.wireguard_gui.metainfo.xml" \ + "${pkgdir}/usr/share/metainfo/io.github.0xle0ne.wireguard_gui.metainfo.xml" +} diff --git a/REUSE.toml b/REUSE.toml new file mode 100644 index 0000000..e45b4ff --- /dev/null +++ b/REUSE.toml @@ -0,0 +1,23 @@ +version = 1 + +[[annotations]] +path = [ + "PKGBUILD", + "README.md", + "keys/**", + ".SRCINFO", + ".nvchecker.toml", + ".gitignore", + "*.install", + "*.sysusers", + "*.tmpfiles", + "*.logrotate", + "*.pam", + "*.service", + "*.socket", + "*.timer", + "*.desktop", + "*.hook", +] +SPDX-FileCopyrightText = "Arch Linux contributors" +SPDX-License-Identifier = "0BSD" diff --git a/chroot-build b/chroot-build new file mode 100755 index 0000000..f69cac8 --- /dev/null +++ b/chroot-build @@ -0,0 +1,65 @@ +#!/bin/bash + +# SPDX-FileCopyrightText: Christian Schendel +# SPDX-License-Identifier: 0BSD + +set -euo pipefail +use_tmpfs=true +CHROOT="/tmp/mkarchroot" + +check_available_ram() { + if [ "$(awk '/^MemAvailable:/ { print $2; }' /proc/meminfo)" -lt 50000 ]; then + use_tmpfs=false + fi +} + +create_chroot_directory() { + if [ $use_tmpfs ]; then + sudo mount --mkdir -t tmpfs -o defaults,size=20G tmpfs $CHROOT + else + sudo mkdir -p "$CHROOT" + fi +} + +create_chroot_environment() { + if [[ ! -d "$CHROOT/root" ]]; then + mkarchroot -M ~/.config/pacman/makepkg.conf "$CHROOT/root" base-devel + fi +} + +build_package(){ + arch-nspawn "$CHROOT/root" pacman -Syu + if makechrootpkg -c -r "$CHROOT" -- -Asf . ; then + makepkg --printsrcinfo >.SRCINFO + else + delete_chroot_environment && echo -e "\n\e[1;31m==> BUILD FAILED: \e[1;37m$CHROOT removed\e[0m " && exit 1 + fi +} + +sign_package(){ + PACKAGE="$(makepkg --packagelist)" + gpg --use-agent --output "$PACKAGE.sig" --detach-sign "$PACKAGE" +} + +delete_chroot_environment() { + if [ "$(stat -f --format=%T "$CHROOT")" == "btrfs" ]; then + { + sudo btrfs subvolume delete "$CHROOT/root/var/lib/portables" + sudo btrfs subvolume delete "$CHROOT/root/var/lib/machines" + sudo btrfs subvolume delete "$CHROOT/root" + sudo rm -Rf $CHROOT + } >>/dev/null 2>&1 + elif [ "$(stat -f --format=%T "$CHROOT")" == "tmpfs" ]; then + sudo umount -f $CHROOT + fi + sudo rm -Rf $CHROOT +} + +check_available_ram +create_chroot_directory +create_chroot_environment +build_package +sign_package +delete_chroot_environment + +# vim: set ts=4 sw=4 et: diff --git a/io.github.0xle0ne.wireguard_gui.metainfo.xml b/io.github.0xle0ne.wireguard_gui.metainfo.xml new file mode 100644 index 0000000..02ce899 --- /dev/null +++ b/io.github.0xle0ne.wireguard_gui.metainfo.xml @@ -0,0 +1,23 @@ + + + io.github.0xle0ne.wireguard_gui + + Wireguard GUI + A wireguard client GUI made with nextauri + + CC0-1.0 + MIT + + +

+ Wireguard GUI is a Linux application that allows you to manage your Wireguard VPN configuration. +

+
+ + wireguard-gui.desktop + + + https://raw.githubusercontent.com/0xle0ne/wireguard-gui/refs/heads/master/public/img/app.png + + +
diff --git a/wireguard.svg b/wireguard.svg new file mode 100644 index 0000000..fde6a89 --- /dev/null +++ b/wireguard.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + +