diff options
author | codyopel <codyopel@gmail.com> | 2015-02-20 22:20:19 -0500 |
---|---|---|
committer | codyopel <codyopel@gmail.com> | 2015-02-20 22:20:19 -0500 |
commit | f10a8f8501b789dbc7c4e13badf0301c498a3deb (patch) | |
tree | 50d9afb12711847f4656a88356ff50cc88fe9994 /pkgs/development/libraries/openjpeg | |
parent | 1aed33f68b055180d0d52ff04699b0ca0ab05257 (diff) | |
download | nixpkgs-f10a8f8501b789dbc7c4e13badf0301c498a3deb.tar nixpkgs-f10a8f8501b789dbc7c4e13badf0301c498a3deb.tar.gz nixpkgs-f10a8f8501b789dbc7c4e13badf0301c498a3deb.tar.bz2 nixpkgs-f10a8f8501b789dbc7c4e13badf0301c498a3deb.tar.lz nixpkgs-f10a8f8501b789dbc7c4e13badf0301c498a3deb.tar.xz nixpkgs-f10a8f8501b789dbc7c4e13badf0301c498a3deb.tar.zst nixpkgs-f10a8f8501b789dbc7c4e13badf0301c498a3deb.zip |
openjpeg: refactor to generic, add 1.x & 2.0.0 -> 2.1.0
Diffstat (limited to 'pkgs/development/libraries/openjpeg')
-rw-r--r-- | pkgs/development/libraries/openjpeg/1.x.nix | 7 | ||||
-rw-r--r-- | pkgs/development/libraries/openjpeg/2.x.nix | 7 | ||||
-rw-r--r-- | pkgs/development/libraries/openjpeg/default.nix | 40 | ||||
-rw-r--r-- | pkgs/development/libraries/openjpeg/generic.nix | 87 |
4 files changed, 101 insertions, 40 deletions
diff --git a/pkgs/development/libraries/openjpeg/1.x.nix b/pkgs/development/libraries/openjpeg/1.x.nix new file mode 100644 index 00000000000..2147bab0a6a --- /dev/null +++ b/pkgs/development/libraries/openjpeg/1.x.nix @@ -0,0 +1,7 @@ +{ callPackage, ... } @ args: + +callPackage ./generic.nix (args // rec { + version = "${branch}.2"; + branch = "1.5"; + sha256 = "11waq9w215zvzxrpv40afyd18qf79mxc28fda80bm3ax98cpppqm"; +}) diff --git a/pkgs/development/libraries/openjpeg/2.x.nix b/pkgs/development/libraries/openjpeg/2.x.nix new file mode 100644 index 00000000000..f6b3ce3a9cd --- /dev/null +++ b/pkgs/development/libraries/openjpeg/2.x.nix @@ -0,0 +1,7 @@ +{ callPackage, ... } @ args: + +callPackage ./generic.nix (args // rec { + version = "${branch}.0"; + branch = "2.1"; + sha256 = "00zzm303zvv4ijzancrsb1cqbph3pgz0nky92k9qx3fq9y0vnchj"; +}) diff --git a/pkgs/development/libraries/openjpeg/default.nix b/pkgs/development/libraries/openjpeg/default.nix deleted file mode 100644 index 7f23929efb0..00000000000 --- a/pkgs/development/libraries/openjpeg/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, libpng, libtiff, lcms, cmake, glib/*passthru only*/ }: - -stdenv.mkDerivation rec { - name = "openjpeg-2.0.0"; - passthru = { - incDir = "openjpeg-2.0"; - }; - - src = fetchurl { - url = "http://openjpeg.googlecode.com/files/${name}.tar.gz"; - sha1 = "0af78ab2283b43421458f80373422d8029a9f7a7"; - }; - - buildInputs = [ cmake ]; - nativebuildInputs = [ pkgconfig ]; - propagatedBuildInputs = [ libpng libtiff lcms ]; # in closure anyway - - postInstall = glib.flattenInclude + '' - mkdir -p "$out/lib/pkgconfig" - cat >"$out/lib/pkgconfig/libopenjp2.pc" <<EOF - prefix=$out - libdir=$out/lib - includedir=$out/include - - Name: openjp2 - Description: JPEG2000 library (Part 1 and 2) - URL: http://www.openjpeg.org/ - Version: @OPENJPEG_VERSION@ - Libs: -L$out/lib -lopenjp2 - Cflags: -I$out/include - EOF - ''; - - meta = { - homepage = http://www.openjpeg.org/; - description = "Open-source JPEG 2000 codec written in C language"; - license = stdenv.lib.licenses.bsd2; - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/development/libraries/openjpeg/generic.nix b/pkgs/development/libraries/openjpeg/generic.nix new file mode 100644 index 00000000000..4418ecd1fd0 --- /dev/null +++ b/pkgs/development/libraries/openjpeg/generic.nix @@ -0,0 +1,87 @@ +{ stdenv, fetchurl, cmake, pkgconfig, libpng, libtiff, lcms2, glib/*passthru only*/ +, sharedLibsSupport ? true # Build shared libraries +, codecSupport ? true # Codec executables +, mj2Support ? true # MJ2 executables +, jpwlLibSupport ? true # JPWL library & executables +, jpipLibSupport ? true # JPIP library & executables +, jpipServerSupport ? false, curl ? null, fcgi ? null # JPIP Server +#, opjViewerSupport ? false, wxGTK ? null # OPJViewer executable +, openjpegJarSupport ? false, jdk ? null # Openjpeg jar (Java) +, jp3dSupport ? true # # JP3D comp +, thirdPartySupport ? false # Third party libraries - OFF: only build when found, ON: always build +, testsSupport ? false +# Inherit generics +, branch, sha256, version, ... +}: + +assert jpipServerSupport -> (jpipLibSupport && (curl != null) && (fcgi != null)); +#assert opjViewerSupport -> (wxGTK != null); +assert openjpegJarSupport -> (jdk != null); +assert testsSupport -> codecSupport; + +let + mkFlag = optSet: flag: if optSet then "-D${flag}=ON" else "-D${flag}=OFF"; +in + +with stdenv.lib; +stdenv.mkDerivation rec { + name = "openjpeg-${version}"; + inherit branch; + inherit version; + + src = fetchurl { + url = "mirror://gentoo/distfiles/${name}.tar.gz"; + inherit sha256; + }; + + cmakeFlags = [ + (mkFlag sharedLibsSupport "BUILD_SHARED_LIBS") + (mkFlag codecSupport "BUILD_CODEC") + (mkFlag mj2Support "BUILD_MJ2") + (mkFlag jpwlLibSupport "BUILD_JPWL") + (mkFlag jpipLibSupport "BUILD_JPIP") + (mkFlag jpipServerSupport "BUILD_JPIP_SERVER") + #(mkFlag opjViewerSupport "BUILD_VIEWER") + (mkFlag openjpegJarSupport "BUILD_JAVA") + (mkFlag jp3dSupport "BUILD_JP3D") + (mkFlag thirdPartySupport "BUILD_THIRDPARTY") + (mkFlag testsSupport "BUILD_TESTING") + ]; + + nativebuildInputs = [ pkgconfig ]; + + buildInputs = [ cmake ] + ++ optionals jpipServerSupport [ curl fcgi ] + #++ optional opjViewerSupport wxGTK + ++ optional openjpegJarSupport jdk; + + propagatedBuildInputs = [ libpng libtiff lcms2 ]; + + postInstall = glib.flattenInclude + '' + mkdir -p "$out/lib/pkgconfig" + cat > "$out/lib/pkgconfig/libopenjp2.pc" <<EOF + prefix=$out + libdir=$out/lib + includedir=$out/include + + Name: openjp2 + Description: JPEG2000 library (Part 1 and 2) + URL: http://www.openjpeg.org/ + Version: @OPENJPEG_VERSION@ + Libs: -L$out/lib -lopenjp2 + Cflags: -I$out/include + EOF + ''; + + passthru = { + incDir = "openjpeg-${branch}"; + }; + + meta = { + description = "Open-source JPEG 2000 codec written in C language"; + homepage = http://www.openjpeg.org/; + license = licenses.bsd2; + maintainer = with maintainers; [ codyopel ]; + platforms = platforms.all; + }; +} |