diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/mp4v2')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/mp4v2/default.nix | 46 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/mp4v2/fix-build-clang.patch | 13 |
2 files changed, 59 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/mp4v2/default.nix b/nixpkgs/pkgs/development/libraries/mp4v2/default.nix new file mode 100644 index 000000000000..fe0049c1f384 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/mp4v2/default.nix @@ -0,0 +1,46 @@ +{ stdenv, lib, fetchFromGitHub, fetchurl }: + +stdenv.mkDerivation rec { + pname = "mp4v2"; + version = "4.1.3"; + + src = fetchFromGitHub { + # 2020-06-20: THE current upstream, maintained and used in distros fork. + owner = "TechSmith"; + repo = "mp4v2"; + rev = "Release-ThirdParty-MP4v2-${version}"; + sha256 = "053a0lgy819sbz92cfkq0vmkn2ky39bva554pj4ypky1j6vs04fv"; + }; + + patches = [ + (fetchurl { + # 2020-06-19: NOTE: # Fix build with C++11 + # Close when https://github.com/TechSmith/mp4v2/pull/36 merged/closed. + url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/203f5a72bc97ffe089b424c47b07dd9eaea35713/trunk/libmp4v2-c++11.patch"; + sha256 = "0sbn0il7lmk77yrjyb4f0a3z3h8gsmdkscvz5n9hmrrrhrwf672w"; + }) + ] ++ lib.optionals stdenv.cc.isClang [ + # unbreak build with Clangâ„6 (C++14 by default). Based on https://reviews.freebsd.org/rP458678 + ./fix-build-clang.patch + ]; + + NIX_CFLAGS_COMPILE = [ "-Wno-error=narrowing" ]; + + # `faac' expects `mp4.h'. + postInstall = "ln -s mp4v2/mp4v2.h $out/include/mp4.h"; + + enableParallelBuilding = true; + + meta = { + description = "Provides functions to read, create, and modify mp4 files"; + longDescription = '' + MP4v2 library provides an API to work with mp4 files + as defined by ISO-IEC:14496-1:2001 MPEG-4 Systems. + This container format is derived from Apple's QuickTime format. + ''; + homepage = "https://github.com/TechSmith/mp4v2"; + maintainers = [ lib.maintainers.Anton-Latukha ]; + platforms = lib.platforms.unix; + license = lib.licenses.mpl11; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/mp4v2/fix-build-clang.patch b/nixpkgs/pkgs/development/libraries/mp4v2/fix-build-clang.patch new file mode 100644 index 000000000000..5d99f1951f7a --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/mp4v2/fix-build-clang.patch @@ -0,0 +1,13 @@ +diff --git a/src/mp4.cpp b/src/mp4.cpp +index c2a7238..9bb3e38 100644 +--- a/src/mp4.cpp ++++ b/src/mp4.cpp +@@ -870,7 +870,7 @@ MP4FileHandle MP4ReadProvider( const char* fileName, const MP4FileProvider* file + } + + catch (...) { +- return MP4_INVALID_TRACK_ID; ++ return NULL; + } + } + |