pyurd-native 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. pyurd_native-0.1.0/PKG-INFO +26 -0
  2. pyurd_native-0.1.0/native/CMakeLists.txt +74 -0
  3. pyurd_native-0.1.0/native/CORRESPONDING_SOURCE.md +15 -0
  4. pyurd_native-0.1.0/native/LICENSE +674 -0
  5. pyurd_native-0.1.0/native/README.md +15 -0
  6. pyurd_native-0.1.0/native/SOURCES.json +92 -0
  7. pyurd_native-0.1.0/native/argparse/CMakeLists.txt +35 -0
  8. pyurd_native-0.1.0/native/argparse/licenses/LICENSE +7 -0
  9. pyurd_native-0.1.0/native/benchmark/CMakeLists.txt +44 -0
  10. pyurd_native-0.1.0/native/benchmark/licenses/LICENSE +202 -0
  11. pyurd_native-0.1.0/native/boost/CMakeLists.txt +44 -0
  12. pyurd_native-0.1.0/native/boost/licenses/LICENSE_1_0.txt +23 -0
  13. pyurd_native-0.1.0/native/cista/CMakeLists.txt +47 -0
  14. pyurd_native-0.1.0/native/cista/licenses/LICENSE +19 -0
  15. pyurd_native-0.1.0/native/fmt/CMakeLists.txt +34 -0
  16. pyurd_native-0.1.0/native/fmt/licenses/LICENSE +20 -0
  17. pyurd_native-0.1.0/native/googletest/CMakeLists.txt +41 -0
  18. pyurd_native-0.1.0/native/googletest/licenses/LICENSE +28 -0
  19. pyurd_native-0.1.0/native/gtl/CMakeLists.txt +56 -0
  20. pyurd_native-0.1.0/native/gtl/clear-empty-node.patch +23 -0
  21. pyurd_native-0.1.0/native/gtl/debug-access-trait.patch +23 -0
  22. pyurd_native-0.1.0/native/gtl/licenses/LICENSE +201 -0
  23. pyurd_native-0.1.0/native/gtl/licenses/license_folly +200 -0
  24. pyurd_native-0.1.0/native/gtl/licenses/license_lamerman +30 -0
  25. pyurd_native-0.1.0/native/gtl/package/CMakeLists.txt +38 -0
  26. pyurd_native-0.1.0/native/gtl/package/gtlConfig.cmake.in +3 -0
  27. pyurd_native-0.1.0/native/gtl/settings-struct.patch +83 -0
  28. pyurd_native-0.1.0/native/icu/CMakeLists.txt +40 -0
  29. pyurd_native-0.1.0/native/mpich/CMakeLists.txt +76 -0
  30. pyurd_native-0.1.0/native/mpich/licenses/COPYRIGHT +58 -0
  31. pyurd_native-0.1.0/native/mpich/licenses/LICENSE.json-c +42 -0
  32. pyurd_native-0.1.0/native/mpich/licenses/LICENSE.libfabric +379 -0
  33. pyurd_native-0.1.0/native/mpich/licenses/THIRD_PARTY_NOTICES.libfabric +146 -0
  34. pyurd_native-0.1.0/native/mpich/patch_wrappers.cmake +35 -0
  35. pyurd_native-0.1.0/native/nanobind/CMakeLists.txt +43 -0
  36. pyurd_native-0.1.0/native/nanobind/licenses/LICENSE +26 -0
  37. pyurd_native-0.1.0/native/nanobind/licenses/robin_map/LICENSE +21 -0
  38. pyurd_native-0.1.0/native/nauty/CMakeLists.txt +57 -0
  39. pyurd_native-0.1.0/native/nauty/licenses/COPYRIGHT +44 -0
  40. pyurd_native-0.1.0/native/nauty/licenses/LICENSE-2.0.txt +202 -0
  41. pyurd_native-0.1.0/native/nauty/package/CMakeLists.txt +27 -0
  42. pyurd_native-0.1.0/native/nauty/package/NautyConfig.cmake.in +8 -0
  43. pyurd_native-0.1.0/native/oneTBB/CMakeLists.txt +44 -0
  44. pyurd_native-0.1.0/native/oneTBB/licenses/LICENSE.txt +201 -0
  45. pyurd_native-0.1.0/native/oneTBB/licenses/third-party-programs.txt +198 -0
  46. pyurd_native-0.1.0/native/source_manifest.cmake +30 -0
  47. pyurd_native-0.1.0/native/tomlplusplus/CMakeLists.txt +22 -0
  48. pyurd_native-0.1.0/native/tomlplusplus/licenses/LICENSE +16 -0
  49. pyurd_native-0.1.0/native/wheel/CMakeLists.txt +146 -0
  50. pyurd_native-0.1.0/pyproject.toml +62 -0
  51. pyurd_native-0.1.0/pyurd_native_build_backend.py +111 -0
  52. pyurd_native-0.1.0/src/pyurd_native/__init__.py +45 -0
  53. pyurd_native-0.1.0/src/pyurd_native/__main__.py +44 -0
  54. pyurd_native-0.1.0/src/pyurd_native/py.typed +0 -0
@@ -0,0 +1,26 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyurd-native
3
+ Version: 0.1.0
4
+ Summary: The native dependencies of urd and of Dominik Drexler's planning projects, as one prefix
5
+ Author-Email: Dominik Drexler <dominik.drexler@liu.se>
6
+ License-Expression: GPL-3.0-or-later
7
+ License-File: native/LICENSE
8
+ Project-URL: Homepage, https://github.com/planning-and-learning/urd
9
+ Requires-Python: >=3.11
10
+ Description-Content-Type: text/markdown
11
+
12
+ # pyurd-native
13
+
14
+ The native dependencies of [urd](https://github.com/planning-and-learning/urd) and of the planning libraries built
15
+ on it (yggdrasil, loki, tyr, runir), as one prefix in a platform wheel: Boost, ICU, MPICH, oneTBB, nauty, gtl, cista,
16
+ fmt, nanobind, argparse, toml++, googletest and benchmark, in the versions `native/SOURCES.json` pins.
17
+
18
+ `pyurd` (urd's headers and CMake package, one wheel for every platform) requires an exact version of it, so it is
19
+ not installed on its own. It is released only when a pinned dependency changes.
20
+
21
+ ```console
22
+ python -m pyurd_native --prefix # the prefix to put on CMAKE_PREFIX_PATH
23
+ ```
24
+
25
+ The licenses of the bundled libraries are under `share/licenses/` of that prefix; `share/CORRESPONDING_SOURCE.md`
26
+ says where their sources are.
@@ -0,0 +1,74 @@
1
+ # Builds and installs the dependencies listed in SOURCES.json into CMAKE_INSTALL_PREFIX: what pyurd-native ships, and
2
+ # what urd, yggdrasil and the libraries above it build against (URD_NATIVE_PREFIX).
3
+
4
+ cmake_minimum_required(VERSION 3.21)
5
+
6
+ project(urd_native_sources)
7
+
8
+ include(GNUInstallDirs)
9
+ include(ProcessorCount)
10
+ include("${CMAKE_CURRENT_LIST_DIR}/source_manifest.cmake")
11
+
12
+ # Build configuration
13
+
14
+ if(NOT DEFINED URD_JOBS)
15
+ ProcessorCount(URD_JOBS)
16
+ endif()
17
+ if(NOT URD_JOBS)
18
+ set(URD_JOBS 1)
19
+ endif()
20
+
21
+ set(DEFAULT_BUILD_TYPE "Release")
22
+ if(NOT CMAKE_BUILD_TYPE)
23
+ set(
24
+ CMAKE_BUILD_TYPE
25
+ ${DEFAULT_BUILD_TYPE}
26
+ CACHE STRING
27
+ "Choose the type of build, options are: Debug Release"
28
+ FORCE
29
+ )
30
+ endif()
31
+
32
+ set(BUILD_TYPE ${CMAKE_BUILD_TYPE})
33
+
34
+ message(STATUS "Build shared dependencies: ON")
35
+
36
+ if(APPLE)
37
+ set(URD_DEPENDENCY_INSTALL_RPATH "@loader_path")
38
+ else()
39
+ set(URD_DEPENDENCY_INSTALL_RPATH "$ORIGIN")
40
+ endif()
41
+ set(
42
+ CMAKE_INSTALL_RPATH
43
+ "${URD_DEPENDENCY_INSTALL_RPATH}"
44
+ CACHE STRING
45
+ "Install runtime path for bundled shared dependencies."
46
+ )
47
+ set(
48
+ CMAKE_BUILD_WITH_INSTALL_RPATH
49
+ OFF
50
+ CACHE BOOL
51
+ "Use the build-tree runtime path while building bundled dependencies."
52
+ )
53
+ set(
54
+ CMAKE_INSTALL_RPATH_USE_LINK_PATH
55
+ OFF
56
+ CACHE BOOL
57
+ "Do not append absolute linked library directories to bundled dependency install runtime paths."
58
+ )
59
+ message(STATUS "Dependency install rpath: ${URD_DEPENDENCY_INSTALL_RPATH}")
60
+
61
+ urd_sources(URD_DEPENDENCIES)
62
+ # Boost's MPI and Locale components require MPICH and ICU to exist first.
63
+ list(REMOVE_ITEM URD_DEPENDENCIES boost)
64
+ list(APPEND URD_DEPENDENCIES boost)
65
+ foreach(dependency IN LISTS URD_DEPENDENCIES)
66
+ add_subdirectory("${dependency}")
67
+ install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${dependency}/licenses/"
68
+ DESTINATION "${CMAKE_INSTALL_DATADIR}/licenses/${dependency}"
69
+ OPTIONAL
70
+ )
71
+ endforeach()
72
+
73
+ list(TRANSFORM URD_DEPENDENCIES APPEND "-download" OUTPUT_VARIABLE URD_DOWNLOAD_TARGETS)
74
+ add_custom_target(corresponding-source-downloads DEPENDS ${URD_DOWNLOAD_TARGETS})
@@ -0,0 +1,15 @@
1
+ # Corresponding source
2
+
3
+ `pyurd-native` wheels bundle the native dependencies in binary form. For such a wheel, download
4
+ `pyurd_native-<VERSION>-corresponding-source.tar.gz` from the matching
5
+ [`native-v<VERSION>` GitHub release](https://github.com/planning-and-learning/urd/releases).
6
+ It contains pyurd-native's source distribution, with the build scripts and patches of the dependencies, together with
7
+ the exact upstream native dependency sources, including required Git submodules.
8
+ The source distribution alone is also on the [PyPI files page](https://pypi.org/project/pyurd-native/#files).
9
+
10
+ `pyurd` wheels hold urd's own headers and CMake package only; their source distribution is on the
11
+ [PyPI files page](https://pypi.org/project/pyurd/#files).
12
+
13
+ [`SOURCES.json`](SOURCES.json) is the canonical, machine-readable manifest of
14
+ the repositories, revisions, archive URLs, and checksums used to build those
15
+ dependencies.