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>
This commit is contained in:
parent
d9c6b40d8e
commit
9ba90e322e
@ -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 @@ def cmake_args(self):
|
||||
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:
|
||||
|
@ -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)
|
19
var/spack/repos/builtin/packages/proj/proj-7-tiff.patch
Normal file
19
var/spack/repos/builtin/packages/proj/proj-7-tiff.patch
Normal file
@ -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)
|
19
var/spack/repos/builtin/packages/proj/proj-8-tiff.patch
Normal file
19
var/spack/repos/builtin/packages/proj/proj-8-tiff.patch
Normal file
@ -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)
|
@ -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)
|
Loading…
Reference in New Issue
Block a user