diff options
author | Nicolas Pierron <nicolas.b.pierron@gmail.com> | 2011-04-17 08:27:22 +0000 |
---|---|---|
committer | Nicolas Pierron <nicolas.b.pierron@gmail.com> | 2011-04-17 08:27:22 +0000 |
commit | 2cab2ce8855a47b64569f1cf37df75e8baf7b114 (patch) | |
tree | 61a8dd19c2f9e9fa9da12b44c6c93b39cc017378 /pkgs/tools/networking/fuppes | |
parent | f40afa1ade884df95f5bbe846def13b26c0402ee (diff) | |
download | nixlib-2cab2ce8855a47b64569f1cf37df75e8baf7b114.tar nixlib-2cab2ce8855a47b64569f1cf37df75e8baf7b114.tar.gz nixlib-2cab2ce8855a47b64569f1cf37df75e8baf7b114.tar.bz2 nixlib-2cab2ce8855a47b64569f1cf37df75e8baf7b114.tar.lz nixlib-2cab2ce8855a47b64569f1cf37df75e8baf7b114.tar.xz nixlib-2cab2ce8855a47b64569f1cf37df75e8baf7b114.tar.zst nixlib-2cab2ce8855a47b64569f1cf37df75e8baf7b114.zip |
Fuppes: Fix support of faad2, backward compatibility macros were not
expanded in strings. svn path=/nixpkgs/trunk/; revision=26864
Diffstat (limited to 'pkgs/tools/networking/fuppes')
-rw-r--r-- | pkgs/tools/networking/fuppes/default.nix | 9 | ||||
-rw-r--r-- | pkgs/tools/networking/fuppes/fuppes-faad-exanpse-backward-symbols-macro.patch | 91 |
2 files changed, 100 insertions, 0 deletions
diff --git a/pkgs/tools/networking/fuppes/default.nix b/pkgs/tools/networking/fuppes/default.nix index dca3b40ef5f4..711c3516bda2 100644 --- a/pkgs/tools/networking/fuppes/default.nix +++ b/pkgs/tools/networking/fuppes/default.nix @@ -8,6 +8,10 @@ stdenv.mkDerivation rec { sha256 = "1c385b29878927e5f1e55ae2c9ad284849d1522d9517a88e34feb92bd5195173"; }; + patches = [ + ./fuppes-faad-exanpse-backward-symbols-macro.patch + ]; + buildInputs = [ pkgconfig pcre libxml2 sqlite ffmpeg imagemagick exiv2 mp4v2 lame libvorbis flac libmad faad2 @@ -26,6 +30,11 @@ stdenv.mkDerivation rec { "--enable-faad" ]; + postFixup = '' + patchelf --set-rpath "$(patchelf --print-rpath $out/bin/fuppes):${faad2}/lib" $out/bin/fuppes + patchelf --set-rpath "$(patchelf --print-rpath $out/bin/fuppesd):${faad2}/lib" $out/bin/fuppesd + ''; + meta = { description = "UPnP A/V Media Server"; longDescription = '' diff --git a/pkgs/tools/networking/fuppes/fuppes-faad-exanpse-backward-symbols-macro.patch b/pkgs/tools/networking/fuppes/fuppes-faad-exanpse-backward-symbols-macro.patch new file mode 100644 index 000000000000..c88a6fb4427e --- /dev/null +++ b/pkgs/tools/networking/fuppes/fuppes-faad-exanpse-backward-symbols-macro.patch @@ -0,0 +1,91 @@ +diff -x _inst -x _build -x .svn -ur fuppes-0.660/src/lib/Transcoding/FaadWrapper.cpp fuppes-0.660.new/src/lib/Transcoding/FaadWrapper.cpp +--- fuppes-0.660/src/lib/Transcoding/FaadWrapper.cpp 2009-11-19 10:16:25.000000000 +0100 ++++ fuppes-0.660.new/src/lib/Transcoding/FaadWrapper.cpp 2011-01-30 22:25:34.171263052 +0100 +@@ -329,13 +329,19 @@ + + CloseFile(); + } +- ++ ++// These macros are used to convert old function names to new ones based on ++// the #define declared in faad headers. The two-level macro are used to ++// expanse the macro which are gave to to_str. ++#define to_str_(fun) #fun ++#define to_str(fun) to_str_(fun) ++ + bool CFaadWrapper::LoadLib() + { + #ifdef WIN32 +- std::string sLibName = "libfaad-0.dll"; ++ std::string sLibName = "libfaad-2.dll"; + #else +- std::string sLibName = "libfaad.so.0"; ++ std::string sLibName = "libfaad.so.2"; + #endif + + if(!CSharedConfig::Shared()->FaadLibName().empty()) { +@@ -350,54 +356,54 @@ + return false; + } + +- m_faacDecOpen = (faacDecOpen_t)FuppesGetProcAddress(m_LibHandle, "faacDecOpen"); ++ m_faacDecOpen = (faacDecOpen_t)FuppesGetProcAddress(m_LibHandle, to_str(faacDecOpen)); + if(!m_faacDecOpen) { + CSharedLog::Shared()->Log(L_EXT, "cannot load symbol 'faacDecOpen'", __FILE__, __LINE__); + return false; + } + +- m_faacDecGetErrorMessage = (faacDecGetErrorMessage_t)FuppesGetProcAddress(m_LibHandle, "faacDecGetErrorMessage"); ++ m_faacDecGetErrorMessage = (faacDecGetErrorMessage_t)FuppesGetProcAddress(m_LibHandle, to_str(faacDecGetErrorMessage)); + if(!m_faacDecGetErrorMessage) { + CSharedLog::Shared()->Log(L_EXT, "cannot load symbol 'faacDecGetErrorMessage'", __FILE__, __LINE__); + return false; + } + +- m_faacDecGetCurrentConfiguration = (faacDecGetCurrentConfiguration_t)FuppesGetProcAddress(m_LibHandle, "faacDecGetCurrentConfiguration"); ++ m_faacDecGetCurrentConfiguration = (faacDecGetCurrentConfiguration_t)FuppesGetProcAddress(m_LibHandle, to_str(faacDecGetCurrentConfiguration)); + if(!m_faacDecGetCurrentConfiguration) { + CSharedLog::Shared()->Log(L_EXT, "cannot load symbol 'faacDecGetCurrentConfiguration'", __FILE__, __LINE__); + } + +- m_faacDecSetConfiguration = (faacDecSetConfiguration_t)FuppesGetProcAddress(m_LibHandle, "faacDecSetConfiguration"); ++ m_faacDecSetConfiguration = (faacDecSetConfiguration_t)FuppesGetProcAddress(m_LibHandle, to_str(faacDecSetConfiguration)); + if(!m_faacDecSetConfiguration) { + CSharedLog::Shared()->Log(L_EXT, "cannot load symbol 'faacDecSetConfiguration'", __FILE__, __LINE__); + } + +- m_faacDecInit = (faacDecInit_t)FuppesGetProcAddress(m_LibHandle, "faacDecInit"); ++ m_faacDecInit = (faacDecInit_t)FuppesGetProcAddress(m_LibHandle, to_str(faacDecInit)); + if(!m_faacDecInit) { + CSharedLog::Shared()->Log(L_EXT, "cannot load symbol 'faacDecInit'", __FILE__, __LINE__); + } + +- m_faacDecInit2 = (faacDecInit2_t)FuppesGetProcAddress(m_LibHandle, "faacDecInit2"); ++ m_faacDecInit2 = (faacDecInit2_t)FuppesGetProcAddress(m_LibHandle, to_str(faacDecInit2)); + if(!m_faacDecInit2) { + CSharedLog::Shared()->Log(L_EXT, "cannot load symbol 'faacDecInit2'", __FILE__, __LINE__); + return false; + } + +- m_faacDecDecode = (faacDecDecode_t)FuppesGetProcAddress(m_LibHandle, "faacDecDecode"); ++ m_faacDecDecode = (faacDecDecode_t)FuppesGetProcAddress(m_LibHandle, to_str(faacDecDecode)); + if(!m_faacDecDecode) { + CSharedLog::Shared()->Log(L_EXT, "cannot load symbol 'faacDecDecode'", __FILE__, __LINE__); + return false; + } + +- m_faacDecClose = (faacDecClose_t)FuppesGetProcAddress(m_LibHandle, "faacDecClose"); ++ m_faacDecClose = (faacDecClose_t)FuppesGetProcAddress(m_LibHandle, to_str(faacDecClose)); + if(!m_faacDecClose) { + CSharedLog::Shared()->Log(L_EXT, "cannot load symbol 'faacDecClose'", __FILE__, __LINE__); + return false; + } + +- m_AudioSpecificConfig = (AudioSpecificConfig_t)FuppesGetProcAddress(m_LibHandle, "AudioSpecificConfig"); ++ m_AudioSpecificConfig = (AudioSpecificConfig_t)FuppesGetProcAddress(m_LibHandle, to_str(AudioSpecificConfig)); + if(!m_AudioSpecificConfig) { +- m_AudioSpecificConfig = (AudioSpecificConfig_t)FuppesGetProcAddress(m_LibHandle, "faacDecAudioSpecificConfig"); ++ m_AudioSpecificConfig = (AudioSpecificConfig_t)FuppesGetProcAddress(m_LibHandle, to_str(faacDecAudioSpecificConfig)); + if(!m_AudioSpecificConfig) { + CSharedLog::Shared()->Log(L_EXT, "cannot load symbol '(faacDec)AudioSpecificConfig'", __FILE__, __LINE__); + return false; |