diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/starlink-ast | |
Diffstat (limited to 'vcpkg/ports/starlink-ast')
| -rw-r--r-- | vcpkg/ports/starlink-ast/cminpack.diff | 46 | ||||
| -rw-r--r-- | vcpkg/ports/starlink-ast/install-errors.diff | 13 | ||||
| -rw-r--r-- | vcpkg/ports/starlink-ast/portfile.cmake | 95 | ||||
| -rw-r--r-- | vcpkg/ports/starlink-ast/vcpkg.json | 24 |
4 files changed, 178 insertions, 0 deletions
diff --git a/vcpkg/ports/starlink-ast/cminpack.diff b/vcpkg/ports/starlink-ast/cminpack.diff new file mode 100644 index 0000000..deb5e2d --- /dev/null +++ b/vcpkg/ports/starlink-ast/cminpack.diff @@ -0,0 +1,46 @@ +diff --git a/Makefile.in b/Makefile.in +index a935107..51c5e07 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1572,13 +1572,13 @@ libast_la_SOURCES = \ + libast_la_LDFLAGS = -version-info @version_info@ + @EXTERNAL_CMINPACK_FALSE@@EXTERNAL_PAL_FALSE@libast_la_LIBADD = libast_pal.la libast_cminpack.la + @EXTERNAL_CMINPACK_FALSE@@EXTERNAL_PAL_TRUE@libast_la_LIBADD = -lpal libast_cminpack.la +-@EXTERNAL_CMINPACK_TRUE@@EXTERNAL_PAL_FALSE@libast_la_LIBADD = libast_pal.la -lcminpack ++@EXTERNAL_CMINPACK_TRUE@@EXTERNAL_PAL_FALSE@libast_la_LIBADD = libast_pal.la $(LIBCMINPACK) + + # Ensure libast links against libraries containing functions used within + # libast. If AST is configured --with-external-pal, then the internal + # libast_pal library will be empty, and we link to an external PAL + # library instead. Do the same for cminpack +-@EXTERNAL_CMINPACK_TRUE@@EXTERNAL_PAL_TRUE@libast_la_LIBADD = -lpal -lcminpack ++@EXTERNAL_CMINPACK_TRUE@@EXTERNAL_PAL_TRUE@libast_la_LIBADD = -lpal $(LIBCMINPACK) + + # AST_PAR is really part of GRP_F_INCLUDE_FILES, but it must not be + # distributed, so list it separately. +diff --git a/configure b/configure +index d9db3ee..f3d3fc0 100755 +--- a/configure ++++ b/configure +@@ -15763,7 +15763,7 @@ fi + EXTERNAL_CMINPACK=$external_cminpack + + if test "$external_cminpack" = "1"; then +- LIBCMINPACK="-lcminpack" ++ LIBCMINPACK="-lcminpack$CMINPACK_DEBUG_SUFFIX" + + + $as_echo "#define EXTERNAL_CMINPACK 1" >>confdefs.h +diff --git a/src/polymap.c b/src/polymap.c +index 0b436cc..1aee268 100644 +--- a/src/polymap.c ++++ b/src/polymap.c +@@ -165,7 +165,7 @@ f - AST_POLYTRAN: Fit a PolyMap inverse or forward transformation + #include "cmpmap.h" /* Compound mappings */ + #include "polymap.h" /* Interface definition for this class */ + #include "unitmap.h" /* Unit mappings */ +-#include "cminpack/cminpack.h" /* Levenberg - Marquardt minimization */ ++#include "cminpack-1/cminpack.h" /* Levenberg - Marquardt minimization */ + #include "pal.h" /* SLALIB function definitions */ + + /* Error code definitions. */ diff --git a/vcpkg/ports/starlink-ast/install-errors.diff b/vcpkg/ports/starlink-ast/install-errors.diff new file mode 100644 index 0000000..ed82f80 --- /dev/null +++ b/vcpkg/ports/starlink-ast/install-errors.diff @@ -0,0 +1,13 @@ +diff --git a/Makefile.in b/Makefile.in +index a935107..dbc590d 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1772,7 +1772,7 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES) + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ +- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ ++ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)" || exit 1; \ + if $(MANIFEST); then \ + for p in $$list2; do \ + echo "MANIFEST:$(DESTDIR)$(libdir)/$$p"; \ diff --git a/vcpkg/ports/starlink-ast/portfile.cmake b/vcpkg/ports/starlink-ast/portfile.cmake new file mode 100644 index 0000000..243dc33 --- /dev/null +++ b/vcpkg/ports/starlink-ast/portfile.cmake @@ -0,0 +1,95 @@ +if(VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+endif()
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://github.com/Starlink/ast/releases/download/v${VERSION}/ast-${VERSION}.tar.gz"
+ FILENAME "starlink-ast-${VERSION}.tar.gz"
+ SHA512 44f837a17eaf2d959bde49982927f09bcd527ce9cb1418df5b2ef1e10b85387b40aa3099be08102f7fdfa6037ec95d3d49158c96a94b0a8b9e0495b3b9d40bf6
+)
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+ PATCHES
+ cminpack.diff
+ install-errors.diff
+)
+file(REMOVE_RECURSE "${SOURCE_PATH}/cminpack")
+
+set(CONFIGURE_OPTIONS
+ --without-fortran
+ --with-external-cminpack
+ "--with-starlink=${CURRENT_INSTALLED_DIR}"
+ FC=false
+)
+
+if ("yaml" IN_LIST FEATURES)
+ list(APPEND CONFIGURE_OPTIONS --with-yaml)
+else()
+ list(APPEND CONFIGURE_OPTIONS --without-yaml)
+endif()
+
+if ("pthreads" IN_LIST FEATURES)
+ list(APPEND CONFIGURE_OPTIONS --with-pthreads)
+else()
+ list(APPEND CONFIGURE_OPTIONS --without-pthreads)
+endif()
+
+vcpkg_configure_make(
+ SOURCE_PATH "${SOURCE_PATH}"
+ USE_WRAPPERS
+ DETERMINE_BUILD_TRIPLET
+ ADDITIONAL_MSYS_PACKAGES perl
+ OPTIONS
+ ${CONFIGURE_OPTIONS}
+ OPTIONS_DEBUG
+ CMINPACK_DEBUG_SUFFIX=_d
+)
+vcpkg_install_make(
+ OPTIONS
+ STAR_LDFLAGS= # Do not override build type's lib dirs
+)
+
+# Avoid vcpkg artifact issues with symlinks
+foreach(ast_lib IN ITEMS "${CURRENT_PACKAGES_DIR}/lib/libast" "${CURRENT_PACKAGES_DIR}/debug/lib/libast")
+ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" AND EXISTS "${ast_lib}${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}")
+ file(REMOVE "${ast_lib}_pass2${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}")
+ file(COPY_FILE "${ast_lib}${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "${ast_lib}_pass2${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}")
+ endif()
+endforeach()
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/docs"
+ "${CURRENT_PACKAGES_DIR}/debug/help"
+ "${CURRENT_PACKAGES_DIR}/debug/manifests"
+ "${CURRENT_PACKAGES_DIR}/debug/news"
+ "${CURRENT_PACKAGES_DIR}/debug/share"
+ "${CURRENT_PACKAGES_DIR}/docs"
+ "${CURRENT_PACKAGES_DIR}/help"
+ "${CURRENT_PACKAGES_DIR}/manifests"
+ "${CURRENT_PACKAGES_DIR}/news"
+ "${CURRENT_PACKAGES_DIR}/share/${PORT}/ast"
+)
+
+# Remove cl preprocessing comments
+foreach(file IN ITEMS "include/ast.h" "include/star/ast.h")
+ file(READ "${CURRENT_PACKAGES_DIR}/${file}" cpp_output)
+ string(REGEX REPLACE "#line [^ ]+ \"[^\"]*\"" "" cpp_output "${cpp_output}")
+ file(WRITE "${CURRENT_PACKAGES_DIR}/${file}" "${cpp_output}")
+endforeach()
+
+vcpkg_install_copyright(
+ FILE_LIST
+ "${SOURCE_PATH}/COPYING.LESSER"
+ "${SOURCE_PATH}/COPYING"
+ "${SOURCE_PATH}/erfa/LICENSE"
+ COMMENT [[
+AST is distributed under the Lesser GPL licence (LGPL).
+
+The AST distribution includes a cut down subset of the C version of the SLALIB library written
+by Pat Wallace. This subset contains only the functions needed by the AST library. It is built as
+part of the process of building AST and is distributed under GPL.
+
+The AST distribution includes the ERFA library. See LICENSE below.
+]])
diff --git a/vcpkg/ports/starlink-ast/vcpkg.json b/vcpkg/ports/starlink-ast/vcpkg.json new file mode 100644 index 0000000..aa2ab37 --- /dev/null +++ b/vcpkg/ports/starlink-ast/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "starlink-ast", + "version": "9.2.12", + "description": "The AST library provides a comprehensive range of facilities for attaching world coordinate systems to astronomical data, for retrieving and interpreting that information and for generating graphical output based on it", + "homepage": "https://starlink.eao.hawaii.edu/starlink/AST", + "license": null, + "dependencies": [ + "cminpack" + ], + "features": { + "pthreads": { + "description": "Build with POSIX threads support", + "dependencies": [ + "pthreads" + ] + }, + "yaml": { + "description": "Build with YAML support", + "dependencies": [ + "libyaml" + ] + } + } +} |