On 2024/11/09 13:48, Kristaps Dzonsons wrote:
> Hi, this updates the subsurface divelog tool from the old version in ports
> to the current "nightly build" system they use, where each commit creates a
> new version.
> 
> I can't deduce a way to programmatically map the built version (e.g.,
> 6.0.5283) into a GH tag, so I just used the commit hashes from when the
> version was built.
> 
> The port expands on the existing one with the map capability, which I've
> tested and works fine.  Haven't actually interfaced with my dive computer,
> as it's bluetooth, but I've been using this to plan deco and edit dives
> imported elsewhere.  It's now able to interface with the subsurface "cloud"
> without any "fingerprint" errors the old version was returning.
> 
> The tests don't work, so NO_TEST remains.  I included notes on how to enable
> them, but they fail when run, so I left them out.
> 
> I'm not subscribed to this list, so please CC me if you'd like to make any
> changes.
> 
> Best,
> 
> Kristaps

Here's a version of what you sent that's cleaned up a bit, at least
uses DIST_TUPLE, copies the autoconf cache file into the right dir, and
passes across some env variables which should be used for the various
build parts. I also reordered it a bit to match the existing Makefile
so the diff is easier to read.

I also added some missed WANTLIB/LIB_DEPENDS for things which get
picked up and RUN_DEPENDS needed to provide things for the @tags
used in PLIST.

There are a couple of Extra WANTLIB/LIB_DEPENDS ("Extra:
Grantlee_Templates.1 curl.26") that should either be dropped or if
they're needed for dlopen then add a comment about it.

Index: Makefile
===================================================================
RCS file: /cvs/ports/misc/subsurface/Makefile,v
diff -u -p -r1.16 Makefile
--- Makefile    8 Feb 2024 06:59:08 -0000       1.16
+++ Makefile    13 Nov 2024 13:25:36 -0000
@@ -1,28 +1,25 @@
 COMMENT =      divelog program for recreational, tech, and free-divers
 
-VER =          4.8.5
-REVISION =     5
-PKGNAME =      subsurface-${VER}
-DISTNAME =     Subsurface-${VER}
+PKGNAME =      subsurface-6.0.5283
+DIST_TUPLE +=  github subsurface subsurface 
0e7d3a6466be86f281b49564137f3a7001f7a093 .
+DIST_TUPLE +=  github subsurface libdc 
a2a5bb53d670dc520bf8035b18681dfdd9b18bfa libdivecomputer
+DIST_TUPLE +=  github subsurface googlemaps 
7ce7124b385b2ebac0f72c38b094f436d4fe5c58 gmaps
 
 CATEGORIES =   misc
 HOMEPAGE =     https://subsurface-divelog.org
 
-# GPLv2, and LGPLv2.1 for libdivecomputer
+# GPLv2, LGPLv2.1 for libdivecomputer, MIT for googlemaps
 # The content of mobile-widgets/qml/icons/ is Apache 2, but not installed.
 PERMIT_PACKAGE =       Yes
 
-WANTLIB += ${COMPILER_LIBCXX} Grantlee_Templates Qt5Concurrent
+WANTLIB += ${COMPILER_LIBCXX} Grantlee_Templates GL Qt5Concurrent
 WANTLIB += Qt5Core Qt5Gui Qt5Location Qt5Network Qt5Positioning
-WANTLIB += Qt5PositioningQuick Qt5PrintSupport Qt5Qml Qt5QmlModels
-WANTLIB += Qt5Quick Qt5QuickWidgets Qt5Svg Qt5WebChannel Qt5WebEngineCore
-WANTLIB += Qt5WebEngineWidgets Qt5Widgets c crypto curl git2 m
-WANTLIB += sqlite3 ssh2 ssl usb-1.0 xml2 xslt zip
-
-SITES =                https://subsurface-divelog.org/downloads/
-EXTRACT_SUFX = .tgz
-DISTFILES =    Subsurface-${VER}${EXTRACT_SUFX} \
-               libdivecomputer-subsurface-branch-${VER}${EXTRACT_SUFX}
+WANTLIB += Qt5PrintSupport Qt5Qml Qt5Quick Qt5QuickWidgets Qt5Svg
+WANTLIB += Qt5WebKit Qt5WebKitWidgets Qt5Widgets c crypto curl
+WANTLIB += git2 lcms2 m raw sqlite3 ssh2 ssl usb-1.0 xml2 xslt zip
+WANTLIB += Qt5PositioningQuick Qt5QmlModels Qt5Location
+
+USE_GMAKE =    Yes
 
 # cmake for subsurface, autoconf for libdivecomputer-subsurface
 MODULES +=     gnu \
@@ -31,6 +28,7 @@ MODULES +=    gnu \
 
 AUTOCONF_VERSION =     2.69
 AUTOMAKE_VERSION =     1.16
+AUTOCONF_DIRS =                ${WRKSRC}/libdivecomputer
 
 BUILD_DEPENDS =        ${MODGNU_AUTOCONF_DEPENDS} \
                ${MODGNU_AUTOMAKE_DEPENDS} \
@@ -40,37 +38,41 @@ LIB_DEPENDS =       archivers/libzip \
                databases/sqlite3 \
                devel/libgit2/libgit2 \
                devel/libusb1 \
+               graphics/lcms2 \
+               graphics/libraw \
                net/curl \
                security/libssh2 \
                textproc/libxml \
                x11/grantlee-qt5 \
                x11/qt5/qtbase \
                x11/qt5/qtsvg \
-               x11/qt5/qtwebengine
-
-USE_GMAKE =    Yes
+               x11/qt5/qtwebkit \
+               x11/qt5/qtlocation
 
-CONFIGURE_ARGS +=      -DNO_DOCS:Bool=ON \
-                       -DUSE_WEBENGINE=ON \
-                       -DBTSUPPORT:Bool=OFF
+RUN_DEPENDS =  devel/desktop-file-utils \
+               x11/gtk+4,-guic
 
-# many "undefined reference to `dc_*" when tests are enabled
+CONFIGURE_ARGS +=      -DBTSUPPORT:Bool=OFF
+CONFIGURE_ARGS +=      -DLIBGIT2_FROM_PKGCONFIG:Bool=ON
+CONFIGURE_ARGS +=      -DNO_DOCS:Bool=ON
+CONFIGURE_ARGS +=      -DWRKINST=${WRKINST}
 CONFIGURE_ARGS +=      -DMAKE_TESTS:Bool=OFF
-NO_TEST =              Yes
 
-post-extract:
-       rmdir ${WRKSRC}/libdivecomputer
-       mv ${WRKDIR}/libdivecomputer-subsurface-branch-${VER} \
-               ${WRKSRC}/libdivecomputer
+# It's possible to run the tests, but they fail.
+# First, add the subsurface/large-anonymous-sample-data repo to DISTFILES.
+# Add archive/xz to the TEST_DEPENDS.
+# To TEST_ENV add QT_PLUGIN_PATH and QT_QPA_PLATFORM_PLUGIN_PATH.
+# Watch tests fail.
+NO_TEST =      Yes
 
 do-gen:
        ${AUTOCONF_ENV} autoreconf -f -i ${WRKSRC}/libdivecomputer
 
 pre-configure:
-       mkdir -p ${WRKSRC}/libdivecomputer/build
+       cd ${WRKSRC}; mkdir -p libdivecomputer/build gmaps/build
+       cd ${WRKSRC}/gmaps/build && ${MODQT_QMAKE} -r ..
        cd ${WRKSRC}/libdivecomputer/build && \
-               ${XXCONFIGURE_ENV} ac_cv_path_SED=/usr/bin/sed \
-               MKDIR_P="/bin/mkdir -p" ../configure \
+               ${XXCONFIGURE_ENV} ../configure \
                --without-libusb \
                --without-hidapi \
                --without-bluez \
@@ -81,14 +83,16 @@ pre-configure:
                --prefix=${WRKSRC}/libdivecomputer/built
 
 pre-build:
-       cd ${WRKSRC}/libdivecomputer/build && \
-               ${MAKE_PROGRAM} && \
-               ${MAKE_PROGRAM} install
+       ${MAKE_ENV} ${MAKE_PROGRAM} -j ${MAKE_JOBS} -C ${WRKSRC}/gmaps/build
+       ${MAKE_ENV} INSTALL_ROOT=${WRKINST} ${MAKE_PROGRAM} -C 
${WRKSRC}/gmaps/build install
+
+       ${MAKE_ENV} ${MAKE_PROGRAM} -j ${MAKE_JOBS} -C 
${WRKSRC}/libdivecomputer/build
+       ${MAKE_ENV} ${MAKE_PROGRAM} -C ${WRKSRC}/libdivecomputer/build install
 
 post-build:
        mkdir -p ${WRKBUILD}/Documentation
        for f in user-manual user-manual_es user-manual_fr \
-               user-manual_ru user-manual_nl; do \
+               user-manual_nl; do \
                cp ${WRKSRC}/Documentation/$$f.html.git \
                ${WRKBUILD}/Documentation/$$f.html; done
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/misc/subsurface/distinfo,v
diff -u -p -r1.3 distinfo
--- distinfo    18 Jul 2019 11:28:49 -0000      1.3
+++ distinfo    13 Nov 2024 13:25:36 -0000
@@ -1,4 +1,6 @@
-SHA256 (Subsurface-4.8.5.tgz) = dHAuxMu+ksIeEltpfHASUgrEzzcPHBuvOTNh4FpB67c=
-SHA256 (libdivecomputer-subsurface-branch-4.8.5.tgz) = 
1F2kOfLlSS6aRFXz7Hiicly2llZb2egfM8JsQD6sxOc=
-SIZE (Subsurface-4.8.5.tgz) = 15063904
-SIZE (libdivecomputer-subsurface-branch-4.8.5.tgz) = 344513
+SHA256 (subsurface-googlemaps-7ce7124b385b2ebac0f72c38b094f436d4fe5c58.tar.gz) 
= W+fpjimq0xTEn0SncxLTpBa2tyIJIYcblFs+MO1PTro=
+SHA256 (subsurface-libdc-a2a5bb53d670dc520bf8035b18681dfdd9b18bfa.tar.gz) = 
e79t0294tWW6ew7/T6e+zjyKMIQydZhQXdRL4/mOuKg=
+SHA256 (subsurface-subsurface-0e7d3a6466be86f281b49564137f3a7001f7a093.tar.gz) 
= /ZqgSUV7D+VMsPEfDkWCnZLuczg4tAAbbFFuK/0D/8s=
+SIZE (subsurface-googlemaps-7ce7124b385b2ebac0f72c38b094f436d4fe5c58.tar.gz) = 
18899
+SIZE (subsurface-libdc-a2a5bb53d670dc520bf8035b18681dfdd9b18bfa.tar.gz) = 
460163
+SIZE (subsurface-subsurface-0e7d3a6466be86f281b49564137f3a7001f7a093.tar.gz) = 
21965502
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: /cvs/ports/misc/subsurface/patches/patch-CMakeLists_txt,v
diff -u -p -r1.3 patch-CMakeLists_txt
--- patches/patch-CMakeLists_txt        11 Mar 2022 19:38:21 -0000      1.3
+++ patches/patch-CMakeLists_txt        13 Nov 2024 13:25:36 -0000
@@ -1,7 +1,7 @@
 Index: CMakeLists.txt
 --- CMakeLists.txt.orig
 +++ CMakeLists.txt
-@@ -20,6 +20,8 @@ set(CMAKE_MODULE_PATH
+@@ -25,11 +25,15 @@ set(CMAKE_MODULE_PATH
  )
  
  set(CMAKE_AUTOMOC ON)
@@ -10,52 +10,89 @@ Index: CMakeLists.txt
  include(MacroOutOfSourceBuild)
  MACRO_ENSURE_OUT_OF_SOURCE_BUILD(
      "We don't support building in source, please create a build folder 
elsewhere and remember to run git clean -xdf to remove temporary files created 
by CMake."
-@@ -48,6 +50,9 @@ option(USE_WEBENGINE "Use QWebEngine instead of QWebKi
+ )
+ 
++set(WRKINST "replaceme" CACHE STRING "")
++
+ #Option for memory debugging
+ option(SUBSURFACE_ASAN_BUILD "enable memory debugging of Subsurface binary" 
OFF)
+ 
+@@ -57,6 +61,9 @@ option(LIBRAW_SUPPORT "enable support for LibRaw image
  # Options regarding What should we build on subsurface
  option(MAKE_TESTS "Make the tests" ON)
  
 +include_directories(${CMAKE_SOURCE_DIR}/libdivecomputer/built/include)
 +include_directories(${CMAKE_INSTALL_PREFIX}/include/grantlee5)
 +
- SET(SUBSURFACE_TARGET_EXECUTABLE "DesktopExecutable" CACHE STRING "The type 
of application, DesktopExecutable or MobileExecutable")
- LIST(APPEND SUBSURFACE_ACCEPTED_EXECUTABLES  "DesktopExecutable" 
"MobileExecutable")
- SET_PROPERTY(CACHE SUBSURFACE_TARGET_EXECUTABLE PROPERTY STRINGS 
${SUBSURFACE_ACCEPTED_EXECUTABLES})
-@@ -123,7 +128,6 @@ include(pkgconfig_helper)
+ # Option whether we should try to build against Qt6, if it is available
+ option(BUILD_WITH_QT6 "try to build against Qt6 (incomplete)" OFF)
+ 
+@@ -145,7 +152,6 @@ include(pkgconfig_helper)
  # if you think a module miss anything, take a look on the specific
  # module file.
  include(HandleFindGit2)
 -include(HandleFindLibDiveComputer)
- if(${SUBSURFACE_TARGET_EXECUTABLE} MATCHES "DesktopExecutable")
-         include(HandleFindGrantlee)
-       include(HandleUserManual)
-@@ -267,7 +271,7 @@ if(BLESUPPORT)
+ include(HandleFtdiSupport)
+ include(HandleVersionGeneration)
+ include(RunOnBuildDir)
+@@ -188,7 +194,7 @@ endif()
+ # ended up failing in subtle ways to do what was advertized; in the Qt5 case
+ # some of the variables didn't get set up, so we'll immediately call it again
+ # for Qt5
+-find_package(QT NAMES ${CHECK_QT6} Qt5 REQUIRED COMPONENTS Core Widgets)
++find_package(QT NAMES ${CHECK_QT6} Qt5 HINTS "/usr/local/lib/qt5/cmake/Qt5" 
REQUIRED COMPONENTS Core Widgets)
+ 
+ # right now there are a few things that don't work with Qt6
+ # let's disable them right here and remember our Qt version
+@@ -399,7 +405,7 @@ if(NOT ANDROID)
  endif()
  
  #set up the subsurface_link_libraries variable
--set(SUBSURFACE_LINK_LIBRARIES ${SUBSURFACE_LINK_LIBRARIES} 
${LIBDIVECOMPUTER_LIBRARIES} ${LIBGIT2_LIBRARIES} ${LIBUSB_LIBRARIES})
-+set(SUBSURFACE_LINK_LIBRARIES ${SUBSURFACE_LINK_LIBRARIES} 
${LIBGIT2_LIBRARIES} ${LIBUSB_LIBRARIES})
- qt5_add_resources(SUBSURFACE_RESOURCES subsurface.qrc 
map-widget/qml/map-widget.qrc)
+-LIST(APPEND SUBSURFACE_LINK_LIBRARIES ${LIBDIVECOMPUTER_LIBRARIES} 
${LIBGIT2_LIBRARIES} ${LIBUSB_LIBRARIES} ${LIBMTP_LIBRARIES})
++LIST(APPEND SUBSURFACE_LINK_LIBRARIES ${LIBGIT2_LIBRARIES} 
${LIBUSB_LIBRARIES} ${LIBMTP_LIBRARIES})
+ if (NOT SUBSURFACE_TARGET_EXECUTABLE MATCHES "DownloaderExecutable")
+       if(USINGQT6)
+               if(MAPSUPPORT)
+@@ -418,6 +424,10 @@ if(DEFINED ENV{LGTM_SRC})
+       LIST(APPEND SUBSURFACE_LINK_LIBRARIES -lgssapi_krb5 -lhttp_parser)
+ endif()
  
++if (SUBSURFACE_TARGET_EXECUTABLE MATCHES "DesktopExecutable")
++      add_subdirectory(desktop-widgets)
++endif()
++
  # include translations
-@@ -335,6 +339,9 @@ elseif(${SUBSURFACE_TARGET_EXECUTABLE} MATCHES "Deskto
-                 add_executable(${SUBSURFACE_TARGET} MACOSX_BUNDLE WIN32 
${SUBSURFACE_PKG} ${SUBSURFACE_APP} ${SUBSURFACE_RESOURCES})
-         endif()
+ if (NOT SUBSURFACE_TARGET_EXECUTABLE MATCHES "DownloaderExecutable")
+ add_subdirectory(translations)
+@@ -435,9 +445,6 @@ add_subdirectory(stats)
+ endif()
+ add_subdirectory(backend-shared)
+ 
+-if (SUBSURFACE_TARGET_EXECUTABLE MATCHES "DesktopExecutable")
+-      add_subdirectory(desktop-widgets)
+-endif()
+ 
+ # create the executables
+ if (SUBSURFACE_TARGET_EXECUTABLE MATCHES "MobileExecutable")
+@@ -499,6 +506,9 @@ elseif (SUBSURFACE_TARGET_EXECUTABLE MATCHES "DesktopE
+               add_executable(${SUBSURFACE_TARGET} MACOSX_BUNDLE WIN32 
${SUBSURFACE_PKG} ${SUBSURFACE_APP} ${SUBSURFACE_RESOURCES})
+       endif()
  
 +      add_library(subsurface_dc STATIC IMPORTED)
 +      set_target_properties(subsurface_dc PROPERTIES IMPORTED_LOCATION 
${CMAKE_SOURCE_DIR}/libdivecomputer/built/lib/libdivecomputer.a)
 +
-       if(FBSUPPORT)
-               set(FACEBOOK_INTEGRATION facebook_integration)
-               add_dependencies(facebook_integration subsurface_generated_ui)
-@@ -348,6 +355,7 @@ elseif(${SUBSURFACE_TARGET_EXECUTABLE} MATCHES "Deskto
-               subsurface_statistics
+       target_link_libraries(
+               ${SUBSURFACE_TARGET}
+               subsurface_generated_ui
+@@ -509,6 +519,7 @@ elseif (SUBSURFACE_TARGET_EXECUTABLE MATCHES "DesktopE
                subsurface_models_desktop
+               subsurface_commands
                subsurface_corelib
 +              subsurface_dc
+               subsurface_stats
                ${SUBSURFACE_LINK_LIBRARIES}
        )
-       add_dependencies(subsurface_desktop_preferences subsurface_generated_ui)
-@@ -520,7 +528,7 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+@@ -716,11 +727,12 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
                COMMAND ${MAKENSIS} ${WINDOWSSTAGING}/subsurface.nsi
                DEPENDS fake_install
        )
@@ -64,3 +101,9 @@ Index: CMakeLists.txt
        # the syntax is odd, but this searches for 
libqtgeoservices_googlemaps.so
        # in the filesystem below our install-root
        # different Linux flavors put the plugin in different directories
+-      file(GLOB_RECURSE GOOGLEMAPS 
${CMAKE_SOURCE_DIR}/../install-root/libqtgeoservices_googlemaps.so)
++      SET(GOOGLEMAPS 
"${WRKINST}/usr/local/lib/qt5/plugins/geoservices/libqtgeoservices_googlemaps.so"
 CACHE STRING "googlemaps.so")
++      message(STATUS "GOOGLEMAPS=${GOOGLEMAPS}")
+       if (NOT GOOGLEMAPS)
+               message(STATUS "Cannot find libqtgeoservices_googlemaps.so")
+       else()
Index: patches/patch-core_git-access_c
===================================================================
RCS file: patches/patch-core_git-access_c
diff -N patches/patch-core_git-access_c
--- patches/patch-core_git-access_c     11 Mar 2022 19:38:21 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-https://github.com/subsurface/subsurface/commit/67a717dc057a5936ae1f5820fc6c470524213b97
-
-Index: core/git-access.c
---- core/git-access.c.orig
-+++ core/git-access.c
-@@ -356,11 +356,7 @@ static int try_to_git_merge(git_repository *repo, git_
-       }
- 
-       git_merge_init_options(&merge_options, GIT_MERGE_OPTIONS_VERSION);
--#if !LIBGIT2_VER_MAJOR && LIBGIT2_VER_MINOR > 23
-       merge_options.flags = GIT_MERGE_FIND_RENAMES;
--#else
--      merge_options.tree_flags = GIT_MERGE_TREE_FIND_RENAMES;
--#endif
-       merge_options.file_favor = GIT_MERGE_FILE_FAVOR_UNION;
-       merge_options.rename_threshold = 100;
-       if (git_commit_lookup(&local_commit, repo, local_id)) {
Index: patches/patch-core_save-git_c
===================================================================
RCS file: patches/patch-core_save-git_c
diff -N patches/patch-core_save-git_c
--- patches/patch-core_save-git_c       11 Mar 2022 19:38:21 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-https://github.com/subsurface/subsurface/commit/67a717dc057a5936ae1f5820fc6c470524213b97
-
-Index: core/save-git.c
---- core/save-git.c.orig
-+++ core/save-git.c
-@@ -1033,10 +1033,8 @@ int update_git_checkout(git_repository *repo, git_obje
- 
- static int get_authorship(git_repository *repo, git_signature **authorp)
- {
--#if LIBGIT2_VER_MAJOR || LIBGIT2_VER_MINOR >= 20
-       if (git_signature_default(authorp, repo) == 0)
-               return 0;
--#endif
-       /* try to fetch the user info from the OS, otherwise use default 
values. */
-       struct user_info user = { .name = NULL, .email = NULL };
-       subsurface_user_info(&user);
Index: patches/patch-desktop-widgets_groupedlineedit_cpp
===================================================================
RCS file: patches/patch-desktop-widgets_groupedlineedit_cpp
diff -N patches/patch-desktop-widgets_groupedlineedit_cpp
--- patches/patch-desktop-widgets_groupedlineedit_cpp   11 Mar 2022 19:38:21 
-0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
-Index: desktop-widgets/groupedlineedit.cpp
---- desktop-widgets/groupedlineedit.cpp.orig
-+++ desktop-widgets/groupedlineedit.cpp
-@@ -32,6 +32,7 @@
- #include <QScrollBar>
- #include <QTextBlock>
- #include <QPainter>
-+#include <QPainterPath>
- #include <QApplication>
- #include <QStyle>
- #include <QStyleOptionFocusRect>
Index: patches/patch-desktop-widgets_mainwindow_cpp
===================================================================
RCS file: 
/cvs/ports/misc/subsurface/patches/patch-desktop-widgets_mainwindow_cpp,v
diff -u -p -r1.3 patch-desktop-widgets_mainwindow_cpp
--- patches/patch-desktop-widgets_mainwindow_cpp        11 Mar 2022 19:38:21 
-0000      1.3
+++ patches/patch-desktop-widgets_mainwindow_cpp        13 Nov 2024 13:25:36 
-0000
@@ -1,58 +1,26 @@
 Index: desktop-widgets/mainwindow.cpp
 --- desktop-widgets/mainwindow.cpp.orig
 +++ desktop-widgets/mainwindow.cpp
-@@ -259,7 +259,6 @@ MainWindow::MainWindow() : QMainWindow(),
-       memset(&copyPasteDive, 0, sizeof(copyPasteDive));
-       memset(&what, 0, sizeof(what));
+@@ -209,7 +209,6 @@ MainWindow::MainWindow() :
+       ui.menuHelp->removeAction(ui.actionUserManual);
+ #endif
  
 -      updateManager = new UpdateManager(this);
        undoAction = Command::undoAction(this);
        redoAction = Command::redoAction(this);
-       undoAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Z));
-@@ -1276,14 +1275,6 @@ void MainWindow::on_actionAboutSubsurface_triggered()
-       dlg.exec();
- }
+       undoAction->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Z));
+@@ -852,14 +851,6 @@ void MainWindow::on_actionAboutSubsurface_triggered()
+       SubsurfaceAbout dlg(this);
  
+       dlg.exec();
+-}
+-
 -void MainWindow::on_action_Check_for_Updates_triggered()
 -{
 -      if (!updateManager)
 -              updateManager = new UpdateManager(this);
 -
 -      updateManager->checkForUpdates();
--}
--
- void MainWindow::on_actionUserManual_triggered()
- {
- #ifndef NO_USERMANUAL
-@@ -1445,31 +1436,11 @@ void MainWindow::readSettings()
- 
-       loadRecentFiles();
-       if (firstRun) {
--              checkSurvey();
-               firstRun = false;
-       }
  }
  
- #undef TOOLBOX_PREF_BUTTON
--
--void MainWindow::checkSurvey()
--{
--      QSettings s;
--      s.beginGroup("UserSurvey");
--      if (!s.contains("FirstUse42")) {
--              QVariant value = QDate().currentDate();
--              s.setValue("FirstUse42", value);
--      }
--      // wait a week for production versions, but not at all for non-tagged 
builds
--      int waitTime = 7;
--      QDate firstUse42 = s.value("FirstUse42").toDate();
--      if (run_survey || (firstUse42.daysTo(QDate().currentDate()) > waitTime 
&& !s.contains("SurveyDone"))) {
--              if (!survey)
--                      survey = new UserSurvey(this);
--              survey->show();
--      }
--      s.endGroup();
--}
- 
- void MainWindow::writeSettings()
- {
+ void MainWindow::on_actionUserManual_triggered()
Index: patches/patch-desktop-widgets_mainwindow_h
===================================================================
RCS file: 
/cvs/ports/misc/subsurface/patches/patch-desktop-widgets_mainwindow_h,v
diff -u -p -r1.3 patch-desktop-widgets_mainwindow_h
--- patches/patch-desktop-widgets_mainwindow_h  11 Mar 2022 19:38:21 -0000      
1.3
+++ patches/patch-desktop-widgets_mainwindow_h  13 Nov 2024 13:25:36 -0000
@@ -1,19 +1,11 @@
 Index: desktop-widgets/mainwindow.h
 --- desktop-widgets/mainwindow.h.orig
 +++ desktop-widgets/mainwindow.h
-@@ -71,7 +71,6 @@ class MainWindow : public QMainWindow { (public)
-       void cleanUpEmpty();
-       void setToolButtonsEnabled(bool enabled);
-       void printPlan();
--      void checkSurvey();
-       void setApplicationState(const QByteArray& state);
-       void setStateProperties(const QByteArray& state, const PropertyList& 
tl, const PropertyList& tr, const PropertyList& bl,const PropertyList& br);
-       bool inPlanner();
-@@ -130,7 +129,6 @@ slots:
-       void on_actionUserSurvey_triggered();
+@@ -125,7 +125,6 @@ slots:
+       void on_actionUserManual_triggered();
        void on_actionDivePlanner_triggered();
        void on_actionReplanDive_triggered();
 -      void on_action_Check_for_Updates_triggered();
  
-       void on_actionDiveSiteEdit_triggered();
-       void selectionChanged();
+       void divesSelected(const std::vector<dive *> &selection, dive 
*currentDive, int currentDC);
+       void initialUiSetup();
Index: patches/patch-desktop-widgets_mainwindow_ui
===================================================================
RCS file: 
/cvs/ports/misc/subsurface/patches/patch-desktop-widgets_mainwindow_ui,v
diff -u -p -r1.3 patch-desktop-widgets_mainwindow_ui
--- patches/patch-desktop-widgets_mainwindow_ui 11 Mar 2022 19:38:21 -0000      
1.3
+++ patches/patch-desktop-widgets_mainwindow_ui 13 Nov 2024 13:25:36 -0000
@@ -1,14 +1,14 @@
 Index: desktop-widgets/mainwindow.ui
 --- desktop-widgets/mainwindow.ui.orig
 +++ desktop-widgets/mainwindow.ui
-@@ -114,7 +114,6 @@
+@@ -107,7 +107,6 @@
       <string>&amp;Help</string>
      </property>
      <addaction name="actionAboutSubsurface"/>
 -    <addaction name="action_Check_for_Updates"/>
-     <addaction name="actionUserSurvey"/>
      <addaction name="actionUserManual"/>
     </widget>
+    <widget class="QMenu" name="menuImport">
 @@ -399,11 +398,6 @@
     </property>
     <property name="shortcut">
Index: patches/patch-libdivecomputer_src_serial_posix_c
===================================================================
RCS file: patches/patch-libdivecomputer_src_serial_posix_c
diff -N patches/patch-libdivecomputer_src_serial_posix_c
--- patches/patch-libdivecomputer_src_serial_posix_c    11 Mar 2022 19:38:21 
-0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
-Index: libdivecomputer/src/serial_posix.c
---- libdivecomputer/src/serial_posix.c.orig
-+++ libdivecomputer/src/serial_posix.c
-@@ -23,6 +23,7 @@
- #include "config.h"
- #endif
- 
-+#include <sys/select.h>
- #include <stdlib.h> // malloc, free
- #include <string.h>   // strerror
- #include <errno.h>    // errno
Index: patches/patch-scripts_get-version
===================================================================
RCS file: patches/patch-scripts_get-version
diff -N patches/patch-scripts_get-version
--- patches/patch-scripts_get-version   11 Mar 2022 19:38:21 -0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,21 +0,0 @@
-Index: scripts/get-version
---- scripts/get-version.orig
-+++ scripts/get-version
-@@ -18,15 +18,14 @@ os=$1
- if [ $# -eq 2 ] && [ "$2" ]; then
-       v0=$2
- else
--      cmd="git describe --abbrev=12"
--      v0=$($cmd) || v0=$(cat .gitversion) || croak "odd; command '$cmd' 
failed"
-+      v0="v4.8.5"
- fi
- 
- # strip off the 'v' prefix, if any
- v0=${v0#v}
- 
- case $os in
--      linux)
-+      openbsd|linux)
-               v=$v0
-               ;;
-       darwin)
Index: patches/patch-tests_CMakeLists_txt
===================================================================
RCS file: /cvs/ports/misc/subsurface/patches/patch-tests_CMakeLists_txt,v
diff -u -p -r1.2 patch-tests_CMakeLists_txt
--- patches/patch-tests_CMakeLists_txt  11 Mar 2022 19:38:21 -0000      1.2
+++ patches/patch-tests_CMakeLists_txt  13 Nov 2024 13:25:36 -0000
@@ -1,11 +1,19 @@
 Index: tests/CMakeLists.txt
 --- tests/CMakeLists.txt.orig
 +++ tests/CMakeLists.txt
-@@ -45,6 +45,7 @@ macro(TEST NAME FILE)
-       target_link_libraries(
-               ${NAME}
+@@ -64,6 +64,7 @@ function(TEST NAME FILE)
+               subsurface_backend_shared
+               ${TEST_SPECIFIC_LIBRARIES}
                subsurface_corelib
 +              subsurface_dc
                RESOURCE_LIBRARY
                ${QT_TEST_LIBRARIES}
                ${SUBSURFACE_LINK_LIBRARIES}
+@@ -99,6 +100,7 @@ add_executable(TestQML testqml.cpp)
+ target_link_libraries(
+       TestQML
+       subsurface_corelib
++      subsurface_dc
+       RESOURCE_LIBRARY
+       ${QT_TEST_LIBRARIES}
+       ${SUBSURFACE_LINK_LIBRARIES}
Index: patches/patch-tests_testprofile_cpp
===================================================================
RCS file: patches/patch-tests_testprofile_cpp
diff -N patches/patch-tests_testprofile_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-tests_testprofile_cpp 13 Nov 2024 13:25:36 -0000
@@ -0,0 +1,11 @@
+Index: tests/testprofile.cpp
+--- tests/testprofile.cpp.orig
++++ tests/testprofile.cpp
+@@ -9,6 +9,7 @@
+ #include "core/save-profiledata.h"
+ #include "core/pref.h"
+ #include "QTextCodec"
++#include <locale.h>
+ 
+ // This test compares the content of struct profile against a known reference 
version for a list
+ // of dives to prevent accidental regressions. Thus is you change anything in 
the profile this
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/misc/subsurface/pkg/PLIST,v
diff -u -p -r1.3 PLIST
--- pkg/PLIST   11 Mar 2022 19:38:21 -0000      1.3
+++ pkg/PLIST   13 Nov 2024 13:25:36 -0000
@@ -1,9 +1,10 @@
 @bin bin/subsurface
 @comment bin/subsurface.debug
+@so lib/qt5/plugins/geoservices/libqtgeoservices_googlemaps.so
 share/applications/subsurface.desktop
 share/icons/hicolor/scalable/apps/subsurface-icon.svg
 share/metainfo/
-share/metainfo/subsurface.appdata.xml
+share/metainfo/subsurface.metainfo.xml
 share/subsurface/
 share/subsurface/Documentation/
 share/subsurface/Documentation/README.md
@@ -13,13 +14,13 @@ share/subsurface/Documentation/images/
 share/subsurface/Documentation/images/APD.jpg
 share/subsurface/Documentation/images/APDComputer.jpg
 share/subsurface/Documentation/images/APD_CSVimportF22.jpg
-share/subsurface/Documentation/images/AddDive1_f22.jpg
-share/subsurface/Documentation/images/AddDive3_f22.jpg
+share/subsurface/Documentation/images/AddDive1.jpg
+share/subsurface/Documentation/images/AddDive3.jpg
 share/subsurface/Documentation/images/BlueEditBar_f22.jpg
 share/subsurface/Documentation/images/Bookmarks.jpg
-share/subsurface/Documentation/images/CCR_b1.jpg
-share/subsurface/Documentation/images/CCR_b2.jpg
-share/subsurface/Documentation/images/CCR_b3.jpg
+share/subsurface/Documentation/images/CCR_b1.png
+share/subsurface/Documentation/images/CCR_b2.png
+share/subsurface/Documentation/images/CCR_b3.png
 share/subsurface/Documentation/images/CCR_bailout.jpg
 share/subsurface/Documentation/images/CCR_dive_ceilingF22.jpg
 share/subsurface/Documentation/images/CCR_dive_profile_f22.jpg
@@ -37,18 +38,30 @@ share/subsurface/Documentation/images/Cy
 share/subsurface/Documentation/images/DC_gas-dialogue1_f20.jpg
 share/subsurface/Documentation/images/DC_gas-dialogue2_f20.jpg
 share/subsurface/Documentation/images/DC_import_Bluetooth.jpg
-share/subsurface/Documentation/images/DC_import_Bluetooth_Windows.png
+share/subsurface/Documentation/images/DC_import_Bluetooth_Windows.jpg
 share/subsurface/Documentation/images/DC_import_f20.jpg
 share/subsurface/Documentation/images/DiveListOptions.jpg
 share/subsurface/Documentation/images/DiveModeChange.jpg
 share/subsurface/Documentation/images/DiveProfile1_f20.jpg
 share/subsurface/Documentation/images/DiveProfile2_f20.jpg
 share/subsurface/Documentation/images/DiveProfile3_f20.jpg
+share/subsurface/Documentation/images/DiveSiteDelete.jpg
+share/subsurface/Documentation/images/DiveSiteEdit.jpg
+share/subsurface/Documentation/images/DiveSiteInsert.jpg
+share/subsurface/Documentation/images/DiveSiteMerge.jpg
+share/subsurface/Documentation/images/DiveSitesTab.jpg
 share/subsurface/Documentation/images/Divelogs1.jpg
 share/subsurface/Documentation/images/DownloadGPS.jpg
 share/subsurface/Documentation/images/Export_f20.jpg
 share/subsurface/Documentation/images/ExtraDataTab_f20.jpg
-share/subsurface/Documentation/images/Filterpanel.jpg
+share/subsurface/Documentation/images/Filter-LocTemp.png
+share/subsurface/Documentation/images/Filter-LocTempWeek.png
+share/subsurface/Documentation/images/Filter-LocTempWeekVis.png
+share/subsurface/Documentation/images/FilterAND.png
+share/subsurface/Documentation/images/FilterConstraints.png
+share/subsurface/Documentation/images/FilterFullText.png
+share/subsurface/Documentation/images/FilterOR.png
+share/subsurface/Documentation/images/FilterWindowBar.jpg
 share/subsurface/Documentation/images/FindMovedImages1.jpg
 share/subsurface/Documentation/images/GasPressureBarGraph.jpg
 share/subsurface/Documentation/images/Globe_image1.jpg
@@ -57,7 +70,9 @@ share/subsurface/Documentation/images/Gl
 share/subsurface/Documentation/images/Group2.jpg
 share/subsurface/Documentation/images/Heatmap.jpg
 share/subsurface/Documentation/images/Import1_f20.jpg
+share/subsurface/Documentation/images/Import_csv.jpg
 share/subsurface/Documentation/images/InfoBox2.jpg
+share/subsurface/Documentation/images/Infotab.jpg
 share/subsurface/Documentation/images/LOffice_field_options.jpg
 share/subsurface/Documentation/images/LOffice_save_as_options.jpg
 share/subsurface/Documentation/images/LOffice_spreadsheetdata.jpg
@@ -71,33 +86,58 @@ share/subsurface/Documentation/images/Lo
 share/subsurface/Documentation/images/LoadImage5_f20.jpg
 share/subsurface/Documentation/images/LoadImage6_f20.jpg
 share/subsurface/Documentation/images/Location1.jpg
+share/subsurface/Documentation/images/MainWindow.jpg
 share/subsurface/Documentation/images/MapMenu.jpg
 share/subsurface/Documentation/images/MeasuringBar.png
 share/subsurface/Documentation/images/MergedDive.png
 share/subsurface/Documentation/images/MkVI.jpeg
 share/subsurface/Documentation/images/MobileCredentials.jpg
 share/subsurface/Documentation/images/MobileGpsMenu.jpg
-share/subsurface/Documentation/images/PlannerWindow1.jpg
-share/subsurface/Documentation/images/Planner_CCR.jpg
-share/subsurface/Documentation/images/Planner_OC_deco.jpg
-share/subsurface/Documentation/images/Planner_OC_rec1.jpg
-share/subsurface/Documentation/images/Planner_OC_rec2.jpg
-share/subsurface/Documentation/images/Planner_pSCR.jpg
-share/subsurface/Documentation/images/Pref1.jpg
-share/subsurface/Documentation/images/Pref1_f23.jpg
-share/subsurface/Documentation/images/Pref2_f23.jpg
-share/subsurface/Documentation/images/Pref3_f23.jpg
-share/subsurface/Documentation/images/Pref4_f23.jpg
-share/subsurface/Documentation/images/Pref5_f23.jpg
-share/subsurface/Documentation/images/Pref7_f23.jpg
+share/subsurface/Documentation/images/Newcyl-Initial.png
+share/subsurface/Documentation/images/Newcyl-create.png
+share/subsurface/Documentation/images/Newcyl-final.png
+share/subsurface/Documentation/images/Newcyl-name.png
+share/subsurface/Documentation/images/Newcyl-selection.png
+share/subsurface/Documentation/images/PlannerWindow1.png
+share/subsurface/Documentation/images/Planner_CCR.png
+share/subsurface/Documentation/images/Planner_OC_deco.png
+share/subsurface/Documentation/images/Planner_OC_gas_for_CCR.png
+share/subsurface/Documentation/images/Planner_OC_rec1.png
+share/subsurface/Documentation/images/Planner_OC_rec2.png
+share/subsurface/Documentation/images/Planner_issues.png
+share/subsurface/Documentation/images/Planner_pSCR.png
+share/subsurface/Documentation/images/Pref_cloud.jpg
+share/subsurface/Documentation/images/Pref_display.jpg
+share/subsurface/Documentation/images/Pref_downld.jpg
+share/subsurface/Documentation/images/Pref_eqpmnt.jpg
+share/subsurface/Documentation/images/Pref_georef.jpg
+share/subsurface/Documentation/images/Pref_lang.jpg
+share/subsurface/Documentation/images/Pref_log.jpg
+share/subsurface/Documentation/images/Pref_media.jpg
+share/subsurface/Documentation/images/Pref_network.jpg
+share/subsurface/Documentation/images/Pref_reset.jpg
+share/subsurface/Documentation/images/Pref_tech.jpg
+share/subsurface/Documentation/images/Pref_units.jpg
 share/subsurface/Documentation/images/Print1_f22.jpg
 share/subsurface/Documentation/images/Print_flow_layout_f22.jpg
 share/subsurface/Documentation/images/Print_print_f22.jpg
 share/subsurface/Documentation/images/Print_summarylist_f22.jpg
 share/subsurface/Documentation/images/Printpreview.jpg
 share/subsurface/Documentation/images/Profile2.jpg
+share/subsurface/Documentation/images/Screenshot-gitk-subsurface-1.png
 share/subsurface/Documentation/images/ShowCylinders_f20.jpg
 share/subsurface/Documentation/images/SplitDive3a.jpg
+share/subsurface/Documentation/images/StatsBarchartHorizontal.jpg
+share/subsurface/Documentation/images/StatsBarchartSubdivided.jpg
+share/subsurface/Documentation/images/StatsCategoricalData.jpg
+share/subsurface/Documentation/images/StatsCountsData.jpg
+share/subsurface/Documentation/images/StatsDataTypes.jpg
+share/subsurface/Documentation/images/StatsGraphAxes.jpg
+share/subsurface/Documentation/images/StatsGraphOptions.jpg
+share/subsurface/Documentation/images/StatsPanel.jpg
+share/subsurface/Documentation/images/StatsRegression.jpg
+share/subsurface/Documentation/images/StatsRestricted.jpg
+share/subsurface/Documentation/images/StatsRestrictedGraph.jpg
 share/subsurface/Documentation/images/Subsurface4Banner.jpg
 share/subsurface/Documentation/images/Template1_f22.jpg
 share/subsurface/Documentation/images/Template2_f22.jpg
@@ -109,18 +149,21 @@ share/subsurface/Documentation/images/We
 share/subsurface/Documentation/images/Win_SaveCSV1.jpg
 share/subsurface/Documentation/images/Win_SaveCSV2.jpg
 share/subsurface/Documentation/images/Win_SaveCSV3.jpg
+share/subsurface/Documentation/images/atmpress.jpg
 share/subsurface/Documentation/images/csv_import1_f20.jpg
 share/subsurface/Documentation/images/csv_import2_f20.jpg
-share/subsurface/Documentation/images/facebook1.jpg
-share/subsurface/Documentation/images/facebook2.jpg
+share/subsurface/Documentation/images/dc_management.jpg
+share/subsurface/Documentation/images/gpx_read.jpg
 share/subsurface/Documentation/images/halcyon_RB80.jpg
 share/subsurface/Documentation/images/icons/
 share/subsurface/Documentation/images/icons/EAD.jpg
+share/subsurface/Documentation/images/icons/GFLow.jpg
 share/subsurface/Documentation/images/icons/Galileo.jpg
 share/subsurface/Documentation/images/icons/HW_DR5.jpg
 share/subsurface/Documentation/images/icons/HW_xdeepblack.jpg
 share/subsurface/Documentation/images/icons/He.jpg
 share/subsurface/Documentation/images/icons/Heartbutton.png
+share/subsurface/Documentation/images/icons/InfoBox.png
 share/subsurface/Documentation/images/icons/MOD.jpg
 share/subsurface/Documentation/images/icons/MapViewMinus.jpg
 share/subsurface/Documentation/images/icons/MapViewMode.jpg
@@ -152,29 +195,33 @@ share/subsurface/Documentation/images/ic
 share/subsurface/Documentation/images/icons/ruler.jpg
 share/subsurface/Documentation/images/icons/scale.jpg
 share/subsurface/Documentation/images/icons/suuntologo.jpg
+share/subsurface/Documentation/images/icons/tissue.jpg
 share/subsurface/Documentation/images/icons/tissues.jpg
 share/subsurface/Documentation/images/icons/usb.jpg
 share/subsurface/Documentation/images/icons/warning2.png
 share/subsurface/Documentation/images/iphone.jpg
-share/subsurface/Documentation/images/main_window_f22.jpg
 share/subsurface/Documentation/images/mapview_f20.jpg
 share/subsurface/Documentation/images/multicylinder_dive.jpg
 share/subsurface/Documentation/images/pSCR_profile.jpg
 share/subsurface/Documentation/images/pSCR_profile_bailout.jpg
-share/subsurface/Documentation/images/planner1.jpg
+share/subsurface/Documentation/images/planner1.png
+share/subsurface/Documentation/images/planner2.png
 share/subsurface/Documentation/images/print2_f22.jpg
 share/subsurface/Documentation/images/profile_symbols.jpg
 share/subsurface/Documentation/images/pscr_b1.jpg
 share/subsurface/Documentation/images/pscr_b2.jpg
+share/subsurface/Documentation/images/sensors-import.png
+share/subsurface/Documentation/images/sensors-moved.png
+share/subsurface/Documentation/images/sensors-newcylinder.png
 share/subsurface/Documentation/images/sidemount1.jpg
 share/subsurface/Documentation/images/smtk2ssrf.jpg
 share/subsurface/Documentation/images/strk2ssrf_web.jpg
 share/subsurface/Documentation/images/texexample.png
 share/subsurface/Documentation/images/tissueHeatmap.jpg
+share/subsurface/Documentation/images/undo.jpg
 share/subsurface/Documentation/user-manual.html
 share/subsurface/Documentation/user-manual_es.html
 share/subsurface/Documentation/user-manual_fr.html
-share/subsurface/Documentation/user-manual_ru.html
 share/subsurface/printing_templates/
 share/subsurface/printing_templates/Flowlayout.html
 share/subsurface/printing_templates/One Dive.html
@@ -185,10 +232,10 @@ share/subsurface/printing_templates/stat
 share/subsurface/printing_templates/statistics/Default.html
 share/subsurface/theme/
 share/subsurface/theme/dive_export.html
-share/subsurface/theme/jqplot.canvasAxisTickRenderer.min.js
-share/subsurface/theme/jqplot.canvasTextRenderer.min.js
-share/subsurface/theme/jqplot.highlighter.min.js
-share/subsurface/theme/jquery.jqplot.css
+share/subsurface/theme/jqplot.canvasAxisTickRenderer.js
+share/subsurface/theme/jqplot.canvasTextRenderer.js
+share/subsurface/theme/jqplot.highlighter.js
+share/subsurface/theme/jquery.jqplot.min.css
 share/subsurface/theme/jquery.jqplot.min.js
 share/subsurface/theme/jquery.min.js
 share/subsurface/theme/light.css
@@ -210,8 +257,9 @@ share/subsurface/translations/subsurface
 share/subsurface/translations/subsurface_fi_FI.qm
 share/subsurface/translations/subsurface_fr_FR.qm
 share/subsurface/translations/subsurface_he.qm
+share/subsurface/translations/subsurface_hr_HR.qm
 share/subsurface/translations/subsurface_it_IT.qm
-share/subsurface/translations/subsurface_lv_LV.qm
+share/subsurface/translations/subsurface_ko_KR.qm
 share/subsurface/translations/subsurface_nb_NO.qm
 share/subsurface/translations/subsurface_nl_NL.qm
 share/subsurface/translations/subsurface_pl_PL.qm
@@ -222,7 +270,6 @@ share/subsurface/translations/subsurface
 share/subsurface/translations/subsurface_sk_SK.qm
 share/subsurface/translations/subsurface_source.qm
 share/subsurface/translations/subsurface_sv_SE.qm
-share/subsurface/translations/subsurface_tr.qm
 share/subsurface/translations/subsurface_zh_TW.qm
 @tag update-desktop-database
 @tag gtk-update-icon-cache %D/share/icons/hicolor


Reply via email to