From d4ae473e5dab01b833b9855df4ca2d7b9eb88592 Mon Sep 17 00:00:00 2001 From: codyopel Date: Mon, 3 Nov 2014 03:55:42 -0500 Subject: [PATCH] x265: refactored to generic, fixed build versioning --- pkgs/development/libraries/x265/default.nix | 57 +++----------------- pkgs/development/libraries/x265/generic.nix | 58 +++++++++++++++++++++ pkgs/development/libraries/x265/hg.nix | 57 +++----------------- 3 files changed, 70 insertions(+), 102 deletions(-) create mode 100644 pkgs/development/libraries/x265/generic.nix diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix index b9be7a55c79f..d7e66a4f618b 100644 --- a/pkgs/development/libraries/x265/default.nix +++ b/pkgs/development/libraries/x265/default.nix @@ -1,52 +1,7 @@ -{ stdenv, cmake, fetchurl, yasm -, highBitDepth ? false -, debuggingSupport ? false -, enableCli ? true -, testSupport ? false -}: +{ callPackage, ... } @ args: -stdenv.mkDerivation rec { - version = "1.3"; - name = "x265-${version}"; - - src = fetchurl { - url = "mirror://gentoo/distfiles/${name}.tar.bz2"; - sha256 = "3807090a99bc351894d58eb037db4f1487b2dba3489eb2c38ab43dd6b7c9b09d"; - }; - - cmakeFlags = with stdenv.lib; - '' - ${if debuggingSupport - then "-DCHECKED_BUILD=ON" - else "-DCHECKED_BUILD=OFF" - } - -DSTATIC_LINK_CRT=OFF - ${if (stdenv.system == "x86_64-linux" && highBitDepth) - then "-DHIGH_BIT_DEPTH=ON" - else "-DHIGH_BIT_DEPTH=OFF" - } - -DWARNINGS_AS_ERRORS=OFF - -DENABLE_PPA=OFF - -DENABLE_SHARED=ON - ${if enableCli - then "-DENABLE_CLI=ON" - else "-DENABLE_CLI=OFF" - } - ${if testSupport - then "-DENABLE_TESTS=ON" - else "-DENABLE_TESTS=OFF" - } - ''; - - preConfigure = "cd source"; - - buildInputs = [ cmake yasm ]; - - meta = with stdenv.lib; { - homepage = "http://x265.org"; - description = "Library for encoding h.265/HEVC video streams"; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = with maintainers; [ codyopel ]; - }; -} \ No newline at end of file +callPackage ./generic.nix (args // { + version = "1.4"; + rev = "5e604833c5aa605d0b6efbe5234492b5e7d8ac61"; + sha256 = "1aqksqi1qmjpva5cal6j7h0hzk298wk3nhqv73wnyqdchq2sa8v5"; +}) \ No newline at end of file diff --git a/pkgs/development/libraries/x265/generic.nix b/pkgs/development/libraries/x265/generic.nix new file mode 100644 index 000000000000..58a39dbbe384 --- /dev/null +++ b/pkgs/development/libraries/x265/generic.nix @@ -0,0 +1,58 @@ +{ stdenv, cmake, fetchhg, mercurial, yasm +, rev , sha256, version +, highBitDepth ? false +, debuggingSupport ? false +, enableCli ? true +, testSupport ? false +, ... +}: + +stdenv.mkDerivation rec { + name = "x265-${version}"; + + src = fetchhg { + url = "https://bitbucket.org/multicoreware/x265/src"; + inherit rev; + inherit sha256; + }; + + patchPhase = '' + sed -i 's/unknown/${version}/g' source/cmake/version.cmake + ''; + + cmakeFlags = with stdenv.lib; + '' + ${if debuggingSupport + then "-DCHECKED_BUILD=ON" + else "-DCHECKED_BUILD=OFF" + } + -DSTATIC_LINK_CRT=OFF + ${if (stdenv.system == "x86_64-linux" && highBitDepth) + then "-DHIGH_BIT_DEPTH=ON" + else "-DHIGH_BIT_DEPTH=OFF" + } + -DWARNINGS_AS_ERRORS=OFF + -DENABLE_PPA=OFF + -DENABLE_SHARED=ON + ${if enableCli + then "-DENABLE_CLI=ON" + else "-DENABLE_CLI=OFF" + } + ${if testSupport + then "-DENABLE_TESTS=ON" + else "-DENABLE_TESTS=OFF" + } + ''; + + preConfigure = "cd source"; + + buildInputs = [ cmake yasm ]; + + meta = with stdenv.lib; { + homepage = "http://x265.org"; + description = "Library for encoding h.265/HEVC video streams"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ codyopel ]; + }; +} \ No newline at end of file diff --git a/pkgs/development/libraries/x265/hg.nix b/pkgs/development/libraries/x265/hg.nix index d615acebc01b..db15e223047e 100644 --- a/pkgs/development/libraries/x265/hg.nix +++ b/pkgs/development/libraries/x265/hg.nix @@ -1,52 +1,7 @@ -{ stdenv, cmake, fetchhg, yasm -, highBitDepth ? false -, debuggingSupport ? false -, enableCli ? true -, testSupport ? false -}: +{ callPackage, ... } @ args: -stdenv.mkDerivation rec { - name = "x265-hg"; - - src = fetchhg { - url = "https://bitbucket.org/multicoreware/x265/src"; - rev = "eebb372eec893efc50e66806fcc19b1c1bd89683"; - sha256 = "03dpbjqcmbmyid45560byabybfzy2bvic0gqa6k6hxci6rvmynpi"; - }; - - cmakeFlags = with stdenv.lib; - '' - ${if debuggingSupport - then "-DCHECKED_BUILD=ON" - else "-DCHECKED_BUILD=OFF" - } - -DSTATIC_LINK_CRT=OFF - ${if (stdenv.system == "x86_64-linux" && highBitDepth) - then "-DHIGH_BIT_DEPTH=ON" - else "-DHIGH_BIT_DEPTH=OFF" - } - -DWARNINGS_AS_ERRORS=OFF - -DENABLE_PPA=OFF - -DENABLE_SHARED=ON - ${if enableCli - then "-DENABLE_CLI=ON" - else "-DENABLE_CLI=OFF" - } - ${if testSupport - then "-DENABLE_TESTS=ON" - else "-DENABLE_TESTS=OFF" - } - ''; - - preConfigure = "cd source"; - - buildInputs = [ cmake yasm ]; - - meta = with stdenv.lib; { - homepage = "http://x265.org"; - description = "Library for encoding h.265/HEVC video streams"; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = with maintainers; [ codyopel ]; - }; -} \ No newline at end of file +callPackage ./generic.nix (args // rec { + version = "hg-${rev}"; + rev = "eebb372eec893efc50e66806fcc19b1c1bd89683"; + sha256 = "03dpbjqcmbmyid45560byabybfzy2bvic0gqa6k6hxci6rvmynpi"; +}) \ No newline at end of file