View | Details | Raw Unified | Return to bug 252168 | Differences between
and this patch

Collapse All | Expand All

(-)Makefile (-12 / +13 lines)
Lines 1-7 Link Here
1
# $FreeBSD$
1
# $FreeBSD$
2
2
3
PORTNAME=	opencpn
3
PORTNAME=	opencpn
4
PORTVERSION=	5.2.0
4
PORTVERSION=	5.2.4
5
DISTVERSIONPREFIX=	v
5
DISTVERSIONPREFIX=	v
6
CATEGORIES=	astro geography
6
CATEGORIES=	astro geography
7
7
Lines 25-56 Link Here
25
GH_PROJECT=	OpenCPN
25
GH_PROJECT=	OpenCPN
26
USE_GL=		gl
26
USE_GL=		gl
27
USE_GNOME=	cairo gdkpixbuf2 gtk30 pango
27
USE_GNOME=	cairo gdkpixbuf2 gtk30 pango
28
USE_WX=		3.0+
29
WX_PREMK=	yes
30
WX_CONF_ARGS=	absolute
31
USE_XORG=	ice sm x11 xext
28
INSTALLS_ICONS=	yes
32
INSTALLS_ICONS=	yes
29
USE_LDCONFIG=	${PREFIX}/lib/opencpn
33
USE_LDCONFIG=	${PREFIX}/lib/opencpn
30
USE_WX=		3.0+
31
USE_XORG=	ice sm x11 xext
32
34
33
CMAKE_ARGS=	-DOCPN_BUNDLE_GSHHS=CRUDE
35
CMAKE_ARGS=	-DOCPN_BUNDLE_GSHHS=CRUDE
34
CMAKE_ON=	OCPN_BUNDLE_TCDATA OCPN_FORCE_GTK3
36
CMAKE_ON=	OCPN_BUNDLE_TCDATA OCPN_FORCE_GTK3 # OCPN_USE_CRASHREPORT
35
CMAKE_OFF=	OCPN_USE_NEWSERIAL
37
CMAKE_OFF=	OCPN_USE_NEWSERIAL
38
CFLAGS+=	-fPIC
39
CXXFLAGS+=	-fPIC
40
LDFLAGS+=	-Wl,-E 		# plugins
41
LDFLAGS+=	-Wl,--as-needed # ICE, SM, Xext
36
42
37
OPTIONS_DEFINE=	DOCS
43
OPTIONS_DEFINE=	DOCS
44
OPTIONS_SUB=	yes
38
DOCS_CMAKE_ON=	-DOCPN_BUNDLE_DOCS:STRING="ON"
45
DOCS_CMAKE_ON=	-DOCPN_BUNDLE_DOCS:STRING="ON"
39
DOCS_CMAKE_OFF=	-DOCPN_BUNDLE_DOCS:STRING="OFF"
46
DOCS_CMAKE_OFF=	-DOCPN_BUNDLE_DOCS:STRING="OFF"
40
47
41
.include <bsd.port.options.mk>
42
43
.if ${ARCH} == powerpc64
44
CMAKE_ARGS+=	-DHAVE_MSSE=OFF -DHAVE_MSSE2=OFF -DHAVE_MSSE3=OFF -DHAVE_MAVX2=OFF -DHAVE_MFPU_NEON=OFF
45
.endif
46
47
.include <bsd.port.pre.mk>
48
.include <bsd.port.pre.mk>
48
49
49
post-patch:
50
post-patch:
50
	@${REINPLACE_CMD} -e 's,/usr/local,${PREFIX},' \
51
	@${REINPLACE_CMD} -e 's,/usr/local,${PREFIX},' \
51
		${WRKSRC}/libs/gdal/src/cpl_csv.cpp \
52
		${WRKSRC}/libs/gdal/src/cpl_findfile.cpp \
53
		${WRKSRC}/data/doc/help_en_US.html
52
		${WRKSRC}/data/doc/help_en_US.html
53
	@${REINPLACE_CMD} -e 's,wx-config,${WX_CONFIG},' \
54
		${WRKSRC}/CMakeLists.txt
54
.if ${ARCH} != amd64 && ${ARCH} != i386
55
.if ${ARCH} != amd64 && ${ARCH} != i386
55
	@${REINPLACE_CMD} -e '/-msse/d' -e '/-mssse3/d' \
56
	@${REINPLACE_CMD} -e '/-msse/d' -e '/-mssse3/d' \
56
		-e '/-mavx2/d' ${WRKSRC}/CMakeLists.txt
57
		-e '/-mavx2/d' ${WRKSRC}/CMakeLists.txt
(-)distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1599147212
1
TIMESTAMP = 1605894801
2
SHA256 (OpenCPN-OpenCPN-v5.2.0_GH0.tar.gz) = f6ec38989bc38f5a7f63234c5e0230adeb73f5626b4e3d3dfa680f0c240badc7
2
SHA256 (OpenCPN-OpenCPN-v5.2.4_GH0.tar.gz) = 8b25a6bb8d52abac0f8c004a1c8297ce3fba0798dedd973b87344d18273db660
3
SIZE (OpenCPN-OpenCPN-v5.2.0_GH0.tar.gz) = 78313969
3
SIZE (OpenCPN-OpenCPN-v5.2.4_GH0.tar.gz) = 81226481
(-)files/patch-CMakeLists.txt (-3 / +12 lines)
Lines 1-8 Link Here
1
--- CMakeLists.txt.orig	2020-07-15 18:02:29 UTC
1
--- CMakeLists.txt.orig	2020-10-22 23:20:06 UTC
2
+++ CMakeLists.txt
2
+++ CMakeLists.txt
3
@@ -2221,7 +2221,7 @@ if (NOT APPLE)
3
@@ -801,7 +801,7 @@ if (GTK3_FOUND)
4
       FILES ${CMAKE_BINARY_DIR}/opencpn.appdata.xml
4
     }
5
   ]=])
6
   set (TRY_COMPILE
7
-    "echo '${_VERSPROG}' > wx-32.c; cc $(wx-config --cflags) wx-32.c; ./a.out")
8
+    "echo '${_VERSPROG}' > wx-32.c; cc $(/usr/local/bin/wxgtk3u-3.0-config --cflags) wx-32.c; ./a.out")
9
   execute_process(
10
     COMMAND "/bin/sh" "-c" "${TRY_COMPILE}"
11
     WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
12
@@ -2230,7 +2230,7 @@ if (NOT APPLE)
5
       DESTINATION ${PREFIX_DATA}/metainfo
13
       DESTINATION ${PREFIX_DATA}/metainfo
14
       RENAME opencpn.appdata.xml
6
     )
15
     )
7
-    install(FILES opencpn.1 DESTINATION ${PREFIX_DATA}/man/man1)
16
-    install(FILES opencpn.1 DESTINATION ${PREFIX_DATA}/man/man1)
8
+    install(FILES opencpn.1 DESTINATION ${PREFIX_DATA}/../man/man1)
17
+    install(FILES opencpn.1 DESTINATION ${PREFIX_DATA}/../man/man1)
(-)files/patch-cmake_TargetSetup.cmake (-7 / +11 lines)
Lines 1-8 Link Here
1
--- cmake/TargetSetup.cmake.orig	2020-07-15 18:02:29 UTC
1
--- cmake/TargetSetup.cmake.orig	2020-10-22 23:20:06 UTC
2
+++ cmake/TargetSetup.cmake
2
+++ cmake/TargetSetup.cmake
3
@@ -26,14 +26,10 @@ elseif (APPLE)
3
@@ -39,14 +39,14 @@ elseif(_wx_selected_config MATCHES "androideabi-qt")
4
     execute_process(COMMAND "sw_vers" "-productVersion"
4
      endif(ANDROID_ARCH MATCHES "arm64")
5
                     OUTPUT_VARIABLE PKG_TARGET_VERSION)
5
         
6
 elseif (UNIX)
6
 elseif (UNIX)
7
-    find_program(LSB_RELEASE NAMES lsb_release)
7
-    find_program(LSB_RELEASE NAMES lsb_release)
8
-    if (NOT LSB_RELEASE)
8
-    if (NOT LSB_RELEASE)
Lines 10-20 Link Here
10
-                "Cannot find the lsb_release program, please install.")
10
-                "Cannot find the lsb_release program, please install.")
11
-    endif ()
11
-    endif ()
12
-    execute_process(COMMAND ${LSB_RELEASE} "-is"
12
-    execute_process(COMMAND ${LSB_RELEASE} "-is"
13
+    find_program(LSB_RELEASE NAMES uname)
13
+#    find_program(LSB_RELEASE NAMES lsb_release)
14
+    execute_process(COMMAND ${LSB_RELEASE} "-s"
14
+#    if (NOT LSB_RELEASE)
15
+#        message(FATAL_ERROR
16
+#                "Cannot find the lsb_release program, please install.")
17
+#    endif ()
18
+    execute_process(COMMAND uname "-i"
15
                     OUTPUT_VARIABLE PKG_TARGET)
19
                     OUTPUT_VARIABLE PKG_TARGET)
16
-    execute_process(COMMAND ${LSB_RELEASE} "-rs"
20
-    execute_process(COMMAND ${LSB_RELEASE} "-rs"
17
+    execute_process(COMMAND ${LSB_RELEASE} "-r"
21
+    execute_process(COMMAND uname "-r"
18
                     OUTPUT_VARIABLE PKG_TARGET_VERSION)
22
                     OUTPUT_VARIABLE PKG_TARGET_VERSION)
19
 else ()
23
 else ()
20
     set(PKG_TARGET "unknown")
24
     set(PKG_TARGET "unknown")
(-)files/patch-libs_wxcurl_include_wx_curl_thread.h (+11 lines)
Line 0 Link Here
1
--- libs/wxcurl/include/wx/curl/thread.h.orig	2020-10-22 23:20:06 UTC
2
+++ libs/wxcurl/include/wx/curl/thread.h
3
@@ -43,7 +43,7 @@ enum wxCurlThreadError
4
 };
5
 
6
 //! The stack size for wxCurl threads.
7
-#define wxCURL_THREAD_STACK_SIZE            2048
8
+#define wxCURL_THREAD_STACK_SIZE            1024
9
 
10
 
11
 // ----------------------------------------------------------------------------
(-)files/patch-src_PluginPaths.cpp (+11 lines)
Line 0 Link Here
1
--- src/PluginPaths.cpp.orig	2020-10-22 23:20:06 UTC
2
+++ src/PluginPaths.cpp
3
@@ -214,7 +214,7 @@ PluginPaths::PluginPaths()
4
     else if (g_Platform->isFlatpacked()) {
5
         initFlatpackPaths();
6
     }
7
-    else if (osSystemId & wxOS_UNIX_LINUX) {
8
+    else if (osSystemId & wxOS_UNIX_LINUX || osSystemId & wxOS_UNIX_FREEBSD) {
9
 #ifdef __OCPN__ANDROID__
10
         initAndroidPaths();
11
 #else
(-)files/patch-src_chart1.cpp (-20 / +66 lines)
Lines 1-6 Link Here
1
--- src/chart1.cpp.orig	2020-07-15 18:02:29 UTC
1
--- src/chart1.cpp.orig	2020-07-15 18:02:29 UTC
2
+++ src/chart1.cpp
2
+++ src/chart1.cpp
3
@@ -8226,7 +8226,7 @@ void MyFrame::MouseEvent( wxMouseEvent& event )
3
@@ -8244,7 +8244,7 @@ void MyFrame::MouseEvent( wxMouseEvent& event )
4
 #endif
4
 #endif
5
 
5
 
6
 #ifdef __WXGTK__
6
 #ifdef __WXGTK__
Lines 9-15 Link Here
9
 #endif
9
 #endif
10
 
10
 
11
 #if defined(__linux__)
11
 #if defined(__linux__)
12
@@ -10370,6 +10370,8 @@ extern "C" int wait(int *);                     // POS
12
@@ -10382,10 +10382,14 @@
13
 #if defined(__UNIX__) && !defined(__OCPN__ANDROID__) && !defined(__WXOSX__)
14
 extern "C" int wait(int *);                     // POSIX wait() for process
15
 
16
+#include <sys/param.h>
17
 #include <termios.h>
18
+#include <fcntl.h>
13
 #include <sys/ioctl.h>
19
 #include <sys/ioctl.h>
14
 #ifdef __linux__
20
 #ifdef __linux__
15
 #include <linux/serial.h>
21
 #include <linux/serial.h>
Lines 18-32 Link Here
18
 #endif
24
 #endif
19
 
25
 
20
 #endif
26
 #endif
21
@@ -10445,17 +10447,25 @@ int isTTYreal(const char *dev)
27
@@ -10452,7 +10456,8 @@
28
 
29
 int isTTYreal(const char *dev)
30
 {
31
-#ifdef __NetBSD__
32
+#ifdef __FreeBSD__
33
+ 	            wxLogMessage( _T("FreeBSD") );
34
     if (strncmp("/dev/tty0", dev, 9) == 0)
22
 	return 1;
35
 	return 1;
36
     if (strncmp("/dev/ttyU", dev, 9) == 0)
37
@@ -10460,24 +10465,32 @@
38
     if (strcmp("/dev/gps", dev) == 0)
39
 	return 1;
23
     return 0;
40
     return 0;
24
 #else /* !NetBSD */
41
-#else /* !NetBSD */
25
+#ifdef __linux__
42
+#else
43
+#ifdef __FreeBSD__
44
+    struct termios termAttr;
45
+#else
26
     struct serial_struct serinfo;
46
     struct serial_struct serinfo;
27
+#else
47
+#endif    
28
+    struct termios termattr;
29
+#endif
30
     int ret = 0;
48
     int ret = 0;
31
 
49
 
32
     int fd = open(dev, O_RDWR | O_NONBLOCK | O_NOCTTY);
50
     int fd = open(dev, O_RDWR | O_NONBLOCK | O_NOCTTY);
Lines 33-65 Link Here
33
 
51
 
34
     // device name is pointing to a real device
52
     // device name is pointing to a real device
35
     if(fd >= 0) {
53
     if(fd >= 0) {
36
+#ifdef __linux__
54
+#ifdef __FreeBSD__
55
+        if (tcgetattr(fd, &termAttr) == 0) {
56
+#else
37
         if (ioctl(fd, TIOCGSERIAL, &serinfo)==0) {
57
         if (ioctl(fd, TIOCGSERIAL, &serinfo)==0) {
38
             // If device type is no PORT_UNKNOWN we accept the port
58
             // If device type is no PORT_UNKNOWN we accept the port
39
             if (serinfo.type != PORT_UNKNOWN)
59
             if (serinfo.type != PORT_UNKNOWN)
40
-                ret = 1;
41
+#else
42
+        if (tcgetattr(fd, &termattr) == 0) {
43
+#endif
60
+#endif
44
+	      ret = 1;
61
                 ret = 1;
45
         }
62
         }
46
         close (fd);
63
         close (fd);
47
     }
64
     }
48
@@ -10505,10 +10515,17 @@ wxArrayString *EnumerateSerialPorts( void )
49
 
65
 
66
     return ret;
67
-#endif /* !NetBSD */
68
+#endif
69
 }
70
 
71
 
72
@@ -10521,10 +10534,17 @@
73
 
50
     //Initialize the pattern table
74
     //Initialize the pattern table
51
     if( devPatern[0] == NULL ) {
75
     if( devPatern[0] == NULL ) {
52
+#ifdef __linux__
76
+#ifdef __FreeBSD__
77
+        paternAdd ( "ttyU" );
78
+        paternAdd ( "ttyu" );
79
+        paternAdd ( "ttyd" );
80
+        paternAdd ( "gps" );
81
+#else
53
         paternAdd ( "ttyUSB" );
82
         paternAdd ( "ttyUSB" );
54
         paternAdd ( "ttyACM" );
83
         paternAdd ( "ttyACM" );
55
         paternAdd ( "ttyGPS" );
84
         paternAdd ( "ttyGPS" );
56
         paternAdd ( "refcom" );
85
         paternAdd ( "refcom" );
57
+#else
58
+        paternAdd ( "ttyU" );
59
+        paternAdd ( "ttyu" );
60
+        paternAdd ( "ttyd" );
61
+        paternAdd ( "gps" );
62
+#endif
86
+#endif
63
     }
87
     }
64
 
88
 
65
  //  Looking for user privilege openable devices in /dev
89
  //  Looking for user privilege openable devices in /dev
90
@@ -11019,6 +11039,12 @@
91
     if(!result1.size())
92
         wxExecute(_T("stat -c %G /dev/ttyACM0"), result1);
93
 
94
+    if(!result1.size())
95
+        wxExecute(_T("stat -f %g /dev/ttyu0"), result1);
96
+
97
+    if(!result1.size())
98
+        wxExecute(_T("stat -f %g /dev/ttyU0"), result1);
99
+
100
     wxString msg1 = _("OpenCPN requires access to serial ports to use serial NMEA data.\n");
101
     if(!result1.size()) {
102
         wxString msg = msg1 + _("No Serial Ports can be found on this system.\n\
103
@@ -11032,7 +11058,7 @@
104
     wxString user = wxGetUserId(), group = result1[0];
105
 
106
     wxArrayString result2;
107
-    wxExecute(_T("groups ") + user, result2);
108
+    wxExecute(_T("id -G ") + user, result2);
109
 
110
     if(result2.size()) {
111
         wxString user_groups = result2[0];
(-)files/patch-src_glChartCanvas.cpp (+11 lines)
Line 0 Link Here
1
--- src/glChartCanvas.cpp.orig	2020-10-22 23:20:06 UTC
2
+++ src/glChartCanvas.cpp
3
@@ -57,7 +57,7 @@ class OCPNStopWatch (private)
4
 
5
 #if defined(__OCPN__ANDROID__)
6
 #include "androidUTIL.h"
7
-#elif defined(__WXQT__)
8
+#else
9
 #include <GL/glx.h>
10
 #endif
11
 
(-)pkg-plist (-3 / +4 lines)
Lines 4-10 Link Here
4
lib/opencpn/libgrib_pi.so
4
lib/opencpn/libgrib_pi.so
5
lib/opencpn/libwmm_pi.so
5
lib/opencpn/libwmm_pi.so
6
man/man1/opencpn.1.gz
6
man/man1/opencpn.1.gz
7
share/metainfo/opencpn.appdata.xml
8
share/applications/opencpn.desktop
7
share/applications/opencpn.desktop
9
%%PORTDOCS%%%%DOCSDIR%%/changelog
8
%%PORTDOCS%%%%DOCSDIR%%/changelog
10
%%PORTDOCS%%%%DOCSDIR%%/copyright
9
%%PORTDOCS%%%%DOCSDIR%%/copyright
Lines 171-176 Link Here
171
share/locale/zh_TW/LC_MESSAGES/opencpn-grib_pi.mo
170
share/locale/zh_TW/LC_MESSAGES/opencpn-grib_pi.mo
172
share/locale/zh_TW/LC_MESSAGES/opencpn-wmm_pi.mo
171
share/locale/zh_TW/LC_MESSAGES/opencpn-wmm_pi.mo
173
share/locale/zh_TW/LC_MESSAGES/opencpn.mo
172
share/locale/zh_TW/LC_MESSAGES/opencpn.mo
173
share/metainfo/opencpn.appdata.xml
174
%%DATADIR%%/COPYING.gplv2
174
%%DATADIR%%/COPYING.gplv2
175
%%DATADIR%%/COPYING.gplv3
175
%%DATADIR%%/COPYING.gplv3
176
%%DATADIR%%/COPYING.lgplv2
176
%%DATADIR%%/COPYING.lgplv2
Lines 179-186 Link Here
179
%%DATADIR%%/LICENSING
179
%%DATADIR%%/LICENSING
180
%%DATADIR%%/LINUX_DEVICES.md
180
%%DATADIR%%/LINUX_DEVICES.md
181
%%DATADIR%%/authors.html
181
%%DATADIR%%/authors.html
182
%%DATADIR%%/license.txt
183
%%DATADIR%%/ocpn-plugins.xml
184
%%PORTDOCS%%%%DATADIR%%/doc/50info/MBT1.jpg
182
%%PORTDOCS%%%%DATADIR%%/doc/50info/MBT1.jpg
185
%%PORTDOCS%%%%DATADIR%%/doc/50info/bridge1.jpg
183
%%PORTDOCS%%%%DATADIR%%/doc/50info/bridge1.jpg
186
%%PORTDOCS%%%%DATADIR%%/doc/50info/bridge2.jpg
184
%%PORTDOCS%%%%DATADIR%%/doc/50info/bridge2.jpg
Lines 1178-1183 Link Here
1178
%%DATADIR%%/gshhs/wdb_borders_c.b
1176
%%DATADIR%%/gshhs/wdb_borders_c.b
1179
%%DATADIR%%/gshhs/wdb_rivers_c.b
1177
%%DATADIR%%/gshhs/wdb_rivers_c.b
1180
%%DATADIR%%/license.html
1178
%%DATADIR%%/license.html
1179
%%DATADIR%%/license.txt
1180
%%DATADIR%%/ocpn-plugins.xml
1181
%%DATADIR%%/opencpn.png
1181
%%DATADIR%%/opencpn.png
1182
%%DATADIR%%/plugins/chartdldr_pi/data/button_down.png
1182
%%DATADIR%%/plugins/chartdldr_pi/data/button_down.png
1183
%%DATADIR%%/plugins/chartdldr_pi/data/button_right.png
1183
%%DATADIR%%/plugins/chartdldr_pi/data/button_right.png
Lines 1698-1703 Link Here
1698
%%DATADIR%%/uidata/traditional/mob.svg
1698
%%DATADIR%%/uidata/traditional/mob.svg
1699
%%DATADIR%%/uidata/traditional/mob_btn.svg
1699
%%DATADIR%%/uidata/traditional/mob_btn.svg
1700
%%DATADIR%%/uidata/traditional/mob_btn_rollover.svg
1700
%%DATADIR%%/uidata/traditional/mob_btn_rollover.svg
1701
%%DATADIR%%/uidata/traditional/packageBox.svg
1701
%%DATADIR%%/uidata/traditional/pencil.svg
1702
%%DATADIR%%/uidata/traditional/pencil.svg
1702
%%DATADIR%%/uidata/traditional/print.svg
1703
%%DATADIR%%/uidata/traditional/print.svg
1703
%%DATADIR%%/uidata/traditional/print_rollover.svg
1704
%%DATADIR%%/uidata/traditional/print_rollover.svg

Return to bug 252168