summaryrefslogtreecommitdiff
path: root/graphics/libfpx
diff options
context:
space:
mode:
authornros <nros@pkgsrc.org>2020-01-19 11:07:56 +0000
committernros <nros@pkgsrc.org>2020-01-19 11:07:56 +0000
commit2a9a906976a626202e89afab6de5d132b0446883 (patch)
tree78292d4d954fd915bfd9e37cfb97a22d3dd1f007 /graphics/libfpx
parentaa6af27796030b51c6dfd1c74442756f5464eba8 (diff)
downloadpkgsrc-2a9a906976a626202e89afab6de5d132b0446883.tar.gz
Update distfile and fix build on illumos
Update distfile for libfpx, difference from the old one: our patches are applied in it and it is available at the mastersite. Fix build on illumos and perhaps other platforms by using autoconf to look for the endian headers instead of using __sun (solaris.h is not available on illumos). bump pkgrevision.
Diffstat (limited to 'graphics/libfpx')
-rw-r--r--graphics/libfpx/Makefile11
-rw-r--r--graphics/libfpx/distinfo16
-rw-r--r--graphics/libfpx/patches/patch-configure.ac15
-rw-r--r--graphics/libfpx/patches/patch-fpx_f__fpxvw.cpp76
-rw-r--r--graphics/libfpx/patches/patch-fpxlib-config.h.in36
-rw-r--r--graphics/libfpx/patches/patch-ole_olecomm.h21
-rw-r--r--graphics/libfpx/patches/patch-oless_dir.cxx13
-rw-r--r--graphics/libfpx/patches/patch-oless_docfile.cxx27
8 files changed, 88 insertions, 127 deletions
diff --git a/graphics/libfpx/Makefile b/graphics/libfpx/Makefile
index 631e314670f..34d0afb22a2 100644
--- a/graphics/libfpx/Makefile
+++ b/graphics/libfpx/Makefile
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.4 2017/12/03 11:09:46 wiz Exp $
+# $NetBSD: Makefile,v 1.5 2020/01/19 11:07:56 nros Exp $
libfpx_ver= 1.3.1
-DISTNAME= libfpx-${libfpx_ver}-9
+DISTNAME= libfpx-${libfpx_ver}-10
PKGNAME= libfpx-${libfpx_ver}
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= graphics
MASTER_SITES= ftp://ftp.imagemagick.org/pub/ImageMagick/delegates/
MASTER_SITES+= http://www.imagemagick.org/download/delegates/
@@ -17,9 +17,14 @@ LICENSE= flashpix-license
GNU_CONFIGURE= yes
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
+USE_TOOLS+= autoconf
docdir= share/doc/${PKGBASE}
INSTALLATION_DIRS+=${docdir}
+
+pre-configure:
+ cd ${WRKSRC} && autoconf
+
post-install:
${INSTALL_DATA} ${WRKSRC}/flashpix.h \
${DESTDIR}${PREFIX}/${docdir}/copyright-notice
diff --git a/graphics/libfpx/distinfo b/graphics/libfpx/distinfo
index 640db9efe51..6fc912f71ad 100644
--- a/graphics/libfpx/distinfo
+++ b/graphics/libfpx/distinfo
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.2 2017/10/04 17:19:33 nros Exp $
+$NetBSD: distinfo,v 1.3 2020/01/19 11:07:56 nros Exp $
-SHA1 (libfpx-1.3.1-9.tar.xz) = d3aba5f74134feb4c3be40c9a864ce28edf1a7f9
-RMD160 (libfpx-1.3.1-9.tar.xz) = 7ea9bff48fa15dc243e17c4f1a4a59c1b45c09dc
-SHA512 (libfpx-1.3.1-9.tar.xz) = 218e7e0cd0512a1620f219802bc694591c90d494940fc7492076dee56c3707e50f5af50eb3dff9d562a5c0431e05ec9e696e6bdd8735b5b26db0cd3f929ad5f8
-Size (libfpx-1.3.1-9.tar.xz) = 1906072 bytes
-SHA1 (patch-fpx_f__fpxvw.cpp) = b2c91920029b66e74154a9f6ccd9dc494df927be
-SHA1 (patch-oless_dir.cxx) = 23218d4dfcf3c57db6234f4ac0c972bf13267290
-SHA1 (patch-oless_docfile.cxx) = 58f45c75a71d3cfcd7946a366d3d4e191fc2f769
+SHA1 (libfpx-1.3.1-10.tar.xz) = 5e456727fabc04c64f63d72a54d6f6cac77871d4
+RMD160 (libfpx-1.3.1-10.tar.xz) = 3ec68b6e88c41bb62aa67cbb44c5574645355a29
+SHA512 (libfpx-1.3.1-10.tar.xz) = b0e7356510fbf436265f6d03236979e68bd1b1483cde006460588387ad3ee97adef4536e827f7ee6ba9d19f3b75cc8b772e025d13cbe69b36ec84c8bd0d470eb
+Size (libfpx-1.3.1-10.tar.xz) = 1907580 bytes
+SHA1 (patch-configure.ac) = 3bbab2e051783ddff951ac2e325e1ea89b77b5db
+SHA1 (patch-fpxlib-config.h.in) = fba6a9b7f136f0acb0510d0ab74dab1696c6ebad
+SHA1 (patch-ole_olecomm.h) = 489b63289c533abd4f192752e0bdab74603d8880
diff --git a/graphics/libfpx/patches/patch-configure.ac b/graphics/libfpx/patches/patch-configure.ac
new file mode 100644
index 00000000000..9d7a6a5baf1
--- /dev/null
+++ b/graphics/libfpx/patches/patch-configure.ac
@@ -0,0 +1,15 @@
+$NetBSD: patch-configure.ac,v 1.1 2020/01/19 11:07:56 nros Exp $
+
+* search for endian headers to make tis package build
+ on more platforms (illumos)
+
+--- configure.ac.orig 2020-01-19 10:26:49.799775110 +0000
++++ configure.ac
+@@ -71,6 +71,7 @@ AC_C_INLINE
+ AC_C_BIGENDIAN
+
+ AC_CHECK_HEADERS([wchar.h sys/statfs.h sys/statvfs.h sys/time.h])
++AC_CHECK_HEADERS([endian.h sys/endian.h solaris.h])
+
+ # <sys/mount.h> depends on <sys/param.h>
+ AC_CHECK_HEADERS([sys/param.h])
diff --git a/graphics/libfpx/patches/patch-fpx_f__fpxvw.cpp b/graphics/libfpx/patches/patch-fpx_f__fpxvw.cpp
deleted file mode 100644
index 58d22c33479..00000000000
--- a/graphics/libfpx/patches/patch-fpx_f__fpxvw.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-$NetBSD: patch-fpx_f__fpxvw.cpp,v 1.1 2017/10/04 17:19:33 nros Exp $
-Fix CVE-2017-12921
---- fpx/f_fpxvw.cpp.orig 2017-10-04 10:25:20.000000000 +0000
-+++ fpx/f_fpxvw.cpp
-@@ -775,27 +775,67 @@ Boolean PFileFlashPixView::WriteCompObj(
- // Get property in summary info property set
- Boolean PFileFlashPixView::GetSummaryInfoProperty (DWORD pID, OLEProperty ** res)
- {
-- return summaryInfoPropertySet->GetProperty(pID, res);
-+ Boolean ok = TRUE;
-+
-+ // If absent, there is an error
-+ if (summaryInfoPropertySet == NULL)
-+ ok = FALSE;
-+
-+ // Get the property
-+ if (ok)
-+ ok = summaryInfoPropertySet->GetProperty(pID, res);
-+
-+ return ok;
- }
-
- // Set property in summary info property set
- Boolean PFileFlashPixView::SetSummaryInfoProperty (DWORD pID, DWORD propType, OLEProperty ** res)
- {
-- return summaryInfoPropertySet->NewProperty(pID, propType, res);
-+ Boolean ok = TRUE;
-+
-+ // If absent, there is an error
-+ if (summaryInfoPropertySet == NULL)
-+ ok = FALSE;
-+
-+ // Get the property
-+ if (ok)
-+ ok = summaryInfoPropertySet->NewProperty(pID, propType, res);
-+
-+ return ok;
- }
-
-
- // Get property in global info property set
- Boolean PFileFlashPixView::GetGlobalInfoProperty (DWORD pID, OLEProperty ** res)
- {
-- return globalInfoPropertySet->GetProperty(pID, res);
-+ Boolean ok = TRUE;
-+
-+ // If absent, there is an error
-+ if (globalInfoPropertySet == NULL)
-+ ok = FALSE;
-+
-+ // Get the property
-+ if (ok)
-+ ok = globalInfoPropertySet->GetProperty(pID, res);
-+
-+ return ok;
- }
-
-
- // Set property in global info property set
- Boolean PFileFlashPixView::SetGlobalInfoProperty (DWORD pID, DWORD propType, OLEProperty ** res)
- {
-- return globalInfoPropertySet->NewProperty(pID, propType, res);
-+ Boolean ok = TRUE;
-+
-+ // If absent, there is an error
-+ if (globalInfoPropertySet == NULL)
-+ ok = FALSE;
-+
-+ // Get the property
-+ if (ok)
-+ ok = globalInfoPropertySet->NewProperty(pID, propType, res);
-+
-+ return ok;
- }
-
-
diff --git a/graphics/libfpx/patches/patch-fpxlib-config.h.in b/graphics/libfpx/patches/patch-fpxlib-config.h.in
new file mode 100644
index 00000000000..12bfd528933
--- /dev/null
+++ b/graphics/libfpx/patches/patch-fpxlib-config.h.in
@@ -0,0 +1,36 @@
+$NetBSD: patch-fpxlib-config.h.in,v 1.1 2020/01/19 11:07:56 nros Exp $
+
+* search for endian headers to make this package build
+ on more platforms (illumos)
+
+--- fpxlib-config.h.in.orig 2020-01-19 10:29:13.655460121 +0000
++++ fpxlib-config.h.in
+@@ -6,12 +6,18 @@
+ /* Define to 1 if you have the <dlfcn.h> header file. */
+ #undef HAVE_DLFCN_H
+
++/* Define to 1 if you have the <endian.h> header file. */
++#undef HAVE_ENDIAN_H
++
+ /* Define to 1 if you have the <inttypes.h> header file. */
+ #undef HAVE_INTTYPES_H
+
+ /* Define to 1 if you have the <memory.h> header file. */
+ #undef HAVE_MEMORY_H
+
++/* Define to 1 if you have the <solaris.h> header file. */
++#undef HAVE_SOLARIS_H
++
+ /* Define to 1 if you have the <stdint.h> header file. */
+ #undef HAVE_STDINT_H
+
+@@ -24,6 +30,9 @@
+ /* Define to 1 if you have the <string.h> header file. */
+ #undef HAVE_STRING_H
+
++/* Define to 1 if you have the <sys/endian.h> header file. */
++#undef HAVE_SYS_ENDIAN_H
++
+ /* Define to 1 if you have the <sys/mount.h> header file. */
+ #undef HAVE_SYS_MOUNT_H
+
diff --git a/graphics/libfpx/patches/patch-ole_olecomm.h b/graphics/libfpx/patches/patch-ole_olecomm.h
new file mode 100644
index 00000000000..6e89e306729
--- /dev/null
+++ b/graphics/libfpx/patches/patch-ole_olecomm.h
@@ -0,0 +1,21 @@
+$NetBSD: patch-ole_olecomm.h,v 1.1 2020/01/19 11:07:56 nros Exp $
+
+* use autoconf to select endian header to make the package build on more
+ platforms (illumos)
+
+--- ole/olecomm.h.orig 2020-01-19 10:31:16.620919697 +0000
++++ ole/olecomm.h
+@@ -65,9 +65,11 @@
+
+ // value to define if the file is to be read/written in Intel mode or not
+ # if defined(_UNIX)
+-# ifdef __linux__
++# ifdef HAVE_ENDIAN_H
+ # include <endian.h>
+-# elif defined(__sun)
++# elif defined(HAVE_SYS_ENDIAN_H)
++# include <sys/endian.h>
++# elif defined(HAVE_SOLARIS_H)
+ # include <solaris.h>
+ # else
+ # include <machine/endian.h>
diff --git a/graphics/libfpx/patches/patch-oless_dir.cxx b/graphics/libfpx/patches/patch-oless_dir.cxx
deleted file mode 100644
index 7a4157020ff..00000000000
--- a/graphics/libfpx/patches/patch-oless_dir.cxx
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-oless_dir.cxx,v 1.1 2017/10/04 17:19:33 nros Exp $
-possible fix for CVE-2017-12920
---- oless/dir.cxx.orig 2017-10-03 18:36:32.000000000 +0000
-+++ oless/dir.cxx
-@@ -1100,6 +1100,8 @@ SCODE CDirectory::GetDirEntry(
- DIRINDEX id = sid / _cdeEntries;
-
- msfChk(_dv.GetTable(id, dwFlags, &pds));
-+ if (ppde == NULL)
-+ msfErr(Err, ERROR_INVALID_ADDRESS);
-
- *ppde = pds->GetEntry((DIROFFSET)(sid % _cdeEntries));
-
diff --git a/graphics/libfpx/patches/patch-oless_docfile.cxx b/graphics/libfpx/patches/patch-oless_docfile.cxx
deleted file mode 100644
index ba40ac379f5..00000000000
--- a/graphics/libfpx/patches/patch-oless_docfile.cxx
+++ /dev/null
@@ -1,27 +0,0 @@
-$NetBSD: patch-oless_docfile.cxx,v 1.1 2017/10/04 17:19:33 nros Exp $
-fix CVE-2017-12925
---- oless/docfile.cxx.orig 2017-10-03 18:06:20.000000000 +0000
-+++ oless/docfile.cxx
-@@ -49,6 +49,7 @@ SCODE DfFromLB(ILockBytes *plst,
- SCODE sc, scConv;
- CRootExposedDocFile *prpdf;
- CDFBasis *pdfb=NULL;
-+ bool prpdf_Release_run = false;
-
- UNREFERENCED_PARM(pcid);
- olDebugOut((DEB_ITRACE, "In DfFromLB(%p, %X, %lX, %p, %p, %p)\n",
-@@ -71,9 +72,12 @@ SCODE DfFromLB(ILockBytes *plst,
- return scConv;
-
- EH_ppcInit:
-- prpdf->Release();
-+ prpdf->Release(); //this also deletes pdfb
-+ prpdf_Release_run = true;
- EH_pdfb:
-- delete pdfb;
-+ if (!prpdf_Release_run) {
-+ delete pdfb;
-+ }
- EH_Err:
- return sc;
- }