diff options
author | Ismael Luceno | 2021-09-07 18:46:56 +0200 |
---|---|---|
committer | Ismael Luceno | 2021-09-07 18:50:09 +0200 |
commit | 5eb21754547de4648d97d2c3f4343edcf2d5e934 (patch) | |
tree | 92aad7b3c8d392640917843498df48f79e24ae3e /graphics-libs | |
parent | b6217f4b7d50064c3511705f907406f38f2a0c35 (diff) |
jxrlib: new spell, JPEG-XR library
Diffstat (limited to 'graphics-libs')
-rwxr-xr-x | graphics-libs/jxrlib/CONFIGURE | 1 | ||||
-rwxr-xr-x | graphics-libs/jxrlib/DEPENDS | 1 | ||||
-rwxr-xr-x | graphics-libs/jxrlib/DETAILS | 31 | ||||
-rw-r--r-- | graphics-libs/jxrlib/HISTORY | 3 | ||||
-rwxr-xr-x | graphics-libs/jxrlib/PRE_BUILD | 3 | ||||
-rw-r--r-- | graphics-libs/jxrlib/patches/0001-usecmake.patch | 137 | ||||
-rw-r--r-- | graphics-libs/jxrlib/patches/0002-bug748590.patch | 16 | ||||
-rw-r--r-- | graphics-libs/jxrlib/patches/0003-typos.patch | 28 |
8 files changed, 220 insertions, 0 deletions
diff --git a/graphics-libs/jxrlib/CONFIGURE b/graphics-libs/jxrlib/CONFIGURE new file mode 100755 index 0000000000..b1e2770061 --- /dev/null +++ b/graphics-libs/jxrlib/CONFIGURE @@ -0,0 +1 @@ +. "$GRIMOIRE"/CMAKE_CONFIGURE diff --git a/graphics-libs/jxrlib/DEPENDS b/graphics-libs/jxrlib/DEPENDS new file mode 100755 index 0000000000..bd2c258971 --- /dev/null +++ b/graphics-libs/jxrlib/DEPENDS @@ -0,0 +1 @@ +. "$GRIMOIRE"/CMAKE_DEPENDS diff --git a/graphics-libs/jxrlib/DETAILS b/graphics-libs/jxrlib/DETAILS new file mode 100755 index 0000000000..097f6c51fe --- /dev/null +++ b/graphics-libs/jxrlib/DETAILS @@ -0,0 +1,31 @@ +. "$GRIMOIRE"/CMAKE_FUNCTIONS + SPELL=jxrlib + VERSION=1.1 + SOURCE="${SPELL}_$VERSION.orig.tar.gz" + SOURCE_URL[0]="http://deb.debian.org/debian/pool/main/j/$SPELL/$SOURCE" + SOURCE_HASH=sha512:5c9b040f2be90bc891b991aa6e58c8a08f11367833479734504432896aa46dce72d83b85d1e3ec9cb5891adb586fce2976aa50d63f5a9f8630424f78cea1844f +SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION" + WEB_SITE="https://jxrlib.codeplex.com/" + LICENSE[0]="BSD-2-Clause" + ENTERED=20210907 + KEYWORDS="" + SHORT="JPEG-XR library" +cat << EOF +JPEG XR is an approved ISO/IEC International standard (its official designation +is ISO/IEC 29199-2). + +JPEG XR started its life in Microsoft Research. It publicly first appeared +as the HD Photo format in Windows Vista. + +For web developers, JPEG XR has a large number of interesting features, see +the table below. Some of these are big advantages over other image formats +like JPEG, PNG, OpenEXR, and TIFF. + +- Better Compression (40% smaller than JPEG) +- Lossless Mode (better compression than PNG) +- Alpha Channel (compress color lossy and alpha losslessly) +- Extended Bitdepth (supports 8/16/32-bit channels) +- Progressive Decode +- Advanced Decoding Features (tile-based layout, for efficient + region-of-interest access) +EOF diff --git a/graphics-libs/jxrlib/HISTORY b/graphics-libs/jxrlib/HISTORY new file mode 100644 index 0000000000..66409e78ec --- /dev/null +++ b/graphics-libs/jxrlib/HISTORY @@ -0,0 +1,3 @@ +2021-09-07 Ismael Luceno <ismael@sourcemage.org> + * CONFIGURE, DEPENDS, DETAILS, PRE_BUILD, patches/0001-usecmake.patch, + patches/0002-bug748590.patch, patches/0003-typos.patch: spell created diff --git a/graphics-libs/jxrlib/PRE_BUILD b/graphics-libs/jxrlib/PRE_BUILD new file mode 100755 index 0000000000..c230ad14bf --- /dev/null +++ b/graphics-libs/jxrlib/PRE_BUILD @@ -0,0 +1,3 @@ +default_pre_build && +cd "$SOURCE_DIRECTORY" && +apply_patch_dir patches diff --git a/graphics-libs/jxrlib/patches/0001-usecmake.patch b/graphics-libs/jxrlib/patches/0001-usecmake.patch new file mode 100644 index 0000000000..d8699d0670 --- /dev/null +++ b/graphics-libs/jxrlib/patches/0001-usecmake.patch @@ -0,0 +1,137 @@ +Description: Prefer a cmake based build system +Author: Mathieu Malaterre <malat@debian.org> +Forwarded: https://jxrlib.codeplex.com/discussions/440294 + +Origin: Debian +[ismael@iodev.co.uk: Integrated fixes from typos.patch, cleaned up, + fixed libbsd dep] + +--- /dev/null ++++ b/CMakeLists.txt +@@ -0,0 +1,126 @@ ++# Copyright Mathieu Malaterre <malat@debian.org> ++# BSD (Same as jxrlib) ++cmake_minimum_required(VERSION 2.8) ++project(jxrlib C) ++ ++# Need shared libs for ABI ++set(BUILD_SHARED_LIBS ON) ++ ++# helper macro to preserve original Makefile convention ++macro(JXR_MAKE_OBJ SET_NAME) ++ foreach(src ${SRC_${SET_NAME}}) ++ list(APPEND OBJ_${SET_NAME} ${DIR_${SET_NAME}}/${src}) ++ endforeach() ++endmacro() ++ ++include(TestBigEndian) ++test_big_endian(ISBIGENDIAN) ++if(ISBIGENDIAN) ++ set(DEF_ENDIAN _BIG__ENDIAN_) ++endif() ++ ++set(DIR_SYS image/sys) ++set(DIR_DEC image/decode) ++set(DIR_ENC image/encode) ++ ++set(DIR_GLUE jxrgluelib) ++set(DIR_TEST jxrtestlib) ++set(DIR_EXEC jxrencoderdecoder) ++ ++if(NOT JXRLIB_INSTALL_BIN_DIR) ++ set(JXRLIB_INSTALL_BIN_DIR "bin") ++endif() ++ ++if(NOT JXRLIB_INSTALL_LIB_DIR) ++ set(JXRLIB_INSTALL_LIB_DIR "lib") ++endif() ++ ++if(NOT JXRLIB_INSTALL_INCLUDE_DIR) ++ set(JXRLIB_INSTALL_INCLUDE_DIR "include/jxrlib") ++endif() ++ ++include_directories( ++ common/include ++ ${DIR_SYS} ++ ${DIR_GLUE} ++ ${DIR_TEST} ++) ++ ++# where is strlcpy ? ++include(CheckSymbolExists) ++check_symbol_exists(strlcpy "string.h" HAVE_STRLCPY) ++if(NOT HAVE_STRLCPY) ++ pkg_check_modules(LIBBSD REQUIRED libbsd-overlay) ++ target_link_libraries(jxrglue ${LIBBSD_LIBRARIES}) ++ target_include_directories(jxrglue SYSTEM BEFORE PRIVATE ${LIBBSD_INCLUDE_DIRS}) ++endif() ++ ++# JPEG-XR ++set(SRC_SYS adapthuff.c image.c strcodec.c strPredQuant.c strTransform.c perfTimerANSI.c) ++JXR_MAKE_OBJ(SYS) ++set(SRC_DEC decode.c postprocess.c segdec.c strdec.c strInvTransform.c strPredQuantDec.c JXRTranscode.c) ++JXR_MAKE_OBJ(DEC) ++set(SRC_ENC encode.c segenc.c strenc.c strFwdTransform.c strPredQuantEnc.c) ++JXR_MAKE_OBJ(ENC) ++ ++add_library(jpegxr ${OBJ_ENC} ${OBJ_DEC} ${OBJ_SYS}) ++set_property(TARGET jpegxr ++ PROPERTY COMPILE_DEFINITIONS __ANSI__ DISABLE_PERF_MEASUREMENT ${DEF_ENDIAN} ++) ++set_property(TARGET jpegxr PROPERTY LINK_INTERFACE_LIBRARIES "") ++set_property(TARGET jpegxr PROPERTY COMPILE_FLAGS -w) ++# VERSION/SOVERSION ++set_property(TARGET jpegxr PROPERTY VERSION 1.1) ++set_property(TARGET jpegxr PROPERTY SOVERSION 0) ++install(TARGETS jpegxr ++ EXPORT JXRLibTargets ++ RUNTIME DESTINATION ${JXRLIB_INSTALL_BIN_DIR} COMPONENT Applications ++ LIBRARY DESTINATION ${JXRLIB_INSTALL_LIB_DIR} COMPONENT Libraries ++) ++ ++# JXR-GLUE ++set(SRC_GLUE JXRGlue.c JXRMeta.c JXRGluePFC.c JXRGlueJxr.c) ++JXR_MAKE_OBJ(GLUE) ++set(SRC_TEST JXRTest.c JXRTestBmp.c JXRTestHdr.c JXRTestPnm.c JXRTestTif.c JXRTestYUV.c) ++JXR_MAKE_OBJ(TEST) ++ ++add_library(jxrglue ${OBJ_GLUE} ${OBJ_TEST}) ++set_property(TARGET jxrglue ++ PROPERTY COMPILE_DEFINITIONS __ANSI__ DISABLE_PERF_MEASUREMENT ${DEF_ENDIAN} ++) ++set_property(TARGET jxrglue PROPERTY COMPILE_FLAGS -w) ++# VERSION/SOVERSION ++set_property(TARGET jxrglue PROPERTY VERSION 1.1) ++set_property(TARGET jxrglue PROPERTY SOVERSION 0) ++install(TARGETS jxrglue ++ EXPORT JXRLibTargets ++ RUNTIME DESTINATION ${JXRLIB_INSTALL_BIN_DIR} COMPONENT Applications ++ LIBRARY DESTINATION ${JXRLIB_INSTALL_LIB_DIR} COMPONENT Libraries ++) ++target_link_libraries(jxrglue PRIVATE jpegxr m) ++# Enc app files ++set(ENCAPP JxrEncApp) ++add_executable(${ENCAPP} ${DIR_EXEC}/${ENCAPP}.c) ++set_property(TARGET ${ENCAPP} ++ PROPERTY COMPILE_DEFINITIONS __ANSI__ DISABLE_PERF_MEASUREMENT ${DEF_ENDIAN} ++) ++target_link_libraries(${ENCAPP} jxrglue) # jpegxr) ++install(TARGETS ${ENCAPP} RUNTIME DESTINATION ${JXRLIB_INSTALL_BIN_DIR}) ++# Dec app files ++set(DECAPP JxrDecApp) ++add_executable(${DECAPP} ${DIR_EXEC}/${DECAPP}.c) ++set_property(TARGET ${DECAPP} ++ PROPERTY COMPILE_DEFINITIONS __ANSI__ DISABLE_PERF_MEASUREMENT ${DEF_ENDIAN} ++) ++set_property(TARGET ${DECAPP} PROPERTY COMPILE_FLAGS -w) ++target_link_libraries(${DECAPP} jxrglue) # jpegxr) ++install(TARGETS ${DECAPP} RUNTIME DESTINATION ${JXRLIB_INSTALL_BIN_DIR}) ++ ++# install rules ++install(FILES jxrgluelib/JXRGlue.h jxrgluelib/JXRMeta.h jxrtestlib/JXRTest.h ++ image/sys/windowsmediaphoto.h ++ DESTINATION ${JXRLIB_INSTALL_INCLUDE_DIR} COMPONENT Headers ++) ++install(DIRECTORY common/include/ DESTINATION ${JXRLIB_INSTALL_INCLUDE_DIR} ++ FILES_MATCHING PATTERN "*.h" ++) diff --git a/graphics-libs/jxrlib/patches/0002-bug748590.patch b/graphics-libs/jxrlib/patches/0002-bug748590.patch new file mode 100644 index 0000000000..9efc339b45 --- /dev/null +++ b/graphics-libs/jxrlib/patches/0002-bug748590.patch @@ -0,0 +1,16 @@ +Description: Fix function signature +Author: Mathieu Malaterre <malat@debian.org> +Origin: upstream, https://jxrlib.codeplex.com/SourceControl/changeset/04cf339385b8196f98025b43a366a0790deac994 +Bug-Debian: http://bugs.debian.org/748590 + +--- jxrlib-1.1.orig/image/decode/JXRTranscode.c ++++ jxrlib-1.1/image/decode/JXRTranscode.c +@@ -47,7 +47,7 @@ EXTERN_C Void FreeCodingContextDec(CWMIm + EXTERN_C Int StrEncInit(CWMImageStrCodec *);
+ EXTERN_C Void StrIOEncTerm(CWMImageStrCodec *);
+ EXTERN_C Void FreeCodingContextEnc(CWMImageStrCodec *);
+-EXTERN_C Void encodeMB(CWMImageStrCodec *, Int, Int);
++EXTERN_C Int encodeMB(CWMImageStrCodec *, Int, Int);
+ EXTERN_C Int writeIndexTableNull(CWMImageStrCodec *);
+ EXTERN_C Void writePacketHeader(BitIOInfo *, U8, U8);
+
diff --git a/graphics-libs/jxrlib/patches/0003-typos.patch b/graphics-libs/jxrlib/patches/0003-typos.patch new file mode 100644 index 0000000000..63a09ea72d --- /dev/null +++ b/graphics-libs/jxrlib/patches/0003-typos.patch @@ -0,0 +1,28 @@ +Description: Fix typos and remove some warnings +Author: Mathieu Malaterre <malat@debian.org> + +Origin: Debian +[ismael@iodev.co.uk: Removed buildsystem fixes] + +--- a/jxrencoderdecoder/JxrEncApp.c ++++ b/jxrencoderdecoder/JxrEncApp.c +@@ -578,7 +578,7 @@ main(int argc, char* argv[]) +
+ //================================
+ Call(PKCreateCodecFactory(&pCodecFactory, WMP_SDK_VERSION));
+- Call(pCodecFactory->CreateCodec(&IID_PKImageWmpEncode, &pEncoder));
++ Call(pCodecFactory->CreateCodec(&IID_PKImageWmpEncode, (void**)&pEncoder));
+
+ //----------------------------------------------------------------
+ Call(PKCreateTestFactory(&pTestFactory, WMP_SDK_VERSION));
+--- a/jxrgluelib/JXRMeta.h ++++ b/jxrgluelib/JXRMeta.h +@@ -34,7 +34,7 @@ +
+ #ifndef UNREFERENCED_PARAMETER
+ #define UNREFERENCED_PARAMETER(P) { (P) = (P); }
+-#endif UNREFERENCED_PARAMETER
++#endif /*UNREFERENCED_PARAMETER*/
+
+ //================================================================
+ // Container
|