diff --git a/astro/qmapshack/Makefile b/astro/qmapshack/Makefile index b40d9e53275a..0c40e7507cf9 100644 --- a/astro/qmapshack/Makefile +++ b/astro/qmapshack/Makefile @@ -1,30 +1,31 @@ PORTNAME= qmapshack DISTVERSIONPREFIX= V_ -DISTVERSION= 1.20.3 +DISTVERSION= 1.21.0 CATEGORIES= astro MAINTAINER= cmt@FreeBSD.org COMMENT= Ultimate outdoor aficionado's tool WWW= https://github.com/Maproom/qmapshack/ LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers LIB_DEPENDS= libalglib.so:math/alglib \ + libblend2d.so:graphics/blend2d \ libgdal.so:graphics/gdal \ libproj.so:graphics/proj \ libquazip1-qt6.so:archivers/quazip \ libroutino.so:astro/routino RUN_DEPENDS= ${LOCALBASE}/bin/bsdisks:sysutils/bsdisks USES= cmake desktop-file-utils gl jpeg qt:6 USE_GITHUB= yes GH_ACCOUNT= Maproom USE_GL= gl USE_QT= 5compat base declarative positioning tools webchannel \ webengine OPTIONS_DEFINE= DOCS .include diff --git a/astro/qmapshack/distinfo b/astro/qmapshack/distinfo index 5f1adad78da7..a6d1243839d4 100644 --- a/astro/qmapshack/distinfo +++ b/astro/qmapshack/distinfo @@ -1,3 +1,7 @@ -TIMESTAMP = 1780938847 -SHA256 (Maproom-qmapshack-V_1.20.3_GH0.tar.gz) = faae6d10c8aa3fd00efad5f571697aa56ae71543cebbc1a52130ec545a2208b0 -SIZE (Maproom-qmapshack-V_1.20.3_GH0.tar.gz) = 58030217 +TIMESTAMP = 1787330794 +SHA256 (Maproom-qmapshack-V_1.21.0_GH0.tar.gz) = 4ead3014837e19be7657cbc76025853c5f5c6a69c79720490a76bbc6c14961aa +SIZE (Maproom-qmapshack-V_1.21.0_GH0.tar.gz) = 53477721 +SHA256 (asmjit-asmjit-0bd5787b54b575ed94bf32ac452153b34385c514_GH0.tar.gz) = 8d642612b05d0fd932beee8bdb8c9559c675cb4d2db2946b9636a1fef32b3fb9 +SIZE (asmjit-asmjit-0bd5787b54b575ed94bf32ac452153b34385c514_GH0.tar.gz) = 1366294 +SHA256 (blend2d-blend2d-def0d1238c3e5d0983bb848e5676049d829e435b_GH0.tar.gz) = fac3fc318d5236b6cfeec9124995f3e5866166cad37febb520517ebdc97cd100 +SIZE (blend2d-blend2d-def0d1238c3e5d0983bb848e5676049d829e435b_GH0.tar.gz) = 1525821 diff --git a/astro/qmapshack/files/patch-CMakeLists.txt b/astro/qmapshack/files/patch-CMakeLists.txt index 55024b2f876f..0b3feccb6399 100644 --- a/astro/qmapshack/files/patch-CMakeLists.txt +++ b/astro/qmapshack/files/patch-CMakeLists.txt @@ -1,22 +1,77 @@ ---- CMakeLists.txt.orig 2025-07-04 12:38:57 UTC +diff --git CMakeLists.txt CMakeLists.txt +index 33ec4e4a..5a49101e 100644 +--- CMakeLists.txt +++ CMakeLists.txt -@@ -46,6 +46,7 @@ include(DefineInstallationPaths) +@@ -46,6 +46,7 @@ add_library(qms_options INTERFACE) include(DefineCMakeDefaults) include(DefineCompilerFlags) include(DefineInstallationPaths) +include(FindPkgConfig) - include(CPackConfig.cmake) include(ConfigureChecks.cmake) -@@ -192,7 +193,10 @@ find_package(GDAL REQUIRED) - find_package(Qt6Qml REQUIRED) - find_package(Qt6Help REQUIRED) + ############################################################################################### +@@ -193,7 +194,10 @@ qt_standard_project_setup( + set(CMAKE_AUTOUIC OFF) + find_package(GDAL REQUIRED) -find_package(PROJ REQUIRED) +find_package(PROJ) +if (NOT PROJ_FOUND) + pkg_search_module(PROJ REQUIRED proj) +endif() find_package(JPEG REQUIRED) find_package(ROUTINO REQUIRED) - find_package(QuaZip-Qt6 REQUIRED) + +@@ -230,47 +234,11 @@ include(FetchContent) + ############################################################################################### + # Get Blend2D and it's dependency AsmJit + ############################################################################################### +-# Both are cloned by FetchContent. Fail here with a clear message instead of deep inside the +-# populate sub-build if git is not on the PATH. Set GIT_EXECUTABLE if it is elsewhere. +-find_package(Git REQUIRED) +- +-# asmjit does not do official releases so pinned it to what was HEAD at time of writing this +-set(ASMJIT_GIT_TAG "0bd5787b54b575ed94bf32ac452153b34385c514" CACHE STRING "AsmJit git revision to fetch") +-# blend2d does releases but not set git tags; the commit set here referese to release v0.21.2 +-set(BLEND2D_GIT_TAG "def0d1238c3e5d0983bb848e5676049d829e435b" CACHE STRING "Blend2D git revision to fetch") +- +-# asmjit is Blend2D's JIT backend. Fetch its sources only: SOURCE_SUBDIR points at a +-# directory with no CMakeLists.txt so FetchContent_MakeAvailable populates without calling +-# add_subdirectory(). Blend2D adds asmjit itself (via ASMJIT_DIR) and, because we build it +-# statically, embeds it directly into the blend2d library. +-FetchContent_Declare(asmjit +- GIT_REPOSITORY https://github.com/asmjit/asmjit.git +- GIT_TAG ${ASMJIT_GIT_TAG} +- GIT_SHALLOW FALSE # FALSE required when using a commit hash +- GIT_PROGRESS TRUE +- SOURCE_SUBDIR __populate_only__ +-) +-FetchContent_MakeAvailable(asmjit) +-set(ASMJIT_DIR "${asmjit_SOURCE_DIR}" CACHE PATH "AsmJit source directory" FORCE) +- +-set(BLEND2D_STATIC TRUE) +-FetchContent_Declare(blend2d +- GIT_REPOSITORY https://github.com/blend2d/blend2d.git +- GIT_TAG ${BLEND2D_GIT_TAG} +- GIT_SHALLOW FALSE +- GIT_PROGRESS TRUE +-) +-FetchContent_MakeAvailable(blend2d) +- +-# Blend2D's public headers use constructs our warning flags reject (anonymous structs vs +-# -Wpedantic, ...). Re-publish its interface include dirs as system to supress any warnings. +-# Once we bump our minimum cmake version to >= 3.25 we can instead just declare it `SYSTEM` +-# in the `FetchContent_Declare` call and get rid of this. +-get_target_property(BLEND2D_IFACE_INCLUDE_DIRS blend2d INTERFACE_INCLUDE_DIRECTORIES) +-if(BLEND2D_IFACE_INCLUDE_DIRS) +- set_target_properties(blend2d PROPERTIES +- INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${BLEND2D_IFACE_INCLUDE_DIRS}") +-endif() ++ ++# XXX FreeBSD ++# blend2d used from ports ++# no need to embed libraries here ++find_package(blend2d REQUIRED) + + ############################################################################################### + # Create library from Garmin's FIT SDK diff --git a/astro/qmapshack/files/patch-cmake_Modules_DefineInstallationPaths.cmake b/astro/qmapshack/files/patch-cmake_Modules_DefineInstallationPaths.cmake index e085606b1612..6b00a732285f 100644 --- a/astro/qmapshack/files/patch-cmake_Modules_DefineInstallationPaths.cmake +++ b/astro/qmapshack/files/patch-cmake_Modules_DefineInstallationPaths.cmake @@ -1,20 +1,13 @@ ---- cmake/Modules/DefineInstallationPaths.cmake.orig 2025-07-04 12:38:57 UTC +diff --git cmake/Modules/DefineInstallationPaths.cmake cmake/Modules/DefineInstallationPaths.cmake +index 66e60854..72cb3642 100644 +--- cmake/Modules/DefineInstallationPaths.cmake +++ cmake/Modules/DefineInstallationPaths.cmake -@@ -51,7 +51,7 @@ if (UNIX) - CACHE PATH "The parent directory where applications can install their data (default prefix/share/${_PROJECT_NAME})" - ) - SET(HTML_INSTALL_DIR -- "${DATA_INSTALL_PREFIX}/doc/HTML" -+ "${DATA_INSTALL_PREFIX}/doc/${_PROJECT_NAME}/HTML" - CACHE PATH "The HTML install dir for documentation (default data/doc/html)" - ) - SET(ICON_INSTALL_DIR -@@ -82,7 +82,7 @@ if (UNIX) - CACHE PATH "The ${_PROJECT_NAME} sysconfig install dir (default prefix/etc)" - ) - SET(MAN_INSTALL_DIR -- "${SHARE_INSTALL_PREFIX}/man" -+ "${CMAKE_INSTALL_PREFIX}/share/man" - CACHE PATH "The ${_PROJECT_NAME} man install dir (default prefix/man)" - ) - SET(INFO_INSTALL_DIR +@@ -20,7 +20,7 @@ if(WIN32) + else() + set(BIN_INSTALL_DIR "${CMAKE_INSTALL_FULL_BINDIR}" CACHE PATH "Where the binaries go") + set(DATA_INSTALL_PREFIX "${CMAKE_INSTALL_FULL_DATAROOTDIR}" CACHE PATH "Parent directory for application data") +- set(HTML_INSTALL_DIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}/doc/HTML" CACHE PATH "Where the offline help goes") ++ set(HTML_INSTALL_DIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}/doc/qmapshack/HTML" CACHE PATH "Where the offline help goes") + set(ICON_INSTALL_DIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}/icons" CACHE PATH "Where the icon theme goes") + set(XDG_APPS_DIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}/applications" CACHE PATH "Where the .desktop files go") + set(MAN_INSTALL_DIR "${CMAKE_INSTALL_FULL_MANDIR}" CACHE PATH "Where the man pages go") diff --git a/astro/qmapshack/files/patch-src_qmapshack_CMakeLists.txt b/astro/qmapshack/files/patch-src_qmapshack_CMakeLists.txt deleted file mode 100644 index da1acbc53c36..000000000000 --- a/astro/qmapshack/files/patch-src_qmapshack_CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ ---- src/qmapshack/CMakeLists.txt.orig 2025-07-04 12:38:57 UTC -+++ src/qmapshack/CMakeLists.txt -@@ -977,7 +977,7 @@ target_link_libraries(${APPLICATION_NAME} - Qt6::Core5Compat - ${DBUS_LIB} - ${GDAL_LIBRARIES} -- ${PROJ_LIBRARIES} -+ ${PROJ_LDFLAGS} ${PROJ_LIBRARIES} - ${ROUTINO_LIBRARIES} - ${ALGLIB_LIBRARIES} - QuaZip::QuaZip diff --git a/astro/qmapshack/files/patch-src_qmapshack_map_CMapIMG.cpp b/astro/qmapshack/files/patch-src_qmapshack_map_CMapIMG.cpp deleted file mode 100644 index 699d58e3f027..000000000000 --- a/astro/qmapshack/files/patch-src_qmapshack_map_CMapIMG.cpp +++ /dev/null @@ -1,10 +0,0 @@ ---- src/qmapshack/map/CMapIMG.cpp.orig 2025-07-04 12:38:57 UTC -+++ src/qmapshack/map/CMapIMG.cpp -@@ -20,6 +20,7 @@ - - #include - #include -+#include - - #include "CMainWindow.h" - #include "canvas/CCanvas.h" diff --git a/astro/qmapshack/files/patch-src_qmaptool_CMakeLists.txt b/astro/qmapshack/files/patch-src_qmaptool_CMakeLists.txt deleted file mode 100644 index 3bbea7d0dcac..000000000000 --- a/astro/qmapshack/files/patch-src_qmaptool_CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ ---- src/qmaptool/CMakeLists.txt.orig 2025-07-04 12:38:57 UTC -+++ src/qmaptool/CMakeLists.txt -@@ -265,7 +265,7 @@ target_link_libraries(${APPLICATION_NAME} - Qt6::Network - Qt6::Help - ${GDAL_LIBRARIES} -- ${PROJ_LIBRARIES} -+ ${PROJ_LDFLAGS} ${PROJ_LIBRARIES} - ) - - if(APPLE) diff --git a/astro/qmapshack/files/patch-src_qmt__map2jnx_CMakeLists.txt b/astro/qmapshack/files/patch-src_qmt__map2jnx_CMakeLists.txt deleted file mode 100644 index 38ea49d10fbf..000000000000 --- a/astro/qmapshack/files/patch-src_qmt__map2jnx_CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ ---- src/qmt_map2jnx/CMakeLists.txt.orig 2025-07-04 12:38:57 UTC -+++ src/qmt_map2jnx/CMakeLists.txt -@@ -53,7 +53,7 @@ TARGET_LINK_LIBRARIES(${APPLICATION_NAME} - Qt6::Core - Qt6::Gui - ${GDAL_LIBRARIES} -- ${PROJ_LIBRARIES} -+ ${PROJ_LDFLAGS} ${PROJ_LIBRARIES} - ${JPEG_LIBRARIES}) - - install( diff --git a/astro/qmapshack/files/patch-src_qmt__rgb2pct_CMakeLists.txt b/astro/qmapshack/files/patch-src_qmt__rgb2pct_CMakeLists.txt deleted file mode 100644 index 349b0cd051f8..000000000000 --- a/astro/qmapshack/files/patch-src_qmt__rgb2pct_CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ ---- src/qmt_rgb2pct/CMakeLists.txt.orig 2025-07-04 12:38:57 UTC -+++ src/qmt_rgb2pct/CMakeLists.txt -@@ -100,7 +100,7 @@ target_link_libraries(${APPLICATION_NAME} - target_link_libraries(${APPLICATION_NAME} - Qt6::Core - ${GDAL_LIBRARIES} -- ${PROJ_LIBRARIES} -+ ${PROJ_LDFLAGS} ${PROJ_LIBRARIES} - ) - - if(APPLE)