git: 979467e8efb2 - 2025Q4 - astro/gpscorrelate: update to v2.3
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 26 Dec 2025 16:59:37 UTC
The branch 2025Q4 has been updated by mandree:
URL: https://cgit.FreeBSD.org/ports/commit/?id=979467e8efb2f9dd4ae09906c54eb38874afd6f3
commit 979467e8efb2f9dd4ae09906c54eb38874afd6f3
Author: Matthias Andree <mandree@FreeBSD.org>
AuthorDate: 2025-12-26 09:43:44 +0000
Commit: Matthias Andree <mandree@FreeBSD.org>
CommitDate: 2025-12-26 12:21:48 +0000
astro/gpscorrelate: update to v2.3
gpscorrelate has a new maintainer, Dan Fandrich,
and the former maintainer, Daniel Foote, recognizes the change.
<https://github.com/freefoote/gpscorrelate?tab=readme-ov-file#status>
Update the port to the new location,
<https://dfandrich.github.io/gpscorrelate/>
update to v2.3, switch to Github downloads, hook up self-test suite,
make DOCS and (new) NLS options work right.
Reported by: Dan Fandrich
see also: <https://github.com/dfandrich/gpscorrelate/issues/36>
ChangeLog: https://raw.githubusercontent.com/dfandrich/gpscorrelate/refs/tags/2.3/RELEASES
(cherry picked from commit 9fb28eb395327d7e897028c1c9a31a1476071c78)
---
astro/gpscorrelate/Makefile | 98 ++++++++++++++++++-----------
astro/gpscorrelate/distinfo | 5 +-
astro/gpscorrelate/files/patch-exif-gps.cpp | 95 ----------------------------
astro/gpscorrelate/files/patch-unixtime.h | 10 ---
4 files changed, 64 insertions(+), 144 deletions(-)
diff --git a/astro/gpscorrelate/Makefile b/astro/gpscorrelate/Makefile
index 7c2940597df3..627b12751401 100644
--- a/astro/gpscorrelate/Makefile
+++ b/astro/gpscorrelate/Makefile
@@ -1,62 +1,86 @@
PORTNAME= gpscorrelate
-PORTVERSION= 1.6.1
-PORTREVISION= 12
+PORTVERSION= 2.3
CATEGORIES= astro geography
+MASTER_SITES= https://github.com/dfandrich/gpscorrelate/releases/download/${PORTVERSION}/
MAINTAINER= mandree@FreeBSD.org
COMMENT= Correlate digital camera photos with GPS data in GPX format
-WWW= http://freefoote.dview.net/linux_gpscorr.html
+WWW= https://dfandrich.github.io/gpscorrelate/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
-LIB_DEPENDS= libexiv2.so:graphics/exiv2 \
- libgtkmm-2.4.so:x11-toolkits/gtkmm24
-LIB_DEPENDS+= libatk-1.0.so:accessibility/at-spi2-core
-LIB_DEPENDS+= libfontconfig.so:x11-fonts/fontconfig
-LIB_DEPENDS+= libfreetype.so:print/freetype2
-LIB_DEPENDS+= libharfbuzz.so:print/harfbuzz
+LIB_DEPENDS+= libatk-1.0.so:accessibility/at-spi2-core \
+ libexiv2.so:graphics/exiv2 \
+ libharfbuzz.so:print/harfbuzz
-USES= compiler:c++11-lang gettext-runtime gmake gnome pkgconfig
+USES= desktop-file-utils gmake gnome pkgconfig tar:xz
-USE_GITHUB= yes
-GH_ACCOUNT= freefoote
+USE_GNOME= cairo gdkpixbuf glib20 gtk30 libxml2 pango
-USE_GNOME= cairo gdkpixbuf glib20 gtk20 libxml2 pango
+INSTALL_TARGET= install-desktop-file
+TEST_TARGET= check
-PLIST_FILES= bin/gpscorrelate bin/gpscorrelate-gui \
- share/man/man1/gpscorrelate.1.gz share/man/man1/gpscorrelate-gui.1.gz
-PORTDOCS= *
+CFLAGS+= -Wno-deprecated-declarations # GTK3 is noisy during build
-OPTIONS_DEFINE= DOCS
+PLIST_FILES= bin/gpscorrelate \
+ bin/gpscorrelate-gui \
+ share/applications/gpscorrelate.desktop \
+ share/icons/hicolor/scalable/apps/gpscorrelate-gui.svg
+
+OPTIONS_DEFINE= DOCS NLS
+OPTIONS_DEFAULT= DOCS NLS
+
+DOCS_BUILD_DEPENDS= docbook-xsl>0:textproc/docbook-xsl \
+ xsltproc:textproc/libxslt
+DOCS_PLIST_FILES= share/man/man1/gpscorrelate-gui.1.gz \
+ share/man/man1/gpscorrelate.1.gz
+DOCS_PORTDOCS= *
+
+NLS_USES= gettext
+NLS_CFLAGS= -DENABLE_NLS
+NLS_LIBS= -lintl
+NLS_PLIST_FILES= share/locale/de/LC_MESSAGES/gpscorrelate.mo \
+ share/locale/fr/LC_MESSAGES/gpscorrelate.mo \
+ share/locale/ru/LC_MESSAGES/gpscorrelate.mo
post-patch:
- @${REINPLACE_CMD} -e \
- 's|^CFLAGS|#CFLAGS| ; \
- s|^override CFLAGS|override IFLAGS| ; \
- s|gtk+-2.0)|gtk+-2.0 exiv2)| ; \
- s|-I/usr/include/exiv2|| ; \
- s|-lexiv2|| ; \
- /^all:/s|gpscorrelate.1|| ; \
- s|g++ $$(OFLAGS)|$$(CXX) $$(OFLAGS)| ; \
- s|g++ $$(CFLAGS)|$$(CXX) $$(CXXFLAGS) $$(IFLAGS)| ; \
- s|gcc $$(CFLAGS)|$$(CC) $$(CFLAGS) $$(IFLAGS)|' \
- ${WRKSRC}/Makefile
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/gpscorrelate ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_PROGRAM} ${WRKSRC}/gpscorrelate-gui ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_MAN} ${FILESDIR}/gpscorrelate.1 \
+ ${REINPLACE_CMD} -i.bak -e \
+ '/^CFLAGS /d; \
+ /^CC /d; \
+ /^CXX /d; \
+ s|^LIBS *=|LIBS+=|; \
+ ' \
+ ${WRKSRC}/Makefile
+
+post-patch-DOCS-off:
+ ${REINPLACE_CMD} -i.bak -e \
+ '/^TARGETS= /s|doc/gpscorrelate.*||; \
+ s|xsltproc|:|; \
+ ' \
+ ${WRKSRC}/Makefile
+
+do-install-DOCS-on: do-install-DOCS-off
+ ${INSTALL_MAN} ${WRKSRC}/doc/gpscorrelate.1 \
${STAGEDIR}${PREFIX}/share/man/man1
${LN} -sf gpscorrelate.1 \
${STAGEDIR}${PREFIX}/share/man/man1/gpscorrelate-gui.1
-
-do-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/RELEASES ${STAGEDIR}${DOCSDIR}
- @${MKDIR} ${STAGEDIR}${DOCSDIR}/html
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}/html
${INSTALL_DATA} ${WRKSRC}/doc/*.html ${STAGEDIR}${DOCSDIR}/html
${INSTALL_DATA} ${WRKSRC}/doc/*.png ${STAGEDIR}${DOCSDIR}/html
+do-install-DOCS-off:
+ ${INSTALL_PROGRAM} ${WRKSRC}/gpscorrelate ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/gpscorrelate-gui ${STAGEDIR}${PREFIX}/bin
+
+post-install-NLS-on:
+.for i in de fr ru
+ ( cd ${WRKSRC} && ${GMAKE} build-po )
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/locale/${i}/LC_MESSAGES/ \
+ && ${INSTALL_DATA} ${WRKSRC}/po/${i}.gmo ${STAGEDIR}${PREFIX}/share/locale/${i}/LC_MESSAGES/gpscorrelate.mo
+.endfor
+
.include <bsd.port.mk>
diff --git a/astro/gpscorrelate/distinfo b/astro/gpscorrelate/distinfo
index 2e50ebfa92b1..32a4604147e3 100644
--- a/astro/gpscorrelate/distinfo
+++ b/astro/gpscorrelate/distinfo
@@ -1,2 +1,3 @@
-SHA256 (freefoote-gpscorrelate-1.6.1_GH0.tar.gz) = a34f5f1ef5aefcd8046e4ef6915b9d90d171376e4894b5f17f66a9456956c810
-SIZE (freefoote-gpscorrelate-1.6.1_GH0.tar.gz) = 154511
+TIMESTAMP = 1766748514
+SHA256 (gpscorrelate-2.3.tar.xz) = 1f66383d5a660d5744c6e8d329124207620984091e4772cc5b34c799e618d3ba
+SIZE (gpscorrelate-2.3.tar.xz) = 370500
diff --git a/astro/gpscorrelate/files/patch-exif-gps.cpp b/astro/gpscorrelate/files/patch-exif-gps.cpp
deleted file mode 100644
index 445e3cd75606..000000000000
--- a/astro/gpscorrelate/files/patch-exif-gps.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
---- exif-gps.cpp.orig 2012-08-14 10:11:01 UTC
-+++ exif-gps.cpp
-@@ -40,10 +40,8 @@
- #include <sys/stat.h>
- #include <unistd.h>
-
-+#include <exiv2/exiv2.hpp>
-
--#include "exiv2/image.hpp"
--#include "exiv2/exif.hpp"
--
- #include "gpsstructure.h"
- #include "exif-gps.h"
-
-@@ -87,7 +85,7 @@ char* ReadExifDate(char* File, int* IncludesGPS)
- {
- // Open and read the file.
- Exiv2::ExifData ExifRead;
-- Exiv2::Image::AutoPtr Image;
-+ Exiv2::Image::UniquePtr Image;
-
- try {
- Image = Exiv2::ImageFactory::open(File);
-@@ -150,7 +148,7 @@ char* ReadExifData(char* File, double* Lat, double* Lo
- // for display purposes. For the GUI version.
- // Open and read the file.
- Exiv2::ExifData ExifRead;
-- Exiv2::Image::AutoPtr Image;
-+ Exiv2::Image::UniquePtr Image;
-
- try {
- Image = Exiv2::ImageFactory::open(File);
-@@ -268,7 +266,7 @@ char* ReadExifData(char* File, double* Lat, double* Lo
-
- // Is the altitude below sea level? If so, negate the value.
- GPSData = ExifRead["Exif.GPSInfo.GPSAltitudeRef"];
-- if (GPSData.count() >= 1 && GPSData.toLong() == 1)
-+ if (GPSData.count() >= 1 && GPSData.toInt64() == 1)
- {
- // Negate the elevation.
- *Elev = -*Elev;
-@@ -289,7 +287,7 @@ char* ReadGPSTimestamp(char* File, char* DateStamp, ch
- // for display purposes. For the GUI version.
- // Open and read the file.
- Exiv2::ExifData ExifRead;
-- Exiv2::Image::AutoPtr Image;
-+ Exiv2::Image::UniquePtr Image;
-
- try {
- Image = Exiv2::ImageFactory::open(File);
-@@ -445,7 +443,7 @@ int WriteGPSData(char* File, struct GPSPoint* Point, c
- struct utimbuf utb;
- if (NoChangeMtime)
- stat(File, &statbuf);
-- Exiv2::Image::AutoPtr Image;
-+ Exiv2::Image::UniquePtr Image;
-
- try {
- Image = Exiv2::ImageFactory::open(File);
-@@ -473,7 +471,7 @@ int WriteGPSData(char* File, struct GPSPoint* Point, c
- // Do all the easy constant ones first.
- // GPSVersionID tag: standard says is should be four bytes: 02 00 00 00
- // (and, must be present).
-- Exiv2::Value::AutoPtr Value = Exiv2::Value::create(Exiv2::unsignedByte);
-+ Exiv2::Value::UniquePtr Value = Exiv2::Value::create(Exiv2::unsignedByte);
- Value->read("2 0 0 0");
- ExifToWrite.add(Exiv2::ExifKey("Exif.GPSInfo.GPSVersionID"), Value.get());
- // Datum: the datum of the measured data. If not given, we insert WGS-84.
-@@ -660,7 +658,7 @@ int WriteFixedDatestamp(char* File, time_t Time)
- struct utimbuf utb;
- stat(File, &statbuf);
-
-- Exiv2::Image::AutoPtr Image;
-+ Exiv2::Image::UniquePtr Image;
-
- try {
- Image = Exiv2::ImageFactory::open(File);
-@@ -699,7 +697,7 @@ int WriteFixedDatestamp(char* File, time_t Time)
-
- char ScratchBuf[100];
-
-- Exiv2::Value::AutoPtr Value;
-+ Exiv2::Value::UniquePtr Value;
- Value = Exiv2::Value::create(Exiv2::signedRational);
- snprintf(ScratchBuf, 100, "%d/1 %d/1 %d/1",
- TimeStamp.tm_year + 1900,
-@@ -737,7 +735,7 @@ int RemoveGPSExif(char* File, int NoChangeMtime)
- stat(File, &statbuf);
-
- // Open the file and start reading.
-- Exiv2::Image::AutoPtr Image;
-+ Exiv2::Image::UniquePtr Image;
-
- try {
- Image = Exiv2::ImageFactory::open(File);
diff --git a/astro/gpscorrelate/files/patch-unixtime.h b/astro/gpscorrelate/files/patch-unixtime.h
deleted file mode 100644
index 17ca1d68d1ef..000000000000
--- a/astro/gpscorrelate/files/patch-unixtime.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- unixtime.h.orig 2012-08-14 10:11:01 UTC
-+++ unixtime.h
-@@ -27,6 +27,7 @@
-
- #define EXIF_DATE_FORMAT "%d:%d:%d %d:%d:%d"
- #define GPX_DATE_FORMAT "%d-%d-%dT%d:%d:%dZ"
-+#include <sys/types.h>
-
- time_t ConvertToUnixTime(char* StringTime, char* Format,
- int TZOffsetHours, int TZOffsetMinutes);