From db5ff434c970515de257cb0e13fc7b17c5aab81f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Wed, 2 Jun 2021 14:28:41 +0700 Subject: [PATCH 1/2] qscintilla-qt5: update to 2.12.1. --- .../patches/configure.py-objdir-support.patch | 42 --------------- srcpkgs/qscintilla-qt5/template | 51 +++++++++++++++++-- srcpkgs/qscintilla-qt5/update | 3 +- 3 files changed, 47 insertions(+), 49 deletions(-) delete mode 100644 srcpkgs/qscintilla-qt5/patches/configure.py-objdir-support.patch diff --git a/srcpkgs/qscintilla-qt5/patches/configure.py-objdir-support.patch b/srcpkgs/qscintilla-qt5/patches/configure.py-objdir-support.patch deleted file mode 100644 index 774e4eb5a863..000000000000 --- a/srcpkgs/qscintilla-qt5/patches/configure.py-objdir-support.patch +++ /dev/null @@ -1,42 +0,0 @@ -02_configure.dpatch by Torsten Marek -Updated for Qscintilla 2.8.2 configure.py changes by Scott Kitterman - -patch the configure script for the Python bindings to support object dir -builds -Index: Python/configure.py -=================================================================== ---- a/Python/configure.py 2014-07-05 10:02:02.318834374 -0400 -+++ b/Python/configure.py 2014-07-05 10:02:02.306834375 -0400 -@@ -31,6 +31,8 @@ - import optparse - import sys - -+src_dir = os.path.dirname(os.path.abspath(__file__)) -+ - - ############################################################################### - # You shouldn't need to modify anything above this line. -@@ -210,6 +212,8 @@ - "The QScintilla version number could not be determined by " - "reading %s." % sciglobal) - -+ return # Debian: do not check for the installed version, we're good this way. -+ - lib_dir = target_configuration.qsci_lib_dir - if lib_dir is None: - lib_dir = target_configuration.qt_lib_dir -@@ -264,7 +268,12 @@ - the target configuration. - """ - -- return 'sip/qscimod5.sip' if target_configuration.pyqt_package == 'PyQt5' else 'sip/qscimod4.sip' -+ if target_configuration.pyqt_package == 'PyQt5': -+ return os.path.join(src_dir, 'sip/qscimod5.sip') -+ else: -+ return os.path.join(src_dir, 'sip/qscimod4.sip') -+ -+ #return 'sip/qscimod5.sip' if target_configuration.pyqt_package == 'PyQt5' else 'sip/qscimod4.sip' - - def get_sip_installs(self, target_configuration): - """ Return a tuple of the installation directory of the module's .sip - diff --git a/srcpkgs/qscintilla-qt5/template b/srcpkgs/qscintilla-qt5/template index 1700d195898f..55eb29df3b0e 100644 --- a/srcpkgs/qscintilla-qt5/template +++ b/srcpkgs/qscintilla-qt5/template @@ -1,17 +1,58 @@ # Template file for 'qscintilla-qt5' +# XXX keep in sync with python3-pyqt5-qscintilla pkgname=qscintilla-qt5 -version=2.11.2 +version=2.12.1 revision=1 -build_wrksrc=Qt4Qt5 +build_wrksrc=src build_style=qmake hostmakedepends="qt5-qmake qt5-host-tools" -makedepends="qt5-devel" +makedepends="qt5-devel qt5-tools-devel" short_desc="Qt5 port of Neil Hodgson's Scintilla C++ editor class" maintainer="Pierre Allegraud " license="GPL-3.0-only" homepage="https://www.riverbankcomputing.com/software/qscintilla/intro" -distfiles="https://www.riverbankcomputing.com/static/Downloads/QScintilla/${version}/QScintilla_gpl-${version}.tar.gz" -checksum=029bdc476a069fda2cea3cd937ba19cc7fa614fb90578caef98ed703b658f4a1 +distfiles="https://www.riverbankcomputing.com/static/Downloads/QScintilla/${version}/QScintilla_src-${version}.tar.gz" +checksum=a7331c44b5d7320cbf58cb2382c38857e9e9f4fa52c405bd7776c8b6649836c2 + +post_configure() { + local _qt_arch + local qmake_args + if [ "$CROSS_BUILD" ]; then + case $XBPS_TARGET_MACHINE in + i686*) _qt_arch=i386;; + x86_64*) _qt_arch=x86_64;; + aarch64*) _qt_arch=arm64;; + arm*) _qt_arch=arm;; + mips*) _qt_arch=mips;; + ppc64*) _qt_arch=power64;; + ppc*) _qt_arch=power;; + esac + qmake_args="-qtconf ${wrksrc}/qt.conf + PKG_CONFIG_EXECUTABLE=${XBPS_WRAPPERDIR}/${PKG_CONFIG}" + fi + cd ../designer + /usr/lib/qt5/bin/qmake \ + ${qmake_args} \ + PREFIX=/usr \ + QT_INSTALL_PREFIX=/usr \ + LIB=/usr/lib \ + QMAKE_CC=$CC QMAKE_CXX=$CXX \ + QMAKE_LINK=$CXX QMAKE_LINK_C=$CC \ + QMAKE_CFLAGS="${CFLAGS} -I$wrksrc/src" \ + QMAKE_CXXFLAGS="${CXXFLAGS} -I$wrksrc/src" \ + QMAKE_LFLAGS="${LDFLAGS}" \ + ${_qt_arch:+"QT_TARGET_ARCH=$_qt_arch"} \ + CONFIG+=no_qt_rpath +} + +post_build() { + make -C ../designer ${makejobs} CC="$CC" CXX="$CXX" LINK="$CXX" +} + +post_install() { + make -C ../designer STRIP=true PREFIX=/usr DESTDIR=${DESTDIR} \ + INSTALL_ROOT=${DESTDIR} install +} qscintilla-qt5-devel_package() { short_desc+=" - development files" diff --git a/srcpkgs/qscintilla-qt5/update b/srcpkgs/qscintilla-qt5/update index 4c5ed097b260..8ddafc0f70ad 100644 --- a/srcpkgs/qscintilla-qt5/update +++ b/srcpkgs/qscintilla-qt5/update @@ -1,3 +1,2 @@ site="https://www.riverbankcomputing.com/software/qscintilla/download" -pkgname=QScintilla_gpl -ignore="*dev*" +pattern='QScintilla[_a-zA-Z]*-\K[\d.]+(?=.tar.gz)' From aed51c1e1372a7fc2a39edd60523253ad9500120 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Sun, 6 Jun 2021 21:35:40 +0700 Subject: [PATCH 2/2] New package: python3-pyqt5-qsci-2.12.1 --- srcpkgs/python3-pyqt5-qsci-devel | 1 + .../python3-pyqt5-qsci/patches/cross.patch | 20 ++++++++++ srcpkgs/python3-pyqt5-qsci/template | 40 +++++++++++++++++++ srcpkgs/python3-pyqt5-qsci/update | 2 + 4 files changed, 63 insertions(+) create mode 120000 srcpkgs/python3-pyqt5-qsci-devel create mode 100644 srcpkgs/python3-pyqt5-qsci/patches/cross.patch create mode 100644 srcpkgs/python3-pyqt5-qsci/template create mode 100644 srcpkgs/python3-pyqt5-qsci/update diff --git a/srcpkgs/python3-pyqt5-qsci-devel b/srcpkgs/python3-pyqt5-qsci-devel new file mode 120000 index 000000000000..2ded1bc41fb7 --- /dev/null +++ b/srcpkgs/python3-pyqt5-qsci-devel @@ -0,0 +1 @@ +python3-pyqt5-qsci \ No newline at end of file diff --git a/srcpkgs/python3-pyqt5-qsci/patches/cross.patch b/srcpkgs/python3-pyqt5-qsci/patches/cross.patch new file mode 100644 index 000000000000..e69b09225d0b --- /dev/null +++ b/srcpkgs/python3-pyqt5-qsci/patches/cross.patch @@ -0,0 +1,20 @@ +Index: QScintilla_src-2.12.1/Python/project.py +=================================================================== +--- QScintilla_src-2.12.1.orig/Python/project.py ++++ QScintilla_src-2.12.1/Python/project.py +@@ -41,6 +41,15 @@ class QScintilla(PyQtProject): + # static or dynamic). + self.qsci_external_lib = not os.path.isdir('src') + ++ def run_command(self, args, *, fatal=True): ++ """ Run a command and display the output if requested. """ ++ qemu_machine = os.environ.get("XBPS_TARGET_QEMU_MACHINE") ++ builddir = os.environ.get("XBPS_BUILDDIR") ++ if qemu_machine and args[0].startswith(os.path.join(builddir, "QScintilla")): ++ qemu = "qemu-{}-static".format(qemu_machine) ++ args.insert(0, qemu) ++ super().run_command(args, fatal=fatal) ++ + def apply_user_defaults(self, tool): + """ Set default values for user options that haven't been set yet. """ + diff --git a/srcpkgs/python3-pyqt5-qsci/template b/srcpkgs/python3-pyqt5-qsci/template new file mode 100644 index 000000000000..f7b547a98b06 --- /dev/null +++ b/srcpkgs/python3-pyqt5-qsci/template @@ -0,0 +1,40 @@ +# Template file for 'python3-pyqt5-qsci' +# XXX Keep in sync with qscintilla-qt5 +# Splited because of circular dependencies +# qscintilla-qt5 -> PyQt5 -> pyqt5-qsci +pkgname=python3-pyqt5-qsci +version=2.12.1 +revision=1 +wrksrc=QScintilla_src-$version +build_wrksrc=Python +build_style=sip-build +build_helper=qemu +hostmakedepends="qt5-qmake qt5-host-tools python3-PyQt5-devel + python3-PyQt-builder pkg-config" +makedepends="qscintilla-qt5-devel python3-PyQt5-devel qt5-devel python3-devel" +depends="python3-PyQt5" +short_desc="Qt5 port of Scintilla editor - Python 3 binding" +maintainer="Đoàn Trần Công Danh " +license="GPL-3.0-only" +homepage="https://www.riverbankcomputing.com/software/qscintilla/intro" +distfiles="https://www.riverbankcomputing.com/static/Downloads/QScintilla/${version}/QScintilla_src-${version}.tar.gz" +checksum=a7331c44b5d7320cbf58cb2382c38857e9e9f4fa52c405bd7776c8b6649836c2 +lib32disabled=yes + +CXXFLAGS="$(printf " -I$XBPS_CROSS_BASE/usr/include/qt5/%s" \ + QtWidgets QtPrintSupport)" + +post_extract() { + rm -rf src + ln -sf pyproject-qt5.toml Python/pyproject.toml +} + +python3-pyqt5-qsci-devel_package() { + short_desc+=" - development files" + depends="${makedepends} ${sourcepkg}>=${version}_${revision}" + lib32disabled=yes + pkg_install() { + vmove ${py3_sitelib}/PyQt5/bindings + vmove usr/share/qt5/qsci/api + } +} diff --git a/srcpkgs/python3-pyqt5-qsci/update b/srcpkgs/python3-pyqt5-qsci/update new file mode 100644 index 000000000000..8ddafc0f70ad --- /dev/null +++ b/srcpkgs/python3-pyqt5-qsci/update @@ -0,0 +1,2 @@ +site="https://www.riverbankcomputing.com/software/qscintilla/download" +pattern='QScintilla[_a-zA-Z]*-\K[\d.]+(?=.tar.gz)'