lol

Merge pull request #6490 from codyopel/openjpegbr

openjpeg: refactor to generic, add 1.x & 2.0.0 -> 2.1.0

+104 -41
+7
pkgs/development/libraries/openjpeg/1.x.nix
··· 1 + { callPackage, ... } @ args: 2 + 3 + callPackage ./generic.nix (args // rec { 4 + version = "${branch}.2"; 5 + branch = "1.5"; 6 + sha256 = "11waq9w215zvzxrpv40afyd18qf79mxc28fda80bm3ax98cpppqm"; 7 + })
+7
pkgs/development/libraries/openjpeg/2.x.nix
··· 1 + { callPackage, ... } @ args: 2 + 3 + callPackage ./generic.nix (args // rec { 4 + version = "${branch}.0"; 5 + branch = "2.1"; 6 + sha256 = "00zzm303zvv4ijzancrsb1cqbph3pgz0nky92k9qx3fq9y0vnchj"; 7 + })
-40
pkgs/development/libraries/openjpeg/default.nix
··· 1 - { stdenv, fetchurl, pkgconfig, libpng, libtiff, lcms, cmake, glib/*passthru only*/ }: 2 - 3 - stdenv.mkDerivation rec { 4 - name = "openjpeg-2.0.0"; 5 - passthru = { 6 - incDir = "openjpeg-2.0"; 7 - }; 8 - 9 - src = fetchurl { 10 - url = "http://openjpeg.googlecode.com/files/${name}.tar.gz"; 11 - sha1 = "0af78ab2283b43421458f80373422d8029a9f7a7"; 12 - }; 13 - 14 - buildInputs = [ cmake ]; 15 - nativebuildInputs = [ pkgconfig ]; 16 - propagatedBuildInputs = [ libpng libtiff lcms ]; # in closure anyway 17 - 18 - postInstall = glib.flattenInclude + '' 19 - mkdir -p "$out/lib/pkgconfig" 20 - cat >"$out/lib/pkgconfig/libopenjp2.pc" <<EOF 21 - prefix=$out 22 - libdir=$out/lib 23 - includedir=$out/include 24 - 25 - Name: openjp2 26 - Description: JPEG2000 library (Part 1 and 2) 27 - URL: http://www.openjpeg.org/ 28 - Version: @OPENJPEG_VERSION@ 29 - Libs: -L$out/lib -lopenjp2 30 - Cflags: -I$out/include 31 - EOF 32 - ''; 33 - 34 - meta = { 35 - homepage = http://www.openjpeg.org/; 36 - description = "Open-source JPEG 2000 codec written in C language"; 37 - license = stdenv.lib.licenses.bsd2; 38 - platforms = stdenv.lib.platforms.all; 39 - }; 40 - }
+87
pkgs/development/libraries/openjpeg/generic.nix
··· 1 + { stdenv, fetchurl, cmake, pkgconfig, libpng, libtiff, lcms2, glib/*passthru only*/ 2 + , sharedLibsSupport ? true # Build shared libraries 3 + , codecSupport ? true # Codec executables 4 + , mj2Support ? true # MJ2 executables 5 + , jpwlLibSupport ? true # JPWL library & executables 6 + , jpipLibSupport ? true # JPIP library & executables 7 + , jpipServerSupport ? false, curl ? null, fcgi ? null # JPIP Server 8 + #, opjViewerSupport ? false, wxGTK ? null # OPJViewer executable 9 + , openjpegJarSupport ? false, jdk ? null # Openjpeg jar (Java) 10 + , jp3dSupport ? true # # JP3D comp 11 + , thirdPartySupport ? false # Third party libraries - OFF: only build when found, ON: always build 12 + , testsSupport ? false 13 + # Inherit generics 14 + , branch, sha256, version, ... 15 + }: 16 + 17 + assert jpipServerSupport -> (jpipLibSupport && (curl != null) && (fcgi != null)); 18 + #assert opjViewerSupport -> (wxGTK != null); 19 + assert openjpegJarSupport -> (jdk != null); 20 + assert testsSupport -> codecSupport; 21 + 22 + let 23 + mkFlag = optSet: flag: if optSet then "-D${flag}=ON" else "-D${flag}=OFF"; 24 + in 25 + 26 + with stdenv.lib; 27 + stdenv.mkDerivation rec { 28 + name = "openjpeg-${version}"; 29 + inherit branch; 30 + inherit version; 31 + 32 + src = fetchurl { 33 + url = "mirror://gentoo/distfiles/${name}.tar.gz"; 34 + inherit sha256; 35 + }; 36 + 37 + cmakeFlags = [ 38 + (mkFlag sharedLibsSupport "BUILD_SHARED_LIBS") 39 + (mkFlag codecSupport "BUILD_CODEC") 40 + (mkFlag mj2Support "BUILD_MJ2") 41 + (mkFlag jpwlLibSupport "BUILD_JPWL") 42 + (mkFlag jpipLibSupport "BUILD_JPIP") 43 + (mkFlag jpipServerSupport "BUILD_JPIP_SERVER") 44 + #(mkFlag opjViewerSupport "BUILD_VIEWER") 45 + (mkFlag openjpegJarSupport "BUILD_JAVA") 46 + (mkFlag jp3dSupport "BUILD_JP3D") 47 + (mkFlag thirdPartySupport "BUILD_THIRDPARTY") 48 + (mkFlag testsSupport "BUILD_TESTING") 49 + ]; 50 + 51 + nativebuildInputs = [ pkgconfig ]; 52 + 53 + buildInputs = [ cmake ] 54 + ++ optionals jpipServerSupport [ curl fcgi ] 55 + #++ optional opjViewerSupport wxGTK 56 + ++ optional openjpegJarSupport jdk; 57 + 58 + propagatedBuildInputs = [ libpng libtiff lcms2 ]; 59 + 60 + postInstall = glib.flattenInclude + '' 61 + mkdir -p "$out/lib/pkgconfig" 62 + cat > "$out/lib/pkgconfig/libopenjp2.pc" <<EOF 63 + prefix=$out 64 + libdir=$out/lib 65 + includedir=$out/include 66 + 67 + Name: openjp2 68 + Description: JPEG2000 library (Part 1 and 2) 69 + URL: http://www.openjpeg.org/ 70 + Version: @OPENJPEG_VERSION@ 71 + Libs: -L$out/lib -lopenjp2 72 + Cflags: -I$out/include 73 + EOF 74 + ''; 75 + 76 + passthru = { 77 + incDir = "openjpeg-${branch}"; 78 + }; 79 + 80 + meta = { 81 + description = "Open-source JPEG 2000 codec written in C language"; 82 + homepage = http://www.openjpeg.org/; 83 + license = licenses.bsd2; 84 + maintainer = with maintainers; [ codyopel ]; 85 + platforms = platforms.all; 86 + }; 87 + }
+3 -1
pkgs/top-level/all-packages.nix
··· 6941 6941 6942 6942 opal = callPackage ../development/libraries/opal {}; 6943 6943 6944 - openjpeg = callPackage ../development/libraries/openjpeg { lcms = lcms2; }; 6944 + openjpeg_1 = callPackage ../development/libraries/openjpeg/1.x.nix { }; 6945 + openjpeg_2 = callPackage ../development/libraries/openjpeg/2.x.nix { }; 6946 + openjpeg = openjpeg_2; 6945 6947 6946 6948 openscenegraph = callPackage ../development/libraries/openscenegraph { 6947 6949 giflib = giflib_4_1;