1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-12-25 03:17:13 +00:00
nixpkgs/pkgs/development/libraries/leptonica/default.nix

45 lines
1.6 KiB
Nix
Raw Normal View History

leptonica: 1.72 -> 1.74.1 The changes are a bit too big to include it here in the commit message, so if you want the details of what changed, please visit this URL: http://leptonica.org/source/version-notes.html I have also provided openjpeg, giflib and libwebp as dependencies so that Leptonica is able to read/write those file formats. Additionally I've added a patch that uses pkgconfig to resolve all dependencies (except giflib), because unlike AC_CHECK_LIB() the PKG_CHECK_MODULES() macro defines *_LIBS variables to include the linker search path. Unfortunately that patch alone is not enough, because the *_LIBS variable are substituted by the upstream configure.ac to *not* include the linker search paths, so we need to remove the AC_SUBST() calls within PKG_CHECK_MODULES(). The only dependency that's not yet using PKG_CHECK_MODULES() is giflib, because giflib doesn't have a pkg-config description file, therefore we're using substituteInPlace to insert the linker search path after the lept.pc file was generated by configure. Another thing that we no longer need is the dependency on libpng version 1.2, because Leptonica now also works with more recent libpng versions. Tested by building the package itself and also the following packages that immediately depend on leptonica: * k2pdfopt * tesseract * jbig2enc All of these packages succeeded to build on x86_64-linux. The main reason why I'm bumping Leptonica to version 1.74.1 is that we need at least version 1.74 to bump Tesseract to the latest upstream version. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2017-04-07 23:11:14 +01:00
{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig
, giflib, libjpeg, libpng, libtiff, libwebp, openjpeg, zlib
}:
leptonica: 1.72 -> 1.74.1 The changes are a bit too big to include it here in the commit message, so if you want the details of what changed, please visit this URL: http://leptonica.org/source/version-notes.html I have also provided openjpeg, giflib and libwebp as dependencies so that Leptonica is able to read/write those file formats. Additionally I've added a patch that uses pkgconfig to resolve all dependencies (except giflib), because unlike AC_CHECK_LIB() the PKG_CHECK_MODULES() macro defines *_LIBS variables to include the linker search path. Unfortunately that patch alone is not enough, because the *_LIBS variable are substituted by the upstream configure.ac to *not* include the linker search paths, so we need to remove the AC_SUBST() calls within PKG_CHECK_MODULES(). The only dependency that's not yet using PKG_CHECK_MODULES() is giflib, because giflib doesn't have a pkg-config description file, therefore we're using substituteInPlace to insert the linker search path after the lept.pc file was generated by configure. Another thing that we no longer need is the dependency on libpng version 1.2, because Leptonica now also works with more recent libpng versions. Tested by building the package itself and also the following packages that immediately depend on leptonica: * k2pdfopt * tesseract * jbig2enc All of these packages succeeded to build on x86_64-linux. The main reason why I'm bumping Leptonica to version 1.74.1 is that we need at least version 1.74 to bump Tesseract to the latest upstream version. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2017-04-07 23:11:14 +01:00
stdenv.mkDerivation rec {
name = "leptonica-${version}";
version = "1.74.1";
2013-06-25 08:17:34 +01:00
src = fetchurl {
leptonica: 1.72 -> 1.74.1 The changes are a bit too big to include it here in the commit message, so if you want the details of what changed, please visit this URL: http://leptonica.org/source/version-notes.html I have also provided openjpeg, giflib and libwebp as dependencies so that Leptonica is able to read/write those file formats. Additionally I've added a patch that uses pkgconfig to resolve all dependencies (except giflib), because unlike AC_CHECK_LIB() the PKG_CHECK_MODULES() macro defines *_LIBS variables to include the linker search path. Unfortunately that patch alone is not enough, because the *_LIBS variable are substituted by the upstream configure.ac to *not* include the linker search paths, so we need to remove the AC_SUBST() calls within PKG_CHECK_MODULES(). The only dependency that's not yet using PKG_CHECK_MODULES() is giflib, because giflib doesn't have a pkg-config description file, therefore we're using substituteInPlace to insert the linker search path after the lept.pc file was generated by configure. Another thing that we no longer need is the dependency on libpng version 1.2, because Leptonica now also works with more recent libpng versions. Tested by building the package itself and also the following packages that immediately depend on leptonica: * k2pdfopt * tesseract * jbig2enc All of these packages succeeded to build on x86_64-linux. The main reason why I'm bumping Leptonica to version 1.74.1 is that we need at least version 1.74 to bump Tesseract to the latest upstream version. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2017-04-07 23:11:14 +01:00
url = "http://www.leptonica.org/source/${name}.tar.gz";
sha256 = "0qpcidvv6igybrrhj0m6j47g642c8sk1qn4dpj82mgd38xx52skl";
};
leptonica: 1.72 -> 1.74.1 The changes are a bit too big to include it here in the commit message, so if you want the details of what changed, please visit this URL: http://leptonica.org/source/version-notes.html I have also provided openjpeg, giflib and libwebp as dependencies so that Leptonica is able to read/write those file formats. Additionally I've added a patch that uses pkgconfig to resolve all dependencies (except giflib), because unlike AC_CHECK_LIB() the PKG_CHECK_MODULES() macro defines *_LIBS variables to include the linker search path. Unfortunately that patch alone is not enough, because the *_LIBS variable are substituted by the upstream configure.ac to *not* include the linker search paths, so we need to remove the AC_SUBST() calls within PKG_CHECK_MODULES(). The only dependency that's not yet using PKG_CHECK_MODULES() is giflib, because giflib doesn't have a pkg-config description file, therefore we're using substituteInPlace to insert the linker search path after the lept.pc file was generated by configure. Another thing that we no longer need is the dependency on libpng version 1.2, because Leptonica now also works with more recent libpng versions. Tested by building the package itself and also the following packages that immediately depend on leptonica: * k2pdfopt * tesseract * jbig2enc All of these packages succeeded to build on x86_64-linux. The main reason why I'm bumping Leptonica to version 1.74.1 is that we need at least version 1.74 to bump Tesseract to the latest upstream version. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2017-04-07 23:11:14 +01:00
patches = stdenv.lib.singleton (fetchpatch {
# configure: Support pkg-config
url = "https://github.com/DanBloomberg/leptonica/commit/"
+ "4476d162cc191a0fefb2ce434153e12bbf188664.patch";
sha256 = "1razzp2g49shfaravfqpxm3ivcd1r92lvqysll6nnf6d1wp9865s";
});
postPatch = ''
# Remove the AC_SUBST() macros on *_LIBS, because the *_LIBS variables will
# be automatically set by PKG_CHECK_MODULES() since autotools 0.24 and
# using the ones that are set here in Leptonica's configure.ac do not
# include -L linker flags.
sed -i -e '/PKG_CHECK_MODULES/,/^ *\])/s/AC_SUBST([^)]*)//' configure.ac
# The giflib package doesn't ship a pkg-config file, so we need to inject
# the linker search path.
substituteInPlace configure.ac --replace -lgif \
${stdenv.lib.escapeShellArg "'-L${giflib}/lib -lgif'"}
'';
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ giflib libjpeg libpng libtiff libwebp openjpeg zlib ];
meta = {
description = "Image processing and analysis library";
homepage = http://www.leptonica.org/;
# Its own license: http://www.leptonica.org/about-the-license.html
license = stdenv.lib.licenses.free;
platforms = stdenv.lib.platforms.unix;
};
}