pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

qcad: fix more libtool issues



Module Name:	pkgsrc-wip
Committed By:	Iain Hibbert <plunky%netbsd.org@localhost>
Pushed By:	plunky
Date:		Mon Aug 1 13:13:08 2016 +0100
Changeset:	b6aea498a3c031134dfac0fe0798622721ac3cb4

Modified Files:
	qcad/Makefile
	qcad/TODO
	qcad/distinfo
	qcad/patches/patch-qcad.1
	qcad/patches/patch-shared.pri
	qcad/patches/patch-shared__app.pri
	qcad/patches/patch-src_3rdparty_dxflib_dxflib.pro
	qcad/patches/patch-src_3rdparty_dxflib_src_dl__writer.h
	qcad/patches/patch-src_3rdparty_opennurbs_opennurbs_opennurbs.pro
	qcad/patches/patch-src_3rdparty_opennurbs_zlib_zlib.pro
	qcad/patches/patch-src_3rdparty_stemmer_stemmer.pro
	qcad/patches/patch-src_core_RS.cpp
	qcad/patches/patch-src_core_RSettings.cpp
	qcad/patches/patch-src_core_core.pro
	qcad/patches/patch-src_customwidgets_customwidgets.pro
	qcad/patches/patch-src_entity_entity.pro
	qcad/patches/patch-src_grid_grid.pro
	qcad/patches/patch-src_gui_gui.pro
	qcad/patches/patch-src_io_dxf_dxf.pro
	qcad/patches/patch-src_operations_operations.pro
	qcad/patches/patch-src_run_run.pri
	qcad/patches/patch-src_scripting_ecmaapi_ecmaapi.pro
	qcad/patches/patch-src_snap_snap.pro
	qcad/patches/patch-src_spatialindex_spatialindex.pro
	qcad/patches/patch-src_stemmer_stemmer.pro
	qcad/patches/patch-src_zip_zip.pro
	qcad/patches/patch-support_examples_exampleplugin_exampleplugin.pro
	qcad/patches/patch-support_examples_transactionlistener_transactionlistener.pro
Added Files:
	qcad/patches/patch-src_3rdparty_qtscript.pro
	qcad/patches/patch-src_3rdparty_quazip_quazip.pro
	qcad/patches/patch-src_3rdparty_spatialindexnavel_spatialindexnavel.pro
	qcad/patches/patch-support_examples_examples.pro

Log Message:
qcad: fix more libtool issues

rework this. The libtool problems are because QCad build is set
up to link directly to a release/ directory. The only way I can
find to use the correct -rpath is to take DESTDIR away from the
qmake files, and add an install target.
We need to make a fake qtscript.pro file because the Qt binding
is handled in a subdir depending on the Qt version number.

add 'MAKE_JOBS_SAFE=no' as dependencies are not handled

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=b6aea498a3c031134dfac0fe0798622721ac3cb4

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 qcad/Makefile                                      | 65 +++++++---------------
 qcad/TODO                                          | 20 ++++---
 qcad/distinfo                                      | 54 +++++++++---------
 qcad/patches/patch-qcad.1                          |  2 +-
 qcad/patches/patch-shared.pri                      | 10 +++-
 qcad/patches/patch-shared__app.pri                 | 33 ++++++-----
 qcad/patches/patch-src_3rdparty_dxflib_dxflib.pro  |  6 +-
 .../patch-src_3rdparty_dxflib_src_dl__writer.h     |  4 +-
 ...-src_3rdparty_opennurbs_opennurbs_opennurbs.pro |  8 ++-
 .../patch-src_3rdparty_opennurbs_zlib_zlib.pro     |  6 +-
 qcad/patches/patch-src_3rdparty_qtscript.pro       | 16 ++++++
 qcad/patches/patch-src_3rdparty_quazip_quazip.pro  | 15 +++++
 ...rdparty_spatialindexnavel_spatialindexnavel.pro | 15 +++++
 .../patches/patch-src_3rdparty_stemmer_stemmer.pro |  5 +-
 qcad/patches/patch-src_core_RS.cpp                 | 10 ++--
 qcad/patches/patch-src_core_RSettings.cpp          |  6 +-
 qcad/patches/patch-src_core_core.pro               | 11 +++-
 .../patch-src_customwidgets_customwidgets.pro      | 11 +++-
 qcad/patches/patch-src_entity_entity.pro           | 12 +++-
 qcad/patches/patch-src_grid_grid.pro               |  8 ++-
 qcad/patches/patch-src_gui_gui.pro                 | 12 +++-
 qcad/patches/patch-src_io_dxf_dxf.pro              | 22 +++++---
 qcad/patches/patch-src_operations_operations.pro   | 10 +++-
 qcad/patches/patch-src_run_run.pri                 | 30 +++++++---
 .../patch-src_scripting_ecmaapi_ecmaapi.pro        | 33 +++++++----
 qcad/patches/patch-src_snap_snap.pro               | 12 ++--
 .../patch-src_spatialindex_spatialindex.pro        | 12 +++-
 qcad/patches/patch-src_stemmer_stemmer.pro         |  8 ++-
 qcad/patches/patch-src_zip_zip.pro                 | 12 +++-
 ...upport_examples_exampleplugin_exampleplugin.pro | 13 +++--
 qcad/patches/patch-support_examples_examples.pro   | 12 ++++
 ...les_transactionlistener_transactionlistener.pro | 13 +++--
 32 files changed, 329 insertions(+), 177 deletions(-)

diffs:
diff --git a/qcad/Makefile b/qcad/Makefile
index 34d6e50..f158b4c 100644
--- a/qcad/Makefile
+++ b/qcad/Makefile
@@ -17,15 +17,17 @@ DEPENDS+=		bash-[0-9]*:../../shells/bash
 DEPENDS+=		qt4-tiff-[0-9]*:../../x11/qt4-tiff
 DEPENDS+=		qt4-sqlite3-[0-9]*:../../x11/qt4-sqlite3
 
-USE_TOOLS+=		pax
+MAKE_JOBS_SAFE=		no
+
+USE_TOOLS+=		pax make
 USE_LANGUAGES=		c c++
 USE_LIBTOOL=		yes
 
 SUBST_CLASSES+=		paths
 SUBST_STAGE.paths=	post-patch
 SUBST_MESSAGE.paths=	Attending to hard-coded paths.
-SUBST_FILES.paths+=	src/core/RS.cpp src/core/RSettings.cpp
-SUBST_SED.paths=	-e 's,@PREFIX@,${PREFIX},g' -e 's,@PKGBASE@,${PKGBASE},g'
+SUBST_FILES.paths+=	shared.pri src/core/RS.cpp src/core/RSettings.cpp
+SUBST_SED.paths=	-e 's,@PREFIX@,${PREFIX},g'
 
 # Note: Using pax to install the data files duplicates the lax permissions
 # from the zip archive. We use 'umask 133' to prevent this, but we must
@@ -39,56 +41,27 @@ SUBST_SED.paths=	-e 's,@PREFIX@,${PREFIX},g' -e 's,@PKGBASE@,${PKGBASE},g'
 #			lib/${PKGBASE}/plugins/designer lib/${PKGBASE}/plugins/script
 AUTO_MKDIRS=	yes
 
-QCADLIBS=	libqcadcore.la \
-		libqcadecmaapi.la \
-		libqcadentity.la \
-		libqcadgrid.la \
-		libqcadgui.la \
-		libqcadoperations.la \
-		libqcadsnap.la \
-		libqcadspatialindex.la \
-		libqcadstemmer.la \
-		libqcadzip.la \
-		libdxflib.la \
-		libopennurbs.la \
-		libquazip.la \
-		libspatialindexnavel.la \
-		libstemmer.la \
-		libzlib.la
-
-QCADPLUGINS=	plugins/libqcaddxf.la \
-		plugins/libqcadexample.la \
-		plugins/libtransactionlistener.la \
-		plugins/designer/libqcadcustomwidgets.la \
-		plugins/script/libqcadqtscript_core.la \
-		plugins/script/libqcadqtscript_gui.la \
-		plugins/script/libqcadqtscript_network.la \
-		plugins/script/libqcadqtscript_opengl.la \
-		plugins/script/libqcadqtscript_sql.la \
-		plugins/script/libqcadqtscript_svg.la \
-		plugins/script/libqcadqtscript_uitools.la \
-		plugins/script/libqcadqtscript_webkit.la \
-		plugins/script/libqcadqtscript_xml.la \
-		plugins/script/libqcadqtscript_xmlpatterns.la
-
+#
+# The QCad build system normally links direct to a release dir but this
+# causes a lot of problems with libtool dependencies. We patch it so that
+# the libs are linked in the source files and add an install target to
+# allow pkgsrc to use DESTDIR
+# The Qt script bindings are built in Qt version specific subdirectory
+# which we can't patch directly, so we create a fake qtscript.pro file
+# and use it to overwrite Makefiles. Makefile.qtscript is ignored
+#
 do-configure:
-	cd ${WRKSRC} && ${QTDIR}/bin/qmake
+	cd ${WRKSRC} && ${QTDIR}/bin/qmake -r -after DESTDIR=
+	cd ${WRKSRC}/src/3rdparty && ${QTDIR}/bin/qmake -r -after DESTDIR= \
+	    INSTALLS+=target target.path=${PREFIX}/lib/${PKGBASE}/plugins/script \
+	    qtscript.pro -o Makefile.qtscript
 
 do-install:
-	${LIBTOOL} --mode=install ${INSTALL_PROGRAM} \
-	    ${WRKSRC}/release/qcad-bin ${DESTDIR}${PREFIX}/bin/qcad
+	cd ${WRKSRC} && make INSTALL_ROOT=${DESTDIR} install
 	${INSTALL_DATA} ${WRKSRC}/qcad.desktop \
 	    ${DESTDIR}${PREFIX}/share/applications
 	${INSTALL_MAN} ${WRKSRC}/qcad.1 \
 	    ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
-.for x in ${QCADLIBS}
-	${LIBTOOL} --mode=install ${INSTALL_LIB} \
-	    ${WRKSRC}/release/${x} ${DESTDIR}${PREFIX}/lib
-.endfor
-.for x in ${QCADPLUGINS}
-	${LIBTOOL} --mode=install ${INSTALL_LIB} \
-	    ${WRKSRC}/${x} ${DESTDIR}${PREFIX}/lib/${PKGBASE}/${x:ts/:H}
-.endfor
 	cd ${WRKSRC} && umask 133 && ${PAX} -rw fonts libraries linetypes \
 	    patterns scripts themes ts ${DESTDIR}${PREFIX}/lib/${PKGBASE}
 	cd ${WRKSRC} && umask 133 && ${PAX} -rw examples ${DESTDIR}${PREFIX}/share/${PKGBASE}
diff --git a/qcad/TODO b/qcad/TODO
index e1fd7a9..0e4172b 100644
--- a/qcad/TODO
+++ b/qcad/TODO
@@ -1,28 +1,32 @@
 
 The application starts and seems to find the libraries/plugins ok now
 
-
   -- some button images are missing, eg the back button (press the Line tool, the top button should be a < arrow)
 
-     the back button is scripts/Widgets/CadToolBar/Back.svg and it should be loaded by CadToolBarPanel.js
+     the back button should be loaded by CadToolBarPanel.js using
+	 autoPath("scripts/Widgets/CadToolBar/Back.svg")
+
+     ktrace seems to show that the image is being loaded, its just not being used..
 
   -- themes -> yes
   -- languages -> yes
   -- linetypes -> yes
   -- patterns -> yes
-  -- fonts -> no?
+  -- fonts -> ?
   -- library -> no
      complains that database not loading
      should library be in /usr/pkg/share/qcad/library?
 
 
-NB when changing preferences I get a warning
-  Warning:  AppPreferences.js: Exception:  Error: include: cannot read file 'scripts/Pro/Layer/AddLayerPro/AddLayerPro.js'
+I think that icon images not loading and database not loading are the same issue -- that QCad is not loading the Qt4 plugins
+the ktrace shows that it looks for /usr/pkg/lib/qcad/plugins/sqldrivers (which was not found) at least.. and Qt has plugins
+to handle icons and suchlike.
 
-I guess this is because we are not Pro version and do not have these scripts -- quit and restart to change language etc
+Need to look into that -- the make system does say to copy plugins over from qt4/plugins but I don't think that should be necessary
 
 
 
-loading a .dxf file crashes with an error
+NB when changing preferences I get a warning
+  Warning:  AppPreferences.js: Exception:  Error: include: cannot read file 'scripts/Pro/Layer/AddLayerPro/AddLayerPro.js'
 
-/usr/pkg/lib/qcad/plugins/libqcaddxf.so: Undefined PLT symbol "_ZN6DL_DxfC1Ev" (symnum = 1293)
+I guess this is because we are not Pro version and do not have these scripts -- quit and restart to change language etc
diff --git a/qcad/distinfo b/qcad/distinfo
index 85cda2a..46d0e8d 100644
--- a/qcad/distinfo
+++ b/qcad/distinfo
@@ -4,28 +4,32 @@ SHA1 (qcad-3.15.4.1.zip) = c78cfec4e0326a1122a45bef219f0f1b1125574c
 RMD160 (qcad-3.15.4.1.zip) = 7deec07e81d17c3a80ef67314a53b650c7509ebb
 SHA512 (qcad-3.15.4.1.zip) = d3d9ae386920ec5102ab8c49c0a3967994dbae0b9b04b256d64ccd6fcf865ae3c26770204fec3c2feecddf91b4cfe12997fe9a975f5ccc78bb5c88c2012d0696
 Size (qcad-3.15.4.1.zip) = 37420623 bytes
-SHA1 (patch-qcad.1) = 74501775e11319b8385867c944f17c9dd67e3377
-SHA1 (patch-shared.pri) = 030c3a4116e1a1863a4d4fccfe991c748d4381d8
-SHA1 (patch-shared__app.pri) = 2ed5a95d42f4153ffdf49a277203a869e0b58ef5
-SHA1 (patch-src_3rdparty_dxflib_dxflib.pro) = 2345ab0fe61f31348d07f55a6f6119bd07ec4bf6
-SHA1 (patch-src_3rdparty_dxflib_src_dl__writer.h) = 21e99b53bcb964c9dc010a6013a5ed9f028738d2
-SHA1 (patch-src_3rdparty_opennurbs_opennurbs_opennurbs.pro) = cc93b45f2fc65b79e438f97c0d5b49a29ad4b387
-SHA1 (patch-src_3rdparty_opennurbs_zlib_zlib.pro) = 01e8de5ea2fd070d4c66c5398d90c05de98e0243
-SHA1 (patch-src_3rdparty_stemmer_stemmer.pro) = de5e3ffbe2e2ac047d62cf4b59a70052a6172030
-SHA1 (patch-src_core_RS.cpp) = 0fba84910ecbddec103aa32232b38b3ca8d7d6df
-SHA1 (patch-src_core_RSettings.cpp) = 6044cc8496e24f31439c31b073f37812a9282f03
-SHA1 (patch-src_core_core.pro) = ee7c14a1e1ed4d8ad609ef8b348395a8392f8631
-SHA1 (patch-src_customwidgets_customwidgets.pro) = c27f13b9a2f8a34524d00c1aabc4e15a9238956d
-SHA1 (patch-src_entity_entity.pro) = 6ca9d8a80622b3546cc1daff2247b414b4742644
-SHA1 (patch-src_grid_grid.pro) = 7c93037629969c51359fbca01237fa738394fb88
-SHA1 (patch-src_gui_gui.pro) = ef480af895cf003a79876548f53fe3918397d8a2
-SHA1 (patch-src_io_dxf_dxf.pro) = 2c2d4ea662fbb00a966a04d85848caf06e90b73a
-SHA1 (patch-src_operations_operations.pro) = 6e7abb80a316dca48ae10ed301fd6553e187ef80
-SHA1 (patch-src_run_run.pri) = 10f94e46c743e92dd8518bd5bd1ddadb4104a212
-SHA1 (patch-src_scripting_ecmaapi_ecmaapi.pro) = 44430db964f3bad655aa4821743431a03a76eec4
-SHA1 (patch-src_snap_snap.pro) = bb89c208dec5f536ade905f4c659c029df8d656d
-SHA1 (patch-src_spatialindex_spatialindex.pro) = 6a79084bb3c6bb06f4bf906c5f1a1e3dc0a225d2
-SHA1 (patch-src_stemmer_stemmer.pro) = 1c0c47f80db2201ccadae1a232d860f7809b9a84
-SHA1 (patch-src_zip_zip.pro) = 8be838738e323d79bcd8f87bf8264c5521752069
-SHA1 (patch-support_examples_exampleplugin_exampleplugin.pro) = 03c92a88d6391dcc933eb860fbd2c5cafaf8a4a0
-SHA1 (patch-support_examples_transactionlistener_transactionlistener.pro) = 48d611fb49d55087be8f8a3d603d44156f7f6fb7
+SHA1 (patch-qcad.1) = 64beab5b4d83e889352d80b64ab09aaa080421c2
+SHA1 (patch-shared.pri) = 118a8bcf4736777489daf249a5164bcdd320430e
+SHA1 (patch-shared__app.pri) = 7a86677c9fbe27ee370f9c876a5f9095757cf286
+SHA1 (patch-src_3rdparty_dxflib_dxflib.pro) = 00e1298faab204b6ede2e59339e72b8640ebf8bc
+SHA1 (patch-src_3rdparty_dxflib_src_dl__writer.h) = 1842f51ab00178c55ab24f67354c9466c91e24ea
+SHA1 (patch-src_3rdparty_opennurbs_opennurbs_opennurbs.pro) = 4285ed368ec2d1ea326b8953f267f15516b3dbb0
+SHA1 (patch-src_3rdparty_opennurbs_zlib_zlib.pro) = 2d2755de0fe6323a556d803c49138845b286df69
+SHA1 (patch-src_3rdparty_qtscript.pro) = c4ea2ca8884a24e0abc4e7231b4a474d21035280
+SHA1 (patch-src_3rdparty_quazip_quazip.pro) = 869f4e2ef3f54f2d237cd111ce203f69bb2ac7d5
+SHA1 (patch-src_3rdparty_spatialindexnavel_spatialindexnavel.pro) = beb78557a413ab7923c611f5e90f373c76092472
+SHA1 (patch-src_3rdparty_stemmer_stemmer.pro) = 9752861147bedd8abe8d169d0025b3963201372d
+SHA1 (patch-src_core_RS.cpp) = c54510bd0d609831026f01908fdb337b18813a0c
+SHA1 (patch-src_core_RSettings.cpp) = a00ec10af262d6d575a75fbc409108fba452af2f
+SHA1 (patch-src_core_core.pro) = f4af2bb30702b0053dd14e1798e14444e95fcae3
+SHA1 (patch-src_customwidgets_customwidgets.pro) = 2fc0b1f4b0110e8031f2d0b06ad22c823b2e26a6
+SHA1 (patch-src_entity_entity.pro) = a7fe3dbe450a3e8ad8549bf32d2eabe21b221177
+SHA1 (patch-src_grid_grid.pro) = 65f5f47cce612b31181a0ac3e153214d29f08767
+SHA1 (patch-src_gui_gui.pro) = 5a7d383fbf7c11395ac93a0764fc1db9748408cb
+SHA1 (patch-src_io_dxf_dxf.pro) = 2d9318d88c44ed6024b286c48dc5f15b842cdfa3
+SHA1 (patch-src_operations_operations.pro) = b7c549e45dfa84141dbf8bedceac992b4b1ca7ca
+SHA1 (patch-src_run_run.pri) = f16a72d498afcb88dc74d0df34bcad69a2fd4ce3
+SHA1 (patch-src_scripting_ecmaapi_ecmaapi.pro) = 028cd35f1676bbee6edde4e4d644d8ae1f6a7d88
+SHA1 (patch-src_snap_snap.pro) = fc538a3fcd7f4782016d8221d8758cb8de1594dd
+SHA1 (patch-src_spatialindex_spatialindex.pro) = f7c528feef7f5e1c6171c6b538fa5cf0b8db6dec
+SHA1 (patch-src_stemmer_stemmer.pro) = 2ddb04d1986804a865539a70af5e1539f55ba4ec
+SHA1 (patch-src_zip_zip.pro) = b0af794c8b2803a9d465863c32ad29c1ca962866
+SHA1 (patch-support_examples_exampleplugin_exampleplugin.pro) = 5094e59ab5b8499dc0acbeb5e6ee75d8660c124a
+SHA1 (patch-support_examples_examples.pro) = 85f712c216d7f50c253f81d8962ee6601d055f68
+SHA1 (patch-support_examples_transactionlistener_transactionlistener.pro) = 4c0649e14c2447f19ebab649905f9f161bd15b97
diff --git a/qcad/patches/patch-qcad.1 b/qcad/patches/patch-qcad.1
index ef0be1f..e08220b 100644
--- a/qcad/patches/patch-qcad.1
+++ b/qcad/patches/patch-qcad.1
@@ -1,6 +1,6 @@
 $NetBSD$
 
-fix spelling mistakes
+fix spelling
 
 --- qcad.1.orig	2016-07-01 07:13:14.000000000 +0000
 +++ qcad.1
diff --git a/qcad/patches/patch-shared.pri b/qcad/patches/patch-shared.pri
index ace6824..17556ab 100644
--- a/qcad/patches/patch-shared.pri
+++ b/qcad/patches/patch-shared.pri
@@ -1,13 +1,17 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- shared.pri.orig	2016-07-01 07:13:14.000000000 +0000
 +++ shared.pri
-@@ -158,8 +158,6 @@ QMAKE_TARGET_PRODUCT = QCAD Application
+@@ -158,7 +158,8 @@ QMAKE_TARGET_PRODUCT = QCAD Application
  DESTDIR = $$PWD/$$ROUTDIR
  UI_DIR = .ui
 
 -LIBS += -L$$PWD/$$ROUTDIR
--
++PREFIX= @PREFIX@
++target.path = $${PREFIX}/lib
+
  CONFIG(debug, debug|release) {
      !win32 {
-         QMAKE_LFLAGS += -rdynamic
diff --git a/qcad/patches/patch-shared__app.pri b/qcad/patches/patch-shared__app.pri
index f05f99b..0f6dca7 100644
--- a/qcad/patches/patch-shared__app.pri
+++ b/qcad/patches/patch-shared__app.pri
@@ -1,5 +1,8 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- shared_app.pri.orig	2016-07-01 07:13:14.000000000 +0000
 +++ shared_app.pri
 @@ -1,24 +1,24 @@
@@ -19,26 +22,26 @@ $NetBSD$
 -    -lstemmer \
 -    -l$${RLIBNAME}zip \
 -    -lquazip
-+    $${DESTDIR}/$${RLIBPRE}$${RLIBNAME}ecmaapi$${RLIBPOSTDLL} \
-+    $${DESTDIR}/$${RLIBPRE}$${RLIBNAME}gui$${RLIBPOSTDLL} \
-+    $${DESTDIR}/$${RLIBPRE}$${RLIBNAME}entity$${RLIBPOSTDLL} \
-+    $${DESTDIR}/$${RLIBPRE}$${RLIBNAME}operations$${RLIBPOSTDLL} \
-+    $${DESTDIR}/$${RLIBPRE}$${RLIBNAME}spatialindex$${RLIBPOSTDLL} \
-+    $${DESTDIR}/$${RLIBPRE}spatialindexnavel$${RLIBPOSTDLL} \
-+    $${DESTDIR}/$${RLIBPRE}$${RLIBNAME}grid$${RLIBPOSTDLL} \
-+    $${DESTDIR}/$${RLIBPRE}$${RLIBNAME}snap$${RLIBPOSTDLL} \
-+    $${DESTDIR}/$${RLIBPRE}$${RLIBNAME}core$${RLIBPOSTDLL} \
-+    $${DESTDIR}/$${RLIBPRE}$${RLIBNAME}stemmer$${RLIBPOSTDLL} \
-+    $${DESTDIR}/$${RLIBPRE}stemmer$${RLIBPOSTDLL} \
-+    $${DESTDIR}/$${RLIBPRE}$${RLIBNAME}zip$${RLIBPOSTDLL} \
-+    $${DESTDIR}/$${RLIBPRE}quazip$${RLIBPOSTDLL}
++    -L$$PWD/src/scripting/ecmaapi -l$${RLIBNAME}ecmaapi \
++    -L$$PWD/src/gui -l$${RLIBNAME}gui \
++    -L$$PWD/src/entity -l$${RLIBNAME}entity \
++    -L$$PWD/src/operations -l$${RLIBNAME}operations \
++    -L$$PWD/src/spatialindex -l$${RLIBNAME}spatialindex \
++    -L$$PWD/src/3rdparty/spatialindexnavel -lspatialindexnavel \
++    -L$$PWD/src/grid -l$${RLIBNAME}grid \
++    -L$$PWD/src/snap -l$${RLIBNAME}snap \
++    -L$$PWD/src/core -l$${RLIBNAME}core \
++    -L$$PWD/src/stemmer -l$${RLIBNAME}stemmer \
++    -L$$PWD/src/3rdparty/stemmer -lstemmer \
++    -L$$PWD/src/zip -l$${RLIBNAME}zip \
++    -L$$PWD/src/3rdparty/quazip -lquazip
 
  !r_no_opennurbs {
      LIBS += \
 -        -lopennurbs \
 -        -lzlib
-+        $${DESTDIR}/$${RLIBPRE}opennurbs$${RLIBPOSTDLL} \
-+        $${DESTDIR}/$${RLIBPRE}zlib$${RLIBPOSTDLL}
++        -L$$PWD/src/3rdparty/opennurbs/opennurbs -lopennurbs \
++        -L$$PWD/src/3rdparty/opennurbs/zlib -lzlib
  }
 
  win32 {
diff --git a/qcad/patches/patch-src_3rdparty_dxflib_dxflib.pro b/qcad/patches/patch-src_3rdparty_dxflib_dxflib.pro
index 10c460b..f5599b4 100644
--- a/qcad/patches/patch-src_3rdparty_dxflib_dxflib.pro
+++ b/qcad/patches/patch-src_3rdparty_dxflib_dxflib.pro
@@ -1,11 +1,15 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/3rdparty/dxflib/dxflib.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/3rdparty/dxflib/dxflib.pro
-@@ -25,5 +25,5 @@ SOURCES = \
+@@ -25,5 +25,6 @@ SOURCES = \
 
  TARGET = dxflib
  TEMPLATE = lib
 -CONFIG += staticlib
 +CONFIG += plugin
++INSTALLS += target
  DEFINES += DXFLIB_LIBRARY
diff --git a/qcad/patches/patch-src_3rdparty_dxflib_src_dl__writer.h b/qcad/patches/patch-src_3rdparty_dxflib_src_dl__writer.h
index bd37d44..3e8bd50 100644
--- a/qcad/patches/patch-src_3rdparty_dxflib_src_dl__writer.h
+++ b/qcad/patches/patch-src_3rdparty_dxflib_src_dl__writer.h
@@ -1,8 +1,8 @@
 $NetBSD$
 
-fix for PR pkg/45392
+apply fix for PR 45392
 
---- src/3rdparty/dxflib/src/dl_writer.h.orig	2016-06-30 12:42:57.000000000 +0000
+--- src/3rdparty/dxflib/src/dl_writer.h.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/3rdparty/dxflib/src/dl_writer.h
 @@ -36,6 +36,7 @@
  #pragma once
diff --git a/qcad/patches/patch-src_3rdparty_opennurbs_opennurbs_opennurbs.pro b/qcad/patches/patch-src_3rdparty_opennurbs_opennurbs_opennurbs.pro
index 568e6d7..04c1c68 100644
--- a/qcad/patches/patch-src_3rdparty_opennurbs_opennurbs_opennurbs.pro
+++ b/qcad/patches/patch-src_3rdparty_opennurbs_opennurbs_opennurbs.pro
@@ -1,8 +1,11 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/3rdparty/opennurbs/opennurbs/opennurbs.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/3rdparty/opennurbs/opennurbs/opennurbs.pro
-@@ -218,14 +218,8 @@ HEADERS += \
+@@ -218,14 +218,9 @@ HEADERS += \
 
  TARGET = opennurbs
  TEMPLATE = lib
@@ -15,7 +18,8 @@ $NetBSD$
 -}
 -LIBS += -lzlib
 +CONFIG += plugin
-+LIBS += ../../../../$${ROUTDIR}/$${RLIBPRE}zlib$${RLIBPOSTDLL}
++LIBS += -L../zlib -lzlib
++INSTALLS += target
  win32 {
      #DEFINES += ON_DLL_EXPORTS ON_COMPILING_OPENNURBS NDEBUG
      DEFINES += ON_COMPILING_OPENNURBS NDEBUG
diff --git a/qcad/patches/patch-src_3rdparty_opennurbs_zlib_zlib.pro b/qcad/patches/patch-src_3rdparty_opennurbs_zlib_zlib.pro
index ed93526..61a520a 100644
--- a/qcad/patches/patch-src_3rdparty_opennurbs_zlib_zlib.pro
+++ b/qcad/patches/patch-src_3rdparty_opennurbs_zlib_zlib.pro
@@ -1,13 +1,17 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/3rdparty/opennurbs/zlib/zlib.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/3rdparty/opennurbs/zlib/zlib.pro
-@@ -27,7 +27,7 @@ HEADERS += \
+@@ -27,7 +27,8 @@ HEADERS += \
 
  TARGET = zlib
  TEMPLATE = lib
 -CONFIG += staticlib
 +CONFIG += plugin
++INSTALLS += target
  #win32 {
  #    LIBS += -lRpcrt4 -lAdvapi32
  #}
diff --git a/qcad/patches/patch-src_3rdparty_qtscript.pro b/qcad/patches/patch-src_3rdparty_qtscript.pro
new file mode 100644
index 0000000..d8c8a94
--- /dev/null
+++ b/qcad/patches/patch-src_3rdparty_qtscript.pro
@@ -0,0 +1,16 @@
+$NetBSD$
+
+create a fake qmake file, so that we can create Makefiles for
+the specific QT_VERSION subdirectory with different options
+
+--- src/3rdparty/qtscript.pro.orig	2016-08-02 08:36:34.720522859 +0000
++++ src/3rdparty/qtscript.pro
+@@ -0,0 +1,8 @@
++include (../../shared.pri)
++TEMPLATE = subdirs
++
++!r_mobile {
++    exists(qt-labs-qtscriptgenerator-$${QT_VERSION}) {
++        SUBDIRS += qt-labs-qtscriptgenerator-$${QT_VERSION}
++    }
++}
diff --git a/qcad/patches/patch-src_3rdparty_quazip_quazip.pro b/qcad/patches/patch-src_3rdparty_quazip_quazip.pro
new file mode 100644
index 0000000..a245049
--- /dev/null
+++ b/qcad/patches/patch-src_3rdparty_quazip_quazip.pro
@@ -0,0 +1,15 @@
+$NetBSD$
+
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
+--- src/3rdparty/quazip/quazip.pro.orig	2016-07-01 07:13:14.000000000 +0000
++++ src/3rdparty/quazip/quazip.pro
+@@ -2,6 +2,7 @@ include( ../../../shared.pri )
+
+ TARGET = quazip
+ TEMPLATE = lib
++INSTALLS += target
+ r_static_libs {
+     CONFIG += staticlib
+ }
diff --git a/qcad/patches/patch-src_3rdparty_spatialindexnavel_spatialindexnavel.pro b/qcad/patches/patch-src_3rdparty_spatialindexnavel_spatialindexnavel.pro
new file mode 100644
index 0000000..93782a9
--- /dev/null
+++ b/qcad/patches/patch-src_3rdparty_spatialindexnavel_spatialindexnavel.pro
@@ -0,0 +1,15 @@
+$NetBSD$
+
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
+--- src/3rdparty/spatialindexnavel/spatialindexnavel.pro.orig	2016-07-01 07:13:14.000000000 +0000
++++ src/3rdparty/spatialindexnavel/spatialindexnavel.pro
+@@ -8,6 +8,7 @@ r_static_libs {
+ else {
+     CONFIG += plugin
+ }
++INSTALLS = target
+
+ # this is required to compile the spatial index library from navel ltd:
+ #DEFINES += PACKAGE_BUGREPORT=\\\"mhadji%gmail.com@localhost\\\"
diff --git a/qcad/patches/patch-src_3rdparty_stemmer_stemmer.pro b/qcad/patches/patch-src_3rdparty_stemmer_stemmer.pro
index bc7b0d5..0417561 100644
--- a/qcad/patches/patch-src_3rdparty_stemmer_stemmer.pro
+++ b/qcad/patches/patch-src_3rdparty_stemmer_stemmer.pro
@@ -1,5 +1,8 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/3rdparty/stemmer/stemmer.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/3rdparty/stemmer/stemmer.pro
 @@ -44,5 +44,5 @@ HEADERS += \
@@ -8,5 +11,5 @@ $NetBSD$
  TEMPLATE = lib
 -CONFIG += staticlib
 -#CONFIG += plugin
-+#CONFIG += staticlib
 +CONFIG += plugin
++INSTALLS = target
diff --git a/qcad/patches/patch-src_core_RS.cpp b/qcad/patches/patch-src_core_RS.cpp
index 576a3c6..9cc7567 100644
--- a/qcad/patches/patch-src_core_RS.cpp
+++ b/qcad/patches/patch-src_core_RS.cpp
@@ -2,8 +2,8 @@ $NetBSD$
 
 fix hardcoded paths
 
---- RS.cpp.orig	2016-07-01 07:13:14.000000000 +0000
-+++ RS.cpp
+--- src/core/RS.cpp.orig	2016-07-01 07:13:14.000000000 +0000
++++ src/core/RS.cpp
 @@ -79,48 +79,9 @@ bool RS::compare(const QPair<QVariant, R
  QStringList RS::getDirectoryList(const QString& subDirectory) {
      QStringList dirList;
@@ -50,9 +50,9 @@ fix hardcoded paths
 -    // TODO: add a path to users home to be used to extend pattern, etc.
 -    //QString appDirName = QSettings.applicationName();
 -    //dirList.append(RSettings::getHomeLocation() + "/." + appDirName + "/" + subDirectory);
-+    dirList.append("@PREFIX@/lib/@PKGBASE@/" + subDirectory);
-+    dirList.append("@PREFIX@/share/@PKGBASE@/" + subDirectory);
-+    dirList.append(QDir::homePath() + "/.@PKGBASE@/" + subDirectory);
++    dirList.append("@PREFIX@/lib/qcad/" + subDirectory);
++    dirList.append("@PREFIX@/share/qcad/" + subDirectory);
++    dirList.append(QDir::homePath() + "/.qcad/" + subDirectory);
 
      QStringList ret;
      for (int i=0; i<dirList.size(); i++) {
diff --git a/qcad/patches/patch-src_core_RSettings.cpp b/qcad/patches/patch-src_core_RSettings.cpp
index 53eb90c..4c59c5e 100644
--- a/qcad/patches/patch-src_core_RSettings.cpp
+++ b/qcad/patches/patch-src_core_RSettings.cpp
@@ -2,8 +2,8 @@ $NetBSD$
 
 fix hardcoded paths
 
---- RSettings.cpp.orig	2016-07-01 07:13:14.000000000 +0000
-+++ RSettings.cpp
+--- src/core/RSettings.cpp.orig	2016-07-01 07:13:14.000000000 +0000
++++ src/core/RSettings.cpp
 @@ -133,27 +133,7 @@ bool RSettings::isDeployed() {
  }
 
@@ -29,6 +29,6 @@ fix hardcoded paths
 -        ret.cdUp();
 -    }
 -
-+    QDir ret("@PREFIX@/lib/@PKGBASE@");
++    QDir ret("@PREFIX@/lib/qcad");
      return ret.path();
  }
diff --git a/qcad/patches/patch-src_core_core.pro b/qcad/patches/patch-src_core_core.pro
index 5d3b41c..cd5d46f 100644
--- a/qcad/patches/patch-src_core_core.pro
+++ b/qcad/patches/patch-src_core_core.pro
@@ -1,14 +1,19 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/core/core.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/core/core.pro
-@@ -282,7 +282,8 @@ RESOURCES = resources/core.qrc
+@@ -281,8 +281,10 @@ TARGET = $${NAME}
+ RESOURCES = resources/core.qrc
  OTHER_FILES += core.dox math/math.dox
  DEFINES += QCADCORE_LIBRARY
++INSTALLS += target
 
 -LIBS += -lopennurbs -lzlib
-+LIBS += ../../$${ROUTDIR}/$${RLIBPRE}opennurbs$${RLIBPOSTDLL} \
-+	../../$${ROUTDIR}/$${RLIBPRE}zlib$${RLIBPOSTDLL}
++LIBS += -L../3rdparty/opennurbs/opennurbs -lopennurbs \
++	-L../3rdparty/opennurbs/zlib -lzlib
 
  win32 {
      LIBS += -lRpcrt4 -lAdvapi32
diff --git a/qcad/patches/patch-src_customwidgets_customwidgets.pro b/qcad/patches/patch-src_customwidgets_customwidgets.pro
index 01d051a..129b62c 100644
--- a/qcad/patches/patch-src_customwidgets_customwidgets.pro
+++ b/qcad/patches/patch-src_customwidgets_customwidgets.pro
@@ -1,13 +1,18 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/customwidgets/customwidgets.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/customwidgets/customwidgets.pro
-@@ -36,6 +36,7 @@ HEADERS = RShortcutLineEditPlugin.h \
+@@ -36,6 +36,9 @@ HEADERS = RShortcutLineEditPlugin.h \
  #    HEADERS += RWebViewPlugin.h
  #}
  TEMPLATE = lib
 -LIBS += -l$${RLIBNAME}gui -l$${RLIBNAME}core
-+LIBS += ../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}gui$${RLIBPOSTDLL} \
-+	../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}core$${RLIBPOSTDLL}
++LIBS += -L../gui -l$${RLIBNAME}gui \
++	-L../core -l$${RLIBNAME}core
++INSTALLS += target
++target.path = $${PREFIX}/lib/$${RLIBNAME}/plugins/designer
  DESTDIR = ../../plugins/designer
  OTHER_FILES += customwidgets.dox
diff --git a/qcad/patches/patch-src_entity_entity.pro b/qcad/patches/patch-src_entity_entity.pro
index 57ebbcc..73279c7 100644
--- a/qcad/patches/patch-src_entity_entity.pro
+++ b/qcad/patches/patch-src_entity_entity.pro
@@ -1,14 +1,20 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/entity/entity.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/entity/entity.pro
-@@ -119,7 +119,8 @@ NAME = $${RLIBNAME}entity
+@@ -117,9 +117,11 @@ else {
+ }
+ NAME = $${RLIBNAME}entity
  TARGET = $${NAME}
++INSTALLS += target
  OTHER_FILES += entity.dox
  DEFINES += QCADENTITY_LIBRARY
 -LIBS += -l$${RLIBNAME}core -lopennurbs
-+LIBS += ../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}core$${RLIBPOSTDLL} \
-+	../../$${ROUTDIR}/$${RLIBPRE}opennurbs$${RLIBPOSTDLL}
++LIBS += -L../core -l$${RLIBNAME}core \
++	-L../3rdparty/opennurbs/opennurbs -lopennurbs
  !win32 {
      include( ../../shared_ts.pri )
  }
diff --git a/qcad/patches/patch-src_grid_grid.pro b/qcad/patches/patch-src_grid_grid.pro
index bae3214..10b42ba 100644
--- a/qcad/patches/patch-src_grid_grid.pro
+++ b/qcad/patches/patch-src_grid_grid.pro
@@ -1,10 +1,14 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/grid/grid.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/grid/grid.pro
-@@ -13,4 +13,4 @@ else {
+@@ -13,4 +13,5 @@ else {
      CONFIG += plugin
  }
  TARGET = $${RLIBNAME}grid
 -LIBS += -l$${RLIBNAME}core
-+LIBS += ../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}core$${RLIBPOSTDLL}
++LIBS += -L../core -l$${RLIBNAME}core
++INSTALLS += target
diff --git a/qcad/patches/patch-src_gui_gui.pro b/qcad/patches/patch-src_gui_gui.pro
index 395df5c..e54a606 100644
--- a/qcad/patches/patch-src_gui_gui.pro
+++ b/qcad/patches/patch-src_gui_gui.pro
@@ -1,14 +1,20 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/gui/gui.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/gui/gui.pro
-@@ -80,7 +80,8 @@ else {
+@@ -80,9 +80,11 @@ else {
      CONFIG += plugin
  }
 
 -LIBS += -l$${RLIBNAME}core -l$${RLIBNAME}entity
-+LIBS += ../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}core$${RLIBPOSTDLL} \
-+	../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}entity$${RLIBPOSTDLL}
++LIBS += -L../core -l$${RLIBNAME}core \
++	-L../entity -l$${RLIBNAME}entity
  NAME = $${RLIBNAME}gui
  TARGET = $${NAME}
++INSTALLS += target
  OTHER_FILES += gui.dox
+ DEFINES += QCADGUI_LIBRARY
+ !win32:include( ../../shared_ts.pri )
diff --git a/qcad/patches/patch-src_io_dxf_dxf.pro b/qcad/patches/patch-src_io_dxf_dxf.pro
index 1fab7d5..2bfcd02 100644
--- a/qcad/patches/patch-src_io_dxf_dxf.pro
+++ b/qcad/patches/patch-src_io_dxf_dxf.pro
@@ -1,23 +1,27 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/io/dxf/dxf.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/io/dxf/dxf.pro
-@@ -16,7 +16,11 @@ SOURCES = \
+@@ -16,7 +16,12 @@ SOURCES = \
      RDxfPlugin.cpp
  TEMPLATE = lib
  DEFINES += QCADDXF_LIBRARY
 -LIBS += -l$${RLIBNAME}core -l$${RLIBNAME}entity -ldxflib -l$${RLIBNAME}operations
-+LIBS += ../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}core$${RLIBPOSTDLL} \
-+	../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}entity$${RLIBPOSTDLL} \
-+	../../../$${ROUTDIR}/$${RLIBPRE}dxflib$${RLIBPOSTDLL} \
-+	../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}operations$${RLIBPOSTDLL}
-+
++LIBS += -L../../core -l$${RLIBNAME}core \
++	-L../../entity -l$${RLIBNAME}entity \
++	-L../../3rdparty/dxflib -ldxflib \
++	-L../../operations -l$${RLIBNAME}operations
++INSTALLS += target
++target.path = $${PREFIX}/lib/$${RLIBNAME}/plugins
  r_static_libs {
      CONFIG -= plugin
      CONFIG += staticlib
-@@ -25,4 +29,4 @@ else {
+@@ -24,5 +29,3 @@ r_static_libs {
+ else {
      DESTDIR = ../../../plugins
  }
-
+-
 -POST_TARGETDEPS += ../../../$$ROUTDIR/$${RLIBPRE}dxflib$${RLIBPOST}
-+#POST_TARGETDEPS += ../../../$${ROUTDIR}/$${RLIBPRE}dxflib$${RLIBPOSTDLL}
diff --git a/qcad/patches/patch-src_operations_operations.pro b/qcad/patches/patch-src_operations_operations.pro
index d723a41..a2164f5 100644
--- a/qcad/patches/patch-src_operations_operations.pro
+++ b/qcad/patches/patch-src_operations_operations.pro
@@ -1,13 +1,17 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/operations/operations.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/operations/operations.pro
-@@ -41,6 +41,7 @@ else {
+@@ -41,6 +41,8 @@ else {
      CONFIG += plugin
  }
  TARGET = $${RLIBNAME}operations
 -LIBS += -l$${RLIBNAME}core -l$${RLIBNAME}entity
-+LIBS += ../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}core$${RLIBPOSTDLL} \
-+	../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}entity$${RLIBPOSTDLL}
++LIBS += -L../core -l$${RLIBNAME}core \
++	-L../entity -l$${RLIBNAME}entity
++INSTALLS += target
  OTHER_FILES += operations.dox
  DEFINES += QCADOPERATIONS_LIBRARY
diff --git a/qcad/patches/patch-src_run_run.pri b/qcad/patches/patch-src_run_run.pri
index f48c382..1aa5378 100644
--- a/qcad/patches/patch-src_run_run.pri
+++ b/qcad/patches/patch-src_run_run.pri
@@ -1,14 +1,30 @@
 $NetBSD$
 
-QCad tries to copy Qt plugins to its own folder but I think this is
-not necessary in pkgsrc framework since the binary seems to find them
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
 
-XXX check this again once the package is working
-
---- src/run/run.pri.orig	2016-06-30 12:42:57.000000000 +0000
+--- src/run/run.pri.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/run/run.pri
-@@ -41,7 +41,7 @@ else {
- }
+@@ -26,22 +26,12 @@ win32 {
+ SOURCES += $$PWD/main.cpp
+ TEMPLATE = app
+ OTHER_FILES += $$PWD/run.dox
+-
+-win32 {
+-    TARGET = $${RLIBNAME}
+-}
+-
+-macx {
+-    TARGET = QCAD
+-}
+-else {
+-    unix {
+-        TARGET = $${RLIBNAME}-bin
+-    }
+-}
++TARGET = $${RLIBNAME}
++INSTALLS += target
++target.path = $${PREFIX}/bin
 
  # copy Qt plugins to QCAD plugin folder:
 -!build_pass {
diff --git a/qcad/patches/patch-src_scripting_ecmaapi_ecmaapi.pro b/qcad/patches/patch-src_scripting_ecmaapi_ecmaapi.pro
index 1368e54..c43d094 100644
--- a/qcad/patches/patch-src_scripting_ecmaapi_ecmaapi.pro
+++ b/qcad/patches/patch-src_scripting_ecmaapi_ecmaapi.pro
@@ -1,8 +1,19 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/scripting/ecmaapi/ecmaapi.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/scripting/ecmaapi/ecmaapi.pro
-@@ -19,13 +19,13 @@ SOURCES += \
+@@ -2,6 +2,7 @@ include( ../../../shared.pri )
+ TEMPLATE = lib
+ CONFIG += plugin
+ TARGET = $${RLIBNAME}ecmaapi
++INSTALLS += target
+ CONFIG -= warn_on
+ CONFIG += warn_off
+ CONFIG += precompile_header
+@@ -19,13 +20,13 @@ SOURCES += \
  include(adapters/adapters.pri)
  include(generated/generated.pri)
  LIBS += \
@@ -16,13 +27,13 @@ $NetBSD$
 -    -l$${RLIBNAME}stemmer \
 -    -l$${RLIBNAME}zip \
 -    -lquazip
-+    ../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}core$${RLIBPOSTDLL} \
-+    ../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}entity$${RLIBPOSTDLL} \
-+    ../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}grid$${RLIBPOSTDLL} \
-+    ../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}gui$${RLIBPOSTDLL} \
-+    ../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}operations$${RLIBPOSTDLL} \
-+    ../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}snap$${RLIBPOSTDLL} \
-+    ../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}spatialindex$${RLIBPOSTDLL} \
-+    ../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}stemmer$${RLIBPOSTDLL} \
-+    ../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}zip$${RLIBPOSTDLL} \
-+    ../../../$${ROUTDIR}/$${RLIBPRE}quazip$${RLIBPOSTDLL}
++    -L../../core -l$${RLIBNAME}core \
++    -L../../entity -l$${RLIBNAME}entity \
++    -L../../grid -l$${RLIBNAME}grid \
++    -L../../gui -l$${RLIBNAME}gui \
++    -L../../operations -l$${RLIBNAME}operations \
++    -L../../snap -l$${RLIBNAME}snap \
++    -L../../spatialindex -l$${RLIBNAME}spatialindex \
++    -L../../stemmer -l$${RLIBNAME}stemmer \
++    -L../../zip -l$${RLIBNAME}zip \
++    -L../../3rdparty/quazip -lquazip
diff --git a/qcad/patches/patch-src_snap_snap.pro b/qcad/patches/patch-src_snap_snap.pro
index 7f8f477..18728c9 100644
--- a/qcad/patches/patch-src_snap_snap.pro
+++ b/qcad/patches/patch-src_snap_snap.pro
@@ -1,14 +1,18 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/snap/snap.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/snap/snap.pro
-@@ -45,6 +45,8 @@ else {
+@@ -45,6 +45,9 @@ else {
      CONFIG += plugin
  }
  TARGET = $${RLIBNAME}snap
 -LIBS += -l$${RLIBNAME}core -l$${RLIBNAME}grid -l$${RLIBNAME}entity
-+LIBS += ../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}core$${RLIBPOSTDLL} \
-+	../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}grid$${RLIBPOSTDLL} \
-+	../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}entity$${RLIBPOSTDLL}
++LIBS += -L../core -l$${RLIBNAME}core \
++	-L../grid -l$${RLIBNAME}grid \
++	-L../entity -l$${RLIBNAME}entity
++INSTALLS += target
  OTHER_FILES += snap.dox
  DEFINES += QCADSNAP_LIBRARY
diff --git a/qcad/patches/patch-src_spatialindex_spatialindex.pro b/qcad/patches/patch-src_spatialindex_spatialindex.pro
index 0631ec9..157185f 100644
--- a/qcad/patches/patch-src_spatialindex_spatialindex.pro
+++ b/qcad/patches/patch-src_spatialindex_spatialindex.pro
@@ -1,13 +1,19 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/spatialindex/spatialindex.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/spatialindex/spatialindex.pro
-@@ -14,7 +14,8 @@ else {
+@@ -14,8 +14,8 @@ else {
      CONFIG += plugin
  }
  TARGET = $${RLIBNAME}spatialindex
 -LIBS += -l$${RLIBNAME}core -lspatialindexnavel
-+LIBS += ../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}core$${RLIBPOSTDLL} \
-+	../../$${ROUTDIR}/$${RLIBPRE}spatialindexnavel$${RLIBPOSTDLL}
++LIBS += -L../core -l$${RLIBNAME}core \
++	-L../3rdparty/spatialindexnavel -lspatialindexnavel
++INSTALLS += target
  OTHER_FILES += spatialindex.dox
  DEFINES += QCADSPATIALINDEX_LIBRARY
+-
+-#POST_TARGETDEPS += ../../$$ROUTDIR/$${RLIBPRE}spatialindexnavel$${RLIBPOSTDLL}
diff --git a/qcad/patches/patch-src_stemmer_stemmer.pro b/qcad/patches/patch-src_stemmer_stemmer.pro
index 3d2257b..e6eb4bc 100644
--- a/qcad/patches/patch-src_stemmer_stemmer.pro
+++ b/qcad/patches/patch-src_stemmer_stemmer.pro
@@ -1,13 +1,17 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/stemmer/stemmer.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/stemmer/stemmer.pro
-@@ -7,8 +7,6 @@ HEADERS = \
+@@ -7,8 +7,7 @@ HEADERS = \
  TEMPLATE = lib
  CONFIG += plugin
  TARGET = $${RLIBNAME}stemmer
 -LIBS += -lstemmer
-+LIBS += ../../$${ROUTDIR}/$${RLIBPRE}stemmer$${RLIBPOSTDLL}
++LIBS += -L../3rdparty/stemmer -lstemmer
++INSTALLS += target
  OTHER_FILES += stemmer.dox
  DEFINES += QCADSTEMMER_LIBRARY
 -
diff --git a/qcad/patches/patch-src_zip_zip.pro b/qcad/patches/patch-src_zip_zip.pro
index 69691c5..2206bd6 100644
--- a/qcad/patches/patch-src_zip_zip.pro
+++ b/qcad/patches/patch-src_zip_zip.pro
@@ -1,13 +1,19 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- src/zip/zip.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ src/zip/zip.pro
-@@ -23,7 +23,8 @@ else {
+@@ -23,8 +23,8 @@ else {
      CONFIG += plugin
  }
  TARGET = $${RLIBNAME}zip
 -LIBS += -l$${RLIBNAME}core -lquazip
-+LIBS += ../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}core$${RLIBPOSTDLL} \
-+	../../$${ROUTDIR}/$${RLIBPRE}quazip$${RLIBPOSTDLL}
++INSTALLS += target
++LIBS += -L../core -l$${RLIBNAME}core \
++	-L../3rdparty/quazip -lquazip
  OTHER_FILES += zip.dox
  DEFINES += QCADZIP_LIBRARY
+-
+-#POST_TARGETDEPS += ../../$$ROUTDIR/$${RLIBPRE}zip$${RLIBPOSTDLL}
diff --git a/qcad/patches/patch-support_examples_exampleplugin_exampleplugin.pro b/qcad/patches/patch-support_examples_exampleplugin_exampleplugin.pro
index 5f7edda..f9db345 100644
--- a/qcad/patches/patch-support_examples_exampleplugin_exampleplugin.pro
+++ b/qcad/patches/patch-support_examples_exampleplugin_exampleplugin.pro
@@ -1,12 +1,17 @@
 $NetBSD$
 
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
 --- support/examples/exampleplugin/exampleplugin.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ support/examples/exampleplugin/exampleplugin.pro
-@@ -6,4 +6,6 @@ TEMPLATE    = lib
+@@ -6,4 +6,8 @@ TEMPLATE    = lib
  HEADERS     = RExamplePlugin.h
  SOURCES     = RExamplePlugin.cpp
  DESTDIR     = ../../../plugins
 -LIBS += -l$${RLIBNAME}core -l$${RLIBNAME}gui -l$${RLIBNAME}ecmaapi
-+LIBS += ../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}core$${RLIBPOSTDLL} \
-+	../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}gui$${RLIBPOSTDLL} \
-+	../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}ecmaapi$${RLIBPOSTDLL}
++INSTALLS += target
++target.path= $${PREFIX}/lib/$${RLIBNAME}/plugins
++LIBS += -L../../../src/core -l$${RLIBNAME}core \
++	-L../../../src/gui -l$${RLIBNAME}gui \
++	-L../../../src/scripting/ecmaapi -l$${RLIBNAME}ecmaapi
diff --git a/qcad/patches/patch-support_examples_examples.pro b/qcad/patches/patch-support_examples_examples.pro
new file mode 100644
index 0000000..888b128
--- /dev/null
+++ b/qcad/patches/patch-support_examples_examples.pro
@@ -0,0 +1,12 @@
+$NetBSD$
+
+don't want the 'mainwindow' binary
+
+--- support/examples/examples.pro.orig	2016-07-01 07:13:14.000000000 +0000
++++ support/examples/examples.pro
+@@ -2,5 +2,4 @@ include (../../shared.pri)
+ TEMPLATE = subdirs
+ SUBDIRS = \
+     exampleplugin \
+-    mainwindow \
+     transactionlistener
diff --git a/qcad/patches/patch-support_examples_transactionlistener_transactionlistener.pro b/qcad/patches/patch-support_examples_transactionlistener_transactionlistener.pro
index 558ba3a..860578c 100644
--- a/qcad/patches/patch-support_examples_transactionlistener_transactionlistener.pro
+++ b/qcad/patches/patch-support_examples_transactionlistener_transactionlistener.pro
@@ -1,11 +1,16 @@
 $NetBSD$
 
---- support/examples/transactionlistener/transactionlistener.pro.orig	2016-07-31 09:44:06.521154782 +0000
+fix build for pkgsrc, by allowing qmake to link binaries in situ
+and create an install target
+
+--- support/examples/transactionlistener/transactionlistener.pro.orig	2016-07-01 07:13:14.000000000 +0000
 +++ support/examples/transactionlistener/transactionlistener.pro
-@@ -6,4 +6,5 @@ TEMPLATE    = lib
+@@ -6,4 +6,7 @@ TEMPLATE    = lib
  HEADERS     = TransactionListenerPlugin.h
  SOURCES     = TransactionListenerPlugin.cpp
  DESTDIR     = ../../../plugins
 -LIBS += -l$${RLIBNAME}core -l$${RLIBNAME}gui
-+LIBS += ../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}core$${RLIBPOSTDLL} \
-+	../../../$${ROUTDIR}/$${RLIBPRE}$${RLIBNAME}gui$${RLIBPOSTDLL}
++INSTALLS += target
++target.path = $${PREFIX}/lib/$${RLIBNAME}/plugins
++LIBS += -L../../../src/core -l$${RLIBNAME}core \
++	-L../../../src/gui -l$${RLIBNAME}gui



Home | Main Index | Thread Index | Old Index