Sophie

Sophie

distrib > Mageia > 9 > armv7hl > by-pkgid > 57a12c3fb13eb7fedbaf70d8309e89af > files > 4

eddie-2.22.2-2.mga9.src.rpm

%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