diff options
author | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:36 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2019-01-07 02:18:47 +0000 |
commit | 36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch) | |
tree | b3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/libraries/openjpeg | |
parent | 4e31070265257dc67d120c27e0f75c2344fdfa9a (diff) | |
parent | abf060725d7614bd3b9f96764262dfbc2f9c2199 (diff) | |
download | nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2 nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip |
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/openjpeg')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/openjpeg/1.x.nix | 8 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/openjpeg/2.x.nix | 21 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/openjpeg/generic.nix | 76 |
3 files changed, 105 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/openjpeg/1.x.nix b/nixpkgs/pkgs/development/libraries/openjpeg/1.x.nix new file mode 100644 index 000000000000..dfa5605dec8b --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/openjpeg/1.x.nix @@ -0,0 +1,8 @@ +{ callPackage, ... } @ args: + +callPackage ./generic.nix (args // rec { + version = "1.5.2"; + branch = "1.5"; + revision = "version.1.5.2"; + sha256 = "1dvvpvb597i5z8srz2v4c5dsbxb966h125jx3m2z0r2gd2wvpfkp"; +}) diff --git a/nixpkgs/pkgs/development/libraries/openjpeg/2.x.nix b/nixpkgs/pkgs/development/libraries/openjpeg/2.x.nix new file mode 100644 index 000000000000..fd9c7eea8c2e --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/openjpeg/2.x.nix @@ -0,0 +1,21 @@ +{ callPackage, fetchpatch, ... } @ args: + +callPackage ./generic.nix (args // rec { + version = "2.3.0"; + branch = "2.3"; + revision = "v${version}"; + sha256 = "08plxrnfl33sn2vh5nwbsngyv6b1sfpplvx881crm1v1ai10m2lz"; + + patches = [ + (fetchpatch { + name = "CVE-2018-7648.patch"; + url = "https://github.com/uclouvain/openjpeg/commit/cc3824767bde397fedb8a1ae4786a222ba860c8d.patch"; + sha256 = "1j5nxmlgyfkxldk2f1ij6h850xw45q3b5brxqa04dxsfsv8cdj5j"; + }) + (fetchpatch { + name = "CVE-2017-17480+CVE-2018-18088.patch"; + url = "https://github.com/uclouvain/openjpeg/commit/92023cd6c377e0384a7725949b25655d4d94dced.patch"; + sha256 = "0rrxxqcp3vjkmvywxj9ac766m3fppy0x0nszrkf8irrqy1gnp38k"; + }) + ]; +}) diff --git a/nixpkgs/pkgs/development/libraries/openjpeg/generic.nix b/nixpkgs/pkgs/development/libraries/openjpeg/generic.nix new file mode 100644 index 000000000000..96cf0451ebf4 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/openjpeg/generic.nix @@ -0,0 +1,76 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig +, libpng, libtiff, lcms2 +, mj2Support ? true # MJ2 executables +, jpwlLibSupport ? true # JPWL library & executables +, jpipLibSupport ? false # JPIP library & executables +, jpipServerSupport ? false, curl ? null, fcgi ? null # JPIP Server +#, opjViewerSupport ? false, wxGTK ? null # OPJViewer executable +, openjpegJarSupport ? false # Openjpeg jar (Java) +, jp3dSupport ? true # # JP3D comp +, thirdPartySupport ? false # Third party libraries - OFF: only build when found, ON: always build +, testsSupport ? false +, jdk ? null +# Inherit generics +, branch, version, revision, sha256, patches ? [], ... +}: + +assert jpipServerSupport -> jpipLibSupport && curl != null && fcgi != null; +#assert opjViewerSupport -> (wxGTK != null); +assert (openjpegJarSupport || jpipLibSupport) -> jdk != null; + +let + inherit (stdenv.lib) optional optionals; + mkFlag = optSet: flag: "-D${flag}=${if optSet then "ON" else "OFF"}"; +in + +stdenv.mkDerivation rec { + name = "openjpeg-${version}"; + + src = fetchFromGitHub { + owner = "uclouvain"; + repo = "openjpeg"; + rev = revision; + inherit sha256; + }; + + inherit patches; + + outputs = [ "out" "dev" ]; + + cmakeFlags = [ + "-DCMAKE_INSTALL_NAME_DIR=\${CMAKE_INSTALL_PREFIX}/lib" + "-DBUILD_SHARED_LIBS=ON" + "-DBUILD_CODEC=ON" + (mkFlag mj2Support "BUILD_MJ2") + (mkFlag jpwlLibSupport "BUILD_JPWL") + (mkFlag jpipLibSupport "BUILD_JPIP") + (mkFlag jpipServerSupport "BUILD_JPIP_SERVER") + #(mkFlag opjViewerSupport "BUILD_VIEWER") + "-DBUILD_VIEWER=OFF" + (mkFlag openjpegJarSupport "BUILD_JAVA") + (mkFlag jp3dSupport "BUILD_JP3D") + (mkFlag thirdPartySupport "BUILD_THIRDPARTY") + (mkFlag testsSupport "BUILD_TESTING") + ]; + + nativeBuildInputs = [ cmake pkgconfig ]; + + buildInputs = [ ] + ++ optionals jpipServerSupport [ curl fcgi ] + #++ optional opjViewerSupport wxGTK + ++ optional (openjpegJarSupport || jpipLibSupport) jdk; + + propagatedBuildInputs = [ libpng libtiff lcms2 ]; + + passthru = { + incDir = "openjpeg-${branch}"; + }; + + meta = with stdenv.lib; { + description = "Open-source JPEG 2000 codec written in C language"; + homepage = http://www.openjpeg.org/; + license = licenses.bsd2; + maintainers = with maintainers; [ codyopel ]; + platforms = platforms.all; + }; +} |