Bug 180350 - textproc/sigil build problems when libzip installed
Summary: textproc/sigil build problems when libzip installed
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-06 18:40 UTC by John Levine
Modified: 2014-01-18 19:50 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Levine 2013-07-06 18:40:00 UTC
When building sigil on my system, Sigil/Exporters/ExportEPUB.cpp fails to build with some errors about undefined types. It includes <zip.h> and the libzip port installs /usr/local/include/zip.h which shadows minizip/zip.h in the sigil package.

I kludged around it by renaming /usr/local/include/zip.h out of the way while I was building it, and the build works.

Fix: 

My suggestion is to rename minizip/zip.h to minizip/mzip.h, and patch the two places it's included in minizip/zip.c and Sigil/Exporters/ExportEPUB.cpp to include mzip.h rather than zip.h.

I suppose you could try and patch the cmake files to put the local include directories ahead of the system ones, but that seems much messier.
How-To-Repeat: install libzip, then try to build sigilhttp://www.freebsd.org/send-pr.html
Comment 1 Edwin Groothuis freebsd_committer 2013-07-06 19:00:44 UTC
Maintainer of textproc/sigil,

Please note that PR ports/180350 has just been submitted.

If it contains a patch for an upgrade, an enhancement or a bug fix
you agree on, reply to this email stating that you approve the patch
and a committer will take care of it.

The full text of the PR can be found at:
    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/180350

-- 
Edwin Groothuis via the GNATS Auto Assign Tool
edwin@FreeBSD.org
Comment 2 Edwin Groothuis freebsd_committer 2013-07-06 19:00:45 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 3 dfilter service freebsd_committer 2014-01-18 17:56:54 UTC
Author: rakuco
Date: Sat Jan 18 17:56:47 2014
New Revision: 340198
URL: http://svnweb.freebsd.org/changeset/ports/340198
QAT: https://qat.redports.org/buildarchive/r340198/

Log:
  - Allow the port to build with archivers/libzip installed.
    libzip installs /usr/local/include/zip.h, and -I/usr/local/include ended
    up being passed to the compiler before -I<path-to-internal-minizip-copy>,
    which caused problems. [1]
  
  While here, modernize the Makefile:
  - Move LICENSE to the appropriate place.
  - Remove USE_DOS2UNIX: the files it was supposed to fix are not DOS-encoded
    anymore.
  - Support staging.
  - Convert from manually calling update-desktop-database and
    USE_GNOME=desktopfileutils to USES=desktop-file-utils.
  
  PR:		ports/180350 [1]
  Approved by:	maintainer timeout (no activity since the original report 7 months ago)
  MFH:		2014Q1

Added:
  head/textproc/sigil/files/patch-src_Sigil_CMakeLists.txt   (contents, props changed)
Modified:
  head/textproc/sigil/Makefile

Modified: head/textproc/sigil/Makefile
==============================================================================
--- head/textproc/sigil/Makefile	Sat Jan 18 16:47:31 2014	(r340197)
+++ head/textproc/sigil/Makefile	Sat Jan 18 17:56:47 2014	(r340198)
@@ -11,25 +11,19 @@ DISTNAME=	Sigil-${PORTVERSION}-Code
 MAINTAINER=	jonc@chen.org.nz
 COMMENT=	WYSIWYG ePub editor
 
+LICENSE=	GPLv3
+
 LIB_DEPENDS=	libboost_thread.so:${PORTSDIR}/devel/boost-libs \
 		libxerces-c.so:${PORTSDIR}/textproc/xerces-c3 \
 		libhunspell-1.3.so:${PORTSDIR}/textproc/hunspell \
 		libpcre.so:${PORTSDIR}/devel/pcre
 
-LICENSE=	GPLv3
-
 USE_ZIP=	yes
-USES=		cmake pkgconfig
-USE_DOS2UNIX=	CMakeLists.txt DirEnumerator.cpp ZipFile_stl.cpp ZipPlatform_lnx.cpp
+USES=		cmake desktop-file-utils pkgconfig
 NO_WRKSUBDIR=	yes
 USE_QT4=	qmake gui svg webkit xml moc uic rcc imageformats linguist
-USE_GNOME=	desktopfileutils
 
-NO_STAGE=	yes
 post-patch:
 	@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/CMakeLists.txt
 
-post-install:
-	@-update-desktop-database > /dev/null
-
 .include <bsd.port.mk>

Added: head/textproc/sigil/files/patch-src_Sigil_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/textproc/sigil/files/patch-src_Sigil_CMakeLists.txt	Sat Jan 18 17:56:47 2014	(r340198)
@@ -0,0 +1,18 @@
+See ports/180350: if archivers/libzip is installed there's a conflict because
+/usr/local/include ends up being included before the minizip directory inside
+the port.
+--- src/Sigil/CMakeLists.txt.orig	2012-10-27 20:24:40.000000000 +0300
++++ src/Sigil/CMakeLists.txt	2014-01-18 19:08:50.000000000 +0200
+@@ -594,11 +594,11 @@
+                      ${HUNSPELL_INCLUDE_DIRS}
+                      ${PCRE_INCLUDE_DIRS}
+                      ${tidyLib_SOURCE_DIR}
+-                     ${MINIZIP_INCLUDE_DIRS}
+                      ${ZLIB_INCLUDE_DIRS}
+                      ${XERCESEXTENSIONS_INCLUDE_DIRS}
+                      ${XERCES_INCLUDE_DIRS}
+                      ${BOOST_INCLUDE_DIRS}
++                     ${MINIZIP_INCLUDE_DIRS}
+                      ${CMAKE_CURRENT_SOURCE_DIR}
+                      ${CMAKE_CURRENT_BINARY_DIR} )
+ 
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 4 Raphael Kubo da Costa freebsd_committer 2014-01-18 17:57:16 UTC
State Changed
From-To: feedback->closed

Fixed differently in r340198, sorry for the delay.
Comment 5 dfilter service freebsd_committer 2014-01-18 19:49:13 UTC
Author: rakuco
Date: Sat Jan 18 19:49:05 2014
New Revision: 340210
URL: http://svnweb.freebsd.org/changeset/ports/340210
QAT: https://qat.redports.org/buildarchive/r340210/

Log:
  MFH: r340198
  
  - Allow the port to build with archivers/libzip installed.
    libzip installs /usr/local/include/zip.h, and -I/usr/local/include ended
    up being passed to the compiler before -I<path-to-internal-minizip-copy>,
    which caused problems. [1]
  
  While here, modernize the Makefile:
  - Move LICENSE to the appropriate place.
  - Remove USE_DOS2UNIX: the files it was supposed to fix are not DOS-encoded
    anymore.
  - Support staging.
  - Convert from manually calling update-desktop-database and
    USE_GNOME=desktopfileutils to USES=desktop-file-utils.
  
  PR:		ports/180350 [1]
  Approved by:	maintainer timeout (no activity since the original report 7 months ago)
  
  Approved by:	portmgr (mat)

Added:
  branches/2014Q1/textproc/sigil/files/patch-src_Sigil_CMakeLists.txt
     - copied unchanged from r340198, head/textproc/sigil/files/patch-src_Sigil_CMakeLists.txt
Modified:
  branches/2014Q1/textproc/sigil/Makefile
Directory Properties:
  branches/2014Q1/   (props changed)

Modified: branches/2014Q1/textproc/sigil/Makefile
==============================================================================
--- branches/2014Q1/textproc/sigil/Makefile	Sat Jan 18 19:47:13 2014	(r340209)
+++ branches/2014Q1/textproc/sigil/Makefile	Sat Jan 18 19:49:05 2014	(r340210)
@@ -11,25 +11,19 @@ DISTNAME=	Sigil-${PORTVERSION}-Code
 MAINTAINER=	jonc@chen.org.nz
 COMMENT=	WYSIWYG ePub editor
 
+LICENSE=	GPLv3
+
 LIB_DEPENDS=	libboost_thread.so:${PORTSDIR}/devel/boost-libs \
 		libxerces-c.so:${PORTSDIR}/textproc/xerces-c3 \
 		libhunspell-1.3.so:${PORTSDIR}/textproc/hunspell \
 		libpcre.so:${PORTSDIR}/devel/pcre
 
-LICENSE=	GPLv3
-
 USE_ZIP=	yes
-USES=		cmake pkgconfig
-USE_DOS2UNIX=	CMakeLists.txt DirEnumerator.cpp ZipFile_stl.cpp ZipPlatform_lnx.cpp
+USES=		cmake desktop-file-utils pkgconfig
 NO_WRKSUBDIR=	yes
 USE_QT4=	qmake gui svg webkit xml moc uic rcc imageformats linguist
-USE_GNOME=	desktopfileutils
 
-NO_STAGE=	yes
 post-patch:
 	@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/CMakeLists.txt
 
-post-install:
-	@-update-desktop-database > /dev/null
-
 .include <bsd.port.mk>

Copied: branches/2014Q1/textproc/sigil/files/patch-src_Sigil_CMakeLists.txt (from r340198, head/textproc/sigil/files/patch-src_Sigil_CMakeLists.txt)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2014Q1/textproc/sigil/files/patch-src_Sigil_CMakeLists.txt	Sat Jan 18 19:49:05 2014	(r340210, copy of r340198, head/textproc/sigil/files/patch-src_Sigil_CMakeLists.txt)
@@ -0,0 +1,18 @@
+See ports/180350: if archivers/libzip is installed there's a conflict because
+/usr/local/include ends up being included before the minizip directory inside
+the port.
+--- src/Sigil/CMakeLists.txt.orig	2012-10-27 20:24:40.000000000 +0300
++++ src/Sigil/CMakeLists.txt	2014-01-18 19:08:50.000000000 +0200
+@@ -594,11 +594,11 @@
+                      ${HUNSPELL_INCLUDE_DIRS}
+                      ${PCRE_INCLUDE_DIRS}
+                      ${tidyLib_SOURCE_DIR}
+-                     ${MINIZIP_INCLUDE_DIRS}
+                      ${ZLIB_INCLUDE_DIRS}
+                      ${XERCESEXTENSIONS_INCLUDE_DIRS}
+                      ${XERCES_INCLUDE_DIRS}
+                      ${BOOST_INCLUDE_DIRS}
++                     ${MINIZIP_INCLUDE_DIRS}
+                      ${CMAKE_CURRENT_SOURCE_DIR}
+                      ${CMAKE_CURRENT_BINARY_DIR} )
+ 
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"