From 37da9fdd2241e86bba02bcdc7ce3927d1f5a8a38 Mon Sep 17 00:00:00 2001 From: Kevin Amado Date: Wed, 9 Jun 2021 11:17:53 -0500 Subject: [PATCH] ligjpeg-turbo: v7 and 8 abi compatibility - Add build-time flags as explained in the BUILDING.md to build the library with v7 and v8 abi compatibility --- .../libraries/libjpeg-turbo/default.nix | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix index 1ac842e5593c..964a007cc80b 100644 --- a/pkgs/development/libraries/libjpeg-turbo/default.nix +++ b/pkgs/development/libraries/libjpeg-turbo/default.nix @@ -1,10 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, cmake, nasm +{ lib +, stdenv +, fetchFromGitHub +, cmake +, nasm , openjdk , enableJava ? false # whether to build the java wrapper +, enableJpeg7 ? false # whether to build libjpeg with v7 compatibility +, enableJpeg8 ? false # whether to build libjpeg with v8 compatibility , enableStatic ? stdenv.hostPlatform.isStatic , enableShared ? !stdenv.hostPlatform.isStatic }: +assert !(enableJpeg7 && enableJpeg8); # pick only one or none, not both + stdenv.mkDerivation rec { pname = "libjpeg-turbo"; @@ -20,7 +28,7 @@ stdenv.mkDerivation rec { # This is needed by freeimage patches = [ ./0001-Compile-transupp.c-as-part-of-the-library.patch ] ++ lib.optional (stdenv.hostPlatform.libc or null == "msvcrt") - ./mingw-boolean.patch; + ./mingw-boolean.patch; outputs = [ "bin" "dev" "dev_private" "out" "man" "doc" ]; @@ -40,6 +48,10 @@ stdenv.mkDerivation rec { "-DENABLE_SHARED=${if enableShared then "1" else "0"}" ] ++ lib.optionals enableJava [ "-DWITH_JAVA=1" + ] ++ lib.optionals enableJpeg7 [ + "-DWITH_JPEG7=1" + ] ++ lib.optionals enableJpeg8 [ + "-DWITH_JPEG8=1" ] ++ lib.optionals stdenv.hostPlatform.isRiscV [ # https://github.com/libjpeg-turbo/libjpeg-turbo/issues/428 # https://github.com/libjpeg-turbo/libjpeg-turbo/commit/88bf1d16786c74f76f2e4f6ec2873d092f577c75 @@ -53,7 +65,7 @@ stdenv.mkDerivation rec { homepage = "https://libjpeg-turbo.org/"; description = "A faster (using SIMD) libjpeg implementation"; license = licenses.ijg; # and some parts under other BSD-style licenses - maintainers = with maintainers; [ vcunat colemickens ]; + maintainers = with maintainers; [ vcunat colemickens kamadorueda ]; platforms = platforms.all; }; }