1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-12-04 03:25:02 +00:00
nixpkgs/pkgs/development/libraries/x265/default.nix
Vladimír Čunát 1e04d875db videolan.org sources: prefer http://get.videolan.org
Some of the original URLs were broken now.
It seems that set of mirrors is preferred and faster than the others.
In the x264 case the source isn't there so http://download.videolan.org
is used instead.
2016-02-07 13:21:18 +01:00

60 lines
1.7 KiB
Nix

{ stdenv, fetchurl, cmake, yasm
, debugSupport ? false # Run-time sanity checks (debugging)
, highbitdepthSupport ? false # false=8bits per channel, true=10/12bits per channel
, werrorSupport ? false # Warnings as errors
, ppaSupport ? false # PPA profiling instrumentation
, vtuneSupport ? false # Vtune profiling instrumentation
, custatsSupport ? false # Internal profiling of encoder work
, cliSupport ? true # Build standalone CLI application
, unittestsSupport ? false # Unit tests
}:
let
mkFlag = optSet: flag: if optSet then "-D${flag}=ON" else "-D${flag}=OFF";
inherit (stdenv) is64bit;
in
stdenv.mkDerivation rec {
name = "x265-${version}";
version = "1.7";
src = fetchurl {
urls = [
"http://get.videolan.org/x265/x265_${version}.tar.gz"
"https://github.com/videolan/x265/archive/${version}.tar.gz"
];
sha256 = "18w3whmbjlalvysny51kdq9b228iwg3rdav4kmifazksvrm4yacq";
};
patchPhase = ''
sed -i 's/unknown/${version}/g' source/cmake/version.cmake
'';
cmakeFlags = [
(mkFlag debugSupport "CHECKED_BUILD")
"-DSTATIC_LINK_CRT=OFF"
(mkFlag (highbitdepthSupport && is64bit) "HIGH_BIT_DEPTH")
(mkFlag werrorSupport "WARNINGS_AS_ERRORS")
(mkFlag ppaSupport "ENABLE_PPA")
(mkFlag vtuneSupport "ENABLE_VTUNE")
(mkFlag custatsSupport "DETAILED_CU_STATS")
"-DENABLE_SHARED=ON"
(mkFlag cliSupport "ENABLE_CLI")
(mkFlag unittestsSupport "ENABLE_TESTS")
];
preConfigure = ''
cd source
'';
nativeBuildInputs = [ cmake yasm ];
meta = with stdenv.lib; {
description = "Library for encoding h.265/HEVC video streams";
homepage = http://x265.org;
license = licenses.gpl2;
maintainers = with maintainers; [ codyopel ];
platforms = platforms.all;
};
}