Skip to content

Commit

Permalink
#431 ec for deps + working PyQt5
Browse files Browse the repository at this point in the history
  • Loading branch information
pavelToman committed Oct 11, 2024
1 parent a458585 commit 39d4a29
Show file tree
Hide file tree
Showing 8 changed files with 1,933 additions and 6 deletions.
37 changes: 37 additions & 0 deletions 431_Spyder/PyQt-builder_2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/01
easyblock = 'PythonBundle'

name = 'PyQt-builder'
version = '1.16.4'

homepage = 'https://github.com/Python-PyQt/PyQt-builder'
description = """PyQt-builder is the PEP 517 compliant build system for PyQt and projects that
extend PyQt. It extends the SIP build system and uses Qt’s qmake to perform the
actual compilation and installation of extension modules.
"""

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}

builddependencies = [('binutils', '2.40')]
dependencies = [
('Python', '3.11.5'),
('SIP', '6.8.3'),
]


exts_list = [
('pyqt_builder', version, {
'modulename': 'pyqtbuild',
'checksums': ['4515e41ae379be2e54f88a89ecf47cd6e4cac43e862c4abfde18389c2666afdf'],
}),
]

use_pip = True
sanity_pip_check = True

sanity_check_paths = {
'files': [],
'dirs': ['lib/python%(pyshortver)s/'],
}

moduleclass = 'lang'
29 changes: 29 additions & 0 deletions 431_Spyder/QtPy_2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
easyblock = 'PythonPackage'

name = 'QtPy'
version = '2.4.1'

homepage = "https://github.com/spyder-ide/qtpy"
description = """QtPy is a small abstraction layer that lets you write applications using a single API call to
either PyQt or PySide. It provides support for PyQt5, PyQt4, PySide2 and PySide."""

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}

sources = [SOURCE_TAR_GZ]
checksums = ['a5a15ffd519550a1361bdc56ffc07fda56a6af7292f17c7b395d4083af632987']

builddependencies = [
('binutils', '2.40'),
]

dependencies = [
('Python', '3.11.5'),
('PyQt5', '5.15.10'),
('Python-bundle-PyPI', '2023.10'),
]

use_pip = True
download_dep_fail = True
sanity_pip_check = True

moduleclass = 'vis'
1,629 changes: 1,629 additions & 0 deletions 431_Spyder/log1.txt

Large diffs are not rendered by default.

47 changes: 47 additions & 0 deletions 431_Spyder/log1a.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# output for command: export PATH=/scratch/gent/vo/001/gvo00117/easybuild/RHEL8/cascadelake-ampere-ib/software/PyQt5/5.15.11-GCCcore-13.2.0/bin:$PATH && export PYTHONPATH=/scratch/gent/vo/001/gvo00117/easybuild/RHEL8/cascadelake-ampere-ib/software/PyQt5/5.15.11-GCCcore-13.2.0/lib/python3.11/site-packages:$PYTHONPATH && sip-build --confirm-license --no-designer-plugin --no-qml-plugin --no-dbus-python --no-make --jobs 8 --qmake-setting 'QMAKE_CXXFLAGS+=$$(CFLAGS)' --qmake-setting 'QMAKE_CFLAGS+=$$(CFLAGS)' --qmake-setting 'QMAKE_LFLAGS+=$$(LDFLAGS)' --api-dir /scratch/gent/vo/001/gvo00117/easybuild/RHEL8/cascadelake-ampere-ib/software/PyQt5/5.15.11-GCCcore-13.2.0/qsci --scripts-dir /scratch/gent/vo/001/gvo00117/easybuild/RHEL8/cascadelake-ampere-ib/software/PyQt5/5.15.11-GCCcore-13.2.0/bin --target-dir /scratch/gent/vo/001/gvo00117/easybuild/RHEL8/cascadelake-ampere-ib/software/PyQt5/5.15.11-GCCcore-13.2.0/lib/python3.11/site-packages

Querying qmake about your Qt installation...
This is the GPL version of PyQt 5.15.11 (licensed under the GNU General Public License) for Python 3.11.5 on linux.
Found the license file 'pyqt-gpl.sip'.
Checking to see if the QtCore bindings can be built...
Checking to see if the QtNetwork bindings can be built...
Checking to see if the QtGui bindings can be built...
Checking to see if the QtWidgets bindings can be built...
Checking to see if the QtQml bindings can be built...
Checking to see if the QAxContainer bindings can be built...
Checking to see if the QtAndroidExtras bindings can be built...
Checking to see if the QtBluetooth bindings can be built...
Checking to see if the QtDBus bindings can be built...
Checking to see if the QtDesigner bindings can be built...
Checking to see if the Enginio bindings can be built...
Checking to see if the QtHelp bindings can be built...
Checking to see if the QtMacExtras bindings can be built...
Checking to see if the QtMultimedia bindings can be built...
Checking to see if the QtMultimediaWidgets bindings can be built...
Checking to see if the QtNfc bindings can be built...
Checking to see if the QtOpenGL bindings can be built...
Checking to see if the QtPositioning bindings can be built...
Checking to see if the QtLocation bindings can be built...
Checking to see if the QtPrintSupport bindings can be built...
Checking to see if the QtQuick bindings can be built...
Checking to see if the QtQuick3D bindings can be built...
Checking to see if the QtQuickWidgets bindings can be built...
Checking to see if the QtRemoteObjects bindings can be built...
Checking to see if the QtSensors bindings can be built...
Checking to see if the QtSerialPort bindings can be built...
Checking to see if the QtSql bindings can be built...
Checking to see if the QtSvg bindings can be built...
Checking to see if the QtTest bindings can be built...
Checking to see if the QtTextToSpeech bindings can be built...
Checking to see if the QtWebChannel bindings can be built...
Checking to see if the QtWebKit bindings can be built...
Checking to see if the QtWebKitWidgets bindings can be built...
Checking to see if the QtWebSockets bindings can be built...
Checking to see if the QtWinExtras bindings can be built...
Checking to see if the QtX11Extras bindings can be built...
Checking to see if the QtXml bindings can be built...
Checking to see if the QtXmlPatterns bindings can be built...
Checking to see if the _QOpenGLFunctions_2_0 bindings can be built...
Checking to see if the _QOpenGLFunctions_2_1 bindings can be built...
Checking to see if the _QOpenGLFunctions_4_1_Core bindings can be built...
sip-build: '12.15' is not a supported ABI version
121 changes: 121 additions & 0 deletions 431_Spyder/pyqt5_2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
easyblock = 'PythonBundle'

name = 'PyQt5'
version = '5.15.10'

homepage = 'https://www.riverbankcomputing.com/software/pyqt'
description = """PyQt5 is a set of Python bindings for v5 of the Qt application framework from The Qt Company.
This bundle includes PyQtWebEngine, a set of Python bindings for The Qt Company’s Qt WebEngine framework."""

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
toolchainopts = {'cstd': 'c++11'}

builddependencies = [
('binutils', '2.40'),
('PyQt-builder', '1.16.4'),
]
dependencies = [
('Python', '3.11.5'),
('Qt5', '5.15.13'),
]
local_sipdir = '%(installdir)s/share/sip'

local_pylibdir = '%(installdir)s/lib/python%(pyshortver)s/site-packages'

local_setup_env = "export PATH=%(installdir)s/bin:$PATH && "
local_setup_env += "export PYTHONPATH=%s:$PYTHONPATH && " % local_pylibdir


local_sip_configopts_common = [
"--no-make",
"--jobs %(parallel)s",
"--qmake-setting 'QMAKE_CXXFLAGS+=$$(CFLAGS)'",
"--qmake-setting 'QMAKE_CFLAGS+=$$(CFLAGS)'",
"--qmake-setting 'QMAKE_LFLAGS+=$$(LDFLAGS)'",
"--api-dir %(installdir)s/qsci",
"--scripts-dir %(installdir)s/bin",
"--target-dir %s" % local_pylibdir,
]

local_pyqt5_configopts = [
"--confirm-license",
"--no-designer-plugin",
"--no-qml-plugin",
] + local_sip_configopts_common

local_pyqtwebengine_configopts = local_sip_configopts_common
default_easyblock = 'PythonPackage'

components = [
('%s_sip' % name, '12.13.0', {
'source_urls': [PYPI_SOURCE],
'sources': [SOURCE_TAR_GZ],
'start_dir': '%(name)s-%(version)s',
'use_pip': True,
'checksums': ['7f321daf84b9c9dbca61b80e1ef37bdaffc0e93312edae2cd7da25b953971d91'],
}),
(name, version, {
'source_urls': [PYPI_SOURCE],
'sources': [SOURCE_TAR_GZ],
'easyblock': 'ConfigureMake',
'configure_cmd': 'sip-build',
'start_dir': '%(name)s-%(version)s',
'configure_without_installdir': True,
'preconfigopts': local_setup_env,
'configopts': ' '.join(local_pyqt5_configopts),
'prebuildopts': local_setup_env + "cd build && ",
'preinstallopts': "cd build && ",
'checksums': ['d46b7804b1b10a4ff91753f8113e5b5580d2b4462f3226288e2d84497334898a'],
}),
('PyQtWebEngine', '5.15.7', {
'source_urls': [PYPI_SOURCE],
'sources': [SOURCE_TAR_GZ],
'easyblock': 'ConfigureMake',
'configure_cmd': 'sip-build',
'start_dir': '%(name)s-%(version)s',
'configure_without_installdir': True,
'preconfigopts': local_setup_env,
'configopts': ' '.join(local_pyqtwebengine_configopts),
'prebuildopts': local_setup_env + "cd build && ",
'preinstallopts': "cd build && ",
'checksums': ['f121ac6e4a2f96ac289619bcfc37f64e68362f24a346553f5d6c42efa4228a4d'],
})
]

postinstallcmds = [
'mkdir %(installdir)s/share',
'ln -s --relative %s/%%(name)s/bindings %s' % (local_pylibdir, local_sipdir)
]

sanity_check_paths = {
'files': ['bin/%s' % x for x in [
'pyrcc5', 'pyuic5', 'pylupdate5']],
'dirs': ['lib/python%(pyshortver)s/site-packages', 'qsci'],
}

use_pip = True

sanity_pip_check = True

sanity_check_commands = [
"python -c 'import %(name)s.QtCore'",
"python -c 'import %(name)s.QtWebEngineWidgets'",
"pyuic5 --help",
"pylupdate5 -version 2>&1 | grep 'pylupdate5 v%(version)s'",
"pyrcc5 -version 2>&1 | grep 'pyrcc5 v%(version)s'",
]

modextrapaths = {
'QT_INSTALL_DATA': 'qsci',
}

moduleclass = 'vis'

# E1: OK
# OK The dbus-python package does not seem to be installed. -> --no-dbus-python
# sip-build: '12.15' is not a supported ABI version -> change to v12.13 -> still same error
# cmd: export PATH=/scratch/gent/vo/001/gvo00117/easybuild/RHEL8/cascadelake-ampere-ib/software/PyQt5/5.15.11-GCCcore-13.2.0/bin:$PATH &&
# export PYTHONPATH=/scratch/gent/vo/001/gvo00117/easybuild/RHEL8/cascadelake-ampere-ib/software/PyQt5/5.15.11-GCCcore-13.2.0/lib/python3.11/site-packages:$PYTHONPATH &&
# sip-build --confirm-license --no-designer-plugin --no-qml-plugin --no-dbus-python --no-make --jobs 8 --qmake-setting 'QMAKE_CXXFLAGS+=$$(CFLAGS)' --qmake-setting 'QMAKE_CFLAGS+=$$(CFLAGS)' --qmake-setting 'QMAKE_LFLAGS+=$$(LDFLAGS)' --api-dir /scratch/gent/vo/001/gvo00117/easybuild/RHEL8/cascadelake-ampere-ib/software/PyQt5/5.15.11-GCCcore-13.2.0/qsci --scripts-dir /scratch/gent/vo/001/gvo00117/easybuild/RHEL8/cascadelake-ampere-ib/software/PyQt5/5.15.11-GCCcore-13.2.0/bin --target-dir /scratch/gent/vo/001/gvo00117/easybuild/RHEL8/cascadelake-ampere-ib/software/PyQt5/5.15.11-GCCcore-13.2.0/lib/python3.11/site-packages
# -> log1.txt + log1a.txt
# -> go for PyQt5 5.15.10 (not 5.15.11)
32 changes: 32 additions & 0 deletions 431_Spyder/qtconsole_2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
easyblock = 'PythonPackage'

name = 'Qtconsole'
version = '5.6.0'

homepage = 'https://jupyter.org/'
description = """A rich Qt-based console for working with Jupyter kernels, supporting rich media
output, session export, and more.
The Qtconsole is a very lightweight application that largely feels like a
terminal, but provides a number of enhancements only possible in a GUI, such as
inline figures, proper multiline editing with syntax highlighting, graphical
calltips, and more."""

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}

sources = [SOURCELOWER_TAR_GZ]
checksums = ['4c82120a3b53a3d36e3f76e6a1a26ffddf4e1ce2359d56a19889c55e1d73a436']

builddependencies = [('binutils', '2.40')]

dependencies = [
('Python', '3.11.5'),
('IPython', '8.17.2'),
('QtPy', '2.4.1'),
('Jupyter-bundle', '20240522'),
]

use_pip = True
download_dep_fail = True
sanity_pip_check = True

moduleclass = 'vis'
28 changes: 28 additions & 0 deletions 431_Spyder/rtree_2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
easyblock = 'PythonPackage'

name = 'Rtree'
version = '1.2.0'

homepage = 'https://toblerity.org/rtree/'
description = """Rtree is a ctypes Python wrapper of libspatialindex that provides a number of advanced spatial
indexing features for the spatially curious Python user."""

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}

sources = [SOURCE_TAR_GZ]
checksums = ['f5145f7852bf7f95c126fb16bf1a4c2ca9300ae151b07f8a0f7083ea47912675']

builddependencies = [
('binutils', '2.40'),
]

dependencies = [
('Python', '3.11.5'),
('libspatialindex', '1.9.3'),
]

use_pip = True
sanity_pip_check = True
download_dep_fail = True

moduleclass = 'data'
16 changes: 10 additions & 6 deletions 431_Spyder/spyder_2023b.eb
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ toolchain = {'name': 'foss', 'version': '2023b'}
# 'intervaltree>=3.0.2', OK pypi bundle
# 'ipython>=8.13.0,<9.0.0,!=8.17.1; python_version>"3.8"', OK
# 'jedi>=0.17.2,<0.20.0', OK
# 'jellyfish>=0.7', NO -> CREATE (Qt5 ok)
# 'jellyfish>=0.7', ok? -> seems as py jellyfish -> get from pypi not update EC from EB
# 'jsonschema>=3.2.0', OK pypi bundle
# 'keyring>=17.0.0', OK pypi bundle
# 'nbconvert>=4.0', OK jupyter-server
Expand All @@ -37,8 +37,8 @@ toolchain = {'name': 'foss', 'version': '2023b'}
# 'pylint>=3.1,<4', OK
# 'pylint-venv>=3.0.2', ok
# 'pyls-spyder>=0.4.0', ok
# 'pyqt5>=5.15,<5.16', NO -> CREATE
# 'pyqtwebengine>=5.15,<5.16', no - will be in pyqt5
# 'pyqt5>=5.15,<5.16', OK -> CREATED
# 'pyqtwebengine>=5.15,<5.16', ok - will be in pyqt5
# 'python-lsp-black>=2.0.0,<3.0.0', ok
# 'python-lsp-server[all]>=1.12.0,<1.13.0', ok
# 'pyuca>=1.2', ok
Expand All @@ -47,9 +47,9 @@ toolchain = {'name': 'foss', 'version': '2023b'}
# 'qdarkstyle>=3.2.0,<3.3.0', ok
# 'qstylizer>=0.2.2', ok
# 'qtawesome>=1.3.1,<1.4.0', ok
# 'qtconsole>=5.6.0,<5.7.0', NO -> CREATE
# 'qtpy>=2.4.0', NO - should be in qtconsole
# 'rtree>=0.9.7', NO -> CREATE
# 'qtconsole>=5.6.0,<5.7.0', OK -> CREATED
# 'qtpy>=2.4.0', OK - should be in qtconsole
# 'rtree>=0.9.7', OK -> CREATED
# 'setuptools>=49.6.0', OK python
# 'sphinx>=0.6.6', OK pypi bundle
# 'spyder-kernels>=3.0.0,<3.2.0', ok
Expand Down Expand Up @@ -88,6 +88,9 @@ dependencies = [
('jupyter-server', '2.14.0'),
('Pylint', '3.2.5'),
('PyZMQ', '25.1.2'),
('PyQt5', '5.15.10'),
('Qtconsole', '5.6.0'),
('Rtree', '1.2.0'),
]

use_pip = True
Expand Down Expand Up @@ -133,6 +136,7 @@ exts_list = [
('textdistance', '4.6.3'),
('three-merge', '0.1.1'),
('watchdog', '5.0.3'),
('jellyfish', '1.1.0'),
(name, version),
]

Expand Down

0 comments on commit 39d4a29

Please sign in to comment.