diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libjpeg-turbo')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix | 47 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libjpeg-turbo/mingw-boolean.patch | 19 |
2 files changed, 66 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix b/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix new file mode 100644 index 000000000000..14b01cd9a843 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libjpeg-turbo/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchurl, fetchpatch, cmake, nasm }: + +stdenv.mkDerivation rec { + name = "libjpeg-turbo-${version}"; + version = "2.0.1"; + + src = fetchurl { + url = "mirror://sourceforge/libjpeg-turbo/${name}.tar.gz"; + sha256 = "1zv6z093l3x3jzygvni7b819j7xhn6d63jhcdrckj7fz67n6ry75"; + }; + + patches = + stdenv.lib.optional (stdenv.hostPlatform.libc or null == "msvcrt") + ./mingw-boolean.patch + ++ [ + (fetchpatch { + name = "cve-2018-19664.diff"; + url = "https://github.com/libjpeg-turbo/libjpeg-turbo/commit/f8cca819a4fb.diff"; + sha256 = "1kgfag62qmphlrq0mz15g17zw7zrg9nzaz7d2vg50m6m7m5aw4y5"; + }) + ]; + + outputs = [ "bin" "dev" "out" "man" "doc" ]; + + nativeBuildInputs = [ cmake nasm ]; + + preConfigure = '' + cmakeFlagsArray+=( + "-DCMAKE_INSTALL_BINDIR=$bin/bin" + "-DENABLE_STATIC=0" + ) + ''; + + doCheck = true; # not cross; + checkTarget = "test"; + preCheck = '' + export LD_LIBRARY_PATH="$NIX_BUILD_TOP/${name}:$LD_LIBRARY_PATH" + ''; + + meta = with stdenv.lib; { + homepage = http://libjpeg-turbo.virtualgl.org/; + description = "A faster (using SIMD) libjpeg implementation"; + license = licenses.ijg; # and some parts under other BSD-style licenses + maintainers = [ maintainers.vcunat ]; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/libjpeg-turbo/mingw-boolean.patch b/nixpkgs/pkgs/development/libraries/libjpeg-turbo/mingw-boolean.patch new file mode 100644 index 000000000000..9b9483d63987 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libjpeg-turbo/mingw-boolean.patch @@ -0,0 +1,19 @@ +Ported to updated libjpeg-turbo from +https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-libjpeg-turbo/jpeg-typedefs.patch +--- a/jmorecfg.h 2012-02-10 06:47:55 +0300 ++++ b/jmorecfg.h 2012-05-03 10:29:13 +0400 +@@ -224,7 +224,13 @@ + * Defining HAVE_BOOLEAN before including jpeglib.h should make it work. + */ + +-#ifndef HAVE_BOOLEAN ++#if defined(_WIN32) && !defined(HAVE_BOOLEAN) ++#ifndef __RPCNDR_H__ ++typedef unsigned char boolean; ++#endif ++#define HAVE_BOOLEAN ++#endif ++#if !defined(HAVE_BOOLEAN) && !defined(__RPCNDR_H__) + typedef int boolean; + #endif + #ifndef FALSE /* in case these macros already exist */ |