Skip to content

Commit 93bcd5e

Browse files
cfitsio: add 4.6.3 (#28536)
* cfitsio 4.6.3 It's the only one supporting cmake 4 heasarc/cfitsio@101e088 * fixup license attribute * fixup location
1 parent 542159a commit 93bcd5e

4 files changed

Lines changed: 95 additions & 1 deletion

File tree

recipes/cfitsio/all/conandata.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
sources:
2+
"4.6.3":
3+
url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.6.3.tar.gz"
4+
sha256: "fad44fff274fdda5ffcc0c0fff3bc3c596362722b9292fc8944db91187813600"
25
"4.4.0":
36
url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.4.0.tar.gz"
47
sha256: "95900cf95ae760839e7cb9678a7b2fad0858d6ac12234f934bd1cb6bfc246ba9"
@@ -21,6 +24,9 @@ sources:
2124
url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-3.49.tar.gz"
2225
sha256: "5b65a20d5c53494ec8f638267fca4a629836b7ac8dd0ef0266834eab270ed4b3"
2326
patches:
27+
"4.6.3":
28+
- patch_file: "patches/windows-use-strtok_s.patch"
29+
- patch_file: "patches/fix-cmake-4.6.3.patch"
2430
"4.4.0":
2531
- patch_file: "patches/windows-use-strtok_s.patch"
2632
- patch_file: "patches/fix-cmake-4.2.0.patch"

recipes/cfitsio/all/conanfile.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ def config_options(self):
4646
del self.options.with_curl
4747
if self.settings.arch not in ["x86", "x86_64"]:
4848
del self.options.simd_intrinsics
49+
if Version(self.version) == "4.4.0":
50+
self.license = "NASA-1.3"
51+
else:
52+
self.license = "CFITSIO"
4953

5054
def configure(self):
5155
if self.options.shared:
@@ -105,7 +109,10 @@ def build(self):
105109
cmake.build()
106110

107111
def package(self):
108-
if Version(self.version) >= "4.4.0":
112+
if Version(self.version) >= "4.4.1":
113+
copy(self, "License.txt", src=os.path.join(self.source_folder, "licenses"),
114+
dst=os.path.join(self.package_folder, "licenses"))
115+
elif Version(self.version) >= "4.4.0":
109116
copy(self, "NASA*", src=os.path.join(self.source_folder, "licenses"),
110117
dst=os.path.join(self.package_folder, "licenses"))
111118
else:
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
--- a/CMakeLists.txt
2+
+++ b/CMakeLists.txt
3+
@@ -83,8 +83,9 @@ IF(USE_CURL)
4+
ENDIF()
5+
6+
IF(USE_PTHREADS)
7+
+ SET(CMAKE_THREAD_PREFER_PTHREAD TRUE)
8+
+ SET(THREADS_PREFER_PTHREAD_FLAG TRUE)
9+
FIND_PACKAGE(Threads REQUIRED)
10+
- ADD_DEFINITIONS(-D_REENTRANT)
11+
ENDIF(USE_PTHREADS)
12+
13+
IF(USE_BZIP2)
14+
@@ -100,19 +101,13 @@ ELSE()
15+
ENDIF()
16+
17+
# Support for remote file drivers is not implemented for native Windows:
18+
-IF (NOT MSVC)
19+
+IF (NOT WIN32)
20+
21+
# Find library needed for gethostbyname:
22+
- CHECK_FUNCTION_EXISTS("gethostbyname" CMAKE_HAVE_GETHOSTBYNAME)
23+
- IF (NOT CMAKE_HAVE_GETHOSTBYNAME)
24+
- CHECK_LIBRARY_EXISTS("nsl" "gethostbyname" "" CMAKE_HAVE_GETHOSTBYNAME)
25+
- ENDIF ()
26+
+ CHECK_SYMBOL_EXISTS(gethostbyname "netdb.h" CMAKE_HAVE_GETHOSTBYNAME)
27+
28+
# Find library needed for connect:
29+
- CHECK_FUNCTION_EXISTS("connect" CMAKE_HAVE_CONNECT)
30+
- IF (NOT CMAKE_HAVE_CONNECT)
31+
- CHECK_LIBRARY_EXISTS("socket" "connect" "" CMAKE_HAVE_CONNECT)
32+
- ENDIF ()
33+
+ CHECK_SYMBOL_EXISTS(connect "sys/types.h;sys/socket.h" CMAKE_HAVE_CONNECT)
34+
35+
# Define HAVE_NET_SERVICES if gethostbyname & connect were found:
36+
IF (CMAKE_HAVE_GETHOSTBYNAME AND CMAKE_HAVE_CONNECT)
37+
@@ -258,28 +253,30 @@ TARGET_INCLUDE_DIRECTORIES(${LIB_NAME} PUBLIC
38+
TARGET_LINK_LIBRARIES(${LIB_NAME} ${M_LIB})
39+
# zlib:
40+
IF (ZLIB_FOUND)
41+
- TARGET_INCLUDE_DIRECTORIES(${LIB_NAME} PUBLIC ${ZLIB_INCLUDE_DIR})
42+
- TARGET_LINK_LIBRARIES(${LIB_NAME} ${ZLIB_LIBRARIES})
43+
+ TARGET_LINK_LIBRARIES(${LIB_NAME} ZLIB::ZLIB)
44+
# For cfitsio.pc.cmake:
45+
SET (PKG_CONFIG_LIBS "${PKG_CONFIG_LIBS} -lz")
46+
ENDIF(ZLIB_FOUND)
47+
# cURL:
48+
-IF (CURL_FOUND)
49+
- TARGET_INCLUDE_DIRECTORIES(${LIB_NAME} PUBLIC ${CURL_INCLUDE_DIRS})
50+
- TARGET_LINK_LIBRARIES(${LIB_NAME} ${CURL_LIBRARIES})
51+
+IF (USE_CURL)
52+
+ TARGET_LINK_LIBRARIES(${LIB_NAME} CURL::libcurl)
53+
# For cfitsio.pc.cmake:
54+
SET (PKG_CONFIG_LIBS "${PKG_CONFIG_LIBS} -lcurl")
55+
-ENDIF(CURL_FOUND)
56+
+ENDIF()
57+
# PThreads:
58+
-IF (THREADS_FOUND)
59+
+IF (USE_PTHREADS)
60+
+ IF(CMAKE_USE_PTHREADS_INIT)
61+
TARGET_LINK_LIBRARIES(${LIB_NAME} Threads::Threads)
62+
-ENDIF(THREADS_FOUND)
63+
+ ELSE()
64+
+ find_package(pthreads4w REQUIRED CONFIG)
65+
+ TARGET_LINK_LIBRARIES(${LIB_NAME} pthreads4w::pthreads4w)
66+
+ ENDIF()
67+
+ENDIF()
68+
# BZip2:
69+
-IF (BZIP2_FOUND)
70+
- TARGET_INCLUDE_DIRECTORIES(${LIB_NAME} PUBLIC ${BZIP2_INCLUDE_DIRS})
71+
- TARGET_LINK_LIBRARIES(${LIB_NAME} ${BZIP2_LIBRARIES})
72+
+IF (USE_BZIP2)
73+
+ TARGET_LINK_LIBRARIES(${LIB_NAME} BZip2::BZip2)
74+
SET (PKG_CONFIG_LIBS "${PKG_CONFIG_LIBS} -lbz2")
75+
-ENDIF(BZIP2_FOUND)
76+
+ENDIF()
77+
78+
#==============================================================================
79+

recipes/cfitsio/config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
versions:
2+
"4.6.3":
3+
folder: all
24
"4.4.0":
35
folder: all
46
"4.3.1":

0 commit comments

Comments
 (0)