diff --git a/net-wireless/geteduroam/Manifest b/net-wireless/geteduroam/Manifest new file mode 100644 index 0000000000..5a2abdd2ad --- /dev/null +++ b/net-wireless/geteduroam/Manifest @@ -0,0 +1,2 @@ +DIST geteduroam-0.14-vendor.tar.xz 2170380 BLAKE2B 5886408bf3fbe3e542bc688dbfa8675a966af819acce17d67d3469b4259dcb138a2d0faf2af112baa82a78288b21449d7b1c5800086e47c532ad0d5567b5c11e SHA512 08bbb95d74cbd8e4726ee6573aa3d42e9e49f50e964cbd9defbb67486ee65cbe8c0b116e5dd1784ab76558cc1f648d6590609a5a8a8409f35e25ae4bb75a5cb6 +DIST geteduroam-0.14.tar.gz 594010 BLAKE2B b2ea7d21dabe496c887a9dec3918ab54499860e162463c99bc742d6af36d739fa4d60a13998622458917afba63bfede39be97336c03496dfbe0d5f3a2b908466 SHA512 7439d8873f73ce736f58927d75d06e127bc328626976800c47021edefdb075a1894f5f718f0b641fc2570a6228a472f09045f07835443e46b1e4906b72bcbe1e diff --git a/net-wireless/geteduroam/files/geteduroam-cli.1 b/net-wireless/geteduroam/files/geteduroam-cli.1 new file mode 100644 index 0000000000..9de29682ed --- /dev/null +++ b/net-wireless/geteduroam/files/geteduroam-cli.1 @@ -0,0 +1,35 @@ +.nh +.TH geteduroam-cli 1 "April 2026" "geteduroam-cli 0.14" "Geteduroam" + +.SH NAME +geteduroam-cli \- CLI interface for the geteduroam utility + + +.SH SYNOPSIS +\fBgeteduroam-cli\fP [options] + +.PP +\fBgeteduroam-cli\fP --help | -h | --version + + +.SH DESCRIPTION +\fBgeteduroam-cli\fP is a CLI interface to make eduroam connection profiles for NetworkManager. It requires a network connection, because it needs to authorize via MicroSoft to generate the eduroam certificates. \fBgeteduroam-cli\fP puts its files in \fI~/.local/share/geteduroam\fP\&. + + +.SH OPTIONS +\fB-h\fP and \fB--help\fP display a basic help message and exit. + +.PP +\fB--version\fP print version number and exit. + +.PP +\fB-v\fP enable verbose mode. + +.PP +\fB-d\fP and \fB--debug\fP enable debug mode. + +.PP +\fB-l\fP \fI/path/to/file\fP and \fB--local\fP=\fI/path/to/file\fP the path to a local EAP metadata file. + +.PP +\fB-u\fP \fIurl\fP and \fB--url\fP=\fIurl\fP the URL where an EAP metadata file or Let's Wifi portal is hosted. diff --git a/net-wireless/geteduroam/files/geteduroam-cli.1.md b/net-wireless/geteduroam/files/geteduroam-cli.1.md new file mode 100644 index 0000000000..51be1429b7 --- /dev/null +++ b/net-wireless/geteduroam/files/geteduroam-cli.1.md @@ -0,0 +1,32 @@ + + +geteduroam-cli 1 "April 2026" "geteduroam-cli 0.14" "Geteduroam" +============================================================== + +# NAME +geteduroam-cli - CLI interface for the geteduroam utility + +# SYNOPSIS +**geteduroam-cli** \[options\] + +**geteduroam-cli** --help | -h | --version + +# DESCRIPTION +**geteduroam-cli** is a CLI interface to make eduroam connection profiles for NetworkManager. It requires a network connection, because it needs to authorize via MicroSoft to generate the eduroam certificates. **geteduroam-cli** puts its files in _~/.local/share/geteduroam_. + +# OPTIONS + +**-h** and **--help** display a basic help message and exit. + +**--version** print version number and exit. + +**-v** enable verbose mode. + +**-d** and **--debug** enable debug mode. + +**-l** _/path/to/file_ and **--local**=_/path/to/file_ the path to a local EAP metadata file. + +**-u** _url_ and **--url**=_url_ the URL where an EAP metadata file or Let's Wifi portal is hosted. diff --git a/net-wireless/geteduroam/files/geteduroam-gui.1 b/net-wireless/geteduroam/files/geteduroam-gui.1 new file mode 100644 index 0000000000..d334630e83 --- /dev/null +++ b/net-wireless/geteduroam/files/geteduroam-gui.1 @@ -0,0 +1,29 @@ +.nh +.TH geteduroam-gui 1 "April 2026" "geteduroam-gui 0.14" "Geteduroam" + +.SH NAME +geteduroam-gui \- GTK interface for the geteduroam utility + + +.SH SYNOPSIS +\fBgeteduroam-gui\fP [options] + +.PP +\fBgeteduroam-gui\fP --help | -h | --version + + +.SH DESCRIPTION +\fBgeteduroam-gui\fP is a GTK interface to make eduroam connection profiles for NetworkManager. It requires a network connection, because it needs to authorize via MicroSoft to generate the eduroam certificates. \fBgeteduroam-gui\fP puts its files in \fI~/.local/share/geteduroam\fP\&. + + +.SH OPTIONS +\fB-h\fP and \fB--help\fP display a basic help message and exit. + +.PP +\fB--version\fP print version number and exit. + +.PP +\fB-d\fP and \fB--debug\fP enable debug mode. + +.PP +\fB--gtk-args\fP arguments that get passed to GTK as a string, e.g. "--help". These flags are split on spaces. diff --git a/net-wireless/geteduroam/files/geteduroam-gui.1.md b/net-wireless/geteduroam/files/geteduroam-gui.1.md new file mode 100644 index 0000000000..29e503aea8 --- /dev/null +++ b/net-wireless/geteduroam/files/geteduroam-gui.1.md @@ -0,0 +1,28 @@ + + +geteduroam-gui 1 "April 2026" "geteduroam-gui 0.14" "Geteduroam" +============================================================== + +# NAME +geteduroam-gui - GTK interface for the geteduroam utility + +# SYNOPSIS +**geteduroam-gui** \[options\] + +**geteduroam-gui** --help | -h | --version + +# DESCRIPTION +**geteduroam-gui** is a GTK interface to make eduroam connection profiles for NetworkManager. It requires a network connection, because it needs to authorize via MicroSoft to generate the eduroam certificates. **geteduroam-gui** puts its files in _~/.local/share/geteduroam_. + +# OPTIONS + +**-h** and **--help** display a basic help message and exit. + +**--version** print version number and exit. + +**-d** and **--debug** enable debug mode. + +**--gtk-args** arguments that get passed to GTK as a string, e.g. "--help". These flags are split on spaces. diff --git a/net-wireless/geteduroam/files/geteduroam-notifcheck.1 b/net-wireless/geteduroam/files/geteduroam-notifcheck.1 new file mode 100644 index 0000000000..1a6b2e4d21 --- /dev/null +++ b/net-wireless/geteduroam/files/geteduroam-notifcheck.1 @@ -0,0 +1,17 @@ +.nh +.TH geteduroam-cli 1 "April 2026" "geteduroam-cli 0.14" "Geteduroam" + +.SH NAME +geteduroam-notifcheck \- Checks if eduroam certificates are still validte + + +.SH SYNOPSIS +\fBgeteduroam-cli\fP [-h | --help] + + +.SH DESCRIPTION +\fBgeteduroam-notifcheck\fP checks if the eduroam connection profile are still valid. If they expire within ten days it will send a message via notify-send(1). It provides a systemd user service to automate this on a daily basis. + + +.SH OPTIONS +\fB-h\fP and \fB--help\fP display a basic help message and exit. diff --git a/net-wireless/geteduroam/files/geteduroam-notifcheck.1.md b/net-wireless/geteduroam/files/geteduroam-notifcheck.1.md new file mode 100644 index 0000000000..6b4c544000 --- /dev/null +++ b/net-wireless/geteduroam/files/geteduroam-notifcheck.1.md @@ -0,0 +1,20 @@ + + +geteduroam-cli 1 "April 2026" "geteduroam-cli 0.14" "Geteduroam" +============================================================== + +# NAME +geteduroam-notifcheck - Checks if eduroam certificates are still validte + +# SYNOPSIS +**geteduroam-cli** \[-h | --help\] + +# DESCRIPTION +**geteduroam-notifcheck** checks if the eduroam connection profile are still valid. If they expire within ten days it will send a message via notify-send(1). It provides a systemd user service to automate this on a daily basis. + +# OPTIONS + +**-h** and **--help** display a basic help message and exit. diff --git a/net-wireless/geteduroam/geteduroam-0.14.ebuild b/net-wireless/geteduroam/geteduroam-0.14.ebuild new file mode 100644 index 0000000000..f0ae1c6b69 --- /dev/null +++ b/net-wireless/geteduroam/geteduroam-0.14.ebuild @@ -0,0 +1,54 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit go-module desktop systemd + +DESCRIPTION="geteduroam Linux client" #TODO: replace with a better description, this is currently what upstream has. +HOMEPAGE="https://github.com/geteduroam/linux-app https://get.eduroam.org/" +SRC_URI="https://github.com/geteduroam/linux-app/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" +# pkgcheck complains about this but this isn't from upstream +SRC_URI+=" https://codeberg.org/AshyPinguin/vendor-tarballs/releases/download/${P}/${PN}-vendor.tar.xz -> ${P}-vendor.tar.xz" # upstream doesn't bundle their vendor tarbal in their releases + +# BSD-3 is the license of the project rest are depend. +LICENSE="MIT Apache-2.0 BSD-2 BSD GPL-2" +SLOT="0" +KEYWORDS="~amd64" # upstream claims that it is also supported on arm64, but I've not had the ability to test this yet - AshyPinguin +IUSE="gui libnotify" + +DEPEND="libnotify? ( x11-libs/libnotify ) + gui? ( >=gui-libs/gtk-4.6 >=gui-libs/libadwaita-1.1 ) + net-misc/networkmanager" +RDEPEND="${DEPEND}" + +src_unpack() { + unpack "${P}.tar.gz" + mv "linux-app-${PV}" "${P}" || die + unpack "${P}-vendor.tar.xz" + mkdir "${P}/vendor" || die + mv "linux-app-${PV}/vendor" "${P}" || die +} + +src_compile() { + ego build -o geteduroam-cli ./cmd/geteduroam-cli + use gui && ego build -o geteduroam-gui ./cmd/geteduroam-gui + use libnotify && ego build -o geteduroam-notifcheck ./cmd/geteduroam-notifcheck +} + +src_install() { + dobin "${PN}-cli" + + if use gui; then + dobin "${PN}-gui" + newicon -s scalable "cmd/${PN}-gui/resources/images/heart.svg" "${PN}.svg" + make_desktop_entry --eapi9 "/usr/bin/${PN}-gui" -n "${PN}" -i "${PN}" -d "${PN}" + fi + + if use libnotify; then + dobin "${PN}-notifcheck" + systemd_douserunit "systemd/user/${PN}/${PN}-notifs.service" + systemd_douserunit "systemd/user/${PN}/${PN}-notifs.timer" + fi + + doman "${FILESDIR}/geteduroam-cli.1" "${FILESDIR}/geteduroam-gui.1" "${FILESDIR}/geteduroam-notifcheck.1" +} diff --git a/net-wireless/geteduroam/metadata.xml b/net-wireless/geteduroam/metadata.xml new file mode 100644 index 0000000000..e745c94467 --- /dev/null +++ b/net-wireless/geteduroam/metadata.xml @@ -0,0 +1,12 @@ + + + + + pinguinlars1105+gentoo@gmail.com + AshyPinguin + + + https://github.com/geteduroam/linux-app/issues + geteduroam/linux-app + +