linuxsampler: svn-2340 -> 2.1.0

This commit is contained in:
Orivej Desh 2017-12-09 01:35:27 +00:00
parent 687175c931
commit d87976c19f
3 changed files with 15 additions and 70 deletions

View File

@ -1,31 +1,28 @@
{ stdenv, fetchsvn, alsaLib, asio, autoconf, automake, bison { stdenv, fetchurl, autoconf, automake, bison, libtool, pkgconfig, which
, libjack2, libgig, libsndfile, libtool, lv2, pkgconfig }: , alsaLib, asio, libjack2, libgig, libsndfile, lv2 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "linuxsampler-svn-${version}"; name = "linuxsampler-${version}";
version = "2340"; version = "2.1.0";
src = fetchsvn { src = fetchurl {
url = "https://svn.linuxsampler.org/svn/linuxsampler/trunk"; url = "http://download.linuxsampler.org/packages/${name}.tar.bz2";
rev = "${version}"; sha256 = "0fdxpw7jjfi058l95131d6d8538h05z7n94l60i6mhp9xbplj2jf";
sha256 = "0zsrvs9dwwhjx733m45vfi11yjkqv33z8qxn2i9qriq5zs1f0kd7";
}; };
patches = ./linuxsampler_lv2_sfz_fix.diff;
# It fails to compile without this option. I'm not sure what the bug # It fails to compile without this option. I'm not sure what the bug
# is, but everything works OK for me (goibhniu). # is, but everything works OK for me (goibhniu).
configureFlags = [ "--disable-nptl-bug-check" ]; configureFlags = [ "--disable-nptl-bug-check" ];
preConfigure = '' preConfigure = ''
sed -e 's/which/type -P/g' -i scripts/generate_parser.sh make -f Makefile.svn
make -f Makefile.cvs
''; '';
buildInputs = [ nativeBuildInputs = [ autoconf automake bison libtool pkgconfig which ];
alsaLib asio autoconf automake bison libjack2 libgig libsndfile
libtool lv2 pkgconfig buildInputs = [ alsaLib asio libjack2 libgig libsndfile lv2 ];
];
enableParallelBuilding = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://www.linuxsampler.org; homepage = http://www.linuxsampler.org;
@ -40,7 +37,7 @@ stdenv.mkDerivation rec {
prior written permission by the LinuxSampler authors. If you prior written permission by the LinuxSampler authors. If you
have questions on the subject, that are not yet covered by the have questions on the subject, that are not yet covered by the
FAQ, please contact us. FAQ, please contact us.
''; '';
license = licenses.unfree; license = licenses.unfree;
maintainers = [ maintainers.goibhniu ]; maintainers = [ maintainers.goibhniu ];
platforms = platforms.linux; platforms = platforms.linux;

View File

@ -1,50 +0,0 @@
Index: linuxsampler-r2359/src/hostplugins/lv2/PluginLv2.cpp
===================================================================
--- linuxsampler-r2359/src/hostplugins/lv2/PluginLv2.cpp (revision 2359)
+++ linuxsampler-r2359/src/hostplugins/lv2/PluginLv2.cpp (working copy)
@@ -18,6 +18,8 @@
* MA 02110-1301 USA *
***************************************************************************/
+#define _BSD_SOURCE 1 /* for realpath() */
+
#include <algorithm>
#include <cassert>
#include <cstdio>
@@ -118,6 +120,23 @@
dmsg(2, ("linuxsampler: Deactivate\n"));
}
+ static String RealPath(const String& path)
+ {
+ String out = path;
+ char* cpath = NULL;
+#ifdef _WIN32
+ cpath = (char*)malloc(MAX_PATH);
+ GetFullPathName(path.c_str(), MAX_PATH, cpath, NULL);
+#else
+ cpath = realpath(path.c_str(), NULL);
+#endif
+ if (cpath) {
+ out = cpath;
+ free(cpath);
+ }
+ return out;
+ }
+
String PluginLv2::PathToState(const String& path) {
if (MapPath) {
char* cstr = MapPath->abstract_path(MapPath->handle, path.c_str());
@@ -131,9 +150,10 @@
String PluginLv2::PathFromState(const String& path) {
if (MapPath) {
char* cstr = MapPath->absolute_path(MapPath->handle, path.c_str());
- const String abstract_path(cstr);
+ // Resolve symbolic links so SFZ sample paths load correctly
+ const String absolute_path(RealPath(cstr));
free(cstr);
- return abstract_path;
+ return absolute_path;
}
return path;
}

View File

@ -15636,9 +15636,7 @@ with pkgs;
polarssl = mbedtls_1_3; polarssl = mbedtls_1_3;
}; };
linuxsampler = callPackage ../applications/audio/linuxsampler { linuxsampler = callPackage ../applications/audio/linuxsampler { };
bison = bison2;
};
llpp = ocaml-ng.ocamlPackages.callPackage ../applications/misc/llpp { }; llpp = ocaml-ng.ocamlPackages.callPackage ../applications/misc/llpp { };