nixpkgs/pkgs/applications/misc/playonlinux/default.nix
Spencer Baugh 4b8803dae6 switch users of "gnupg1" to plain "gnupg"
gnupg is gnupg 2.2. gnupg1 is also gnupg 2.2, just with a few extra
symlinks in the bin directory. None of these packages need those
symlinks, and it's confusing for them to say they're depending on
"gnupg1", so switch their dep to plain "gnupg".
2019-05-12 20:08:50 +02:00

110 lines
2.7 KiB
Nix

{ stdenv
, makeWrapper
, fetchurl
, cabextract
, gettext
, glxinfo
, gnupg
, icoutils
, imagemagick
, netcat-gnu
, p7zip
, python2Packages
, unzip
, wget
, wine
, xdg-user-dirs
, xterm
, pkgs
, pkgsi686Linux
, which
, curl
, jq
, xorg
, libGL
}:
let
version = "4.3.4";
binpath = stdenv.lib.makeBinPath
[ cabextract
python2Packages.python
gettext
glxinfo
gnupg
icoutils
imagemagick
netcat-gnu
p7zip
unzip
wget
wine
xdg-user-dirs
xterm
which
curl
jq
];
ld32 =
if stdenv.hostPlatform.system == "x86_64-linux" then "${stdenv.cc}/nix-support/dynamic-linker-m32"
else if stdenv.hostPlatform.system == "i686-linux" then "${stdenv.cc}/nix-support/dynamic-linker"
else throw "Unsupported platform for PlayOnLinux: ${stdenv.hostPlatform.system}";
ld64 = "${stdenv.cc}/nix-support/dynamic-linker";
libs = pkgs: stdenv.lib.makeLibraryPath [ xorg.libX11 libGL ];
in stdenv.mkDerivation {
name = "playonlinux-${version}";
src = fetchurl {
url = "https://www.playonlinux.com/script_files/PlayOnLinux/${version}/PlayOnLinux_${version}.tar.gz";
sha256 = "019dvb55zqrhlbx73p6913807ql866rm0j011ix5mkk2g79dzhqp";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs =
[ python2Packages.python
python2Packages.wxPython
python2Packages.setuptools
xorg.libX11
libGL
];
patchPhase = ''
patchShebangs python tests/python
sed -i "s/ %F//g" etc/PlayOnLinux.desktop
'';
installPhase = ''
install -d $out/share/playonlinux
cp -r . $out/share/playonlinux/
install -D -m644 etc/PlayOnLinux.desktop $out/share/applications/playonlinux.desktop
makeWrapper $out/share/playonlinux/playonlinux $out/bin/playonlinux \
--prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out") \
--prefix PATH : ${binpath}
bunzip2 $out/share/playonlinux/bin/check_dd_x86.bz2
patchelf --set-interpreter $(cat ${ld32}) --set-rpath ${libs pkgsi686Linux} $out/share/playonlinux/bin/check_dd_x86
${if stdenv.hostPlatform.system == "x86_64-linux" then ''
bunzip2 $out/share/playonlinux/bin/check_dd_amd64.bz2
patchelf --set-interpreter $(cat ${ld64}) --set-rpath ${libs pkgs} $out/share/playonlinux/bin/check_dd_amd64
'' else ''
rm $out/share/playonlinux/bin/check_dd_amd64.bz2
''}
for f in $out/share/playonlinux/bin/*; do
bzip2 $f
done
'';
meta = with stdenv.lib; {
description = "GUI for managing Windows programs under linux";
homepage = https://www.playonlinux.com/;
license = licenses.gpl3;
maintainers = [ maintainers.a1russell ];
platforms = [ "x86_64-linux" "i686-linux" ];
};
}