nixpkgs/pkgs/applications/misc/eaglemode/default.nix

42 lines
1.4 KiB
Nix
Raw Normal View History

{ stdenv, fetchurl, perl, libX11, libjpeg, libpng, libtiff, pkgconfig,
2014-11-19 14:36:47 +00:00
librsvg, glib, gtk, libXext, libXxf86vm, poppler, xineLib }:
2014-08-19 17:43:37 +01:00
stdenv.mkDerivation rec {
2014-11-19 14:36:47 +00:00
name = "eaglemode-0.86.0";
src = fetchurl {
2014-08-19 17:43:37 +01:00
url = "mirror://sourceforge/eaglemode/${name}.tar.bz2";
2014-11-19 14:36:47 +00:00
sha256 = "1a2hzyck95g740qg4p4wd4fjwsmlknh75i9sbx5r5v9pyr4i3m4f";
};
buildInputs = [ perl libX11 libjpeg libpng libtiff pkgconfig
2014-11-19 14:36:47 +00:00
librsvg glib gtk libXxf86vm libXext poppler xineLib ];
# The program tries to dlopen both Xxf86vm and Xext, so we use the
# trick on NIX_LDFLAGS and dontPatchELF to make it find them.
# I use 'yes y' to skip a build error linking with xineLib,
# because xine stopped exporting "_x_vo_new_port"
# http://sourceforge.net/projects/eaglemode/forums/forum/808824/topic/5115261
buildPhase = ''
export NIX_LDFLAGS="$NIX_LDFLAGS -lXxf86vm -lXext"
yes y | perl make.pl build
'';
dontPatchELF = true;
installPhase = ''
perl make.pl install dir=$out
# I don't like this... but it seems the way they plan to run it by now.
# Run 'eaglemode.sh', not 'eaglemode'.
ln -s $out/eaglemode.sh $out/bin/eaglemode.sh
'';
meta = {
homepage = "http://eaglemode.sourceforge.net";
description = "Zoomable User Interface";
license="GPLv3";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}