From d9a50ad9f4bdc661a77c679bb746e1fc339a14b4 Mon Sep 17 00:00:00 2001 From: froejdh_e Date: Tue, 18 Mar 2025 13:21:46 +0100 Subject: [PATCH] WIP --- conda-recipe/conda_build_config.yaml | 10 ++-- conda-recipe/meta.yaml | 24 +++++---- python/setup.py | 77 ---------------------------- 3 files changed, 18 insertions(+), 93 deletions(-) delete mode 100755 python/setup.py diff --git a/conda-recipe/conda_build_config.yaml b/conda-recipe/conda_build_config.yaml index 0f51da017..991a0644d 100644 --- a/conda-recipe/conda_build_config.yaml +++ b/conda-recipe/conda_build_config.yaml @@ -1,8 +1,8 @@ python: - - 3.8 - - 3.9 - - 3.10 - - 3.11 - - 3.12 + # - 3.8 + # - 3.9 + # - 3.10 + # - 3.11 + # - 3.12 - 3.13 diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index 076e37ebc..7f78b180e 100755 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -66,30 +66,32 @@ outputs: - libgcc-ng - name: slsdet - script: build_pylib.sh + script: + - unset CMAKE_GENERATOR && {{ PYTHON }} -m pip install . -vv # [not win] requirements: build: - - python + - python {{python}} - {{ compiler('c') }} - {{compiler('cxx')}} - - {{ pin_subpackage('slsdetlib', exact=True) }} - - setuptools - - pybind11=2.13 + # - {{ pin_subpackage('slsdetlib', exact=True) }} #discuss keeping pinning for simplicity? + - pybind11>=2.13 host: - - python - - {{ pin_subpackage('slsdetlib', exact=True) }} + - cmake + - ninja + - python {{python}} + - pip - setuptools - - pybind11=2.13 + - pybind11>=2.13 + - scikit-build-core run: - libstdcxx-ng - libgcc-ng - - python - - numpy - - {{ pin_subpackage('slsdetlib', exact=True) }} + - python {{python}} + test: imports: diff --git a/python/setup.py b/python/setup.py deleted file mode 100755 index 1be1ac809..000000000 --- a/python/setup.py +++ /dev/null @@ -1,77 +0,0 @@ -# SPDX-License-Identifier: LGPL-3.0-or-other -# Copyright (C) 2021 Contributors to the SLS Detector Package -""" -Setup file for slsdet -Build upon the pybind11 example found here: https://github.com/pybind/python_example -""" - -import os -import sys -from setuptools import setup, find_packages -from pybind11.setup_helpers import Pybind11Extension, build_ext - -def read_version(): - try: - version_file = os.path.join(os.path.dirname(__file__), 'slsdet', 'VERSION') - with open(version_file, "r") as f: - return f.read().strip() - except: - raise RuntimeError("VERSION file not found in slsdet package from setup.py.") - -__version__ = read_version() - - -def get_conda_path(): - """ - Keep this a function if we need some fancier logic later - """ - print('Prefix: ', os.environ['CONDA_PREFIX']) - return os.environ['CONDA_PREFIX'] - - -#TODO migrate to CMake build or fetch files from cmake? -ext_modules = [ - Pybind11Extension( - '_slsdet', - ['src/main.cpp', - 'src/enums.cpp', - 'src/current.cpp', - 'src/detector.cpp', - 'src/network.cpp', - 'src/pattern.cpp', - 'src/scan.cpp', - 'src/duration.cpp', - 'src/DurationWrapper.cpp', - 'src/pedestal.cpp', - ] - - - , - include_dirs=[ - os.path.join(get_conda_path(), 'include'), - - ], - libraries=['SlsDetector', 'SlsSupport', 'SlsReceiver'], - library_dirs=[ - os.path.join(get_conda_path(), 'lib'), - ], - language='c++' - ), -] - -setup( - name='slsdet', - version=__version__, - author='Erik Frojdh', - author_email='erik.frojdh@psi.ch', - url='https://github.com/slsdetectorgroup/slsDetectorPackage', - description='Detector API for SLS Detector Group detectors', - long_description='', - packages=find_packages(exclude=['contrib', 'docs', 'tests']), - package_data={ - 'slsdet': ['VERSION'], - }, - ext_modules=ext_modules, - cmdclass={"build_ext": build_ext}, - zip_safe=False, -)