New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
eddie-ui: init at 2.20.0 #105195
eddie-ui: init at 2.20.0 #105195
Conversation
{ stdenv, | ||
fetchFromGitHub, | ||
clang, | ||
cmake, | ||
mono, | ||
dotnet-sdk, | ||
which, | ||
glibc, | ||
pkgconfig, | ||
gtk2, | ||
libappindicator-gtk2, | ||
lzma, | ||
libselinux, | ||
libsepol, | ||
fribidi, | ||
libthai, | ||
libdatrie, | ||
xorg, | ||
openvpn, | ||
stunnel | ||
}: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{ stdenv, | |
fetchFromGitHub, | |
clang, | |
cmake, | |
mono, | |
dotnet-sdk, | |
which, | |
glibc, | |
pkgconfig, | |
gtk2, | |
libappindicator-gtk2, | |
lzma, | |
libselinux, | |
libsepol, | |
fribidi, | |
libthai, | |
libdatrie, | |
xorg, | |
openvpn, | |
stunnel | |
}: | |
{ stdenv | |
, fetchFromGitHub, | |
, clang | |
, cmake | |
.... | |
}: |
I am lazy now but the formatting should be like the above example.
|
||
stdenv.mkDerivation rec { | ||
pname = "eddie-ui"; | ||
version = "2.18.9"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
version = "2.18.9"; | |
version = "2.18.9"; | |
src = fetchFromGitHub { | ||
owner = "AirVPN"; | ||
repo = "Eddie"; | ||
rev = "2.18.9"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rev = "2.18.9"; | |
rev = version; |
Otherwise we won't get auto updates.
rev = "2.18.9"; | ||
sha256 = "1nvnvy6lskydfrlsrbyk065hl6zxdyivhrynydny1kirz3qmrw61"; | ||
}; | ||
sourceRoot= "/build/source/src/UI.GTK.Linux.Tray"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sourceRoot= "/build/source/src/UI.GTK.Linux.Tray"; |
IIRC this is not required here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I remove this line, I need to add
dontUseCmakeConfigure=true;
Otherwise I get the error:
CMake Error: The source directory "/build/source" does not appear to contain CMakeLists.txt.
Also, when I skip configure phase with the option above I have an error while building:
/build/source/src/UI.GTK.Linux.Tray/src/main.cpp:22:10: fatal error: libappindicator/app-indicator.h: No such file or directory
22 | #include <libappindicator/app-indicator.h>
Looks like in this case I need to provide some cmake flags manually.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sourceRoot= "/build/source/src/UI.GTK.Linux.Tray"; | |
sourceRoot= "src/UI.GTK.Linux.Tray"; |
This should be relative and not absolute.
libselinux libsepol fribidi libthai libdatrie xorg.libXdmcp | ||
]; | ||
installPhase = '' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
libselinux libsepol fribidi libthai libdatrie xorg.libXdmcp | |
]; | |
installPhase = '' | |
libselinux libsepol fribidi libthai libdatrie xorg.libXdmcp | |
]; | |
installPhase = '' |
cp repository/linux_arch/bundle/eddie-ui/usr/bin/eddie-ui $out/bin/eddie-ui | ||
substituteInPlace $out/bin/eddie-ui --replace '/usr/' $out/ | ||
chmod +x $out/bin/eddie-ui |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cp repository/linux_arch/bundle/eddie-ui/usr/bin/eddie-ui $out/bin/eddie-ui | |
substituteInPlace $out/bin/eddie-ui --replace '/usr/' $out/ | |
chmod +x $out/bin/eddie-ui | |
install -Dm755 repository/linux_arch/bundle/eddie-ui/usr/bin/eddie-ui $out/bin/eddie-ui | |
substituteInPlace $out/bin/eddie-ui --replace '/usr/' $out/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Regarding this part. I wanted to ask maybe there is a better way instead of copying Arch script. The script is:
mono /usr/lib/eddie-ui/eddie-ui.exe --path.resources=/usr/share/eddie-ui --path.exec="$0" "$@"
.
Can we use some Nix wrapper function here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure but it could be that the binary gets double wrapped.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
makeWrapper has an --add-flags
option which can do that.
Eddie - OpenVPN GUI, A VPN based on OpenVPN and operated by activists and hacktivists in defence of net neutrality, privacy and against censorship. | ||
''; | ||
homepage = "https://airvpn.org/"; | ||
changelog = "https://github.com/AirVPN/Eddie/compare/2.18.9...master"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
changelog = "https://github.com/AirVPN/Eddie/compare/2.18.9...master"; | |
changelog = "https://github.com/AirVPN/Eddie/releases"; |
homepage = "https://airvpn.org/"; | ||
changelog = "https://github.com/AirVPN/Eddie/compare/2.18.9...master"; | ||
maintainers = with maintainers; [vanbeast]; | ||
license = licenses.gpl3; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gpl3 is deprecated. Please set gpl3Plus or gpl3Only.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please fix the merge conflict and do not merge master into PRs.
pkgs/top-level/all-packages.nix
Outdated
@@ -28675,4 +28675,6 @@ in | |||
|
|||
psftools = callPackage ../os-specific/linux/psftools {}; | |||
|
|||
eddie-ui = callPackage ../applications/networking/eddie-ui/default.nix {}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please sort this into a fitting category and there alphabetically.
eddie-ui = callPackage ../applications/networking/eddie-ui/default.nix {}; | |
eddie-ui = callPackage ../applications/networking/eddie-ui/default.nix { }; |
Hi @SuperSandro2000 |
554f2df
to
1ab6510
Compare
@SuperSandro2000 Did some cleanup according to your comments. Please review |
@@ -10924,4 +10924,10 @@ | |||
github = "zupo"; | |||
githubId = 311580; | |||
}; | |||
vanbeast = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please put this into a separate commit with the message maintainers: add vanbeast
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mean separate PR or just separate commit in this PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please put this into a separate commit with the message maintainers: add vanbeast
and sort it alphabetically.
sha256 = "0wack2xc5vk2b5i6knhqqcppdc3cml1swys3kprdpazrcim79yvg"; | ||
}; | ||
|
||
buildInputs = [openvpn mono stunnel]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
buildInputs = [openvpn mono stunnel]; | |
buildInputs = [ openvpn mono stunnel ]; |
nativeBuildInputs = [pkg-config which cmake dotnet-sdk gtk2 lzma.dev libappindicator-gtk2.dev | ||
libselinux libsepol fribidi libthai libdatrie xorg.libXdmcp | ||
]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nativeBuildInputs = [pkg-config which cmake dotnet-sdk gtk2 lzma.dev libappindicator-gtk2.dev | |
libselinux libsepol fribidi libthai libdatrie xorg.libXdmcp | |
]; | |
nativeBuildInputs = [ | |
pkg-config which cmake dotnet-sdk gtk2 lzma.dev libappindicator-gtk2.dev | |
libselinux libsepol fribidi libthai libdatrie xorg.libXdmcp | |
]; |
rev = "2.18.9"; | ||
sha256 = "1nvnvy6lskydfrlsrbyk065hl6zxdyivhrynydny1kirz3qmrw61"; | ||
}; | ||
sourceRoot= "/build/source/src/UI.GTK.Linux.Tray"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sourceRoot= "/build/source/src/UI.GTK.Linux.Tray"; | |
sourceRoot= "src/UI.GTK.Linux.Tray"; |
This should be relative and not absolute.
|
||
postPatch = '' | ||
# Fix libappindicator include directory | ||
substituteInPlace /build/source/src/UI.GTK.Linux.Tray/CMakeLists.txt --replace '/usr/include/libappindicator-0.1' '${libappindicator-gtk2.dev}/include/libappindicator-0.1'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
substituteInPlace /build/source/src/UI.GTK.Linux.Tray/CMakeLists.txt --replace '/usr/include/libappindicator-0.1' '${libappindicator-gtk2.dev}/include/libappindicator-0.1'; | |
substituteInPlace /build/source/src/UI.GTK.Linux.Tray/CMakeLists.txt \ | |
--replace '/usr/include/libappindicator-0.1' '${libappindicator-gtk2.dev}/include/libappindicator-0.1'; |
chmod -R +w /build/source | ||
cd /build/source/src/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or alternatively use relative paths.
cp repository/linux_arch/bundle/eddie-ui/usr/bin/eddie-ui $out/bin/eddie-ui | ||
substituteInPlace $out/bin/eddie-ui --replace '/usr/' $out/ | ||
chmod +x $out/bin/eddie-ui |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure but it could be that the binary gets double wrapped.
longDescription = '' | ||
Eddie - OpenVPN GUI for AirVPN. AirVPN is based on OpenVPN and operated by activists and hacktivists in defence of net neutrality, privacy and against censorship. | ||
''; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
longDescription = '' | |
Eddie - OpenVPN GUI for AirVPN. AirVPN is based on OpenVPN and operated by activists and hacktivists in defence of net neutrality, privacy and against censorship. | |
''; | |
longDescription = '' | |
Eddie is a OpenVPN GUI for AirVPN. AirVPN is based on OpenVPN and operated by activists and hacktivists in defence of net neutrality, privacy and against censorship. | |
''; |
8ff6884
to
9a609eb
Compare
@SuperSandro2000 Do you have an idea how it can be fixed? |
9c622d3
to
1da2d55
Compare
I don't know. Probably static compilation is not supported like this. You can use makeWrapper to put those programs into the PATH if you mean this. Otherwise you need to create a module which puts those packages into systemPackages. |
Thanks Sandro. I made this PR a draft. I will need to spend some time to figure out those issues |
I marked this as stale due to inactivity. → More info |
Hi, guys. Is the work in AirVPN/ eddie-ui dead? I'm considering distrohopping and making NixOS my main OS. I do need AirVPN/ eddie, though. I guess it's probably available as a Flatpak, if not from NixOS. Thanks, Chris |
I'd also like to use Eddie. In the meantime, I've found that |
I've stopped using NixOS, so I'm not going to work on this package anymore |
Motivation for this change
#73233
Used build scripts for Arch as a reference.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)