Skip to content

Commit

Permalink
adding easyconfigs: matplotlib-3.8.2-gfbf-2023b.eb, cppy-1.2.1-GCCcor…
Browse files Browse the repository at this point in the history
…e-13.2.0.eb, Pillow-10.2.0-GCCcore-13.2.0.eb, Qhull-2020.2-GCCcore-13.2.0.eb and patches: matplotlib-3.8.2-fix_setup.patch
  • Loading branch information
SimonPinches committed Jan 11, 2024
1 parent 04c30b8 commit 1edc5c9
Show file tree
Hide file tree
Showing 5 changed files with 209 additions and 0 deletions.
32 changes: 32 additions & 0 deletions easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
easyblock = 'PythonPackage'

name = 'cppy'
version = '1.2.1'

homepage = "https://github.com/nucleic/cppy"
description = """A small C++ header library which makes it easier to write
Python extension modules. The primary feature is a PyObject smart pointer
which automatically handles reference counting and provides convenience
methods for performing common object operations."""


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

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

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

sources = ['%(name)s-%(version)s.tar.gz']
patches = ['cppy-1.2.1-manual_version.patch']
checksums = [
{'cppy-1.2.1.tar.gz': '83b43bf17b1085ac15c5debdb42154f138b928234b21447358981f69d0d6fe1b'},
{'cppy-1.2.1-manual_version.patch': '048aa0a86fd2e99c6896443b07ec83eaa369724297f639ef74c65c404b8f288f'},
]

download_dep_fail = True
sanity_pip_check = True
use_pip = True

moduleclass = 'tools'
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Fix version (autoresolve fails)
S.D.Pinches, 10.01.2024
diff -Nru matplotlib-3.8.2-orig/setup.py matplotlib-3.8.2/setup.py
--- matplotlib-3.8.2-orig/setup.py 2023-11-17 20:55:51.000000000 +0100
+++ matplotlib-3.8.2/setup.py 2024-01-10 18:48:34.370649021 +0100
@@ -279,6 +279,7 @@
setup( # Finally, pass this all along to setuptools to do the heavy lifting.
name="matplotlib",
description="Python plotting package",
+ version="3.8.2",
author="John D. Hunter, Michael Droettboom",
author_email="matplotlib-users@python.org",
url="https://matplotlib.org",
82 changes: 82 additions & 0 deletions easybuild/easyconfigs/m/matplotlib/matplotlib-3.8.2-gfbf-2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
easyblock = 'PythonBundle'

name = 'matplotlib'
version = '3.8.2'

homepage = 'https://matplotlib.org'
description = """matplotlib is a python 2D plotting library which produces publication quality figures in a variety of
hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python
and ipython shell, web application servers, and six graphical user interface toolkits."""

toolchain = {'name': 'gfbf', 'version': '2023b'}

builddependencies = [
('pkgconf', '2.0.3'),
('cppy', '1.2.1'),
]

dependencies = [
('Python', '3.11.5'),
('SciPy-bundle', '2023.11'),
('libpng', '1.6.40'),
('freetype', '2.13.2'),
('Tkinter', '%(pyver)s'),
('Pillow', '10.2.0'),
('Qhull', '2020.2'),
('meson-python', '0.15.0'),
]

use_pip = True
sanity_pip_check = True

# avoid that matplotlib downloads and builds its own copies of freetype and qhull
_fix_setup = "sed -e 's/#system_freetype = False/system_freetype = True/g' "
_fix_setup += "-e 's/#system_qhull = False/system_qhull = True/g' mplsetup.cfg.template >mplsetup.cfg && "

_include_path = "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && "

local_preinstallopts = "sed -e 's/#system_freetype = False/system_freetype = True/g' -e "
local_preinstallopts += "'s/#system_qhull = False/system_qhull = True/g' mplsetup.cfg.template >mplsetup.cfg"
local_preinstallopts += "&& export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && "

exts_list = [
('fonttools', '4.47.0', {
'modulename': 'fontTools',
'source_tmpl': '%(name)s-%(version)s.tar.gz',
'checksums': ['ec13a10715eef0e031858c1c23bfaee6cba02b97558e4a7bfa089dba4a8c2ebf'],
}),
('Cycler', '0.12.1', {
'modulename': 'cycler',
'source_tmpl': 'cycler-%(version)s.tar.gz',
'checksums': ['88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c'],
}),
('kiwisolver', '1.4.5', {
'patches': ['kiwisolver-1.4.4-fix_version.patch'],
'checksums': [
{'kiwisolver-1.4.5.tar.gz': 'e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec'},
{'kiwisolver-1.4.4-fix_version.patch': '6753afbb3a88856493fcfa0b33989f35742f57bfd41ff3b7f71a98797e1bfbd0'},
],
}),
('contourpy', '1.2.0', {
'checksums': ['171f311cb758de7da13fc53af221ae47a5877be5a0843a9fe150818c51ed276a'],
}),
(name, version, {
'patches': ['matplotlib-3.8.2-fix_setup.patch'],
'preinstallopts': "sed -e 's/#system_freetype = False/system_freetype = True/g' -e 's/#system_qhull = False/system_qhull = True/g' mplsetup.cfg.template >mplsetup.cfg&& export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && ",
'checksums': [
{'matplotlib-3.8.2.tar.gz': '01a978b871b881ee76017152f1f1a0cbf6bd5f7b8ff8c96df0df1bd57d8755a1'},
{'matplotlib-3.8.2-fix_setup.patch': '16e1610aec49af402e324e0b71c69d6b7ae106732088318e727b48282492a932'},
],
}),
]

sanity_check_commands = [
"""python -c 'import matplotlib; matplotlib.use("Agg"); import matplotlib.pyplot' """,
"python -c 'from mpl_toolkits.mplot3d import Axes3D'",
]

# use non-interactive plotting backend as default
# see https://matplotlib.org/tutorials/introductory/usage.html#what-is-a-backend
modextravars = {'MPLBACKEND': 'Agg'}

moduleclass = 'vis'
42 changes: 42 additions & 0 deletions easybuild/easyconfigs/p/Pillow/Pillow-10.2.0-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
easyblock = 'PythonPackage'

name = 'Pillow'
version = '10.2.0'

homepage = 'https://pillow.readthedocs.org/'
description = """Pillow is the 'friendly PIL fork' by Alex Clark and Contributors.
PIL is the Python Imaging Library by Fredrik Lundh and Contributors."""

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

sources = [SOURCELOWER_TAR_GZ]
checksums = ['e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e']

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

dependencies = [
('Python', '3.11.5'),
('libjpeg-turbo', '3.0.1'),
('libpng', '1.6.40'),
('zlib', '1.2.13'),
('LibTIFF', '4.6.0'),
('freetype', '2.13.2')
]

download_dep_fail = True

# patch setup.py to prefix hardcoded /usr/* and /lib paths with value of %(sysroot) template
# (which will be empty if EasyBuild is not configured to use an alternate sysroot);
# see also https://gitlab.com/eessi/support/-/issues/9
preinstallopts = """sed -i 's@"/usr/@"%(sysroot)s/usr/@g' setup.py && """
preinstallopts += """sed -i 's@"/lib@"%(sysroot)s/lib@g' setup.py && """

# avoid that hardcoded paths like /usr/include are used in build commands
installopts = "--global-option=build_ext --global-option='--disable-platform-guessing' "

use_pip = True
sanity_pip_check = True

options = {'modulename': 'PIL'}

moduleclass = 'vis'
40 changes: 40 additions & 0 deletions easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
easyblock = 'CMakeMake'

name = 'Qhull'
version = '2020.2'

homepage = 'http://www.qhull.org'

description = """
Qhull computes the convex hull, Delaunay triangulation, Voronoi diagram,
halfspace intersection about a point, furthest-site Delaunay triangulation,
and furthest-site Voronoi diagram. The source code runs in 2-d, 3-d, 4-d, and
higher dimensions. Qhull implements the Quickhull algorithm for computing the
convex hull.
"""

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
toolchainopts = {'pic': True}

source_urls = ['http://www.qhull.org/download/']
sources = ['%(namelower)s-%(version_major)s-src-8.0.2.tgz']
checksums = ['b5c2d7eb833278881b952c8a52d20179eab87766b00b865000469a45c1838b7e']

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

sanity_check_paths = {
'files': ['bin/qhull', 'lib/libqhull_r.%s' % SHLIB_EXT,
'lib/pkgconfig/qhull_r.pc'],
'dirs': [],
}

modextrapaths = {
'CPATH': ['qhull/include'],
}

parallel = 1

moduleclass = 'math'

0 comments on commit 1edc5c9

Please sign in to comment.