From 39525c52d8540a2e4103e09a7fde4553cec9be25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Wed, 30 Oct 2013 00:00:46 +0100 Subject: [PATCH] MilkyTracker: fix build, use system zlib and decompressor patch Also add JACK support --- .../milkytracker/decompressor_gzip.patch | 20 ++++++++++++++++ .../audio/milkytracker/default.nix | 23 ++++++------------- 2 files changed, 27 insertions(+), 16 deletions(-) create mode 100644 pkgs/applications/audio/milkytracker/decompressor_gzip.patch diff --git a/pkgs/applications/audio/milkytracker/decompressor_gzip.patch b/pkgs/applications/audio/milkytracker/decompressor_gzip.patch new file mode 100644 index 000000000000..c64421116dea --- /dev/null +++ b/pkgs/applications/audio/milkytracker/decompressor_gzip.patch @@ -0,0 +1,20 @@ +https://bugs.archlinux.org/task/31324 +https://410333.bugs.gentoo.org/attachment.cgi?id=322456 + +diff -ur src.old/compression/DecompressorGZIP.cpp src/compression/DecompressorGZIP.cpp +--- src.old/compression/DecompressorGZIP.cpp 2012-08-28 17:54:46.000000000 +0200 ++++ src/compression/DecompressorGZIP.cpp 2012-08-28 17:55:21.000000000 +0200 +@@ -57,11 +57,11 @@ + + bool DecompressorGZIP::decompress(const PPSystemString& outFileName, Hints hint) + { +- gzFile *gz_input_file = NULL; ++ gzFile gz_input_file = NULL; + int len = 0; + pp_uint8 *buf; + +- if ((gz_input_file = (void **)gzopen (fileName.getStrBuffer(), "r")) == NULL) ++ if ((gz_input_file = gzopen (fileName.getStrBuffer(), "r")) == NULL) + return false; + + if ((buf = new pp_uint8[0x10000]) == NULL) diff --git a/pkgs/applications/audio/milkytracker/default.nix b/pkgs/applications/audio/milkytracker/default.nix index c0ce0058ba42..3a464fb9fdb9 100644 --- a/pkgs/applications/audio/milkytracker/default.nix +++ b/pkgs/applications/audio/milkytracker/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, alsaLib, SDL, automake, autoconf, perl}: +{ stdenv, fetchurl, alsaLib, SDL, automake, autoconf, jackaudio, perl, zlib, zziplib }: stdenv.mkDerivation rec { version = "0.90.85"; @@ -20,26 +20,17 @@ stdenv.mkDerivation rec { sha256 = "0gwd4zslbd8kih80k4v7n2c65kvm2cq3kl6d7y33z1l007vzyvf6"; }; - preConfigure = '' - patch ./src/tracker/sdl/SDL_Main.cpp < ${fix_64bit_patch} - patch < ${no_zzip_patch} + patchPhase = '' + patch ./src/tracker/sdl/SDL_Main.cpp < ${fix_64bit_patch} + patch < ${no_zzip_patch} + patch ./src/compression/DecompressorGZIP.cpp < ${./decompressor_gzip.patch} ''; - # There's a zlib version included with milkytracker, - # but there's no makefiles for it. I've only included - # the header here, but it fails at link-time with - # several 'undefined reference' errors, which simply - # means it can't find the definitions, e.g. compiled - # zlib. - # There's bug reports on other package systems although - # unfortunately still unresolved. - # https://bugs.archlinux.org/task/31324 - # http://lists.freebsd.org/pipermail/freebsd-ports/2013-March/082180.html preBuild='' - export CPATH="`pwd`/src/compression/zlib/generic" + export CPATH=${zlib}/lib ''; - buildInputs = [ alsaLib SDL automake autoconf perl]; + buildInputs = [ alsaLib SDL automake autoconf jackaudio perl zlib zziplib ]; meta = { description = "Music tracker application, similar to Fasttracker II.";