summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorDan Lipsa <dan.lipsa@kitware.com>2024-06-17 09:33:22 -0400
committerGitHub <noreply@github.com>2024-06-17 15:33:22 +0200
commit9ba90e322eb4ce16c543e9ac27058188d5471654 (patch)
tree7cdf762df65e5b8ba0c094d1c3999275b1808b0c /var
parentd9c6b40d8e7dacec9c6dee1c8942aace9717fe78 (diff)
downloadspack-9ba90e322eb4ce16c543e9ac27058188d5471654.tar.gz
spack-9ba90e322eb4ce16c543e9ac27058188d5471654.tar.bz2
spack-9ba90e322eb4ce16c543e9ac27058188d5471654.tar.xz
spack-9ba90e322eb4ce16c543e9ac27058188d5471654.zip
PROJ: add new versions, improve tiff patches (#42767)
* Projsync needs curl This fixes a proj compilation error from paraview * tiff does not set TIFF_INCLUDE_DIR tested by proj * TIFF patch exists for proj 9.2 * Add comments with location of proj patch * Use TIFF patches for different cmake versions * Use modules starting cmake 3.28 and variables before that * Fix black style * Simpler patches, add newer proj * Remove duplicated flag * Deprecate PROJ 4.8 and older * Remove PRIVATE * Deprecate PROJ 7.0.0 --------- Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/proj/package.py46
-rw-r--r--var/spack/repos/builtin/packages/proj/proj-7-cmake-3.29-new-tiff-interface.patch13
-rw-r--r--var/spack/repos/builtin/packages/proj/proj-7-tiff.patch19
-rw-r--r--var/spack/repos/builtin/packages/proj/proj-8-tiff.patch19
-rw-r--r--var/spack/repos/builtin/packages/proj/proj-8.1-cmake-3.29-new-tiff-interface.patch13
5 files changed, 72 insertions, 38 deletions
diff --git a/var/spack/repos/builtin/packages/proj/package.py b/var/spack/repos/builtin/packages/proj/package.py
index 78a92e8ad6..0058b85831 100644
--- a/var/spack/repos/builtin/packages/proj/package.py
+++ b/var/spack/repos/builtin/packages/proj/package.py
@@ -25,6 +25,10 @@ class Proj(CMakePackage, AutotoolsPackage):
license("MIT")
+ version("9.4.1", sha256="ffe20170ee2b952207adf8a195e2141eab12cda181e49fdeb54425d98c7171d7")
+ version("9.4.0", sha256="3643b19b1622fe6b2e3113bdb623969f5117984b39f173b4e3fb19a8833bd216")
+ version("9.3.1", sha256="b0f919cb9e1f42f803a3e616c2b63a78e4d81ecfaed80978d570d3a5e29d10bc")
+ version("9.3.0", sha256="91a3695a004ea28db0448a34460bed4cc3b130e5c7d74339ec999efdab0e547d")
version("9.2.1", sha256="15ebf4afa8744b9e6fccb5d571fc9f338dc3adcf99907d9e62d1af815d4971a1")
version("9.2.0", sha256="dea816f5aa732ae6b2ee3977b9bdb28b1d848cf56a1aad8faf6708b89f0ed50e")
version("9.1.1", sha256="003cd4010e52bb5eb8f7de1c143753aa830c8902b6ed01209f294846e40e6d39")
@@ -41,7 +45,11 @@ class Proj(CMakePackage, AutotoolsPackage):
version("7.2.0", sha256="2957798e5fe295ff96a2af1889d0428e486363d210889422f76dd744f7885763")
version("7.1.0", sha256="876151e2279346f6bdbc63bd59790b48733496a957bccd5e51b640fdd26eaa8d")
version("7.0.1", sha256="a7026d39c9c80d51565cfc4b33d22631c11e491004e19020b3ff5a0791e1779f")
- version("7.0.0", sha256="ee0e14c1bd2f9429b1a28999240304c0342ed739ebaea3d4ff44c585b1097be8")
+ version(
+ "7.0.0",
+ sha256="ee0e14c1bd2f9429b1a28999240304c0342ed739ebaea3d4ff44c585b1097be8",
+ deprecated=True,
+ )
version("6.3.2", sha256="cb776a70f40c35579ae4ba04fb4a388c1d1ce025a1df6171350dc19f25b80311")
version("6.3.1", sha256="6de0112778438dcae30fcc6942dee472ce31399b9e5a2b67e8642529868c86f8")
version("6.2.0", sha256="b300c0f872f632ad7f8eb60725edbf14f0f8f52db740a3ab23e7b94f1cd22a50")
@@ -52,12 +60,24 @@ class Proj(CMakePackage, AutotoolsPackage):
version("5.0.1", sha256="a792f78897482ed2c4e2af4e8a1a02e294c64e32b591a635c5294cb9d49fdc8c")
version("4.9.2", sha256="60bf9ad1ed1c18158e652dfff97865ba6fb2b67f1511bc8dceae4b3c7e657796")
version("4.9.1", sha256="fca0388f3f8bc5a1a803d2f6ff30017532367992b30cf144f2d39be88f36c319")
- version("4.8.0", sha256="2db2dbf0fece8d9880679154e0d6d1ce7c694dd8e08b4d091028093d87a9d1b5")
- version("4.7.0", sha256="fc5440002a496532bfaf423c28bdfaf9e26cc96c84ccefcdefde911efbd98986")
- version("4.6.1", sha256="76d174edd4fdb4c49c1c0ed8308a469216c01e7177a4510b1b303ef3c5f97b47")
+ version(
+ "4.8.0",
+ sha256="2db2dbf0fece8d9880679154e0d6d1ce7c694dd8e08b4d091028093d87a9d1b5",
+ deprecated=True,
+ )
+ version(
+ "4.7.0",
+ sha256="fc5440002a496532bfaf423c28bdfaf9e26cc96c84ccefcdefde911efbd98986",
+ deprecated=True,
+ )
+ version(
+ "4.6.1",
+ sha256="76d174edd4fdb4c49c1c0ed8308a469216c01e7177a4510b1b303ef3c5f97b47",
+ deprecated=True,
+ )
- variant("tiff", default=True, description="Enable TIFF support")
- variant("curl", default=True, description="Enable curl support")
+ variant("tiff", default=True, when="@7:", description="Enable TIFF support")
+ variant("curl", default=True, when="@7:", description="Enable curl support")
variant("shared", default=True, description="Enable shared libraries")
variant("pic", default=False, description="Enable position-independent code (PIC)")
@@ -89,14 +109,14 @@ class Proj(CMakePackage, AutotoolsPackage):
# https://proj.org/install.html#build-requirements
with when("build_system=cmake"):
- # CMake 3.19 refactored the FindTiff module interface, update older proj's
- # to be compatible with this "new" interface
- # patch replaces the TIFF_LIBRARY variable (no longer used) with TIFF_LIBRARIES
- patch("proj-8.1-cmake-3.29-new-tiff-interface.patch", when="+tiff @8:9.1.0 ^cmake@3.19:")
- patch("proj-7-cmake-3.29-new-tiff-interface.patch", when="+tiff @7 ^cmake@3.19:")
+ # https://github.com/OSGeo/PROJ/pull/3374
+ patch("proj-8-tiff.patch", when="@8:9.1")
+ patch("proj-7-tiff.patch", when="@7")
+ # https://github.com/spack/spack/pull/41065
patch("proj.cmakelists.5.0.patch", when="@5.0")
patch("proj.cmakelists.5.1.patch", when="@5.1:5.2")
- conflicts("cmake@3.19:", when="@:7")
+
+ depends_on("cmake@3.16:", when="@9.4:", type="build")
depends_on("cmake@3.9:", when="@6:", type="build")
depends_on("cmake@3.5:", when="@5", type="build")
depends_on("cmake@2.6:", when="@:4", type="build")
@@ -138,6 +158,8 @@ class CMakeBuilder(BaseBuilder, cmake.CMakeBuilder):
self.define_from_variant("ENABLE_TIFF", "tiff"),
self.define_from_variant("ENABLE_CURL", "curl"),
self.define_from_variant(shared_arg, "shared"),
+ # projsync needs curl
+ self.define_from_variant("BUILD_PROJSYNC", "curl"),
self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"),
]
if self.spec.satisfies("@6:") and self.pkg.run_tests:
diff --git a/var/spack/repos/builtin/packages/proj/proj-7-cmake-3.29-new-tiff-interface.patch b/var/spack/repos/builtin/packages/proj/proj-7-cmake-3.29-new-tiff-interface.patch
deleted file mode 100644
index be0095ffde..0000000000
--- a/var/spack/repos/builtin/packages/proj/proj-7-cmake-3.29-new-tiff-interface.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/lib_proj.cmake b/src/lib_proj.cmake
-index cf30734e5779b102dac3e72ac13962687f6e376e..b2f42c13bc43b6cf5475965c2ce0077daefc47e2 100644
---- a/src/lib_proj.cmake
-+++ b/src/lib_proj.cmake
-@@ -420,7 +420,7 @@ target_link_libraries(${PROJ_CORE_TARGET} ${SQLITE3_LIBRARY})
- if(TIFF_ENABLED)
- target_compile_definitions(${PROJ_CORE_TARGET} PRIVATE -DTIFF_ENABLED)
- target_include_directories(${PROJ_CORE_TARGET} PRIVATE ${TIFF_INCLUDE_DIR})
-- target_link_libraries(${PROJ_CORE_TARGET} ${TIFF_LIBRARY})
-+ target_link_libraries(${PROJ_CORE_TARGET} ${TIFF_LIBRARIES})
- endif()
-
- if(CURL_ENABLED)
diff --git a/var/spack/repos/builtin/packages/proj/proj-7-tiff.patch b/var/spack/repos/builtin/packages/proj/proj-7-tiff.patch
new file mode 100644
index 0000000000..d6597a3e93
--- /dev/null
+++ b/var/spack/repos/builtin/packages/proj/proj-7-tiff.patch
@@ -0,0 +1,19 @@
+--- a/src/lib_proj.cmake 2024-06-12 13:29:53
++++ b/src/lib_proj.cmake 2024-06-12 13:30:27
+@@ -406,8 +406,14 @@
+
+ if(TIFF_ENABLED)
+ target_compile_definitions(${PROJ_CORE_TARGET} PRIVATE -DTIFF_ENABLED)
+- target_include_directories(${PROJ_CORE_TARGET} PRIVATE ${TIFF_INCLUDE_DIR})
+- target_link_libraries(${PROJ_CORE_TARGET} ${TIFF_LIBRARY})
++ if( CMAKE_VERSION VERSION_LESS 3.11 AND CMAKE_CROSSCOMPILING )
++ # Hack needed for ubuntu:18.04 mingw64 cross compiling to avoid
++ # -isystem to be emitted (similar to https://discourse.cmake.org/t/use-of-isystem/1574)
++ target_include_directories(proj PRIVATE ${TIFF_INCLUDE_DIRS})
++ target_link_libraries(proj ${TIFF_LIBRARIES})
++ else()
++ target_link_libraries(proj TIFF::TIFF)
++ endif()
+ endif()
+
+ if(CURL_ENABLED)
diff --git a/var/spack/repos/builtin/packages/proj/proj-8-tiff.patch b/var/spack/repos/builtin/packages/proj/proj-8-tiff.patch
new file mode 100644
index 0000000000..e223d860c9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/proj/proj-8-tiff.patch
@@ -0,0 +1,19 @@
+--- a/src/lib_proj.cmake 2024-06-12 13:07:41
++++ b/src/lib_proj.cmake 2024-06-12 13:08:16
+@@ -404,8 +404,14 @@
+
+ if(TIFF_ENABLED)
+ target_compile_definitions(proj PRIVATE -DTIFF_ENABLED)
+- target_include_directories(proj PRIVATE ${TIFF_INCLUDE_DIR})
+- target_link_libraries(proj PRIVATE ${TIFF_LIBRARY})
++ if( CMAKE_VERSION VERSION_LESS 3.11 AND CMAKE_CROSSCOMPILING )
++ # Hack needed for ubuntu:18.04 mingw64 cross compiling to avoid
++ # -isystem to be emitted (similar to https://discourse.cmake.org/t/use-of-isystem/1574)
++ target_include_directories(proj PRIVATE ${TIFF_INCLUDE_DIRS})
++ target_link_libraries(proj PRIVATE ${TIFF_LIBRARIES})
++ else()
++ target_link_libraries(proj PRIVATE TIFF::TIFF)
++ endif()
+ endif()
+
+ if(CURL_ENABLED)
diff --git a/var/spack/repos/builtin/packages/proj/proj-8.1-cmake-3.29-new-tiff-interface.patch b/var/spack/repos/builtin/packages/proj/proj-8.1-cmake-3.29-new-tiff-interface.patch
deleted file mode 100644
index d278029aed..0000000000
--- a/var/spack/repos/builtin/packages/proj/proj-8.1-cmake-3.29-new-tiff-interface.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/lib_proj.cmake b/src/lib_proj.cmake
-index f2de1c10..a5697608 100644
---- a/src/lib_proj.cmake
-+++ b/src/lib_proj.cmake
-@@ -405,7 +405,7 @@ endif()
- if(TIFF_ENABLED)
- target_compile_definitions(proj PRIVATE -DTIFF_ENABLED)
- target_include_directories(proj PRIVATE ${TIFF_INCLUDE_DIR})
-- target_link_libraries(proj PRIVATE ${TIFF_LIBRARY})
-+ target_link_libraries(proj PRIVATE ${TIFF_LIBRARIES})
- endif()
-
- if(CURL_ENABLED)