Commit 78412d77 authored by Stepan Nassyr's avatar Stepan Nassyr
Browse files

Add Dask and WIP ray

parent c754a44a
# Deepmind tree
easyblock = 'PythonPackage'
name = 'absl-py'
version = '1.0.0'
versionsuffix = '-Python-%(pyver)s'
homepage = 'https://github.com/abseil/abseil-py'
description = """Abseil python common libraries"""
toolchain = {'name': 'GCCcore', 'version': '11.1.0'}
sources = [SOURCELOWER_TAR_GZ]
checksums = ['ac511215c01ee9ae47b19716599e8ccfa746f2e18de72bdf641b79b22afa27ea']
builddependencies = [
('binutils', '2.36.1'),
('CMake', '3.20.0'),
('Bazel', '3.7.2'),
]
dependencies = [
('Python', '3.9.4'),
('abseil-cpp', '20210324.1'),
]
download_dep_fail = True
use_pip = True
sanity_pip_check = True
options = {'modulename': 'absl'}
moduleclass = 'lib'
From cd3c41eb5a29ca475b7bafc42aa71e94363d46df Mon Sep 17 00:00:00 2001
From: Alexander Grund <alexander.grund@tu-dresden.de>
Date: Tue, 28 Jul 2020 19:51:13 +0200
Subject: [PATCH] Fix environment for protobuf compilation in grpc
Add use_default_shell_env = True to protoc invocation for grpc to mirror
what the protobuf cc_proto_library & co are doing
Fixes a failure in invocing protoc when it is build in a non-default
environment (e.g. with a custom LD_LIBRARY_PATH)
Fixes #11852, fixes #11855
---
third_party/grpc/bazel/generate_cc.bzl | 1 +
1 file changed, 1 insertion(+)
diff --git a/third_party/grpc/bazel/generate_cc.bzl b/third_party/grpc/bazel/generate_cc.bzl
index 38a5b460f90..d5a4e27bc88 100644
--- a/third_party/grpc/bazel/generate_cc.bzl
+++ b/third_party/grpc/bazel/generate_cc.bzl
@@ -123,6 +123,7 @@ def generate_cc_impl(ctx):
outputs = out_files,
executable = ctx.executable.protoc,
arguments = arguments,
+ use_default_shell_env = True,
)
return struct(files = depset(out_files))
diff --git a/third_party/protobuf/3.13.0.patch b/third_party/protobuf/3.13.0.patch
index bde8684b82..3336ef4024 100644
--- a/third_party/protobuf/3.13.0.patch
+++ b/third_party/protobuf/3.13.0.patch
@@ -38,3 +38,15 @@ index cfdb28e2e..3705fdbe3 100644
+ "@io_bazel//third_party:gson",
],
)
+diff --git a/protobuf.bzl b/protobuf.bzl
+index 050eafc54..12d3edb94 100644
+--- a/protobuf.bzl
++++ b/protobuf.bzl
+@@ -352,6 +352,7 @@ def _internal_gen_well_known_protos_java_impl(ctx):
+ inputs = descriptors,
+ outputs = [srcjar],
+ arguments = [args],
++ use_default_shell_env = True,
+ )
+
+ return [
name = 'Bazel'
version = '3.7.2'
homepage = 'https://bazel.io/'
description = """Bazel is a build tool that builds code quickly and reliably.
It is used to build the majority of Google's software."""
toolchain = {'name': 'GCCcore', 'version': '11.1.0'}
source_urls = ['https://github.com/bazelbuild/%(namelower)s/releases/download/%(version)s']
sources = ['%(namelower)s-%(version)s-dist.zip']
patches = [
'Bazel-3.4.1-fix-grpc-protoc.patch',
'Bazel-3.7.1_fix-protobuf-env.patch',
'Bazel-3.7.2_fix-GCC-11.patch',
'Bazel-3.7.2_fix-Java-15.patch',
]
checksums = [
'de255bb42163a915312df9f4b86e5b874b46d9e8d4b72604b5123c3a845ed9b1', # bazel-3.7.2-dist.zip
'f87ad8ad6922fd9c974381ea22b7b0e6502ccad5e532145f179b80d5599e24ac', # Bazel-3.4.1-fix-grpc-protoc.patch
'8706ecc99b658e0a96c38dc2c23e44da35059b85f308602aac76a6d6680376e7', # Bazel-3.7.1_fix-protobuf-env.patch
'7fd5846f2ed1f27af9528a900f284f95ad982f3e7d486264c3bdee890a9c22fb', # Bazel-3.7.2_fix-GCC-11.patch
'28f394f561824abf562556877483bc443dfd3ee0c7cba48a56e22670258669e7', # Bazel-3.7.2_fix-Java-15.patch
]
builddependencies = [
('binutils', '2.36.1'),
('Python', '3.9.4'),
('Zip', '3.0'),
]
dependencies = [('Java', '11.0.10', '', True)]
runtest = True
testopts = "-- //examples/cpp:hello-success_test //examples/py/... //examples/py_native:test //examples/shell/..."
moduleclass = 'devel'
add missing include statements to fix compilation with GCC 11.x
author: Alexandre Strube (JSC)
--- src/third_party/ijar/zlib_client.h.orig 2021-11-05 15:39:58.061336981 +0100
+++ src/third_party/ijar/zlib_client.h 2021-11-05 15:40:22.650877105 +0100
@@ -16,6 +16,7 @@
#define THIRD_PARTY_IJAR_ZLIB_CLIENT_H_
#include <limits.h>
+#include <limits>
#include "third_party/ijar/common.h"
--- src/third_party/ijar/mapped_file.h.orig 2021-11-05 15:56:24.654184777 +0100
+++ src/third_party/ijar/mapped_file.h 2021-11-05 15:56:33.879015290 +0100
@@ -16,6 +16,7 @@
#define INCLUDED_THIRD_PARTY_IJAR_MAPPED_FILE_H
#include "third_party/ijar/common.h"
+#include <limits>
namespace devtools_ijar {
From 0216ee54417fa1f2fef14f6eb14cbc1e8f595821 Mon Sep 17 00:00:00 2001
From: philwo <philwo@google.com>
Date: Mon, 8 Feb 2021 10:45:50 -0800
Subject: [PATCH] Fix Bazel #10214: JDK 13 introduced a source compatibility
issue.
Quote from the Java release notes:
The addition of newFileSystem(Path, Map<String, ?>) creates a source (but not binary) compatibility issue for code that has been using the existing 2-arg newFileSystem(Path, ClassLoader) and specifying the class loader as null. [...] To avoid the ambiguous reference, this code needs to be modified to cast the second parameter to java.lang.ClassLoader.
RELNOTES:
PiperOrigin-RevId: 356301318
---
.../com/google/devtools/build/buildjar/VanillaJavaBuilder.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java
index 327017362626..5edf9ba0cf23 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java
@@ -77,7 +77,7 @@
private FileSystem getJarFileSystem(Path sourceJar) throws IOException {
FileSystem fs = filesystems.get(sourceJar);
if (fs == null) {
- filesystems.put(sourceJar, fs = FileSystems.newFileSystem(sourceJar, null));
+ filesystems.put(sourceJar, fs = FileSystems.newFileSystem(sourceJar, (ClassLoader) null));
}
return fs;
}
\ No newline at end of file
name = 'Bazel'
version = '5.1.1'
homepage = 'https://bazel.io/'
description = """Bazel is a build tool that builds code quickly and reliably.
It is used to build the majority of Google's software."""
toolchain = {'name': 'GCCcore', 'version': '11.1.0'}
source_urls = ['https://github.com/bazelbuild/%(namelower)s/releases/download/%(version)s']
sources = ['%(namelower)s-%(version)s-dist.zip']
#patches = [
# 'Bazel-3.4.1-fix-grpc-protoc.patch',
# 'Bazel-3.7.1_fix-protobuf-env.patch',
# 'Bazel-3.7.2_fix-GCC-11.patch',
# 'Bazel-3.7.2_fix-Java-15.patch',
#]
checksums = [
'7f5d3bc1d344692b2400f3765fd4b5c0b636eb4e7a8a7b17923095c7b56a4f78', # bazel-5.1.1-dist.zip
# 'f87ad8ad6922fd9c974381ea22b7b0e6502ccad5e532145f179b80d5599e24ac', # Bazel-3.4.1-fix-grpc-protoc.patch
# '8706ecc99b658e0a96c38dc2c23e44da35059b85f308602aac76a6d6680376e7', # Bazel-3.7.1_fix-protobuf-env.patch
# '7fd5846f2ed1f27af9528a900f284f95ad982f3e7d486264c3bdee890a9c22fb', # Bazel-3.7.2_fix-GCC-11.patch
# '28f394f561824abf562556877483bc443dfd3ee0c7cba48a56e22670258669e7', # Bazel-3.7.2_fix-Java-15.patch
]
builddependencies = [
('binutils', '2.36.1'),
('Python', '3.9.4'),
('Zip', '3.0'),
]
dependencies = [('Java', '11.0.10', '', True)]
runtest = True
testopts = "-- //examples/cpp:hello-success_test //examples/py/... //examples/py_native:test //examples/shell/..."
moduleclass = 'devel'
easyblock = 'PythonBundle'
name = 'bokeh'
version = '2.4.2'
versionsuffix="-Python-%(pyver)s"
homepage = 'https://github.com/bokeh/bokeh'
description = "Statistical and novel interactive HTML plots for Python"
toolchain = {'name': 'goolf', 'version': '2021a.11'}
dependencies = [
('Python', '3.9.4'),
('PyYAML', '5.4.1', versionsuffix),
('Pillow', '9.1.0', versionsuffix),
('SciPy-Stack', '2021a', versionsuffix),
]
use_pip = True
exts_list = [
('tornado', '6.1', {
'checksums': ['33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791'],
}),
(name, version, {
'checksums': ['f0a4b53364ed3b7eb936c5cb1a4f4132369e394c7ae0a8ef420459410958033d'],
}),
]
sanity_pip_check = True
sanity_check_paths = {
'files': ['bin/bokeh'],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}
sanity_check_commands = ["bokeh --help"]
moduleclass = 'tools'
easyblock = 'PythonBundle'
name = 'dask'
version = '2022.4.1'
versionsuffix="-Python-%(pyver)s"
homepage = 'https://dask.org/'
description = """Dask natively scales Python. Dask provides advanced parallelism for analytics, enabling performance
at scale for the tools you love."""
toolchain = {'name': 'goolf', 'version': '2021a.11'}
dependencies = [
('Python', '3.9.4'),
('PyYAML', '5.4.1', versionsuffix),
('SciPy-Stack', '2021a', versionsuffix),
('bokeh', '2.4.2', versionsuffix),
]
use_pip = True
exts_list = [
('toolz', '0.11.2', {
'checksums': ['6b312d5e15138552f1bda8a4e66c30e236c831b612b2bf0005f8a1df10a4bc33'],
}),
('locket', '1.0.0', {
'checksums': ['5c0d4c052a8bbbf750e056a8e65ccd309086f4f0f18a2eac306a8dfa4112a632'],
}),
('partd', '1.2.0', {
'checksums': ['aa67897b84d522dcbc86a98b942afab8c6aa2f7f677d904a616b74ef5ddbc3eb'],
}),
('HeapDict', '1.0.1', {
'checksums': ['8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6'],
}),
('zict', '2.2.0', {
'checksums': ['d7366c2e2293314112dcf2432108428a67b927b00005619feefc310d12d833f3'],
}),
('tblib', '1.7.0', {
'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'],
}),
('cloudpickle', '2.0.0', {
'checksums': ['5cd02f3b417a783ba84a4ec3e290ff7929009fe51f6405423cfccfadd43ba4a4'],
}),
('fsspec', '2022.3.0', {
'checksums': ['fd582cc4aa0db5968bad9317cae513450eddd08b2193c4428d9349265a995523'],
}),
(name, version, {
'checksums': ['f3f4344edb8169f5040225f6a41dbc3042db886ed7546f11bab1270a5cd38454'],
}),
('distributed', version, {
'checksums': ['93a02050ecb365cfd3a7c39e0ca32d07c241e6781b2625923f5e2030a2973d1c'],
}),
('dask-mpi', '2022.4.0', {
'checksums': ['0a04f1d7d35a06cdff506593330d4414ea242c9172498ce191f5742eac499e17'],
}),
('docrep', '0.3.2', {
'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'],
}),
('dask-jobqueue', '0.7.3', {
'checksums': ['682d7cc0e6b319b6ab83a7a898680c12e9c77ddc77df380b40041290f55d4e79'],
}),
]
sanity_check_paths = {
'files': ['bin/dask-%s' % x for x in ['mpi', 'scheduler', 'ssh', 'worker']],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}
sanity_check_commands = ["dask-scheduler --help"]
sanity_pip_check = True
moduleclass = 'data'
# Deepmind tree
easyblock = 'PythonPackage'
name = 'dm-tree'
version = '0.1.7'
versionsuffix = '-Python-%(pyver)s'
homepage = 'https://github.com/deepmind/tree'
description = """dm-tree provides tree, a library for working with nested data structures. In a way,
tree generalizes the builtin map function which only supports flat sequences, and
allows to apply a function to each "leaf" preserving the overall structure."""
toolchain = {'name': 'GCCcore', 'version': '11.1.0'}
sources = [SOURCELOWER_TAR_GZ]
checksums = ['30fec8aca5b92823c0e796a2f33b875b4dccd470b57e91e6c542405c5f77fd2a']
patches = [
'dm-tree-0.1.7-system-absl.patch',
'dm-tree-0.1.7-use-c++17.patch',
]
builddependencies = [
('binutils', '2.36.1'),
('CMake', '3.20.0'),
# Why would this need Bazel?
# ('Bazel', '3.7.2'),
]
dependencies = [
('Python', '3.9.4'),
('abseil-cpp', '20210324.1'),
('absl-py', '1.0.0', versionsuffix),
]
download_dep_fail = True
use_pip = True
sanity_pip_check = True
check_ldshared = True
options = {'modulename': 'tree'}
moduleclass = 'lib'
diff --color -urN dm-tree-0.1.7-unpatched/tree/CMakeLists.txt dm-tree-0.1.7/tree/CMakeLists.txt
--- dm-tree-0.1.7-unpatched/tree/CMakeLists.txt 2022-04-27 06:53:39.297981885 +0000
+++ dm-tree-0.1.7/tree/CMakeLists.txt 2022-04-27 06:53:43.168006320 +0000
@@ -67,53 +67,59 @@
# Needed to disable Abseil tests.
set (BUILD_TESTING OFF)
-# Include abseil-cpp.
-set(ABSEIL_VER 20210324.2)
-include(ExternalProject)
-set(ABSEIL_CMAKE_ARGS
- "-DCMAKE_INSTALL_PREFIX=${CMAKE_SOURCE_DIR}/abseil-cpp"
- "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}"
- "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
- "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}"
- "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
- "-DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}"
- "-DLIBRARY_OUTPUT_PATH=${CMAKE_SOURCE_DIR}/abseil-cpp/lib")
-if(DEFINED CMAKE_OSX_ARCHITECTURES)
+find_package(absl)
+
+# Define pybind11 tree module.
+pybind11_add_module(_tree tree.h tree.cc)
+if(NOT absl_FOUND)
+ # Include abseil-cpp.
+ set(ABSEIL_VER 20210324.2)
+ include(ExternalProject)
set(ABSEIL_CMAKE_ARGS
- ${ABSEIL_CMAKE_ARGS}
- "-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}")
-endif()
-ExternalProject_Add(abseil-cpp
- GIT_REPOSITORY https://github.com/abseil/abseil-cpp.git
- GIT_TAG ${ABSEIL_VER}
- PREFIX ${CMAKE_SOURCE_DIR}/abseil-cpp
- CMAKE_ARGS ${ABSEIL_CMAKE_ARGS}
-)
-ExternalProject_Get_Property(abseil-cpp install_dir)
-set(abseil_install_dir ${install_dir})
-include_directories (${abseil_install_dir}/include)
-
-
-# Define pybind11 tree module.
-pybind11_add_module(_tree tree.h tree.cc)
-add_dependencies(_tree abseil-cpp)
-
-if (WIN32 OR MSVC)
- set(ABSEIL_LIB_PREF "absl")
- set(LIB_SUFF "lib")
+ "-DCMAKE_INSTALL_PREFIX=${CMAKE_SOURCE_DIR}/abseil-cpp"
+ "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}"
+ "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
+ "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}"
+ "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}"
+ "-DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}"
+ "-DLIBRARY_OUTPUT_PATH=${CMAKE_SOURCE_DIR}/abseil-cpp/lib")
+ if(DEFINED CMAKE_OSX_ARCHITECTURES)
+ set(ABSEIL_CMAKE_ARGS
+ ${ABSEIL_CMAKE_ARGS}
+ "-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}")
+ endif()
+ ExternalProject_Add(abseil-cpp
+ GIT_REPOSITORY https://github.com/abseil/abseil-cpp.git
+ GIT_TAG ${ABSEIL_VER}
+ PREFIX ${CMAKE_SOURCE_DIR}/abseil-cpp
+ CMAKE_ARGS ${ABSEIL_CMAKE_ARGS}
+ )
+ ExternalProject_Get_Property(abseil-cpp install_dir)
+ set(abseil_install_dir ${install_dir})
+ include_directories (${abseil_install_dir}/include)
+
+
+ add_dependencies(_tree abseil-cpp)
+
+ if (WIN32 OR MSVC)
+ set(ABSEIL_LIB_PREF "absl")
+ set(LIB_SUFF "lib")
+ else()
+ set(ABSEIL_LIB_PREF "libabsl")
+ set(LIB_SUFF "a")
+ endif()
+
+ # Link abseil static libs.
+ # We don't use find_library here to force cmake to build abseil before linking.
+ set(ABSEIL_LIBS int128 raw_hash_set raw_logging_internal strings throw_delegate)
+ foreach(ABSEIL_LIB IN LISTS ABSEIL_LIBS)
+ target_link_libraries(_tree PRIVATE
+ "${abseil_install_dir}/lib/${ABSEIL_LIB_PREF}_${ABSEIL_LIB}.${LIB_SUFF}")
+ endforeach()
else()
- set(ABSEIL_LIB_PREF "libabsl")
- set(LIB_SUFF "a")
+ target_link_libraries(_tree PRIVATE absl::int128 absl::raw_hash_set absl::raw_logging_internal absl::strings absl::strings_internal absl::throw_delegate)
endif()
-# Link abseil static libs.
-# We don't use find_library here to force cmake to build abseil before linking.
-set(ABSEIL_LIBS int128 raw_hash_set raw_logging_internal strings throw_delegate)
-foreach(ABSEIL_LIB IN LISTS ABSEIL_LIBS)
- target_link_libraries(_tree PRIVATE
- "${abseil_install_dir}/lib/${ABSEIL_LIB_PREF}_${ABSEIL_LIB}.${LIB_SUFF}")
-endforeach()
-
# Make the module private to tree package.
set_target_properties(_tree PROPERTIES OUTPUT_NAME tree/_tree)
diff --color -urN dm-tree-0.1.7-unpatched/tree/CMakeLists.txt dm-tree-0.1.7/tree/CMakeLists.txt
--- dm-tree-0.1.7-unpatched/tree/CMakeLists.txt 2022-04-27 08:53:20.241955411 +0000
+++ dm-tree-0.1.7/tree/CMakeLists.txt 2022-04-27 08:53:28.502006759 +0000
@@ -12,7 +12,7 @@
endif()
# Use C++14 standard.
-set(CMAKE_CXX_STANDARD 14 CACHE STRING "C++ version selection")
+set(CMAKE_CXX_STANDARD 17 CACHE STRING "C++ version selection")
# Position-independent code is needed for Python extension modules.
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
# This file is part of the AArch64/Prototype JSC EasyBuild repository (https://gitlab.version.fz-juelich.de/nassyr1/juawei-easyconfigs/)
easyblock = 'CMakeNinja'
name = 'gRPC'
version = '1.37.1'
homepage = 'https://grpc.io/'
description = """gRPC is a modern open source high performance Remote Procedure Call (RPC) framework that can run in any environment.
"""
toolchain = {'name': 'GCCcore', 'version': '11.1.0'}
github_account = 'grpc'
source_urls = [GITHUB_LOWER_SOURCE]
sources = ['v%(version)s.tar.gz']
builddependencies = [
('CMake', '3.20.0'),
('Ninja', '1.10.2'),
('binutils', '2.36.1'),
('Autotools', '20210330'),
('libtool', '2.4.6'),
('pkg-config', '0.29.2'),
]
dependencies = [
('protobuf', '3.16.0'),
('abseil-cpp', '20210324.1'),
('c-ares', '1.17.1'),
('re2', '2021-04-01'),
('zlib', '1.2.11'),
]
configopts = "-DgRPC_CARES_PROVIDER=package -DgRPC_ABSL_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package -DgRPC_RE2_PROVIDER=package -DgRPC_SSL_PROVIDER=package "
sanity_check_paths = {
'files': ['include/grpc/%s.h' % x for x in ['grpc','grpc_posix','grpc_security','grpc_security_constants']]+
['include/grpc++/%s.h' % x for x in ['grpc++','server','server_posix']]+
['include/grpcpp/%s.h' % x for x in ['grpcpp','server','server_posix']]+
['lib/libgrpc%s.a' % x for x in ['','++','++_alts','++_error_details','_plugin_support','pp_channelz','++_reflection','++_unsecure','_unsecure']]+
['lib/cmake/grpc/gRPC%s.cmake' % x for x in ['Config','ConfigVersion','Targets','Targets-release']]+
['lib/pkgconfig/%s.pc' % x for x in ['gpr','grpc++','grpc','grpc++_unsecure','grpc_unsecure']],
'dirs': [],
}
moduleclass = 'tools'
easyblock = 'ConfigureMake'
name = 'lz4'
version = '1.9.3'
homepage = 'https://lz4.github.io/lz4/'
description = """LZ4 is lossless compression algorithm, providing compression speed at 400 MB/s per core.
It features an extremely fast decoder, with speed in multiple GB/s per core."""
toolchain = {'name': 'GCCcore', 'version': '11.1.0'}
github_account = '%(name)s'
source_urls = [GITHUB_SOURCE]
sources = ['v%(version)s.tar.gz']
checksums = ['030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1']
builddependencies = [('binutils', '2.36.1')]
skipsteps = ['configure']
installopts = "PREFIX=%(installdir)s"
runtest = 'check'
sanity_check_paths = {
'files': ["bin/lz4", "lib/liblz4.%s" % SHLIB_EXT, "include/lz4.h"],
'dirs': ["lib/pkgconfig"]
}
moduleclass = 'lib'
easyblock = 'PythonPackage'
name = 'Pillow'
version = '9.1.0'
versionsuffix = '-Python-%(pyver)s'
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': '11.1.0'}
sources = [SOURCE_TAR_GZ]
checksums = ['f401ed2bbb155e1ade150ccc63db1a4f6c1909d3d378f7d1235a44e90d75fb97']
builddependencies = [('binutils', '2.36.1')]
dependencies = [
('Python', '3.9.4'),
('libjpeg-turbo', '2.0.6'),
('libpng', '1.6.37'),
('zlib', '1.2.11'),
('LibTIFF', '4.2.0'),
('freetype', '2.10.4')
]
download_dep_fail = True
use_pip = True
sanity_pip_check = True