pkgsrc-WIP-changes archive

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

py-qwt-qt5: fix DESTDIR and rpath issues



Module Name:	pkgsrc-wip
Committed By:	Tobias Nygren <tnn%NetBSD.org@localhost>
Pushed By:	tnn
Date:		Sun Aug 2 04:19:50 2020 +0200
Changeset:	2d8eb59e3cf0365092012eb741e62444d5491ad4

Modified Files:
	py-qwt-qt5/Makefile
	py-qwt-qt5/PLIST
	py-qwt-qt5/TODO
	py-qwt-qt5/distinfo
Added Files:
	py-qwt-qt5/patches/patch-mk__distinfo.py

Log Message:
py-qwt-qt5: fix DESTDIR and rpath issues

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

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

diffstat:
 py-qwt-qt5/Makefile                      |  39 ++++-----
 py-qwt-qt5/PLIST                         | 136 +++++++++++++++----------------
 py-qwt-qt5/TODO                          |  37 ++-------
 py-qwt-qt5/distinfo                      |   1 +
 py-qwt-qt5/patches/patch-mk__distinfo.py |  16 ++++
 5 files changed, 110 insertions(+), 119 deletions(-)

diffs:
diff --git a/py-qwt-qt5/Makefile b/py-qwt-qt5/Makefile
index b15769fba9..86847c23bf 100644
--- a/py-qwt-qt5/Makefile
+++ b/py-qwt-qt5/Makefile
@@ -17,35 +17,28 @@ BUILD_DEPENDS+=	qt5-qtbase-[0-9]*:../../x11/qt5-qtbase
 
 WRKSRC=		${WRKDIR}/PyQt-Qwt-pyqt-qwt-${VERSION}
 
+CONFIGURE_ENV+=	QT_SELECT=qt5
 MAKE_ENV+=	PATH=${PATH}:${PREFIX}/qt5/bin
-#AKE_ENV+=	INSTALL_ROOT=${DESTDIR}
+INSTALL_ENV+=	INSTALL_ROOT=${DESTDIR}
+ALL_ENV+=	LFLAGS=${COMPILER_RPATH_FLAG}${PREFIX}/${BUILDLINK_LIBDIRS.qwt6-qt5}
 USE_LANGUAGES=	c++
 
-SUBST_CLASSES+=			installed.txt
-SUBST_MESSAGE.installed.txt=	Remove one extra \${DESTDIR} from list
-SUBST_FILES.installed.txt=	installed.txt
-SUBST_STAGE.installed.txt=	post-configure
-SUBST_SED.installed.txt=	-e '/^\/usr/s,^,${DESTDIR},'
-#SUBST_SED.installed.txt=	-e 's,^${DESTDIR},,'
+PY_PATCHPLIST=	yes
 
 do-configure:
-	(cd ${WRKSRC}; \
-	QT_SELECT=qt5 \
-	${PKGSRC_SETENV} ${CONFIGURE_ENV} \
-	${PYTHONBIN} configure.py \
-	--qwt-incdir=${PREFIX}/${BUILDLINK_INCDIRS.qwt6-qt5} \
-	--qwt-libdir=${PREFIX}/${BUILDLINK_LIBDIRS.qwt6-qt5} \
-	--qwt-lib=qwt \
-	--sip=${PREFIX}/bin/sip${PYVERSSUFFIX} \
-	--qmake=${PREFIX}/qt5/bin/qmake \
-	--pyqt-sipdir=${PREFIX}/share/sip${PYVERSSUFFIX}/PyQt5 \
-	--destdir=${DESTDIR}${PREFIX}/${PYSITELIB}/PyQt5 \
-	--verbose \
-	)
-
-.include "../../lang/python/application.mk"
+	set -e; cd ${WRKSRC};						\
+	  ${PKGSRC_SETENV} ${CONFIGURE_ENV}				\
+	  ${PYTHONBIN} configure.py					\
+	  --qwt-incdir=${PREFIX}/${BUILDLINK_INCDIRS.qwt6-qt5}		\
+	  --qwt-libdir=${PREFIX}/${BUILDLINK_LIBDIRS.qwt6-qt5}		\
+	  --qwt-lib=qwt							\
+	  --sip=${PREFIX}/bin/sip${PYVERSSUFFIX}			\
+	  --qmake=${PREFIX}/qt5/bin/qmake				\
+	  --pyqt-sipdir=${PREFIX}/share/sip${PYVERSSUFFIX}/PyQt5	\
+	  --verbose
+
+.include "../../lang/python/extension.mk"
 .include "../../x11/py-qt5/buildlink3.mk"
 .include "../../x11/py-sip/buildlink3.mk"
 .include "../../x11/qwt6-qt5/buildlink3.mk"
-
 .include "../../mk/bsd.pkg.mk"
diff --git a/py-qwt-qt5/PLIST b/py-qwt-qt5/PLIST
index 6e7460274c..b8a521a079 100644
--- a/py-qwt-qt5/PLIST
+++ b/py-qwt-qt5/PLIST
@@ -4,71 +4,71 @@ ${PYSITELIB}/PyQt5/Qwt.so
 ${PYSITELIB}/Qwt-6.1.2.dist-info/INSTALLER
 ${PYSITELIB}/Qwt-6.1.2.dist-info/METADATA
 ${PYSITELIB}/Qwt-6.1.2.dist-info/RECORD
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/conversions.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qmap_convert.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_abstract_legend.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_abstract_scale.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_abstract_scale_draw.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_abstract_slider.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_analog_clock.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_color_map.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_column_symbol.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_compass.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_compass_rose.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_counter.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_curve_fitter.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_dial.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_dial_needle.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_event_pattern.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_graphic.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_interval.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_knob.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_legend.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_legend_data.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_null_paintdevice.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_panner.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_picker.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_picker_machine.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_abstract_barchart.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_barchart.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_canvas.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_curve.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_dict.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_directpainter.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_grid.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_histogram.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_item.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_layout.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_marker.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_multi_barchart.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_panner.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_picker.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_rasteritem.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_renderer.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_seriesitem.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_spectrogram.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_plot_zoomer.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_point_data.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_point_polar.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_raster_data.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_round_scale_draw.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_samples.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_sampling_thread.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_scale_div.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_scale_draw.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_scale_engine.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_scale_map.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_scale_widget.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_series_data.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_series_store.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_slider.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_spline.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_symbol.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_text.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_text_engine.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_text_label.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_thermo.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_transform.sip
-share/sip${PYVERSSUFFIX}/PyQt5/Qwt/qwt_wheel.sip
+share/sip3.7/PyQt5/Qwt/conversions.sip
+share/sip3.7/PyQt5/Qwt/qmap_convert.sip
+share/sip3.7/PyQt5/Qwt/qwt.sip
+share/sip3.7/PyQt5/Qwt/qwt_abstract_legend.sip
+share/sip3.7/PyQt5/Qwt/qwt_abstract_scale.sip
+share/sip3.7/PyQt5/Qwt/qwt_abstract_scale_draw.sip
+share/sip3.7/PyQt5/Qwt/qwt_abstract_slider.sip
+share/sip3.7/PyQt5/Qwt/qwt_analog_clock.sip
+share/sip3.7/PyQt5/Qwt/qwt_color_map.sip
+share/sip3.7/PyQt5/Qwt/qwt_column_symbol.sip
+share/sip3.7/PyQt5/Qwt/qwt_compass.sip
+share/sip3.7/PyQt5/Qwt/qwt_compass_rose.sip
+share/sip3.7/PyQt5/Qwt/qwt_counter.sip
+share/sip3.7/PyQt5/Qwt/qwt_curve_fitter.sip
+share/sip3.7/PyQt5/Qwt/qwt_dial.sip
+share/sip3.7/PyQt5/Qwt/qwt_dial_needle.sip
+share/sip3.7/PyQt5/Qwt/qwt_event_pattern.sip
+share/sip3.7/PyQt5/Qwt/qwt_graphic.sip
+share/sip3.7/PyQt5/Qwt/qwt_interval.sip
+share/sip3.7/PyQt5/Qwt/qwt_knob.sip
+share/sip3.7/PyQt5/Qwt/qwt_legend.sip
+share/sip3.7/PyQt5/Qwt/qwt_legend_data.sip
+share/sip3.7/PyQt5/Qwt/qwt_null_paintdevice.sip
+share/sip3.7/PyQt5/Qwt/qwt_panner.sip
+share/sip3.7/PyQt5/Qwt/qwt_picker.sip
+share/sip3.7/PyQt5/Qwt/qwt_picker_machine.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_abstract_barchart.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_barchart.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_canvas.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_curve.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_dict.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_directpainter.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_grid.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_histogram.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_item.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_layout.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_marker.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_multi_barchart.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_panner.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_picker.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_rasteritem.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_renderer.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_seriesitem.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_spectrogram.sip
+share/sip3.7/PyQt5/Qwt/qwt_plot_zoomer.sip
+share/sip3.7/PyQt5/Qwt/qwt_point_data.sip
+share/sip3.7/PyQt5/Qwt/qwt_point_polar.sip
+share/sip3.7/PyQt5/Qwt/qwt_raster_data.sip
+share/sip3.7/PyQt5/Qwt/qwt_round_scale_draw.sip
+share/sip3.7/PyQt5/Qwt/qwt_samples.sip
+share/sip3.7/PyQt5/Qwt/qwt_sampling_thread.sip
+share/sip3.7/PyQt5/Qwt/qwt_scale_div.sip
+share/sip3.7/PyQt5/Qwt/qwt_scale_draw.sip
+share/sip3.7/PyQt5/Qwt/qwt_scale_engine.sip
+share/sip3.7/PyQt5/Qwt/qwt_scale_map.sip
+share/sip3.7/PyQt5/Qwt/qwt_scale_widget.sip
+share/sip3.7/PyQt5/Qwt/qwt_series_data.sip
+share/sip3.7/PyQt5/Qwt/qwt_series_store.sip
+share/sip3.7/PyQt5/Qwt/qwt_slider.sip
+share/sip3.7/PyQt5/Qwt/qwt_spline.sip
+share/sip3.7/PyQt5/Qwt/qwt_symbol.sip
+share/sip3.7/PyQt5/Qwt/qwt_text.sip
+share/sip3.7/PyQt5/Qwt/qwt_text_engine.sip
+share/sip3.7/PyQt5/Qwt/qwt_text_label.sip
+share/sip3.7/PyQt5/Qwt/qwt_thermo.sip
+share/sip3.7/PyQt5/Qwt/qwt_transform.sip
+share/sip3.7/PyQt5/Qwt/qwt_wheel.sip
diff --git a/py-qwt-qt5/TODO b/py-qwt-qt5/TODO
index c5ee91597e..e7a818ed4b 100644
--- a/py-qwt-qt5/TODO
+++ b/py-qwt-qt5/TODO
@@ -1,31 +1,12 @@
--- current problem  --
+Fails with clang:
 
-===> Installing for py37-qwt-qt5-1.02.00
-=> Generating pre-install file lists
-cd Qwt/ && ( test -e Makefile || /usr/pkg/qt5/bin/qmake -o Makefile /tmp/wip/py-qwt-qt5/work/PyQt-Qwt-pyqt-qwt-1.02.00/Qwt/Qwt.pro ) && /usr/bin/make -f Makefile install
-/usr/pkg/qt5/bin/qmake -install qinstall /tmp/wip/py-qwt-qt5/work/PyQt-Qwt-pyqt-qwt-1.02.00/Qwt/Qwt.so /tmp/wip/py-qwt-qt5/work/.destdir/usr/pkg/lib/python3.7/site-packages/PyQt5/Qwt.so
-mkdir: /usr/pkg/share/sip3.7/PyQt5/Qwt: Permission denied
-*** Error code 1
+> /tmp/pkgsrc-obj/wip/py-qwt-qt5/work/PyQt-Qwt-pyqt-qwt-1.02.00/Qwt/sipQwtQwtPowerTransform.cpp:231:65: error: object of type 'QwtPowerTransform' cannot be assigned because its copy assignment operator is implicitly deleted
+>    reinterpret_cast< ::QwtPowerTransform *>(sipDst)[sipDstIdx] = *reinterpret_cast< ::QwtPowerTransform *>(sipSrc);
+                                                                ^
+> /tmp/pkgsrc-obj/wip/py-qwt-qt5/work/.buildlink/qwt-6.1.4/include/qwt_transform.h:139:18: note: copy assignment operator of 'QwtPowerTransform' is implicitly deleted because field 'd_exponent' is of const-qualified type 'const double'
+>    const double d_exponent;
 
-
--- Previous Problem --
-
-
-/usr/pkg/bin/python3.7 mk_distinfo.py /tmp/wip/py-qwt-qt5/work/.destdir/usr/pkg/lib/python3.7/site-packages/Qwt-6.1.2.dist-info installed.txt
-Traceback (most recent call last):
-  File "mk_distinfo.py", line 101, in <module>
-    fn_f = open(fn, 'rb')
-FileNotFoundError: [Errno 2] No such file or directory: '/usr/pkg/lib/python3.7/site-packages/PyQt5/Qwt.so'
-*** Error code 1
-
-Stop.
-make: stopped in /tmp/wip/py-qwt-qt5/work/PyQt-Qwt-pyqt-qwt-1.02.00
-*** Error code 1
-
-Stop.
-make[1]: stopped in /export/CHROOT/usr/pkgsrc/wip/py-qwt-qt5
-*** Error code 1
-
-Stop.
-make: stopped in /export/CHROOT/usr/pkgsrc/wip/py-qwt-qt5
+Removing the const qualifier in the qwt6-qt5 package seems to solve it,
+but maybe it should do an element-wise copy instead of trying to
+use the copy operator?
 
diff --git a/py-qwt-qt5/distinfo b/py-qwt-qt5/distinfo
index 5c733a4939..51daa59a9b 100644
--- a/py-qwt-qt5/distinfo
+++ b/py-qwt-qt5/distinfo
@@ -4,4 +4,5 @@ SHA1 (pyqt-qwt-1.02.00.tar.gz) = d1c113c5c8ae504bfc479dafdad94a2e459ecf09
 RMD160 (pyqt-qwt-1.02.00.tar.gz) = a25d19cd71baf264b03c02ecd2c86dd4fb3b560c
 SHA512 (pyqt-qwt-1.02.00.tar.gz) = f2b54bd4097b726bcf4df897b910d49489efd2bc9d06d239037b0ecb7ed1420c76499e65b84a49efe2e8ba2313857ece92d8d50d157ccc38fda0cc0dac5ab178
 Size (pyqt-qwt-1.02.00.tar.gz) = 103588 bytes
+SHA1 (patch-mk__distinfo.py) = 0de0a5d946d5c9a97744a0cd26bf69e3bbf73b86
 SHA1 (patch-sip_qwt.sip) = f2491af157af22410ac78f1fb8bf05b332feb58e
diff --git a/py-qwt-qt5/patches/patch-mk__distinfo.py b/py-qwt-qt5/patches/patch-mk__distinfo.py
new file mode 100644
index 0000000000..965146a2c0
--- /dev/null
+++ b/py-qwt-qt5/patches/patch-mk__distinfo.py
@@ -0,0 +1,16 @@
+$NetBSD$
+
+Work around DESTDIR installation issue
+
+--- mk_distinfo.py.orig	2019-02-23 12:55:34.000000000 +0000
++++ mk_distinfo.py
+@@ -98,6 +98,9 @@ for name in installed:
+         else:
+             fn_name = fn
+ 
++        if (fn.startswith(sys.prefix)):
++            fn = os.environ.get("DESTDIR") + fn
++
+         fn_f = open(fn, 'rb')
+         data = fn_f.read()
+         fn_f.close()


Home | Main Index | Thread Index | Old Index