Skip to content

Commit

Permalink
adding easyconfigs: pyspoa-0.2.1-GCC-12.3.0.eb and patches: pyspoa-0.…
Browse files Browse the repository at this point in the history
…2.1_use-spoa-dep.patch
  • Loading branch information
PetrKralCZ committed Feb 8, 2024
1 parent 59c3d3c commit 1bf54a5
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 0 deletions.
62 changes: 62 additions & 0 deletions easybuild/easyconfigs/p/pyspoa/pyspoa-0.2.1-GCC-12.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
easyblock = 'PythonPackage'

name = 'pyspoa'
version = '0.2.1'

local_cereal_version = '1.3.2'

homepage = 'https://github.com/nanoporetech/pyspoa'
description = "Python bindings to spoa."

toolchain = {'name': 'GCC', 'version': '12.3.0'}

toolchainopts = {'extra_cflags': "-fpermissive"}

sources = [
{
'filename': '%(name)s-%(version)s.tar.gz',
'git_config': {
'url': 'https://github.com/nanoporetech',
'repo_name': 'pyspoa',
'tag': 'v%(version)s',
'recursive': True,
'keep_git_dir': True,
}
},
{
'source_urls': ['https://github.com/USCiLab/cereal/archive/'],
'download_filename': 'v%s.tar.gz' % local_cereal_version,
'filename': 'cereal-%s.tar.gz' % local_cereal_version,
},
]

patches = ['pyspoa-%(version)s_use-spoa-dep.patch']

checksums = [
None,
'16a7ad9b31ba5880dac55d62b5d6f243c3ebc8d46a3514149e56b5e7ea81f85f',
'dffd946e3b36e4872846fe983d287f992b5bf177798e11141bf0d645cfc0664d',
]

builddependencies = [('CMake', '3.26.3')]

dependencies = [
('Python', '3.11.3'),
('pybind11', '2.11.1'),
('spoa', '4.1.0'),
]

download_dep_fail = True
use_pip = True
sanity_pip_check = True

preinstallopts = "mkdir -p src/vendor/cereal && ln -s %(builddir)s/cereal-*/include src/vendor/cereal/include && "
# strip out cmake requirements, since we provide that as proper dependency
preinstallopts += "sed -i 's/.cmake==[0-9.]*.//g' setup.py && "
preinstallopts += "export libspoa=$EBROOTSPOA/lib/libspoa.a && "

options = {'modulename': 'spoa'}

sanity_check_commands = ["cd %(builddir)s/*/tests && python test_pyspoa.py"]

moduleclass = 'lib'
24 changes: 24 additions & 0 deletions easybuild/easyconfigs/p/pyspoa/pyspoa-0.2.1_use-spoa-dep.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
use spoa dependency provided through EasyBuild

author: Kenneth Hoste (HPC-UGent)
updated by: Petr Král (Inuits)
diff --git a/pyspoa-0.2.1/setup.py.orig b/pyspoa-0.2.1/setup.py
--- a/pyspoa-0.2.1/setup.py.orig 2023-11-27 14:48:14.661356275 +0100
+++ b/pyspoa-0.2.1/setup.py 2023-11-27 14:52:53.880656275 +0100
@@ -119,14 +119,14 @@
'spoa',
['pyspoa.cpp'],
include_dirs=[
- 'src/include/spoa',
+ os.path.join(os.getenv('EBROOTSPOA'), 'include/spoa'),
'src/vendor/cereal/include',
get_pybind_include(),
get_pybind_include(user=True),
],
language='c++',
extra_objects=[
- LIB_SPOA
+ os.path.join(os.getenv('EBROOTSPOA'), 'lib64/libspoa.a'),
],

),

0 comments on commit 1bf54a5

Please sign in to comment.