From 5054ba7447f16b16a10a96430a4807aa1f1bb59a Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Mon, 7 Apr 2025 10:22:03 -0500 Subject: [PATCH 01/83] update fastjet-core to point at fastjet/cmake-build --- extern/fastjet-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-core b/extern/fastjet-core index 0648cfc3..8f4c8a6f 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit 0648cfc312bbfefbaa28ffa2cb29b010f88e163c +Subproject commit 8f4c8a6f04185f40fd4e132d07d54cec0c32d198 From 27e80dd467558f8d628d4f0ee291ad866e85dd60 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Mon, 7 Apr 2025 11:20:35 -0500 Subject: [PATCH 02/83] point to fixed up fastjet branch --- extern/fastjet-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-core b/extern/fastjet-core index 8f4c8a6f..efb79fe8 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit 8f4c8a6f04185f40fd4e132d07d54cec0c32d198 +Subproject commit efb79fe89c8a2af44f9f40e53877024c90b34c31 From 2cb4f6e1b2cc749c12250917cd6bfcd0bb296ba4 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Mon, 7 Apr 2025 13:26:09 -0500 Subject: [PATCH 03/83] with the right externs this will compile and link! --- CMakelists.txt | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 CMakelists.txt diff --git a/CMakelists.txt b/CMakelists.txt new file mode 100644 index 00000000..cf5fb57c --- /dev/null +++ b/CMakelists.txt @@ -0,0 +1,23 @@ +cmake_minimum_required(VERSION 3.11) + +if(NOT SKBUILD_PROJECT_VERSION) + set(SKBUILD_PROJECT_VERSION "0.0.0") # provided by scikit-build-core +endif() +string(REPLACE "." ";" VERSION_SPLIT ${SKBUILD_PROJECT_VERSION}) +list(GET VERSION_SPLIT 0 SPLIT_VERSION_MAJOR) +list(GET VERSION_SPLIT 1 SPLIT_VERSION_MINOR) + +project(fastjet VERSION ${SPLIT_VERSION_MAJOR}.${SPLIT_VERSION_MINOR} LANGUAGES CXX) + +set(PKG_INSTALL "fastjet") ## python package name + +find_package(pybind11 REQUIRED) + +add_subdirectory(${CMAKE_SOURCE_DIR}/extern/fastjet-core) +add_subdirectory(${CMAKE_SOURCE_DIR}/extern/fastjet-contrib) + +pybind11_add_module(_ext MODULE src/_ext.cpp) +target_link_libraries(_ext PRIVATE fastjet::fastjet) +target_link_libraries(_ext PRIVATE EnergyCorrelator LundPlane Nsubjettiness RecursiveTools) +target_include_directories(_ext PRIVATE ${CMAKE_BINARY_DIR}/include) +set_target_properties(_ext PROPERTIES BUILD_WITH_INSTALL_RPATH ON) \ No newline at end of file From 7ea4f7622697f8dc70e52b1d646ff4047d752d30 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 7 Apr 2025 18:48:10 +0000 Subject: [PATCH 04/83] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- CMakelists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakelists.txt b/CMakelists.txt index cf5fb57c..6253727e 100644 --- a/CMakelists.txt +++ b/CMakelists.txt @@ -20,4 +20,4 @@ pybind11_add_module(_ext MODULE src/_ext.cpp) target_link_libraries(_ext PRIVATE fastjet::fastjet) target_link_libraries(_ext PRIVATE EnergyCorrelator LundPlane Nsubjettiness RecursiveTools) target_include_directories(_ext PRIVATE ${CMAKE_BINARY_DIR}/include) -set_target_properties(_ext PROPERTIES BUILD_WITH_INSTALL_RPATH ON) \ No newline at end of file +set_target_properties(_ext PROPERTIES BUILD_WITH_INSTALL_RPATH ON) From 02ba2324c856fbc8eaed506c251ce2a682a6da1f Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Mon, 7 Apr 2025 20:35:19 -0500 Subject: [PATCH 05/83] point fastjet-contrib at CMake-ified fjcontrib repo --- extern/fastjet-contrib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-contrib b/extern/fastjet-contrib index aa1972cd..b7e50ae6 160000 --- a/extern/fastjet-contrib +++ b/extern/fastjet-contrib @@ -1 +1 @@ -Subproject commit aa1972cd2b3e8aa2c76764f14122e8f728c23712 +Subproject commit b7e50ae63dff380e2d0d961117379283479c4c3e From b93b77ce0a5bd801604860b642ff888544f9a4f4 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Mon, 7 Apr 2025 20:35:34 -0500 Subject: [PATCH 06/83] checkpoint work --- .gitmodules | 4 ++-- CMakelists.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index c3d1c0d1..a8a37fcb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ [submodule "fastjet"] path = extern/fastjet-core - url = https://gitlab.com/fastjet/fastjet.git + url = https://gitlab.com/lgray1/fastjet.git [submodule "fastjet-contrib"] path = extern/fastjet-contrib - url = https://github.com/cms-externals/fastjet-contrib.git + url = https://github.com/lgray/fastjet-contrib.git diff --git a/CMakelists.txt b/CMakelists.txt index 6253727e..ce048e09 100644 --- a/CMakelists.txt +++ b/CMakelists.txt @@ -20,4 +20,4 @@ pybind11_add_module(_ext MODULE src/_ext.cpp) target_link_libraries(_ext PRIVATE fastjet::fastjet) target_link_libraries(_ext PRIVATE EnergyCorrelator LundPlane Nsubjettiness RecursiveTools) target_include_directories(_ext PRIVATE ${CMAKE_BINARY_DIR}/include) -set_target_properties(_ext PROPERTIES BUILD_WITH_INSTALL_RPATH ON) +#set_target_properties(_ext PROPERTIES BUILD_WITH_INSTALL_RPATH ON) From c39b3086d67d43645f9e545737f5d15cd5358ce5 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Mon, 7 Apr 2025 20:47:50 -0500 Subject: [PATCH 07/83] update fastjet contrib --- extern/fastjet-contrib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-contrib b/extern/fastjet-contrib index b7e50ae6..269c59a8 160000 --- a/extern/fastjet-contrib +++ b/extern/fastjet-contrib @@ -1 +1 @@ -Subproject commit b7e50ae63dff380e2d0d961117379283479c4c3e +Subproject commit 269c59a8c49c50013ead9a216d38a8d187470d05 From fdb820f2b1cf6554a28015b519c321a10f7654b4 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Mon, 7 Apr 2025 21:32:31 -0500 Subject: [PATCH 08/83] work on getting CI to pass --- CMakelists.txt => CMakeLists.txt | 0 MANIFEST.in | 2 +- setup.py | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename CMakelists.txt => CMakeLists.txt (100%) diff --git a/CMakelists.txt b/CMakeLists.txt similarity index 100% rename from CMakelists.txt rename to CMakeLists.txt diff --git a/MANIFEST.in b/MANIFEST.in index 7d1a5828..db0872e5 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,5 +2,5 @@ graft src graft tests graft extern global-exclude .git .gitmodules -include LICENSE README.md pyproject.toml setup.py setup.cfg patch_clustersequence.txt +include LICENSE README.md pyproject.toml setup.py setup.cfg patch_clustersequence.txt CMakeLists.txt exclude .cirrus.yml diff --git a/setup.py b/setup.py index f6a64ff4..c5981630 100644 --- a/setup.py +++ b/setup.py @@ -181,7 +181,7 @@ def run(self): ) shutil.copyfile(pythondir / "fastjet.py", fastjetdir / "_swig.py") - shutil.copyfile(pyexecdir / "_fastjet.so", fastjetdir / "_fastjet.so") + shutil.copyfile(pyexecdir / "_fastjet_swig.so", fastjetdir / "_fastjet_swig.so") setuptools.command.install.install.run(self) From c8eafba38719f3076c3b6019d7d045cb89c1d053 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Mon, 7 Apr 2025 22:22:44 -0500 Subject: [PATCH 09/83] almost works with scikit build (this breaks current CI) --- CMakeLists.txt | 2 ++ extern/fastjet-contrib | 2 +- extern/fastjet-core | 2 +- pyproject.toml | 33 +++++++++++++++++++++++++++++---- 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ce048e09..0630f517 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,3 +21,5 @@ target_link_libraries(_ext PRIVATE fastjet::fastjet) target_link_libraries(_ext PRIVATE EnergyCorrelator LundPlane Nsubjettiness RecursiveTools) target_include_directories(_ext PRIVATE ${CMAKE_BINARY_DIR}/include) #set_target_properties(_ext PROPERTIES BUILD_WITH_INSTALL_RPATH ON) + +install(TARGETS _ext LIBRARY DESTINATION ${PKG_INSTALL}) diff --git a/extern/fastjet-contrib b/extern/fastjet-contrib index 269c59a8..e1bb0a8f 160000 --- a/extern/fastjet-contrib +++ b/extern/fastjet-contrib @@ -1 +1 @@ -Subproject commit 269c59a8c49c50013ead9a216d38a8d187470d05 +Subproject commit e1bb0a8f6967594f829a3090b9e3d982b5a03754 diff --git a/extern/fastjet-core b/extern/fastjet-core index efb79fe8..fbb01c82 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit efb79fe89c8a2af44f9f40e53877024c90b34c31 +Subproject commit fbb01c82eed14d92c49480b48ea69b29d05da2c1 diff --git a/pyproject.toml b/pyproject.toml index be3ca686..639819cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,10 +1,21 @@ [build-system] requires = [ - "setuptools>=42", - "setuptools_scm[toml]>=3.4", - "pybind11>=2.12.0", + "setuptools_scm[toml]>=3.4", + "pybind11>=2.6.1", + "scikit-build-core>=0.8", ] -build-backend = "setuptools.build_meta" +build-backend = "scikit_build_core.build" + +[project] +name = "fastjet" +dynamic = ["version"] +requires-python = ">=3.9" +dependencies = [ + "awkward>=2", + "numpy>=1.13.3", + "vector" +] + [tool.cibuildwheel] skip = "pp*" @@ -23,3 +34,17 @@ before-all = [ ] # Skip musllinux builds for the moment skip = "*-musllinux_*" + +[tool.scikit-build] +metadata.version.provider = "scikit_build_core.metadata.setuptools_scm" +cmake.version = ">=3.11.0" +sdist.include = ["src/fastjet/version.py"] + +[tool.scikit-build.cmake.define] +FASTJET_ENABLE_PYTHON = "ON" +FASTJET_ENABLE_CGAL = "ON" +FASTJET_PYTHON_PACKAGE_NAME = "fastjet_cxx" + +[tool.setuptools_scm] +write_to = "src/fastjet/version.py" + From c08fe58c7f7c659a84e86e5e0fae6eccaa50581e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 8 Apr 2025 03:23:13 +0000 Subject: [PATCH 10/83] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 639819cb..dd2d7e1e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,4 +47,3 @@ FASTJET_PYTHON_PACKAGE_NAME = "fastjet_cxx" [tool.setuptools_scm] write_to = "src/fastjet/version.py" - From 50bc2b25d3b5c0e65b1ce97153b03f4f875dc145 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Mon, 7 Apr 2025 22:26:20 -0500 Subject: [PATCH 11/83] install cgal as system lib in linux and macos --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 810cc1a9..3404ec0e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,11 +48,11 @@ jobs: - name: Install compiler tools on macOS if: runner.os == 'macOS' run: | - brew install make automake swig gmp mpfr boost libtool + brew install make automake swig gmp mpfr boost libtool cgal - name: Install extra deps on Linux if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig autoconf libtool + run: sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig autoconf libtool libcgal-dev - name: Install package (MacOS) if: runner.os == 'macOS' From 7007b9e7478759449c0ac82d41c184fbb145369e Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Mon, 7 Apr 2025 22:30:08 -0500 Subject: [PATCH 12/83] install gfortran on macos --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3404ec0e..3dbd8d6e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,7 +48,7 @@ jobs: - name: Install compiler tools on macOS if: runner.os == 'macOS' run: | - brew install make automake swig gmp mpfr boost libtool cgal + brew install make automake swig gmp mpfr boost libtool cgal gfortran - name: Install extra deps on Linux if: runner.os == 'Linux' From b92f5d93d563e4dfa1bf4e96e686c59c9a70f5ad Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Mon, 7 Apr 2025 22:38:36 -0500 Subject: [PATCH 13/83] be a bit pushier with gfortran on macos --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3dbd8d6e..3f754d26 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,7 +48,9 @@ jobs: - name: Install compiler tools on macOS if: runner.os == 'macOS' run: | - brew install make automake swig gmp mpfr boost libtool cgal gfortran + brew install make automake swig gmp mpfr boost libtool cgal + brew reinstall gfortran + which gfortran - name: Install extra deps on Linux if: runner.os == 'Linux' From b574f1ff5076117c17d17b242da0b4df66206957 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Mon, 7 Apr 2025 22:44:35 -0500 Subject: [PATCH 14/83] set release build for cgal --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index dd2d7e1e..80203663 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,6 +44,7 @@ sdist.include = ["src/fastjet/version.py"] FASTJET_ENABLE_PYTHON = "ON" FASTJET_ENABLE_CGAL = "ON" FASTJET_PYTHON_PACKAGE_NAME = "fastjet_cxx" +CMAKE_BUILD_TYPE = "Release" [tool.setuptools_scm] write_to = "src/fastjet/version.py" From 86580914b39b516218624060abf2f97086b1ee88 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Mon, 7 Apr 2025 23:05:26 -0500 Subject: [PATCH 15/83] try for cgal-devel in manylinux? --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 80203663..dcc9a067 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,7 @@ manylinux-i686-image = "manylinux2014" [tool.cibuildwheel.linux] before-all = [ "yum update -y", - "yum install -y mpfr-devel", + "yum install -y mpfr-devel CGAL-devel", "curl -L https://archives.boost.io/release/1.87.0/source/boost_1_87_0.tar.bz2 -o boost_1_87_0.tar.bz2", "tar --bzip2 -xf boost_1_87_0.tar.bz2", "mv boost_1_87_0/boost /usr/include/boost", From cda26a343c5bde1e04c0ef01c1e01b6983bd019c Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 11:38:25 -0500 Subject: [PATCH 16/83] working on getting the rpath correct, presently fails and module load --- CMakeLists.txt | 22 ++++++++++++++++++++-- pyproject.toml | 5 ++++- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0630f517..3f6dbe18 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,8 +11,25 @@ project(fastjet VERSION ${SPLIT_VERSION_MAJOR}.${SPLIT_VERSION_MINOR} LANGUAGES set(PKG_INSTALL "fastjet") ## python package name +include(FetchContent) + find_package(pybind11 REQUIRED) +find_package(CGAL) +if (NOT CGAL_FOUND) + FetchContent_Declare(CGAL + GIT_REPOSITORY https://github.com/CGAL/cgal.git + GIT_TAG v6.0.1 + ) + FetchContent_MakeAvailable(CGAL) +endif() + +#FetchContent_Declare(fastjet +# SOURCE_DIR ${CMAKE_SOURCE_DIR}/extern/fastjet-core +# CMAKE_ARGS "-DCMAKE_BUILD_TYPE=\"Release\" -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/${PKG_INSTALL} -DFASTJET_CUSTOM_PYTHON_INSTALL=lib/${PKG_INSTALL} -DFASTJET_PYTHON_PACKAGE_NAME=_swig -DFASTJET_ENABLE_CGAL=ON" +# ) +#FetchContent_MakeAvailable(fastjet) + add_subdirectory(${CMAKE_SOURCE_DIR}/extern/fastjet-core) add_subdirectory(${CMAKE_SOURCE_DIR}/extern/fastjet-contrib) @@ -20,6 +37,7 @@ pybind11_add_module(_ext MODULE src/_ext.cpp) target_link_libraries(_ext PRIVATE fastjet::fastjet) target_link_libraries(_ext PRIVATE EnergyCorrelator LundPlane Nsubjettiness RecursiveTools) target_include_directories(_ext PRIVATE ${CMAKE_BINARY_DIR}/include) -#set_target_properties(_ext PROPERTIES BUILD_WITH_INSTALL_RPATH ON) +set_target_properties(_ext PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE) +#set_target_properties(_ext PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE) -install(TARGETS _ext LIBRARY DESTINATION ${PKG_INSTALL}) +install(TARGETS _ext LIBRARY DESTINATION ./) diff --git a/pyproject.toml b/pyproject.toml index dcc9a067..ed91d6da 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,12 +39,15 @@ skip = "*-musllinux_*" metadata.version.provider = "scikit_build_core.metadata.setuptools_scm" cmake.version = ">=3.11.0" sdist.include = ["src/fastjet/version.py"] +wheel.install-dir = "fastjet" [tool.scikit-build.cmake.define] FASTJET_ENABLE_PYTHON = "ON" FASTJET_ENABLE_CGAL = "ON" -FASTJET_PYTHON_PACKAGE_NAME = "fastjet_cxx" +FASTJET_PYTHON_PACKAGE_NAME = "_swig" +FASTJET_CUSTOM_PYTHON_INSTALL = "./" CMAKE_BUILD_TYPE = "Release" +CMAKE_INSTALL_RPATH = "${ORIGIN}/lib" [tool.setuptools_scm] write_to = "src/fastjet/version.py" From ec6e5be1ba66526e99758f3dd408e0c3fc56b8b0 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 11:56:25 -0500 Subject: [PATCH 17/83] skip installing cgal in manylinux since we use FetchContent --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3f754d26..b6009abd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,7 +54,7 @@ jobs: - name: Install extra deps on Linux if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig autoconf libtool libcgal-dev + run: sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig autoconf libtool - name: Install package (MacOS) if: runner.os == 'macOS' From 12d9b5261d2729350244bf253156668565e1e873 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 11:58:30 -0500 Subject: [PATCH 18/83] wrong place --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b6009abd..3f754d26 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,7 +54,7 @@ jobs: - name: Install extra deps on Linux if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig autoconf libtool + run: sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig autoconf libtool libcgal-dev - name: Install package (MacOS) if: runner.os == 'macOS' From 9bfc20465712809760a27b7d1e8edb8155dd844c Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 11:58:55 -0500 Subject: [PATCH 19/83] remove CGAL-devel in manylinux --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index ed91d6da..0cd234a4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,7 @@ manylinux-i686-image = "manylinux2014" [tool.cibuildwheel.linux] before-all = [ "yum update -y", - "yum install -y mpfr-devel CGAL-devel", + "yum install -y mpfr-devel", "curl -L https://archives.boost.io/release/1.87.0/source/boost_1_87_0.tar.bz2 -o boost_1_87_0.tar.bz2", "tar --bzip2 -xf boost_1_87_0.tar.bz2", "mv boost_1_87_0/boost /usr/include/boost", From fb97eeee8bc3e3d2ac8370bc540457505ae54a21 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 13:37:35 -0500 Subject: [PATCH 20/83] further work on cmake install --- CMakeLists.txt | 9 +++++++-- pyproject.toml | 2 +- src/fastjet/version.py | 9 --------- 3 files changed, 8 insertions(+), 12 deletions(-) delete mode 100644 src/fastjet/version.py diff --git a/CMakeLists.txt b/CMakeLists.txt index 3f6dbe18..7930ed3d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,7 +37,12 @@ pybind11_add_module(_ext MODULE src/_ext.cpp) target_link_libraries(_ext PRIVATE fastjet::fastjet) target_link_libraries(_ext PRIVATE EnergyCorrelator LundPlane Nsubjettiness RecursiveTools) target_include_directories(_ext PRIVATE ${CMAKE_BINARY_DIR}/include) -set_target_properties(_ext PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE) +#set_target_properties(_ext PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE) #set_target_properties(_ext PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE) +if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + set_target_properties(_ext PROPERTIES INSTALL_RPATH "@loader_path/lib") +else() + set_target_properties(_ext PROPERTIES INSTALL_RPATH "$ORIGIN/lib") +endif() -install(TARGETS _ext LIBRARY DESTINATION ./) +install(TARGETS _ext LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}) diff --git a/pyproject.toml b/pyproject.toml index 0cd234a4..722b438f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,7 +47,7 @@ FASTJET_ENABLE_CGAL = "ON" FASTJET_PYTHON_PACKAGE_NAME = "_swig" FASTJET_CUSTOM_PYTHON_INSTALL = "./" CMAKE_BUILD_TYPE = "Release" -CMAKE_INSTALL_RPATH = "${ORIGIN}/lib" +CMAKE_INSTALL_RPATH = "$ORIGIN/lib" [tool.setuptools_scm] write_to = "src/fastjet/version.py" diff --git a/src/fastjet/version.py b/src/fastjet/version.py deleted file mode 100644 index af50b60e..00000000 --- a/src/fastjet/version.py +++ /dev/null @@ -1,9 +0,0 @@ -# BSD 3-Clause License; see https://github.com/scikit-hep/fastjet/blob/main/LICENSE - -import re - -__version__ = "3.4.3.1" -version = __version__ -version_info = tuple(re.split(r"[-\.]", __version__)) - -del re From 7f3cfb6aab4eecdb6a02b682a893b842c5e73c01 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 16:11:09 -0500 Subject: [PATCH 21/83] address review from Henry --- .gitignore | 1 + .pre-commit-config.yaml | 6 -- CMakeLists.txt | 2 +- MANIFEST.in | 6 -- pyproject.toml | 84 +++++++++++++++- setup.cfg | 106 --------------------- setup.py | 206 ---------------------------------------- 7 files changed, 82 insertions(+), 329 deletions(-) delete mode 100644 MANIFEST.in delete mode 100644 setup.cfg delete mode 100644 setup.py diff --git a/.gitignore b/.gitignore index fa91a4c6..e5de6014 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +src/fastjet/version.py _swig.py _fastjet_core *.so.[0-9] diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7af12b6b..66ebdcd9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -48,12 +48,6 @@ repos: exclude: docs/conf.py additional_dependencies: [flake8-bugbear, flake8-print] -- repo: https://github.com/mgedmin/check-manifest - rev: "0.50" - hooks: - - id: check-manifest - stages: [manual] - - repo: https://github.com/pre-commit/mirrors-clang-format rev: "v20.1.0" hooks: diff --git a/CMakeLists.txt b/CMakeLists.txt index 7930ed3d..28be2f1c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.11) +cmake_minimum_required(VERSION 3.15...4.0) if(NOT SKBUILD_PROJECT_VERSION) set(SKBUILD_PROJECT_VERSION "0.0.0") # provided by scikit-build-core diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index db0872e5..00000000 --- a/MANIFEST.in +++ /dev/null @@ -1,6 +0,0 @@ -graft src -graft tests -graft extern -global-exclude .git .gitmodules -include LICENSE README.md pyproject.toml setup.py setup.cfg patch_clustersequence.txt CMakeLists.txt -exclude .cirrus.yml diff --git a/pyproject.toml b/pyproject.toml index 722b438f..f7c3af22 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,8 +1,7 @@ [build-system] requires = [ - "setuptools_scm[toml]>=3.4", "pybind11>=2.6.1", - "scikit-build-core>=0.8", + "scikit-build-core>=0.11", ] build-backend = "scikit_build_core.build" @@ -10,12 +9,90 @@ build-backend = "scikit_build_core.build" name = "fastjet" dynamic = ["version"] requires-python = ">=3.9" +classifiers = [ + "Development Status :: 1 - Planning", + "Intended Audience :: Developers", + "Intended Audience :: Science/Research", + "Operating System :: MacOS :: MacOS X", + "Operating System :: POSIX :: Linux", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Topic :: Scientific/Engineering", +] dependencies = [ "awkward>=2", "numpy>=1.13.3", "vector" ] +[project.optional-dependencies] +dask = [ + "dask>=2023.4.0", + "dask-awkward>=2023.4.2", +] +dev = [ + "pytest>=4.6", +] +docs = [ + "Sphinx>=3.0.0", + "recommonmark>=0.5.0", + "sphinx-copybutton", + "sphinx-rtd-theme>=0.5.0", +] +test = [ + "pytest>=4.6", + "uproot>=5", + "dask>=2023.4.0;python_version>'3.7'", + "dask-awkward[test]>=2023.4.2;python_version>'3.7'", + "distributed>=2023.4.0;python_version>'3.7'", +] + +[tool.pytest.ini_options] +minversion = "6.0" +testpaths = ["tests"] +addopts = [ + "-vv", + "-rs", + "-Wd", +] + +[tool.isort] +profile = "black" +multi_line_output = 3 + +[tool.flake8] +ignore = [ + "E203", + "E231", + "E501", + "E722", + "W503", + "B950", +] +select = ["C","E","F","W","T","B","B9","I"] +per-file-ignores = "tests/*: T" + +[tools.mypy] +files = "src" +python_version = 3.9 +warn_unused_configs = true +disallow_any_generics = true +disallow_subclassing_any = true +disallow_untyped_calls = true +disallow_untyped_defs = true +disallow_incomplete_defs = true +check_untyped_defs = true +disallow_untyped_decorators = true +no_implicit_optional = true +warn_redundant_casts = true +warn_unused_ignores = true +warn_return_any = true +no_implicit_reexport = true +strict_equality = true + +[tools.mypy.numpy] +ignore_missing_imports = true [tool.cibuildwheel] skip = "pp*" @@ -36,6 +113,7 @@ before-all = [ skip = "*-musllinux_*" [tool.scikit-build] +minimum-version = "build-system.requires" metadata.version.provider = "scikit_build_core.metadata.setuptools_scm" cmake.version = ">=3.11.0" sdist.include = ["src/fastjet/version.py"] @@ -46,8 +124,6 @@ FASTJET_ENABLE_PYTHON = "ON" FASTJET_ENABLE_CGAL = "ON" FASTJET_PYTHON_PACKAGE_NAME = "_swig" FASTJET_CUSTOM_PYTHON_INSTALL = "./" -CMAKE_BUILD_TYPE = "Release" -CMAKE_INSTALL_RPATH = "$ORIGIN/lib" [tool.setuptools_scm] write_to = "src/fastjet/version.py" diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index da2cbc54..00000000 --- a/setup.cfg +++ /dev/null @@ -1,106 +0,0 @@ -[metadata] -name = fastjet -description = Official FastJet bindings to Python and Awkward Array. -long_description = file: README.md -long_description_content_type = text/markdown -url = https://github.com/scikit-hep/fastjet -author = Aryan Roy -author_email = aryanroy5678@gmail.com -maintainer = The Scikit-HEP admins -maintainer_email = scikit-hep-admins@googlegroups.com -license = BSD-3-Clause -license_files = LICENSE -platforms = - Any -classifiers = - Development Status :: 1 - Planning - Intended Audience :: Developers - Intended Audience :: Science/Research - Operating System :: MacOS :: MacOS X - Operating System :: POSIX :: Linux - Programming Language :: Python - Programming Language :: Python :: 3 - Programming Language :: Python :: 3 :: Only - Topic :: Scientific/Engineering -project_urls = - Documentation = https://fastjet.readthedocs.io/ - Bug Tracker = https://github.com/scikit-hep/fastjet/issues - Discussions = https://github.com/scikit-hep/fastjet/discussions - Changelog = https://github.com/scikit-hep/fastjet/releases - -[options] -packages = find: -install_requires = - awkward>=2 - numpy>=1.13.3 - vector -python_requires = >=3.9 -include_package_data = True -package_dir = - =src - -[options.packages.find] -where = src - -[options.extras_require] -dask = - dask>=2023.4.0 - dask-awkward>=2023.4.2 -dev = - pytest>=4.6 -docs = - Sphinx>=3.0.0 - recommonmark>=0.5.0 - sphinx-copybutton - sphinx-rtd-theme>=0.5.0 -test = - pytest>=4.6 - uproot>=5 - dask>=2023.4.0;python_version>"3.7" - dask-awkward[test]>=2023.4.2;python_version>"3.7" - distributed>=2023.4.0;python_version>"3.7" - -[tool:pytest] -addopts = -vv -rs -Wd -testpaths = - tests - -[check-manifest] -ignore = - .github/** - docs/** - .pre-commit-config.yaml - .readthedocs.yml - .clang-format - src/*/version.py - -[tool:isort] -profile = black -multi_line_output = 3 - -[flake8] -ignore = E203, E231, E501, E722, W503, B950 -select = C,E,F,W,T,B,B9,I -per-file-ignores = - tests/*: T - -[mypy] -files = src -python_version = 3.6 -warn_unused_configs = True -disallow_any_generics = True -disallow_subclassing_any = True -disallow_untyped_calls = True -disallow_untyped_defs = True -disallow_incomplete_defs = True -check_untyped_defs = True -disallow_untyped_decorators = True -no_implicit_optional = True -warn_redundant_casts = True -warn_unused_ignores = True -warn_return_any = True -no_implicit_reexport = True -strict_equality = True - -[mypy-numpy] -ignore_missing_imports = True diff --git a/setup.py b/setup.py deleted file mode 100644 index c5981630..00000000 --- a/setup.py +++ /dev/null @@ -1,206 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2021, Aryan Roy -# -# Distributed under the 3-clause BSD license, see accompanying file LICENSE -# or https://github.com/scikit-hep/fastjet for details. - -from setuptools import setup # isort:skip - -# Available at setup time due to pyproject.toml -from pybind11.setup_helpers import Pybind11Extension # isort:skip - -import os -import pathlib -import shutil -import subprocess -import sys -import sysconfig -import urllib.request -import zipfile - -import setuptools.command.build_ext -import setuptools.command.install - -CGAL_ZIP = "https://github.com/CGAL/cgal/releases/download/v5.6/CGAL-5.6-library.zip" - -DIR = pathlib.Path(__file__).parent.resolve() -FASTJET = DIR / "extern" / "fastjet-core" -FASTJET_CONTRIB = DIR / "extern" / "fastjet-contrib" -PYTHON = DIR / "src" / "fastjet" -OUTPUT = PYTHON / "_fastjet_core" - - -# Clean up transient directories to allow for rebuilds during development -if (DIR / "build").exists(): - shutil.rmtree(DIR / "build") -if OUTPUT.exists(): - shutil.rmtree(OUTPUT) - -LIBS = [ - "fastjet", - "fastjettools", - "siscone", - "siscone_spherical", - "fastjetplugins", - "fastjetcontribfragile", -] - - -def get_version() -> str: - g = {} - with open(PYTHON / "version.py") as f: - exec(f.read(), g) - return g["__version__"] - - -class FastJetBuild(setuptools.command.build_ext.build_ext): - def build_extensions(self): - if not OUTPUT.exists(): - zip_filename = DIR / pathlib.Path(CGAL_ZIP).parts[-1] - - with urllib.request.urlopen(CGAL_ZIP) as http_obj: - with open(zip_filename, "wb") as file_obj: - shutil.copyfileobj(http_obj, file_obj) - - with zipfile.ZipFile(zip_filename) as zip_obj: - cgal_dir = DIR / zip_obj.namelist()[0] - zip_obj.extractall(DIR) - - # Patch for segfault of LimitedWarning - # For more info see https://github.com/scikit-hep/fastjet/pull/131 - subprocess.run( - ["patch", "src/ClusterSequence.cc", DIR / "patch_clustersequence.txt"], - cwd=FASTJET, - ) - - # RPATH is set for shared libraries in the following locations: - # * fastjet/ - # * fastjet/_fastjet_core/lib/ - # * fastjet/_fastjet_core/lib/python*/site-packages/ - _rpath = "'$$ORIGIN/_fastjet_core/lib:$$ORIGIN:$$ORIGIN/../..'" - env = os.environ.copy() - env["PYTHON"] = sys.executable - env["PYTHON_INCLUDE"] = f'-I{sysconfig.get_path("include")}' - env["CXXFLAGS"] = "-O3 -Bstatic -lgmp -Bdynamic -std=c++17 " + env.get( - "CXXFLAGS", "" - ) - env["LDFLAGS"] = env.get("LDFLAGS", "") + f" -Wl,-rpath,{_rpath}" - env["ORIGIN"] = "$ORIGIN" # if evaluated, it will still be '$ORIGIN' - - args = [ - f"--prefix={OUTPUT}", - "--enable-thread-safety", - "--disable-auto-ptr", - "--enable-allcxxplugins", - "--enable-cgal", - "--enable-cgal-header-only", - f"--with-cgaldir={cgal_dir}", - "--enable-swig", - "--enable-pyext", - f'LDFLAGS={env["LDFLAGS"]}', - ] - - try: - subprocess.run( - ["./autogen.sh"] + args, - cwd=FASTJET, - env=env, - check=True, - ) - except Exception: - subprocess.run(["cat", "config.log"], cwd=FASTJET, check=True) - raise - - env = os.environ.copy() - env["CXX"] = env.get("CXX", "g++") - env["LDFLAGS"] = env.get("LDFLAGS", "") + f" -Wl,-rpath,{_rpath}" - env["ORIGIN"] = "$ORIGIN" # if evaluated, it will still be '$ORIGIN' - subprocess.run(["make", "-j"], cwd=FASTJET, env=env, check=True) - subprocess.run(["make", "install"], cwd=FASTJET, env=env, check=True) - - subprocess.run( - [ - "./configure", - f"--fastjet-config={FASTJET}/fastjet-config", - f'CXX={env["CXX"]}', - "CXXFLAGS=-O3 -Bstatic -Bdynamic -std=c++17 " - + env.get("CXXFLAGS", ""), - f'LDFLAGS={env["LDFLAGS"]}', - ], - cwd=FASTJET_CONTRIB, - env=env, - check=True, - ) - subprocess.run(["make", "-j"], cwd=FASTJET_CONTRIB, env=env, check=True) - subprocess.run( - ["make", "install"], cwd=FASTJET_CONTRIB, env=env, check=True - ) - subprocess.run( - ["make", "fragile-shared"], cwd=FASTJET_CONTRIB, env=env, check=True - ) - subprocess.run( - ["make", "fragile-shared-install"], - cwd=FASTJET_CONTRIB, - env=env, - check=True, - ) - - setuptools.command.build_ext.build_ext.build_extensions(self) - - -class FastJetInstall(setuptools.command.install.install): - def run(self): - fastjetdir = pathlib.Path(f"{self.build_lib}/fastjet") - - shutil.copytree(OUTPUT, fastjetdir / "_fastjet_core", symlinks=True) - - make = "make" - if sys.platform == "darwin": - make = "gmake" - - pythondir = pathlib.Path( - subprocess.check_output( - f"""{make} -f Makefile --eval='print-pythondir: -\t@echo $(pythondir) -' print-pythondir""", - shell=True, - cwd=FASTJET / "pyinterface", - text=True, - ).strip() - ) - - pyexecdir = pathlib.Path( - subprocess.check_output( - f"""{make} -f Makefile --eval='print-pyexecdir: -\t@echo $(pyexecdir) -' print-pyexecdir""", - shell=True, - cwd=FASTJET / "pyinterface", - text=True, - ).strip() - ) - - shutil.copyfile(pythondir / "fastjet.py", fastjetdir / "_swig.py") - shutil.copyfile(pyexecdir / "_fastjet_swig.so", fastjetdir / "_fastjet_swig.so") - - setuptools.command.install.install.run(self) - - -ext_modules = [ - Pybind11Extension( - "fastjet._ext", - ["src/_ext.cpp"], - cxx_std=11, - include_dirs=[str(OUTPUT / "include")], - library_dirs=[str(OUTPUT / "lib")], - runtime_library_dirs=["$ORIGIN/_fastjet_core/lib"], - libraries=LIBS, - ), -] - - -setup( - version=get_version(), - ext_modules=ext_modules, - cmdclass={"build_ext": FastJetBuild, "install": FastJetInstall}, -) From 75ed7174b7b55eb40ce0c753b1c5d0e12688de8b Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 8 Apr 2025 21:12:11 +0000 Subject: [PATCH 22/83] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index f7c3af22..7f66d60f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -63,7 +63,7 @@ multi_line_output = 3 [tool.flake8] ignore = [ - "E203", + "E203", "E231", "E501", "E722", From 97966ff7fa9c383e39660e15b49f0f0d5e7bf6b3 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 16:14:11 -0500 Subject: [PATCH 23/83] missed a comment --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 7f66d60f..1c0e2531 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -115,7 +115,7 @@ skip = "*-musllinux_*" [tool.scikit-build] minimum-version = "build-system.requires" metadata.version.provider = "scikit_build_core.metadata.setuptools_scm" -cmake.version = ">=3.11.0" +cmake.version = "CMakeLists.txt" sdist.include = ["src/fastjet/version.py"] wheel.install-dir = "fastjet" From 5f712d3203b217a8660227bedacfe4d42f1ea54d Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 16:19:52 -0500 Subject: [PATCH 24/83] pyproject cleanup --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1c0e2531..d6a48d9e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -62,7 +62,7 @@ profile = "black" multi_line_output = 3 [tool.flake8] -ignore = [ +extend-ignore = [ "E203", "E231", "E501", From 505a91f3a25dcb5b8782da150223474a349fa691 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 16:24:52 -0500 Subject: [PATCH 25/83] more pyproject poking --- pyproject.toml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d6a48d9e..1260a4fd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -62,14 +62,7 @@ profile = "black" multi_line_output = 3 [tool.flake8] -extend-ignore = [ - "E203", - "E231", - "E501", - "E722", - "W503", - "B950", -] +ignore = ["E203", "E231", "E501", "E722", "W503", "B950"] select = ["C","E","F","W","T","B","B9","I"] per-file-ignores = "tests/*: T" From cd4b7ecae9e17aedcdcf179fe31c92d6b3867056 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 16:38:03 -0500 Subject: [PATCH 26/83] use a linter that is compatible with pyproject --- .pre-commit-config.yaml | 9 ++++----- pyproject.toml | 6 ++---- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 66ebdcd9..751982e3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -41,12 +41,11 @@ repos: hooks: - id: setup-cfg-fmt -- repo: https://github.com/pycqa/flake8 - rev: 7.2.0 +- repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.11.4 hooks: - - id: flake8 - exclude: docs/conf.py - additional_dependencies: [flake8-bugbear, flake8-print] + - id: ruff + args: [--fix, --show-fixes] - repo: https://github.com/pre-commit/mirrors-clang-format rev: "v20.1.0" diff --git a/pyproject.toml b/pyproject.toml index 1260a4fd..f50a6b85 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -61,10 +61,8 @@ addopts = [ profile = "black" multi_line_output = 3 -[tool.flake8] -ignore = ["E203", "E231", "E501", "E722", "W503", "B950"] -select = ["C","E","F","W","T","B","B9","I"] -per-file-ignores = "tests/*: T" +[tool.ruff] +extend-exclude = ["docs/conf.py"] [tools.mypy] files = "src" From 3f20b0135cedcbb5b1b38d74ccf97a3e9d4d3325 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 16:45:35 -0500 Subject: [PATCH 27/83] try updating wheel setup --- .github/workflows/ci.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3f754d26..7d262aad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,23 +48,19 @@ jobs: - name: Install compiler tools on macOS if: runner.os == 'macOS' run: | - brew install make automake swig gmp mpfr boost libtool cgal + brew install swig gmp mpfr boost libtool cgal brew reinstall gfortran which gfortran - name: Install extra deps on Linux if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig autoconf libtool libcgal-dev + run: sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig libcgal-dev - name: Install package (MacOS) if: runner.os == 'macOS' run: | eval "$(/opt/homebrew/bin/brew shellenv)" export PATH="/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" - export CPPFLAGS+="-I/opt/homebrew/include -L/opt/homebrew/lib" - export CXXFLAGS+="-I/opt/homebrew/include -L/opt/homebrew/lib" - export CFLAGS+="-I/opt/homebrew/include -L/opt/homebrew/lib" - export LDFLAGS+="-L/opt/homebrew/lib" python -m pip install '.[test]' -v - name: Install package (Linux) @@ -97,13 +93,13 @@ jobs: - name: Install compiler tools on macOS if: runner.os == 'macOS' run: | - brew install make automake swig mpfr boost libtool + brew install swig mpfr boost libtool cgal echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" - echo "CPPFLAGS=-I/opt/homebrew/include -L/opt/homebrew/lib $CPPFLAGS" >> "$GITHUB_ENV" - echo "CXXFLAGS=-I/opt/homebrew/include -L/opt/homebrew/lib $CXXFLAGS" >> "$GITHUB_ENV" - echo "CFLAGS=-I/opt/homebrew/include -L/opt/homebrew/lib $CFLAGS" >> "$GITHUB_ENV" - echo "LDFLAGS=-L/opt/homebrew/lib $LDFLAGS" >> "$GITHUB_ENV" echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" + + - name: Install extra deps on Linux + if: runner.os == 'Linux' + run: sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig libcgal-dev - name: Clone gmp if: runner.os == 'macOS' From 9d2522a34eaf97249eed22f30828d1531d064e86 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 8 Apr 2025 21:45:43 +0000 Subject: [PATCH 28/83] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7d262aad..14d95f28 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -96,7 +96,7 @@ jobs: brew install swig mpfr boost libtool cgal echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" - + - name: Install extra deps on Linux if: runner.os == 'Linux' run: sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig libcgal-dev From aa401fd608453c5aaa30ddc69010ff73f698e5af Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 16:50:45 -0500 Subject: [PATCH 29/83] reinstall autotools for gmp rebuild --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 14d95f28..010f6943 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -93,7 +93,7 @@ jobs: - name: Install compiler tools on macOS if: runner.os == 'macOS' run: | - brew install swig mpfr boost libtool cgal + brew install make automake swig mpfr boost libtool cgal echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" From 62d03f0649aee4908aa8de69531b4310a9cbd852 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 16:55:28 -0500 Subject: [PATCH 30/83] reinstall gfortran for macos wheels as well --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 010f6943..d9d49fc6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -94,6 +94,7 @@ jobs: if: runner.os == 'macOS' run: | brew install make automake swig mpfr boost libtool cgal + brew reinstall gfortran echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" From 764018b2a6f023949d2f40ca3f969f41979a4be5 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 17:08:02 -0500 Subject: [PATCH 31/83] try getting CGAL in before-all and set CGAL_DIR --- pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index f50a6b85..ec55b8e5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -99,6 +99,9 @@ before-all = [ "curl -L https://archives.boost.io/release/1.87.0/source/boost_1_87_0.tar.bz2 -o boost_1_87_0.tar.bz2", "tar --bzip2 -xf boost_1_87_0.tar.bz2", "mv boost_1_87_0/boost /usr/include/boost", + "curl -L https://github.com/CGAL/cgal/releases/download/v5.6/CGAL-5.6-library.zip -o CGAL-5.6-library.zip", + "unzip CGAL-5.6-library.zip", + "export CGAL_DIR=$(pwd)/CGAL-5.6", ] # Skip musllinux builds for the moment skip = "*-musllinux_*" From 3d0b09196a0b11d4fecc93f7fe783b6aae5fbf22 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 17:22:23 -0500 Subject: [PATCH 32/83] install CGAL in the linux image --- pyproject.toml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index ec55b8e5..c051db81 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -100,8 +100,12 @@ before-all = [ "tar --bzip2 -xf boost_1_87_0.tar.bz2", "mv boost_1_87_0/boost /usr/include/boost", "curl -L https://github.com/CGAL/cgal/releases/download/v5.6/CGAL-5.6-library.zip -o CGAL-5.6-library.zip", - "unzip CGAL-5.6-library.zip", - "export CGAL_DIR=$(pwd)/CGAL-5.6", + "unzip -q CGAL-5.6-library.zip", + "mkdir CGAL-5.6/build", + "cmake -S CGAL-5.6 -B CGAL-5.6/build -DCMAKE_BUILD_TYPE=\"Release\"", + "cmake --build CGAL-5.6/build --clean-first", + "cmake --install CGAL-5.6/build", + "rm CGAL-5.6 CGAL-5.6-library.zip", ] # Skip musllinux builds for the moment skip = "*-musllinux_*" From 5da131a5cd880929c919393ddca525325c141d5a Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 17:24:42 -0500 Subject: [PATCH 33/83] derp forgot recursive --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index c051db81..7264ad24 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -105,7 +105,7 @@ before-all = [ "cmake -S CGAL-5.6 -B CGAL-5.6/build -DCMAKE_BUILD_TYPE=\"Release\"", "cmake --build CGAL-5.6/build --clean-first", "cmake --install CGAL-5.6/build", - "rm CGAL-5.6 CGAL-5.6-library.zip", + "rm -r CGAL-5.6 CGAL-5.6-library.zip", ] # Skip musllinux builds for the moment skip = "*-musllinux_*" From 0a0be41ebca5e3dfbb04e7c78145f1438fdfed8e Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 17:36:13 -0500 Subject: [PATCH 34/83] update fastjet-contrib --- extern/fastjet-contrib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-contrib b/extern/fastjet-contrib index e1bb0a8f..9d6729c8 160000 --- a/extern/fastjet-contrib +++ b/extern/fastjet-contrib @@ -1 +1 @@ -Subproject commit e1bb0a8f6967594f829a3090b9e3d982b5a03754 +Subproject commit 9d6729c8702062dac00fc04f1d41ce557a32d164 From d0763f71f475d2a43eb37cb30584883124b22210 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 17:40:58 -0500 Subject: [PATCH 35/83] update fastjet-core --- extern/fastjet-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-core b/extern/fastjet-core index fbb01c82..9dc89f7e 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit fbb01c82eed14d92c49480b48ea69b29d05da2c1 +Subproject commit 9dc89f7ed3491fa3c0e582ec73cbaf47c133bf5a From 931f2c4d08f7930b4c7057d04e64151a8dae5bf6 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 17:47:54 -0500 Subject: [PATCH 36/83] update fastjet-core --- extern/fastjet-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-core b/extern/fastjet-core index 9dc89f7e..edb71c00 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit 9dc89f7ed3491fa3c0e582ec73cbaf47c133bf5a +Subproject commit edb71c0042ecc5771d9bdbae30bbcc3401357cc0 From c42c23e5ed89e158684061dc4e6bf30c07bf64a9 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 17:49:33 -0500 Subject: [PATCH 37/83] turn off contribs that are not used in the scikit-hep bindings --- pyproject.toml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 7264ad24..5282b367 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -122,6 +122,26 @@ FASTJET_ENABLE_PYTHON = "ON" FASTJET_ENABLE_CGAL = "ON" FASTJET_PYTHON_PACKAGE_NAME = "_swig" FASTJET_CUSTOM_PYTHON_INSTALL = "./" +FASTJETCONTRIB_ENABLE_GENERICSUBTRACTOR = "OFF" +FASTJETCONTRIB_ENABLE_JETFFMOMENTS = "OFF" +FASTJETCONTRIB_ENABLE_VARIABLER = "OFF" +FASTJETCONTRIB_ENABLE_SCJET = "OFF" +FASTJETCONTRIB_ENABLE_SUBJETCOUNTING = "OFF" +FASTJETCONTRIB_ENABLE_JETCLEANSER = "OFF" +FASTJETCONTRIB_ENABLE_JETSWITHOUTJETS = "OFF" +FASTJETCONTRIB_ENABLE_CONSTITUENTSUBTRACTOR = "OFF" +FASTJETCONTRIB_ENABLE_SOFTKILLER = "OFF" +FASTJETCONTRIB_ENABLE_VALENCIAPLUGIN = "OFF" +FASTJETCONTRIB_ENABLE_CLUSTERINGVETOPLUGIN = "OFF" +FASTJETCONTRIB_ENABLE_QCDAWAREPLUGIN = "OFF" +FASTJETCONTRIB_ENABLE_FLAVORCONE = "OFF" +FASTJETCONTRIB_ENABLE_CENTAURO = "OFF" +FASTJETCONTRIB_ENABLE_KTCLUSCXX = "OFF" +FASTJETCONTRIB_ENABLE_SIGNALFREEBACKGROUNDESTIMATOR = "OFF" +FASTJETCONTRIB_ENABLE_IFNPLUGIN = "OFF" +FASTJETCONTRIB_ENABLE_CMPPLUGIN = "OFF" +FASTJETCONTRIB_ENABLE_SDFPLUGIN = "OFF" +FASTJETCONTRIB_ENABLE_GHSALGO = "OFF" [tool.setuptools_scm] write_to = "src/fastjet/version.py" From 08337ef9dd4843f6da1638e43f7526c6868c9741 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 17:59:25 -0500 Subject: [PATCH 38/83] update fastjet-core --- extern/fastjet-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-core b/extern/fastjet-core index edb71c00..0d57b5cb 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit edb71c0042ecc5771d9bdbae30bbcc3401357cc0 +Subproject commit 0d57b5cbe8a24e7c11cb88c6c881b31bf6cd69ec From 2549869169880ffca86692144a09a6aaefccb258 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 19:32:17 -0500 Subject: [PATCH 39/83] update fastjet-contrib --- extern/fastjet-contrib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-contrib b/extern/fastjet-contrib index 9d6729c8..539cc735 160000 --- a/extern/fastjet-contrib +++ b/extern/fastjet-contrib @@ -1 +1 @@ -Subproject commit 9d6729c8702062dac00fc04f1d41ce557a32d164 +Subproject commit 539cc7350fd251e53589479205a0faead80a3efb From e5ca234d7a3bf3b8d206b796267782dbbe0724a3 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 19:42:46 -0500 Subject: [PATCH 40/83] see if we can get some info about what's being linked --- pyproject.toml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 5282b367..b79d484f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -92,6 +92,11 @@ test-command = "pytest {project}/tests" manylinux-x86_64-image = "manylinux2014" manylinux-i686-image = "manylinux2014" +[[tool.cibuildwheel.overrides]] +select = "*" +inherit.repair-wheel-command = "prepend" +repair-wheel-command = "echo $PWD && ls && delocate-listdeps --depending *.whl" + [tool.cibuildwheel.linux] before-all = [ "yum update -y", From 3f5a2f98110860b20c55297d477351d8d1242520 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 19:47:05 -0500 Subject: [PATCH 41/83] remove listdeps --- pyproject.toml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b79d484f..5282b367 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -92,11 +92,6 @@ test-command = "pytest {project}/tests" manylinux-x86_64-image = "manylinux2014" manylinux-i686-image = "manylinux2014" -[[tool.cibuildwheel.overrides]] -select = "*" -inherit.repair-wheel-command = "prepend" -repair-wheel-command = "echo $PWD && ls && delocate-listdeps --depending *.whl" - [tool.cibuildwheel.linux] before-all = [ "yum update -y", From 620ef1e65ff9e495bc023c86041d7952bb0b4aae Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 19:48:19 -0500 Subject: [PATCH 42/83] try to uninstall gmp with brew --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d9d49fc6..cf3caed2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -94,7 +94,8 @@ jobs: if: runner.os == 'macOS' run: | brew install make automake swig mpfr boost libtool cgal - brew reinstall gfortran + brew reinstall gfortran mpfr + brew uninstall gmp echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" From 7a68eb734cc5c3fffec423979b1ec74c93740dca Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 9 Apr 2025 00:48:34 +0000 Subject: [PATCH 43/83] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cf3caed2..c28be5f3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -94,7 +94,7 @@ jobs: if: runner.os == 'macOS' run: | brew install make automake swig mpfr boost libtool cgal - brew reinstall gfortran mpfr + brew reinstall gfortran mpfr brew uninstall gmp echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" From 4b722dfad0fb6ddbe6d54a8c1c4584e31d84ff09 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 19:51:33 -0500 Subject: [PATCH 44/83] force remove gmp since we reinstall --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c28be5f3..ad269b14 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -95,7 +95,7 @@ jobs: run: | brew install make automake swig mpfr boost libtool cgal brew reinstall gfortran mpfr - brew uninstall gmp + brew uninstall --ignore-dependencies gmp # since we install it manually later echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" From a6c5697cdc49d378386d322cc33b388211a96453 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 19:59:08 -0500 Subject: [PATCH 45/83] try just using reinstalls gmp --- .github/workflows/ci.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ad269b14..81dfde88 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -93,22 +93,21 @@ jobs: - name: Install compiler tools on macOS if: runner.os == 'macOS' run: | + echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" brew install make automake swig mpfr boost libtool cgal - brew reinstall gfortran mpfr - brew uninstall --ignore-dependencies gmp # since we install it manually later + brew reinstall gfortran mpfr gmp echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" - echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" - name: Install extra deps on Linux if: runner.os == 'Linux' run: sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig libcgal-dev - - name: Clone gmp - if: runner.os == 'macOS' - uses: actions/checkout@v4 - with: - repository: gmp-mirror/gmp-6.3 - path: gmp-6.3 + #- name: Clone gmp + # if: runner.os == 'macOS' + # uses: actions/checkout@v4 + # with: + # repository: gmp-mirror/gmp-6.3 + # path: gmp-6.3 - name: Build gmp from source for MACOSX_DEPLOYMENT_TARGET if: runner.os == 'macOS' From 2faadad23aa888c78149e3ac87fa501433da8349 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 20:01:05 -0500 Subject: [PATCH 46/83] more precise install list for macos --- .github/workflows/ci.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 81dfde88..aa77c15d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -94,7 +94,7 @@ jobs: if: runner.os == 'macOS' run: | echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" - brew install make automake swig mpfr boost libtool cgal + brew install swig boost cgal brew reinstall gfortran mpfr gmp echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" @@ -109,19 +109,19 @@ jobs: # repository: gmp-mirror/gmp-6.3 # path: gmp-6.3 - - name: Build gmp from source for MACOSX_DEPLOYMENT_TARGET - if: runner.os == 'macOS' - working-directory: gmp-6.3 - run: | - brew install texinfo - autoreconf -i -f - ./configure --help - ./configure \ - --prefix=$(brew --prefix) \ - --enable-cxx - touch ./doc/version.texi - make --jobs - make install + #- name: Build gmp from source for MACOSX_DEPLOYMENT_TARGET + # if: runner.os == 'macOS' + # working-directory: gmp-6.3 + # run: | + # brew install texinfo + # autoreconf -i -f + # ./configure --help + # ./configure \ + # --prefix=$(brew --prefix) \ + # --enable-cxx + # touch ./doc/version.texi + # make --jobs + # make install - uses: pypa/cibuildwheel@v2.23 env: From 0e8331402f7a6bd9420009ae3e9394e470e08fc4 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 20:15:22 -0500 Subject: [PATCH 47/83] rebuild brew packages with MACOSX_DEPLOYMENT_TARGET=11.0 --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aa77c15d..558afc4b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -94,8 +94,8 @@ jobs: if: runner.os == 'macOS' run: | echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" - brew install swig boost cgal - brew reinstall gfortran mpfr gmp + MACOSX_DEPLOYMENT_TARGET=11.0 brew reinstall --build-from-source gcc mpfr gmp + MACOSX_DEPLOYMENT_TARGET=11.0 brew install --build-from-source swig boost cgal echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" - name: Install extra deps on Linux From ef009cf627e9f663377649fc5b1daf54adca2a82 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 9 Apr 2025 01:15:37 +0000 Subject: [PATCH 48/83] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 558afc4b..43c7531f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -95,7 +95,7 @@ jobs: run: | echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" MACOSX_DEPLOYMENT_TARGET=11.0 brew reinstall --build-from-source gcc mpfr gmp - MACOSX_DEPLOYMENT_TARGET=11.0 brew install --build-from-source swig boost cgal + MACOSX_DEPLOYMENT_TARGET=11.0 brew install --build-from-source swig boost cgal echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" - name: Install extra deps on Linux From cee92d027a062cd22e9daf5a0cdc4a556da500e7 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 20:48:17 -0500 Subject: [PATCH 49/83] try uninstalling homebrew and use conda instead --- .github/workflows/ci.yml | 40 +++++++++++++++------------------------- 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 43c7531f..9adf9599 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -90,39 +90,29 @@ jobs: with: submodules: recursive - - name: Install compiler tools on macOS + - name: Uninstall homebrew if: runner.os == 'macOS' run: | echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" - MACOSX_DEPLOYMENT_TARGET=11.0 brew reinstall --build-from-source gcc mpfr gmp - MACOSX_DEPLOYMENT_TARGET=11.0 brew install --build-from-source swig boost cgal - echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)" + + - uses: conda-incubator/setup-miniconda@v3 + if: runner.os == 'macOS' + with: + auto-update-conda: true + auto-activate-base: true + python-version: ${{ matrix.python }} + mamba-version: "*" + channels: conda-forge - name: Install extra deps on Linux if: runner.os == 'Linux' run: sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig libcgal-dev - #- name: Clone gmp - # if: runner.os == 'macOS' - # uses: actions/checkout@v4 - # with: - # repository: gmp-mirror/gmp-6.3 - # path: gmp-6.3 - - #- name: Build gmp from source for MACOSX_DEPLOYMENT_TARGET - # if: runner.os == 'macOS' - # working-directory: gmp-6.3 - # run: | - # brew install texinfo - # autoreconf -i -f - # ./configure --help - # ./configure \ - # --prefix=$(brew --prefix) \ - # --enable-cxx - # touch ./doc/version.texi - # make --jobs - # make install - + - name: Install extra deps on MacOS + if: runner.os == 'macOS' + run: conda install gfortran cgal mpfr gmp + - uses: pypa/cibuildwheel@v2.23 env: CIBW_ARCHS: ${{ matrix.arch }} From a3955e9e26f676b79cb8538a5cd727b4160da3ae Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 9 Apr 2025 01:48:24 +0000 Subject: [PATCH 50/83] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9adf9599..c61755fe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -112,7 +112,7 @@ jobs: - name: Install extra deps on MacOS if: runner.os == 'macOS' run: conda install gfortran cgal mpfr gmp - + - uses: pypa/cibuildwheel@v2.23 env: CIBW_ARCHS: ${{ matrix.arch }} From d7236e7a45e941899cc2ae387d66d55f0c1378fa Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 20:55:09 -0500 Subject: [PATCH 51/83] hacky but should work? --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c61755fe..311b1792 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -101,7 +101,7 @@ jobs: with: auto-update-conda: true auto-activate-base: true - python-version: ${{ matrix.python }} + python-version: "3.13" mamba-version: "*" channels: conda-forge From d90ac17e282b037b7e3d31f7f0208cbf9c050e95 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 21:09:37 -0500 Subject: [PATCH 52/83] try to only reinstall gmp from source? --- .github/workflows/ci.yml | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 311b1792..f570216f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -90,29 +90,19 @@ jobs: with: submodules: recursive - - name: Uninstall homebrew + - name: Install compiler tools on macOS if: runner.os == 'macOS' run: | echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" - /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)" - - - uses: conda-incubator/setup-miniconda@v3 - if: runner.os == 'macOS' - with: - auto-update-conda: true - auto-activate-base: true - python-version: "3.13" - mamba-version: "*" - channels: conda-forge + MACOSX_DEPLOYMENT_TARGET=11.0 brew reinstall --build-from-source gmp + brew reinstall gcc mpfr + brew install swig boost cgal + echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" - name: Install extra deps on Linux if: runner.os == 'Linux' run: sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig libcgal-dev - - name: Install extra deps on MacOS - if: runner.os == 'macOS' - run: conda install gfortran cgal mpfr gmp - - uses: pypa/cibuildwheel@v2.23 env: CIBW_ARCHS: ${{ matrix.arch }} From 73c787f7ac31b942915b0f1e48f513ec187ce603 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 9 Apr 2025 02:09:46 +0000 Subject: [PATCH 53/83] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f570216f..2901a146 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -96,7 +96,7 @@ jobs: echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" MACOSX_DEPLOYMENT_TARGET=11.0 brew reinstall --build-from-source gmp brew reinstall gcc mpfr - brew install swig boost cgal + brew install swig boost cgal echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" - name: Install extra deps on Linux From fd726a62e74345149a0afba1bd250eecd9ff9176 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 21:19:07 -0500 Subject: [PATCH 54/83] just set MACOSX_DEPLOYMENT_TARGET=14.0 for now to work all the way through --- .github/workflows/ci.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2901a146..27e39ce2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -93,9 +93,8 @@ jobs: - name: Install compiler tools on macOS if: runner.os == 'macOS' run: | - echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" - MACOSX_DEPLOYMENT_TARGET=11.0 brew reinstall --build-from-source gmp - brew reinstall gcc mpfr + echo "MACOSX_DEPLOYMENT_TARGET=14.0" >> "$GITHUB_ENV" + brew reinstall gcc mpfr gmp brew install swig boost cgal echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" From 3762e03be89b0d60bae0a705b1864d6078e2a198 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 21:29:10 -0500 Subject: [PATCH 55/83] look at libgmp build info --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 27e39ce2..1fc14687 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -97,6 +97,7 @@ jobs: brew reinstall gcc mpfr gmp brew install swig boost cgal echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" + otool -l /opt/homebrew/lib/libgmp.dylib - name: Install extra deps on Linux if: runner.os == 'Linux' From d46d373e19830f4db6f48dbe31ae24877ca6f8b4 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 21:33:37 -0500 Subject: [PATCH 56/83] how about just not setting it? --- .github/workflows/ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1fc14687..3803c6c6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -93,11 +93,9 @@ jobs: - name: Install compiler tools on macOS if: runner.os == 'macOS' run: | - echo "MACOSX_DEPLOYMENT_TARGET=14.0" >> "$GITHUB_ENV" brew reinstall gcc mpfr gmp brew install swig boost cgal echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" - otool -l /opt/homebrew/lib/libgmp.dylib - name: Install extra deps on Linux if: runner.os == 'Linux' From 6bbb3727cac758ab2c2bf411247c37c776eb9383 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 21:39:20 -0500 Subject: [PATCH 57/83] how about this? --- .github/workflows/ci.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3803c6c6..da0c3e55 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -90,6 +90,14 @@ jobs: with: submodules: recursive + - name: Set MACOSX_DEPLOYMENT_TARGET=14.0 + if: matrix.os == "macos-latest" + run: echo "MACOSX_DEPLOYMENT_TARGET=14.0" >> "$GITHUB_ENV" + + - name: Set MACOSX_DEPLOYMENT_TARGET=13.0 + if: matrix.os == "macos-13" + run: echo "MACOSX_DEPLOYMENT_TARGET=13.0" >> "$GITHUB_ENV" + - name: Install compiler tools on macOS if: runner.os == 'macOS' run: | From e537e4b3cd2e74431e735145ca813a02455096f5 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Tue, 8 Apr 2025 21:41:09 -0500 Subject: [PATCH 58/83] single quotes --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index da0c3e55..3576f18b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,11 +91,11 @@ jobs: submodules: recursive - name: Set MACOSX_DEPLOYMENT_TARGET=14.0 - if: matrix.os == "macos-latest" + if: matrix.os == 'macos-latest' run: echo "MACOSX_DEPLOYMENT_TARGET=14.0" >> "$GITHUB_ENV" - name: Set MACOSX_DEPLOYMENT_TARGET=13.0 - if: matrix.os == "macos-13" + if: matrix.os == 'macos-13' run: echo "MACOSX_DEPLOYMENT_TARGET=13.0" >> "$GITHUB_ENV" - name: Install compiler tools on macOS From 83b550c835d7064129c9018d485cdd45ca93a707 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 08:33:57 -0500 Subject: [PATCH 59/83] restore custom gmp build, uninstall brew gcc, mpfr, gmp --- .github/workflows/ci.yml | 41 +++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3576f18b..a29fa3f8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,6 +40,7 @@ jobs: - uses: actions/checkout@v4 with: submodules: recursive + fetch-depth: 0 - uses: actions/setup-python@v5 with: @@ -48,9 +49,8 @@ jobs: - name: Install compiler tools on macOS if: runner.os == 'macOS' run: | - brew install swig gmp mpfr boost libtool cgal - brew reinstall gfortran - which gfortran + brew reinstall gfortran + brew install swig boost cgal gmp mpfr - name: Install extra deps on Linux if: runner.os == 'Linux' @@ -89,26 +89,41 @@ jobs: - uses: actions/checkout@v4 with: submodules: recursive - - - name: Set MACOSX_DEPLOYMENT_TARGET=14.0 - if: matrix.os == 'macos-latest' - run: echo "MACOSX_DEPLOYMENT_TARGET=14.0" >> "$GITHUB_ENV" - - - name: Set MACOSX_DEPLOYMENT_TARGET=13.0 - if: matrix.os == 'macos-13' - run: echo "MACOSX_DEPLOYMENT_TARGET=13.0" >> "$GITHUB_ENV" + fetch-depth: 0 - name: Install compiler tools on macOS if: runner.os == 'macOS' run: | - brew reinstall gcc mpfr gmp - brew install swig boost cgal + echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" + brew uninstall gcc mpfr gmp + brew install make automake libtool swig boost cgal mpfr gmp echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" - name: Install extra deps on Linux if: runner.os == 'Linux' run: sudo apt-get update && sudo apt-get install -y libboost-dev libmpfr-dev swig libcgal-dev + - name: Clone gmp + if: runner.os == 'macOS' + uses: actions/checkout@v4 + with: + repository: gmp-mirror/gmp-6.3 + path: gmp-6.3 + + - name: Build gmp from source for MACOSX_DEPLOYMENT_TARGET=11.0 + if: runner.os == 'macOS' + working-directory: gmp-6.3 + run: | + brew install texinfo + autoreconf -i -f + ./configure --help + ./configure \ + --prefix=$(brew --prefix) \ + --enable-cxx + touch ./doc/version.texi + make --jobs + make install + - uses: pypa/cibuildwheel@v2.23 env: CIBW_ARCHS: ${{ matrix.arch }} From cf92e4cd093654608e72232a90cdd85a9d0863f8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 9 Apr 2025 13:34:16 +0000 Subject: [PATCH 60/83] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a29fa3f8..f09ad830 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,8 +49,8 @@ jobs: - name: Install compiler tools on macOS if: runner.os == 'macOS' run: | - brew reinstall gfortran - brew install swig boost cgal gmp mpfr + brew reinstall gfortran + brew install swig boost cgal gmp mpfr - name: Install extra deps on Linux if: runner.os == 'Linux' From 6f0db4055de13dc1e5c22df5ebd0c524415bc871 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 08:35:19 -0500 Subject: [PATCH 61/83] disable pxcone in scikit-hep/fastjet --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 5282b367..e63096e7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -122,6 +122,7 @@ FASTJET_ENABLE_PYTHON = "ON" FASTJET_ENABLE_CGAL = "ON" FASTJET_PYTHON_PACKAGE_NAME = "_swig" FASTJET_CUSTOM_PYTHON_INSTALL = "./" +FASTJET_ENABLE_PLUGIN_PXCONE = "OFF" FASTJETCONTRIB_ENABLE_GENERICSUBTRACTOR = "OFF" FASTJETCONTRIB_ENABLE_JETFFMOMENTS = "OFF" FASTJETCONTRIB_ENABLE_VARIABLER = "OFF" From e092c563091d08a519f2cab9890c89164369fcab Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 08:39:45 -0500 Subject: [PATCH 62/83] remove more deps --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f09ad830..786b82a0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -95,7 +95,7 @@ jobs: if: runner.os == 'macOS' run: | echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" - brew uninstall gcc mpfr gmp + brew uninstall gcc@12 gcc@13 gnupg gnutls isl libmpc nettle gcc mpfr gmp brew install make automake libtool swig boost cgal mpfr gmp echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" From 49af29ee3a856c1ead816304aa00ffd280500e0a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 9 Apr 2025 13:39:54 +0000 Subject: [PATCH 63/83] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 786b82a0..d339492d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -95,7 +95,7 @@ jobs: if: runner.os == 'macOS' run: | echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" - brew uninstall gcc@12 gcc@13 gnupg gnutls isl libmpc nettle gcc mpfr gmp + brew uninstall gcc@12 gcc@13 gnupg gnutls isl libmpc nettle gcc mpfr gmp brew install make automake libtool swig boost cgal mpfr gmp echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" From 31b7b5d8269700229ec564f7fbc0a315fc5ba953 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 09:20:20 -0500 Subject: [PATCH 64/83] --ignore-dependencies --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d339492d..196fdceb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -95,8 +95,8 @@ jobs: if: runner.os == 'macOS' run: | echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" - brew uninstall gcc@12 gcc@13 gnupg gnutls isl libmpc nettle gcc mpfr gmp - brew install make automake libtool swig boost cgal mpfr gmp + brew uninstall gcc@12 gcc@13 gnupg gnutls isl libmpc nettle gcc mpfr gmp --ignore-dependencies + brew install make automake libtool swig boost cgal --ignore-dependencies echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" - name: Install extra deps on Linux From 3b603468ee018748d4699495b715d545c975e19e Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 09:22:17 -0500 Subject: [PATCH 65/83] forgot autoconf --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 196fdceb..dd04bdcc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -96,7 +96,7 @@ jobs: run: | echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" brew uninstall gcc@12 gcc@13 gnupg gnutls isl libmpc nettle gcc mpfr gmp --ignore-dependencies - brew install make automake libtool swig boost cgal --ignore-dependencies + brew install make automake autoconf libtool swig boost cgal --ignore-dependencies echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" - name: Install extra deps on Linux From 5a256052e0140c5baa7efc79a0b850347fc1d43b Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 09:25:40 -0500 Subject: [PATCH 66/83] m4 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dd04bdcc..eee14fe1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -96,7 +96,7 @@ jobs: run: | echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" brew uninstall gcc@12 gcc@13 gnupg gnutls isl libmpc nettle gcc mpfr gmp --ignore-dependencies - brew install make automake autoconf libtool swig boost cgal --ignore-dependencies + brew install m4 make automake autoconf libtool swig boost cgal --ignore-dependencies echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" - name: Install extra deps on Linux From fdd1e9b2ee6fbd64a11270bde0d529d1b4755af1 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 09:36:24 -0500 Subject: [PATCH 67/83] manually build mpfr --- .github/workflows/ci.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eee14fe1..c357ed75 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -124,6 +124,24 @@ jobs: make --jobs make install + - name: Get mpfr release + if: runner.os == 'macOS' + uses: actions/checkout@v4 + run: | + curl -Lk https://www.mpfr.org/mpfr-current/mpfr-4.2.2.tar.gz -o mpfr-4.2.2.tar.gz + tar -xzf mpfr-4.2.2.tar.gz + + - name: Build mpfr from source for MACOSX_DEPLOYMENT_TARGET=11.0 + if: runner.os == 'macOS' + working-directory: mpfr-4.2.2 + run: | + autoreconf -i -f + ./configure --help + ./configure \ + --prefix=$(brew --prefix) + make --jobs + make install + - uses: pypa/cibuildwheel@v2.23 env: CIBW_ARCHS: ${{ matrix.arch }} From 0adcdc5c6f8c99d47aa22c1a09d4c8b8e5bbbe68 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 09:39:21 -0500 Subject: [PATCH 68/83] typo --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c357ed75..d4f56ea3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -126,7 +126,6 @@ jobs: - name: Get mpfr release if: runner.os == 'macOS' - uses: actions/checkout@v4 run: | curl -Lk https://www.mpfr.org/mpfr-current/mpfr-4.2.2.tar.gz -o mpfr-4.2.2.tar.gz tar -xzf mpfr-4.2.2.tar.gz From f0edabe8d2204d9364bf7435bac5c7be54051404 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 09:43:14 -0500 Subject: [PATCH 69/83] set gmp directory --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d4f56ea3..216f837a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -138,6 +138,7 @@ jobs: ./configure --help ./configure \ --prefix=$(brew --prefix) + --with-gmp=$(brew --prefix) make --jobs make install From 4d47313e3dd6c504d1aa98e484296523463529e8 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 09:43:29 -0500 Subject: [PATCH 70/83] typo --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 216f837a..0cd81411 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -137,7 +137,7 @@ jobs: autoreconf -i -f ./configure --help ./configure \ - --prefix=$(brew --prefix) + --prefix=$(brew --prefix) \ --with-gmp=$(brew --prefix) make --jobs make install From 6b20bae93b7c74dfa1c9ce013393f843ba02ca26 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 10:53:43 -0500 Subject: [PATCH 71/83] update fastjet-core --- extern/fastjet-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-core b/extern/fastjet-core index 0d57b5cb..83267b5d 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit 0d57b5cbe8a24e7c11cb88c6c881b31bf6cd69ec +Subproject commit 83267b5dc59a0799df9c0bdfd6efdd28a0669fa2 From 5bfe92a7bbfd782b8c5f5a9a6beabbe70f57e423 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 11:13:06 -0500 Subject: [PATCH 72/83] update complete wheel build --- .github/workflows/wheels.yml | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 21f97a5a..da891f69 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -44,13 +44,10 @@ jobs: - name: Install compiler tools on macOS if: runner.os == 'macOS' run: | - brew install make automake swig mpfr boost libtool - echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" - echo "CPPFLAGS=-I/opt/homebrew/include -L/opt/homebrew/lib $CPPFLAGS" >> "$GITHUB_ENV" - echo "CXXFLAGS=-I/opt/homebrew/include -L/opt/homebrew/lib $CXXFLAGS" >> "$GITHUB_ENV" - echo "CFLAGS=-I/opt/homebrew/include -L/opt/homebrew/lib $CFLAGS" >> "$GITHUB_ENV" - echo "LDFLAGS=-L/opt/homebrew/lib $LDFLAGS" >> "$GITHUB_ENV" echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> "$GITHUB_ENV" + brew uninstall gcc@12 gcc@13 gnupg gnutls isl libmpc nettle gcc mpfr gmp --ignore-dependencies + brew install m4 make automake autoconf libtool swig boost cgal --ignore-dependencies + echo "PATH=/opt/homebrew/opt/make/libexec/gnubin:/opt/homebrew/opt/libtool/libexec/gnubin:$PATH" >> "$GITHUB_ENV" - name: Clone gmp if: runner.os == 'macOS' @@ -74,6 +71,24 @@ jobs: make --jobs make install + - name: Get mpfr release + if: runner.os == 'macOS' + run: | + curl -Lk https://www.mpfr.org/mpfr-current/mpfr-4.2.2.tar.gz -o mpfr-4.2.2.tar.gz + tar -xzf mpfr-4.2.2.tar.gz + + - name: Build mpfr from source for MACOSX_DEPLOYMENT_TARGET=11.0 + if: runner.os == 'macOS' + working-directory: mpfr-4.2.2 + run: | + autoreconf -i -f + ./configure --help + ./configure \ + --prefix=$(brew --prefix) \ + --with-gmp=$(brew --prefix) + make --jobs + make install + - uses: pypa/cibuildwheel@v2.23 env: CIBW_ARCHS: ${{ matrix.arch }} From 0821843b792245e4cbf143e352d929f16521d13f Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 11:27:19 -0500 Subject: [PATCH 73/83] wheels cleanup --- .github/workflows/wheels.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index da891f69..0e154fc7 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -17,6 +17,7 @@ jobs: - uses: actions/checkout@v4 with: submodules: recursive + fetch-depth: 0 - name: Build SDist run: pipx run build --sdist @@ -40,6 +41,7 @@ jobs: - uses: actions/checkout@v4 with: submodules: recursive + fetch-depth: 0 - name: Install compiler tools on macOS if: runner.os == 'macOS' @@ -113,7 +115,7 @@ jobs: - name: Install extra deps on Linux if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get install -y libboost-dev swig autoconf libtool + run: sudo apt-get update && sudo apt-get install -y libboost-dev swig autoconf libtool libcgal-dev - name: test sdist run: python -m pip install dist/*.tar.gz From af6c1369c348b4cd3348a7aea1e863935d7df6c3 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 13:31:47 -0500 Subject: [PATCH 74/83] add requirements for non-isolated build/editable install --- pyproject.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index e63096e7..c535d6e7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,6 +27,10 @@ dependencies = [ ] [project.optional-dependencies] +local_build = [ + "scikit-build-core>=0.11", + "setuptools-scm", +] dask = [ "dask>=2023.4.0", "dask-awkward>=2023.4.2", From 2b6289f5dd2b328ff364046dbf7911ba5f712bf0 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 15:25:22 -0500 Subject: [PATCH 75/83] update fastjet-core --- extern/fastjet-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-core b/extern/fastjet-core index 83267b5d..aa4df275 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit 83267b5dc59a0799df9c0bdfd6efdd28a0669fa2 +Subproject commit aa4df27513ba72b0b8af3bb1fc82e2c0bb8903fc From 0a6823aaadda1fc3968daf6ef43091abf200176e Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 15:35:27 -0500 Subject: [PATCH 76/83] update fastjet-core --- extern/fastjet-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-core b/extern/fastjet-core index aa4df275..5b5bee77 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit aa4df27513ba72b0b8af3bb1fc82e2c0bb8903fc +Subproject commit 5b5bee774d94f156acc261e7b84f305a92100453 From 92c3113bf2adcfa1806bb6db97a1b2de0232a9f8 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 21:28:50 -0500 Subject: [PATCH 77/83] update fastjet-core --- extern/fastjet-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-core b/extern/fastjet-core index 5b5bee77..a1628af2 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit 5b5bee774d94f156acc261e7b84f305a92100453 +Subproject commit a1628af2f4edfd2ac6a85bcb610d338614a0445c From 2a6a07ff95cfc746c46ee0c29f87d7ac08b86c4c Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 22:10:20 -0500 Subject: [PATCH 78/83] update fastjet-core --- extern/fastjet-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-core b/extern/fastjet-core index a1628af2..c2ba2288 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit a1628af2f4edfd2ac6a85bcb610d338614a0445c +Subproject commit c2ba22885d8c052cd3673fd920371c0b0624e94c From 447fe77d29d33423c4e91e2ec4213895f70f2234 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Wed, 9 Apr 2025 22:28:10 -0500 Subject: [PATCH 79/83] update fastjet-core --- extern/fastjet-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-core b/extern/fastjet-core index c2ba2288..8b4cbb8c 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit c2ba22885d8c052cd3673fd920371c0b0624e94c +Subproject commit 8b4cbb8c6c9e8cdad57c38969e0f009dcebd43e2 From 631a883bb984b5fc1498275745e1d0a8f690f114 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Thu, 10 Apr 2025 09:34:39 -0500 Subject: [PATCH 80/83] update fastjet-core --- extern/fastjet-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-core b/extern/fastjet-core index 8b4cbb8c..7a0868f2 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit 8b4cbb8c6c9e8cdad57c38969e0f009dcebd43e2 +Subproject commit 7a0868f2daf870466e9b6ae1ebe8b27a9a9d0e8b From 4f70d61f72e05e5ddb7968f67273bbe6c0e2dfb0 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Thu, 10 Apr 2025 11:04:48 -0500 Subject: [PATCH 81/83] update fastjet-core --- extern/fastjet-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-core b/extern/fastjet-core index 7a0868f2..13faf198 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit 7a0868f2daf870466e9b6ae1ebe8b27a9a9d0e8b +Subproject commit 13faf1985bb355c42439f152a380a7c959d2e9c6 From 95a5fcf50f1f6a2d0f2ec80420c16fed2969c5c0 Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Thu, 10 Apr 2025 11:13:10 -0500 Subject: [PATCH 82/83] update fastjet-core --- extern/fastjet-core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/fastjet-core b/extern/fastjet-core index 13faf198..2743e7cc 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit 13faf1985bb355c42439f152a380a7c959d2e9c6 +Subproject commit 2743e7ccdeb21875712b0b2252a4566082fd8e89 From af50217e2feb1a10e8397c60be1d9eec033c95bd Mon Sep 17 00:00:00 2001 From: Lindsey Gray Date: Thu, 10 Apr 2025 12:47:48 -0500 Subject: [PATCH 83/83] update fastjet-core --- .gitmodules | 2 +- extern/fastjet-core | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index a8a37fcb..a10c9a12 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ [submodule "fastjet"] path = extern/fastjet-core - url = https://gitlab.com/lgray1/fastjet.git + url = https://gitlab.com/fastjet/fastjet.git [submodule "fastjet-contrib"] path = extern/fastjet-contrib url = https://github.com/lgray/fastjet-contrib.git diff --git a/extern/fastjet-core b/extern/fastjet-core index 2743e7cc..8fc02d2a 160000 --- a/extern/fastjet-core +++ b/extern/fastjet-core @@ -1 +1 @@ -Subproject commit 2743e7ccdeb21875712b0b2252a4566082fd8e89 +Subproject commit 8fc02d2a1b6058f295cb7ce89a60d996c8cd6e53