%ifarch x86_64 aarch64 armv7l %global _pkgarch x64 %else %global _pkgarch x86 %endif %global forgeurl https://github.com/AirVPN/Eddie %global tag 2.22.2 %global binpath src/App.Forms.Linux/bin/%{_pkgarch}/Release/ %forgemeta Name: eddie Version: %{tag} Release: %mkrel 2 Summary: Eddie - VPN tunnel Group: Networking/Other License: GPLv3 URL: https://eddie.website Source0: %{forgesource} Source1: eddie.mageia.postbuild.sh Patch1: eddie-2.22.2-build-flags.patch BuildRequires: openvpn BuildRequires: patchelf BuildRequires: pkgconfig(ayatana-appindicator-0.1) BuildRequires: pkgconfig(ayatana-appindicator3-0.1) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(mono) Recommends: hummingbird Recommends: openssh Recommends: openvpn #For integration Recommends: xdg-utils # nftables requires in order not to use iptables for Network Lock # conflicts with shorewall otherwise Requires: config(nftables) Requires: stunnel Provides: eddie-ui %description OpenVPN/WireGuard UI with additional user-friendly features, developed by AirVPN #-------------------------------------------------------------------------------# %prep %forgesetup %autopatch -p1 #clean up bin files rm -rf deploy %build %set_build_flags export CFLAGS="$CFLAGS -v" export CXXFLAGS="$CXXFLAGS -v" export LDFLAGS="$LDFLAGS -v" xbuild /verbosity:minimal /property:CodeAnalysisRuleSet="./src/ruleset/norules.ruleset" /p:Configuration="Release" /p:Platform="%{_pkgarch}" /p:TargetFrameworkVersion="v4.5" /t:Rebuild "./src/eddie2.linux.ui.sln" /p:DefineConstants="EDDIENET4" # Compile C sources cp -f %{SOURCE1} $PWD/src/eddie.linux.postbuild.sh chmod +x src/eddie.linux.postbuild.sh chmod +x src/Lib.Platform.Linux.Native/build.sh chmod +x src/UI.GTK.Linux.Tray/build.sh src/eddie.linux.postbuild.sh %{binpath} ui %{_pkgarch} Release %install %{__mkdir_p} %{buildroot}/%{_libdir}/eddie-ui %{__install} -Dm755 %{binpath}App.Forms.Linux.exe %{buildroot}/%{_libdir}/eddie-ui/eddie-ui.exe %{__install} -Dm644 %{binpath}App.Forms.Linux.exe.config %{buildroot}/%{_libdir}/eddie-ui ln -s %{buildroot}/%{_libdir}/eddie-ui/App.Forms.Linux.exe.config %{buildroot}/%{_libdir}/eddie-ui/eddie-ui.exe.config %{__install} -Dm755 %{binpath}eddie-cli-elevated %{buildroot}/%{_libdir}/eddie-ui %{__install} -Dm755 %{binpath}eddie-tray %{buildroot}/%{_libdir}/eddie-ui %{__install} -Dm644 %{binpath}Lib.Core.dll %{buildroot}/%{_libdir}/eddie-ui %{__install} -Dm644 %{binpath}Lib.Forms.dll %{buildroot}/%{_libdir}/eddie-ui %{__install} -Dm644 %{binpath}Lib.Forms.Skin.dll %{buildroot}/%{_libdir}/eddie-ui %{__install} -Dm644 %{binpath}Lib.Platform.Linux.dll %{buildroot}/%{_libdir}/eddie-ui %{__install} -Dm644 %{binpath}libLib.Platform.Linux.Native.so %{buildroot}/%{_libdir}/eddie-ui %{__install} -Dm755 repository/linux_fedora/bundle/eddie-ui/usr/bin/eddie-ui %{buildroot}/%{_bindir}/eddie-ui %ifarch x86_64 aarch64 sed -i 's/lib/lib64/g' %{buildroot}/%{_bindir}/eddie-ui %endif %{__install} -Dm644 common/cacert.pem %{buildroot}/%{_datadir}/eddie-ui/cacert.pem %{__install} -Dm644 common/gpl3.txt %{buildroot}/%{_datadir}/eddie-ui/gpl3.txt %{__install} -Dm644 common/icon_gray.png %{buildroot}/%{_datadir}/eddie-ui/icon_gray.png %{__install} -Dm644 common/icon.png %{buildroot}/%{_datadir}/eddie-ui/icon.png %{__install} -Dm644 common/iso-3166.json %{buildroot}/%{_datadir}/eddie-ui/iso-3166.json %{__install} -Dm644 common/libraries.txt %{buildroot}/%{_datadir}/eddie-ui/libraries.txt %{__install} -Dm644 common/manifest.json %{buildroot}/%{_datadir}/eddie-ui/manifest.json %{__install} -Dm644 common/tray_gray.png %{buildroot}/%{_datadir}/eddie-ui/tray_gray.png %{__install} -Dm644 common/tray.png %{buildroot}/%{_datadir}/eddie-ui/tray.png %{__install} -Dm644 common/lang/inv.json %{buildroot}/%{_datadir}/eddie-ui/lang/inv.json %{__install} -Dm644 common/providers/AirVPN.json %{buildroot}/%{_datadir}/eddie-ui/providers/AirVPN.json %{__install} -Dm644 common/providers/OpenVPN.json %{buildroot}/%{_datadir}/eddie-ui/providers/OpenVPN.json %{__install} -Dm644 common/providers/WireGuard.json %{buildroot}/%{_datadir}/eddie-ui/providers/WireGuard.json %{__install} -Dm644 repository/linux_fedora/bundle/eddie-ui/usr/share/doc/eddie-ui/copyright %{buildroot}/%{_defaultdocdir}/eddie-ui/copyright %{__install} -Dm644 repository/linux_fedora/bundle/eddie-ui/usr/share/polkit-1/actions/org.airvpn.eddie.ui.elevated.policy %{buildroot}/%{_datadir}/polkit-1/actions/org.airvpn.eddie.ui.elevated.policy sed -i 's/{@lib}/lib/g' %{buildroot}/%{_datadir}/polkit-1/actions/org.airvpn.eddie.ui.elevated.policy # Icon %{__install} -Dm644 repository/linux_fedora/bundle/eddie-ui/usr/share/pixmaps/eddie-ui.png %{buildroot}/%{_datadir}/pixmaps/eddie-ui.png # Generate man %{__mkdir_p} %{buildroot}/%{_datadir}/man/man8/ mono %{buildroot}/%{_libdir}/eddie-ui/eddie-ui.exe --cli --path.resources=%{buildroot}/%{_datadir}/eddie-ui/ --help --help.format=man > %{buildroot}/%{_datadir}/man/man8/eddie-ui.8 gzip -n -9 %{buildroot}/%{_datadir}/man/man8/eddie-ui.8 ## Install .desktop file sed -i 's/GNOME;/GNOME;GTK;/g' repository/linux_opensuse/bundle/eddie-ui/usr/share/applications/eddie-ui.desktop %{__mkdir_p} %{buildroot}%{_datadir}/applications %{__install} -m 644 repository/linux_opensuse/bundle/eddie-ui/usr/share/applications/eddie-ui.desktop %{buildroot}/%{_datadir}/applications/eddie-ui.desktop %pre # Allow interfaces in Shorewall to check serveur connections echo "vpn ipv4" >> /etc/shorewall/zones echo "vpn ipv6" >> /etc/shorewall6/zones echo "vpn tun0" >> /etc/shorewall/interfaces echo "vpn Eddie" >> /etc/shorewall/interfaces echo "vpn tun0" >> /etc/shorewall6/interfaces echo "vpn Eddie" >> /etc/shorewall6/interfaces sed -i '1i fw vpn ACCEPT' /etc/shorewall/policy sed -i '2i vpn fw ACCEPT' /etc/shorewall/policy sed -i '1i fw vpn ACCEPT' /etc/shorewall6/policy sed -i '2i vpn fw ACCEPT' /etc/shorewall6/policy %{_sbindir}/shorewall reload %{_sbindir}/shorewall6 reload %preun sed -i "/vpn ipv4/d" /etc/shorewall/zones sed -i "/vpn ipv6/d" /etc/shorewall6/zones sed -i "/vpn tun0/d" /etc/shorewall/interfaces sed -i "/vpn Eddie/d" /etc/shorewall/interfaces sed -i "/vpn tun0/d" /etc/shorewall6/interfaces sed -i "/vpn Eddie/d" /etc/shorewall6/interfaces sed -i '/fw vpn ACCEPT/d' /etc/shorewall/policy sed -i '/vpn fw ACCEPT/d' /etc/shorewall/policy sed -i '/fw vpn ACCEPT/d' /etc/shorewall6/policy sed -i '/vpn fw ACCEPT/d' /etc/shorewall6/policy %files %license LICENSE repository/linux_fedora/bundle/eddie-ui/usr/share/doc/eddie-ui/copyright %doc README.md %{_bindir}/eddie-ui %dir %{_datadir}/eddie-ui %{_datadir}/eddie-ui/* %dir %{_libdir}/eddie-ui %{_libdir}/eddie-ui/* %dir %{_defaultdocdir}/eddie-ui %{_defaultdocdir}/eddie-ui/* %{_datadir}/man/man8/eddie-ui.8.xz %{_datadir}/polkit-1/actions/org.airvpn.eddie.ui.elevated.policy %{_datadir}/pixmaps/eddie-ui.png %{_datadir}/applications/eddie-ui.desktop %changelog * Mon Jan 16 2023 squidf <squidf> 2.22.2-2.mga9 + Revision: 1933761 - (SILENCE) Fix x86_64... - Adjust compile command - Require nftables * Sat Jan 07 2023 squidf <squidf> 2.22.2-1.mga9 + Revision: 1931082 - New version: 2.22.2 - Fix serveur latency check freeze * Fri Jan 06 2023 squidf <squidf> 2.21.8-2.mga9 + Revision: 1930787 - Fix debug symbols and remove strip actions - Set NOLZMA for Elevated - Recommend hummingbird * Fri Jan 06 2023 squidf <squidf> 2.21.8-1.mga9 + Revision: 1930577 - First build for Mageia