Mon Nov 25 21:07:19 2019 UTC ()
Fix libjxr on big endian systems and fix warnings
Add patches from FreeBSD ports that fix build warnings.
For the patches to apply correctly, add conversion to unix style linebreaks.
Define _BIG__ENDIAN_ on big endian systems to make the package behave
correctly when running on them. As pointed out in jxrlibs makefile.
Bump pkgrevision and abi depends due to the big endian change.
(nros)
diff -r1.2 -r1.3 pkgsrc/graphics/jxrlib/Makefile
diff -r1.1 -r1.2 pkgsrc/graphics/jxrlib/buildlink3.mk
diff -r1.1 -r1.2 pkgsrc/graphics/jxrlib/distinfo
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-Makefile
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-image_sys_strcodec.c
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-image_sys_strcodec.h
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrencoderdecoder_JxrDecApp.c
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrencoderdecoder_JxrEncApp.c
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrgluelib_JXRGlueJxr.c
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrgluelib_JXRMeta.h
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrtestlib_JXRTest.c
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrtestlib_JXRTestHdr.c
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrtestlib_JXRTestPnm.c
diff -r0 -r1.1 pkgsrc/graphics/jxrlib/patches/patch-jxrtestlib_JXRTestTif.c
--- pkgsrc/graphics/jxrlib/Makefile 2017/09/03 09:22:57 1.2
+++ pkgsrc/graphics/jxrlib/Makefile 2019/11/25 21:07:18 1.3
| @@ -1,34 +1,47 @@ | | | @@ -1,34 +1,47 @@ |
1 | # $NetBSD: Makefile,v 1.2 2017/09/03 09:22:57 wiz Exp $ | | 1 | # $NetBSD: Makefile,v 1.3 2019/11/25 21:07:18 nros Exp $ |
2 | | | 2 | |
3 | DISTNAME= jxrlib_1_1 | | 3 | DISTNAME= jxrlib_1_1 |
4 | PKGNAME= jxrlib-1.1 | | 4 | PKGNAME= jxrlib-1.1 |
| | | 5 | PKGREVISION= 1 |
5 | CATEGORIES= graphics | | 6 | CATEGORIES= graphics |
6 | MASTER_SITES= # javascript link | | 7 | MASTER_SITES= # javascript link |
7 | | | 8 | |
8 | MAINTAINER= pkgsrc-users@NetBSD.org | | 9 | MAINTAINER= pkgsrc-users@NetBSD.org |
9 | HOMEPAGE= https://github.com/curasystems/jxrlib | | 10 | HOMEPAGE= https://github.com/curasystems/jxrlib |
10 | COMMENT= JPEG XR library | | 11 | COMMENT= JPEG XR library |
11 | LICENSE= 2-clause-bsd | | 12 | LICENSE= 2-clause-bsd |
12 | | | 13 | |
| | | 14 | TOOL_DEPENDS+= dos2unix-[0-9]*:../../converters/dos2unix |
| | | 15 | |
13 | WRKSRC= ${WRKDIR}/jxrlib | | 16 | WRKSRC= ${WRKDIR}/jxrlib |
14 | | | 17 | |
| | | 18 | .include "../../mk/endian.mk" |
| | | 19 | .if ${MACHINE_ENDIAN} == "big" |
| | | 20 | CFLAGS+=-D_BIG__ENDIAN_ |
| | | 21 | .endif |
| | | 22 | |
15 | INSTALLATION_DIRS= bin lib | | 23 | INSTALLATION_DIRS= bin lib |
16 | INSTALLATION_DIRS+= include/jxrlib/common/include | | 24 | INSTALLATION_DIRS+= include/jxrlib/common/include |
17 | INSTALLATION_DIRS+= include/jxrlib/image/sys | | 25 | INSTALLATION_DIRS+= include/jxrlib/image/sys |
18 | INSTALLATION_DIRS+= include/jxrlib/image/encode | | 26 | INSTALLATION_DIRS+= include/jxrlib/image/encode |
19 | INSTALLATION_DIRS+= include/jxrlib/image/decode | | 27 | INSTALLATION_DIRS+= include/jxrlib/image/decode |
20 | INSTALLATION_DIRS+= include/jxrlib/image/x86 | | 28 | INSTALLATION_DIRS+= include/jxrlib/image/x86 |
21 | INSTALLATION_DIRS+= include/jxrgluelib | | 29 | INSTALLATION_DIRS+= include/jxrgluelib |
22 | INSTALLATION_DIRS+= share/doc/jxrlib | | 30 | INSTALLATION_DIRS+= share/doc/jxrlib |
23 | | | 31 | |
| | | 32 | pre-patch: |
| | | 33 | dos2unix ${WRKSRC}/Makefile |
| | | 34 | find ${WRKSRC} -name '*.c' -print0 | xargs -0 dos2unix |
| | | 35 | find ${WRKSRC} -name '*.h' -print0 | xargs -0 dos2unix |
| | | 36 | |
24 | do-install: | | 37 | do-install: |
25 | ${INSTALL_PROGRAM} ${WRKSRC}/JxrEncApp ${DESTDIR}${PREFIX}/bin | | 38 | ${INSTALL_PROGRAM} ${WRKSRC}/JxrEncApp ${DESTDIR}${PREFIX}/bin |
26 | ${INSTALL_PROGRAM} ${WRKSRC}/JxrDecApp ${DESTDIR}${PREFIX}/bin | | 39 | ${INSTALL_PROGRAM} ${WRKSRC}/JxrDecApp ${DESTDIR}${PREFIX}/bin |
27 | ${INSTALL_LIB} ${WRKSRC}/*.a ${DESTDIR}${PREFIX}/lib | | 40 | ${INSTALL_LIB} ${WRKSRC}/*.a ${DESTDIR}${PREFIX}/lib |
28 | for dir in common/include image/sys image/encode image/decode image/x86; do \ | | 41 | for dir in common/include image/sys image/encode image/decode image/x86; do \ |
29 | ${INSTALL_DATA} ${WRKSRC}/$$dir/*.h ${DESTDIR}${PREFIX}/include/jxrlib/$$dir; \ | | 42 | ${INSTALL_DATA} ${WRKSRC}/$$dir/*.h ${DESTDIR}${PREFIX}/include/jxrlib/$$dir; \ |
30 | done | | 43 | done |
31 | ${INSTALL_DATA} ${WRKSRC}/jxrgluelib/*.h ${DESTDIR}${PREFIX}/include/jxrgluelib | | 44 | ${INSTALL_DATA} ${WRKSRC}/jxrgluelib/*.h ${DESTDIR}${PREFIX}/include/jxrgluelib |
32 | ${INSTALL_DATA} ${WRKSRC}/doc/* ${DESTDIR}${PREFIX}/share/doc/jxrlib | | 45 | ${INSTALL_DATA} ${WRKSRC}/doc/* ${DESTDIR}${PREFIX}/share/doc/jxrlib |
33 | | | 46 | |
34 | .include "../../mk/bsd.pkg.mk" | | 47 | .include "../../mk/bsd.pkg.mk" |
--- pkgsrc/graphics/jxrlib/buildlink3.mk 2017/04/04 13:07:07 1.1
+++ pkgsrc/graphics/jxrlib/buildlink3.mk 2019/11/25 21:07:18 1.2
| @@ -1,13 +1,14 @@ | | | @@ -1,13 +1,14 @@ |
1 | # $NetBSD: buildlink3.mk,v 1.1 2017/04/04 13:07:07 wiz Exp $ | | 1 | # $NetBSD: buildlink3.mk,v 1.2 2019/11/25 21:07:18 nros Exp $ |
2 | | | 2 | |
3 | BUILDLINK_TREE+= jxrlib | | 3 | BUILDLINK_TREE+= jxrlib |
4 | | | 4 | |
5 | .if !defined(JXRLIB_BUILDLINK3_MK) | | 5 | .if !defined(JXRLIB_BUILDLINK3_MK) |
6 | JXRLIB_BUILDLINK3_MK:= | | 6 | JXRLIB_BUILDLINK3_MK:= |
7 | | | 7 | |
8 | BUILDLINK_API_DEPENDS.jxrlib+= jxrlib>=1.1 | | 8 | BUILDLINK_API_DEPENDS.jxrlib+= jxrlib>=1.1 |
| | | 9 | BUILDLINK_ABI_DEPENDS.jxrlib+= jxrlib>=1.1nb1 |
9 | BUILDLINK_PKGSRCDIR.jxrlib?= ../../graphics/jxrlib | | 10 | BUILDLINK_PKGSRCDIR.jxrlib?= ../../graphics/jxrlib |
10 | BUILDLINK_DEPMETHOD.jxrlib?= build | | 11 | BUILDLINK_DEPMETHOD.jxrlib?= build |
11 | .endif # JXRLIB_BUILDLINK3_MK | | 12 | .endif # JXRLIB_BUILDLINK3_MK |
12 | | | 13 | |
13 | BUILDLINK_TREE+= -jxrlib | | 14 | BUILDLINK_TREE+= -jxrlib |
--- pkgsrc/graphics/jxrlib/distinfo 2017/04/04 13:07:07 1.1
+++ pkgsrc/graphics/jxrlib/distinfo 2019/11/25 21:07:18 1.2
| @@ -1,6 +1,17 @@ | | | @@ -1,6 +1,17 @@ |
1 | $NetBSD: distinfo,v 1.1 2017/04/04 13:07:07 wiz Exp $ | | 1 | $NetBSD: distinfo,v 1.2 2019/11/25 21:07:18 nros Exp $ |
2 | | | 2 | |
3 | SHA1 (jxrlib_1_1.tar.gz) = bf6cfa00087a67491a6ba55d6d96d74e94560430 | | 3 | SHA1 (jxrlib_1_1.tar.gz) = bf6cfa00087a67491a6ba55d6d96d74e94560430 |
4 | RMD160 (jxrlib_1_1.tar.gz) = 31b378cd0de3ce2c1d19fae3927c67046471d07b | | 4 | RMD160 (jxrlib_1_1.tar.gz) = 31b378cd0de3ce2c1d19fae3927c67046471d07b |
5 | SHA512 (jxrlib_1_1.tar.gz) = c7d87647601e08b2dc18bda26faea80ad5b09c6e8412769cd203ce9e221b2b58425e9d59a506ae8bf61030195bccb51a9d1e893bf2d18e596b0687918b39e2df | | 5 | SHA512 (jxrlib_1_1.tar.gz) = c7d87647601e08b2dc18bda26faea80ad5b09c6e8412769cd203ce9e221b2b58425e9d59a506ae8bf61030195bccb51a9d1e893bf2d18e596b0687918b39e2df |
6 | Size (jxrlib_1_1.tar.gz) = 338240 bytes | | 6 | Size (jxrlib_1_1.tar.gz) = 338240 bytes |
| | | 7 | SHA1 (patch-Makefile) = 581bdfdfee20fd1f6d0a2a3d1cf8ce877eb0629b |
| | | 8 | SHA1 (patch-image_sys_strcodec.c) = 3cf7e93704c5849dcbb3ff435743f87fe8ebf042 |
| | | 9 | SHA1 (patch-image_sys_strcodec.h) = ef060597735fbc9529bd25cb3431eafaf3284ddc |
| | | 10 | SHA1 (patch-jxrencoderdecoder_JxrDecApp.c) = ae71490d95c3f15cd65115872d2463468cda3a97 |
| | | 11 | SHA1 (patch-jxrencoderdecoder_JxrEncApp.c) = ff66c068348260291d51d21f8caf6059a63fac65 |
| | | 12 | SHA1 (patch-jxrgluelib_JXRGlueJxr.c) = adce3e44d470c62817ef83a3b0723818d8ecb810 |
| | | 13 | SHA1 (patch-jxrgluelib_JXRMeta.h) = b14f26ab80b1050879eac404283a11a795326444 |
| | | 14 | SHA1 (patch-jxrtestlib_JXRTest.c) = 2dcb7f4f953c129db1e7db4741439f1c5eb19e27 |
| | | 15 | SHA1 (patch-jxrtestlib_JXRTestHdr.c) = 8f5562dfe3d0dd1ddfb6b591facd51c45cd3d068 |
| | | 16 | SHA1 (patch-jxrtestlib_JXRTestPnm.c) = ea94a288d76d9e9c316716f07226640570136460 |
| | | 17 | SHA1 (patch-jxrtestlib_JXRTestTif.c) = f4c36e487a808e80ff75cd99fd693c555902d758 |
$NetBSD: patch-Makefile,v 1.1 2019/11/25 21:07:19 nros Exp $
* take in CFLAGS from the environment so that _BIG__ENDIAN_ can be added
--- Makefile.orig 2019-11-25 19:14:40.081612047 +0000
+++ Makefile
@@ -39,7 +39,7 @@ DIR_GLUE=jxrgluelib
DIR_TEST=jxrtestlib
DIR_EXEC=jxrencoderdecoder
-CFLAGS=-I. -Icommon/include -I$(DIR_SYS) -D__ANSI__ -DDISABLE_PERF_MEASUREMENT -w -O
+CFLAGS+=-I. -Icommon/include -I$(DIR_SYS) -D__ANSI__ -DDISABLE_PERF_MEASUREMENT -w -O
##
## Add following flag to CFLAGS above if target is a big endian machine
## -D_BIG__ENDIAN_
$NetBSD: patch-image_sys_strcodec.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* defines in .h file, fromm FreeBSD ports
--- image/sys/strcodec.c.orig 2013-03-20 18:16:21.000000000 +0000
+++ image/sys/strcodec.c
@@ -668,9 +668,7 @@ ERR detach_SB(SimpleBitIO* pSB)
// WinCE ARM and Desktop x86
#else
// other platform
-#ifdef _BIG__ENDIAN_
-#define _byteswap_ulong(x) (x)
-#else // _BIG__ENDIAN_
+#ifndef _BIG__ENDIAN_
U32 _byteswap_ulong(U32 bits)
{
U32 r = (bits & 0xffu) << 24;
$NetBSD: patch-image_sys_strcodec.h,v 1.1 2019/11/25 21:07:19 nros Exp $
* fix warning
* define and declaration of byteswap in .h file
* from FreeBSD ports
--- image/sys/strcodec.h.orig 2013-03-21 18:22:34.000000000 +0000
+++ image/sys/strcodec.h
@@ -64,7 +64,7 @@
#ifndef UNREFERENCED_PARAMETER
#define UNREFERENCED_PARAMETER(P) { (P) = (P); }
-#endif UNREFERENCED_PARAMETER
+#endif
#ifdef UNDER_CE
#define PLATFORM_WCE
@@ -676,3 +676,14 @@ void flushToByte(BitIOInfo* pIO);
// pIO->uiAccumulator = LOAD16(pIO->pbCurrent) & ((U32)(-1) >> pIO->cBitsUsed);\
void OutputPerfTimerReport(CWMImageStrCodec *pState);
+
+#if (defined(WIN32) && !defined(UNDER_CE)) || (defined(UNDER_CE) && defined(_ARM_))
+// WinCE ARM and Desktop x86
+#else
+// other platform
+#ifdef _BIG__ENDIAN_
+#define _byteswap_ulong(x) (x)
+#else // _BIG__ENDIAN_
+U32 _byteswap_ulong(U32 bits);
+#endif // _BIG__ENDIAN_
+#endif
$NetBSD: patch-jxrencoderdecoder_JxrDecApp.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* fix warnings, from FreeBSD ports
--- jxrencoderdecoder/JxrDecApp.c.orig 2019-11-25 19:14:26.881820454 +0000
+++ jxrencoderdecoder/JxrDecApp.c
@@ -423,7 +423,7 @@ ERR WmpDecAppCreateEncoderFromExt(
Call(GetTestEncodeIID(szExt, &pIID));
// Create encoder
- Call(PKTestFactory_CreateCodec(pIID, ppIE));
+ Call(PKTestFactory_CreateCodec(pIID, (void**)ppIE));
Cleanup:
return err;
$NetBSD: patch-jxrencoderdecoder_JxrEncApp.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* Fix warnings, from FreeBSD ports
--- jxrencoderdecoder/JxrEncApp.c.orig 2019-11-16 13:13:44.454384643 +0000
+++ 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));
$NetBSD: patch-jxrgluelib_JXRGlueJxr.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* fix missing declaration of wcslen
--- jxrgluelib/JXRGlueJxr.c.orig 2013-03-20 19:01:13.000000000 +0000
+++ jxrgluelib/JXRGlueJxr.c
@@ -27,6 +27,7 @@
//
//*@@@---@@@@******************************************************************
#include <limits.h>
+#include <wchar.h>
#include <JXRGlue.h>
$NetBSD: patch-jxrgluelib_JXRMeta.h,v 1.1 2019/11/25 21:07:19 nros Exp $
* Fix warning
--- jxrgluelib/JXRMeta.h.orig 2019-11-16 11:24:33.138807563 +0000
+++ jxrgluelib/JXRMeta.h
@@ -34,7 +34,7 @@
#ifndef UNREFERENCED_PARAMETER
#define UNREFERENCED_PARAMETER(P) { (P) = (P); }
-#endif UNREFERENCED_PARAMETER
+#endif
//================================================================
// Container
$NetBSD: patch-jxrtestlib_JXRTest.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* fix warnings, from FreeBSD ports
--- jxrtestlib/JXRTest.c.orig 2013-03-19 19:06:18.000000000 +0000
+++ jxrtestlib/JXRTest.c
@@ -198,7 +198,7 @@ ERR PKTestFactory_CreateDecoderFromFile(
ERR err = WMP_errSuccess;
char *pExt = NULL;
- PKIID* pIID = NULL;
+ const PKIID* pIID = NULL;
struct WMPStream* pStream = NULL;
PKImageDecode* pDecoder = NULL;
@@ -214,7 +214,7 @@ ERR PKTestFactory_CreateDecoderFromFile(
Call(CreateWS_File(&pStream, szFilename, "rb"));
// Create decoder
- Call(PKTestFactory_CreateCodec(pIID, ppDecoder));
+ Call(PKTestFactory_CreateCodec(pIID,(void**)ppDecoder));
pDecoder = *ppDecoder;
// attach stream to decoder
@@ -232,7 +232,7 @@ ERR PKCreateTestFactory(PKCodecFactory**
UNREFERENCED_PARAMETER( uVersion );
- Call(PKAlloc(ppCFactory, sizeof(**ppCFactory)));
+ Call(PKAlloc((void**)ppCFactory, sizeof(**ppCFactory)));
pCFactory = *ppCFactory;
pCFactory->CreateCodec = PKTestFactory_CreateCodec;
@@ -287,7 +287,7 @@ ERR PKTestDecode_Release(
pID->fStreamOwner && pID->pStream->Close(&pID->pStream);
- return PKFree(ppID);
+ return PKFree((void**)ppID);
}
ERR PKTestDecode_Create(
@@ -296,7 +296,7 @@ ERR PKTestDecode_Create(
ERR err = WMP_errSuccess;
PKTestDecode* pID = NULL;
- Call(PKAlloc(ppID, sizeof(**ppID)));
+ Call(PKAlloc((void**)ppID, sizeof(**ppID)));
pID = *ppID;
pID->Initialize = PKTestDecode_Initialize;
$NetBSD: patch-jxrtestlib_JXRTestHdr.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* fix warning
--- jxrtestlib/JXRTestHdr.c.orig 2013-03-20 16:40:08.000000000 +0000
+++ jxrtestlib/JXRTestHdr.c
@@ -27,7 +27,7 @@
//*@@@---@@@@******************************************************************
#ifndef ANSI
#define _CRT_SECURE_NO_WARNINGS
-#endif ANSI
+#endif
#include <stdlib.h>
#include <string.h>
$NetBSD: patch-jxrtestlib_JXRTestPnm.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* fix warning
--- jxrtestlib/JXRTestPnm.c.orig 2019-11-16 13:10:49.180538241 +0000
+++ jxrtestlib/JXRTestPnm.c
@@ -27,7 +27,7 @@
//*@@@---@@@@******************************************************************
#ifndef ANSI
#define _CRT_SECURE_NO_WARNINGS
-#endif ANSI
+#endif
#include <stdlib.h>
$NetBSD: patch-jxrtestlib_JXRTestTif.c,v 1.1 2019/11/25 21:07:19 nros Exp $
* Fix warnings, from FreeBSD ports
--- jxrtestlib/JXRTestTif.c.orig 2013-03-19 19:17:12.000000000 +0000
+++ jxrtestlib/JXRTestTif.c
@@ -909,8 +909,8 @@ ERR PKImageDecode_Release_TIF(PKTestDeco
PKTestDecode *pID = *ppID;
- Call(WMPFree(&pID->EXT.TIF.uStripOffsets));
- Call(WMPFree(&pID->EXT.TIF.uStripByteCounts));
+ Call(WMPFree((void**)&pID->EXT.TIF.uStripOffsets));
+ Call(WMPFree((void**)&pID->EXT.TIF.uStripByteCounts));
Call(PKTestDecode_Release(ppID));