summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gis/opencpn/README15
-rw-r--r--gis/opencpn/opencpn.SlackBuild42
-rw-r--r--gis/opencpn/opencpn.info8
-rw-r--r--gis/opencpn/patches/cmake_build_fix.patch79
-rw-r--r--gis/opencpn/patches/honor_mandir.patch20
-rw-r--r--gis/opencpn/patches/opencpn-4.4.0-multilib-strict.patch14
6 files changed, 26 insertions, 152 deletions
diff --git a/gis/opencpn/README b/gis/opencpn/README
index 13429d3b66..bf4423909f 100644
--- a/gis/opencpn/README
+++ b/gis/opencpn/README
@@ -3,15 +3,6 @@ plotter and navigation software, for use underway or as a planning
tool. OpenCPN is developed by a team of active sailors using real
world conditions for program testing and refinement.
-If you are upgrading or installing new, OpenCPN 5.x now requires
-that wxGTK3 be built with webkitgtk support. So you will have to
-install webkitgtk available here at SBo, then build and install
-wxGTK3.
-
-OpenCPN only looks for plugins in the "lib" directories. So on
-x86_64 we have to pass an environment variable to use plugins.
-The menu launcher will automatically set this for you, however
-if you choose to launch OpenCPN from the command line you must
-launch it with this command to get plugin support on x86_64.
-
-OPENCPN_PLUGIN_DIRS="/usr/lib64/opencpn" opencpn
+If you are upgrading or installing new, OpenCPN 5.2.x needs wxGTK3
+to be built with webkitgtk3 support. So you will have to install
+webkitgtk3, available here at SBo, then build and install wxGTK3.
diff --git a/gis/opencpn/opencpn.SlackBuild b/gis/opencpn/opencpn.SlackBuild
index c9bad18652..0204b254d9 100644
--- a/gis/opencpn/opencpn.SlackBuild
+++ b/gis/opencpn/opencpn.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for opencpn
-# Copyright 2019 Matt Dinslage, Springfield, MO
+# Copyright 2021 Matt Dinslage, Springfield, MO
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,12 +25,11 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=opencpn
-VERSION=${VERSION:-5.0.0}
+VERSION=${VERSION:-5.2.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
-
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
@@ -71,7 +70,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/OpenCPN-$VERSION.tar.gz || tar xvf $CWD/v$VERSION.tar.gz
+tar xvf $CWD/OpenCPN-$VERSION.tar.gz
cd OpenCPN-$VERSION
chown -R root:root .
find -L . \
@@ -80,20 +79,15 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# Apply patches to fix following issues...
-# Honor MANDIR
-# Honor LIBSUFFIXDIR
-# Fix building with newer cmake versions
-for patch in $CWD/patches/* ; do
- patch -p1 < $patch
-done
-
-# opencpn does not have specific checks for Slackware so it
-# defautls to a i386 arch. Change this for x86_64
+# Fix LIBDIR
if [ "$ARCH" = "x86_64" ]; then
- sed -i '0,/i386/s//x86_64/' CMakeLists.txt
+ sed -i '0,/"i386"/{s/"i386"/"x86_64"/}' cmake/GetArch.cmake
+ sed -i '0,/"lib"/{s/"lib"/"lib64"/}' cmake/GetArch.cmake
fi
+# Fix MANDIR
+sed -i 's,${PREFIX_DATA}/man/man1,/usr/man/man1,g' CMakeLists.txt
+
mkdir -p build
cd build
cmake \
@@ -101,6 +95,8 @@ cd build
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DOPCPN_FORCE_GTK3=ON \
+ -DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config \
-DBUNDLE_GSHHS=CRUDE \
-DBUNDLE_TCDATA=ON \
-DBUNDLE_DOCS=ON \
@@ -109,6 +105,9 @@ cd build
make install DESTDIR=$PKG
cd ..
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@@ -121,18 +120,15 @@ mv $PKG/usr/share/doc/$PRGNAM/* $PKG/usr/doc/$PRGNAM-$VERSION
rm -rf $PKG/usr/share/doc
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-# Add an icon to /usr/share/pixmaps so menu launcher has icon
+rm -r $PKG/usr/share/icons/hicolor/*
+mkdir -p $PKG/usr/share/icons/hicolor/scalable/apps
+cp $TMP/OpenCPN-$VERSION/src/bitmaps/other_svg_src/opencpn_logo.svg \
+ $PKG/usr/share/icons/hicolor/scalable/apps/opencpn.svg
+
mkdir -p $PKG/usr/share/pixmaps
convert $PKG/usr/share/icons/hicolor/scalable/apps/opencpn.svg -resize 256x256 \
$PKG/usr/share/pixmaps/opencpn.png
-# OpenCPN only looks for plugins in the "lib" directories. We
-# have to set an evnironment variable in order for OpenCPN to
-# find plugins in "lib64"
-if [ "$ARCH" = "x86_64" ]; then
- sed -i 's,Exec=opencpn,Exec=env OPENCPN_PLUGIN_DIRS="/usr/lib64/opencpn" opencpn,g' $PKG/usr/share/applications/opencpn.desktop
-fi
-
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
diff --git a/gis/opencpn/opencpn.info b/gis/opencpn/opencpn.info
index b90d60ab9f..11564bc6ca 100644
--- a/gis/opencpn/opencpn.info
+++ b/gis/opencpn/opencpn.info
@@ -1,10 +1,10 @@
PRGNAM="opencpn"
-VERSION="5.0.0"
+VERSION="5.2.4"
HOMEPAGE="https://opencpn.org/"
-DOWNLOAD="https://github.com/OpenCPN/OpenCPN/archive/v5.0.0/OpenCPN-5.0.0.tar.gz"
-MD5SUM="a6e79c2c6f64037be1894b48b9a1014a"
+DOWNLOAD="https://github.com/OpenCPN/OpenCPN/archive/v5.2.4/OpenCPN-5.2.4.tar.gz"
+MD5SUM="9ca81bed7bca1706ecaac98a7578d6bb"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="gpsd tinyxml libmspack portaudio webkitgtk wxGTK3"
+REQUIRES="gpsd tinyxml libmspack portaudio lsb-release webkitgtk3 wxGTK3"
MAINTAINER="M.Dinslage"
EMAIL="daedra1980@gmail.com"
diff --git a/gis/opencpn/patches/cmake_build_fix.patch b/gis/opencpn/patches/cmake_build_fix.patch
deleted file mode 100644
index aca98fe9f0..0000000000
--- a/gis/opencpn/patches/cmake_build_fix.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index fcec1191a..8df2a9e21 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -408,9 +408,9 @@ IF((_wx_selected_config MATCHES "qt-armv7"))
- ENDIF()
-
- IF((_wx_selected_config MATCHES "qt-armv7"))
-- SET(wxWidgets_USE_LIBS base core xml html adv aui)
-+ SET(wxWidgets_FIND_COMPONENTS base core xml html adv aui)
- ELSE()
-- SET(wxWidgets_USE_LIBS net xml html adv aui core base webview)
-+ SET(wxWidgets_FIND_COMPONENTS net xml html adv aui core base webview)
- ENDIF()
-
- OPTION (USE_GL "Enable OpenGL support" ON)
-@@ -436,7 +436,7 @@ IF (ARCH MATCHES "arm*" AND (NOT QT_ANDROID) AND CMAKE_SYSTEM_NAME MATCHES ".*Li
- SET(OPENGLES_FOUND "YES")
- SET(OPENGL_FOUND "YES")
-
-- SET(wxWidgets_USE_LIBS ${wxWidgets_USE_LIBS} gl )
-+ SET(wxWidgets_FIND_COMPONENTS ${wxWidgets_FIND_COMPONENTS} gl )
- add_subdirectory(src/glshim)
-
- SET(OPENGL_LIBRARIES "GL_static" "EGL" "X11" "drm" )
-@@ -455,7 +455,7 @@ IF(QT_ANDROID)
- SET(OPENGLES_FOUND "YES")
- SET(OPENGL_FOUND "YES")
-
-- SET(wxWidgets_USE_LIBS ${wxWidgets_USE_LIBS} gl )
-+ SET(wxWidgets_FIND_COMPONENTS ${wxWidgets_FIND_COMPONENTS} gl )
- add_subdirectory(src/glshim)
- ENDIF(QT_ANDROID)
-
-@@ -468,7 +468,7 @@ IF ((NOT OPENGLES_FOUND) AND (NOT QT_ANDROID))
- ENDIF(USE_GL)
-
- IF(OPENGL_FOUND)
-- SET(wxWidgets_USE_LIBS gl ${wxWidgets_USE_LIBS} )
-+ SET(wxWidgets_FIND_COMPONENTS gl ${wxWidgets_FIND_COMPONENTS} )
- INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
-
- MESSAGE (STATUS "Found OpenGL...." )
-@@ -529,14 +529,14 @@ IF(NOT QT_ANDROID)
- ENDIF(MSVC)
-
- IF(WIN32 OR APPLE OR QT_ANDROID)
-- FIND_PACKAGE(wxWidgets)
-+ FIND_PACKAGE(wxWidgets COMPONENTS ${wxWidgets_FIND_COMPONENTS})
- if (wxWidgets_FOUND)
- message(STATUS "Found wxWidgets webview add-on")
- add_definitions(-DOCPN_USE_WEBVIEW)
- else ()
-- list(REMOVE_ITEM wxWidgets_USE_LIBS webview)
-+ list(REMOVE_ITEM wxWidgets_FIND_COMPONENTS webview)
- message(STATUS "Could not find wxWidgets webview add-on")
-- FIND_PACKAGE(wxWidgets REQUIRED)
-+ FIND_PACKAGE(wxWidgets REQUIRED COMPONENTS ${wxWidgets_FIND_COMPONENTS})
- endif ()
- IF(MSYS)
- # this is to convert msys to windows paths, and handle the missing /usr
-@@ -1053,14 +1053,14 @@ IF(NOT WIN32 AND NOT APPLE AND NOT QT_ANDROID)
- set(wxWidgets_CONFIG_OPTIONS ${wxWidgets_CONFIG_OPTIONS} --toolkit=gtk3)
- MESSAGE(STATUS "Building against GTK3...")
- ENDIF(GTK2_FOUND)
-- FIND_PACKAGE(wxWidgets)
-+ FIND_PACKAGE(wxWidgets COMPONENTS ${wxWidgets_FIND_COMPONENTS})
- if (wxWidgets_FOUND)
- message(STATUS "Found wxWidgets webview add-on")
- add_definitions(-DOCPN_USE_WEBVIEW)
- else ()
-- list(REMOVE_ITEM wxWidgets_USE_LIBS webview)
-+ list(REMOVE_ITEM wxWidgets_FIND_COMPONENTS webview)
- message(STATUS "Could not find wxWidgets webview add-on")
-- FIND_PACKAGE(wxWidgets REQUIRED)
-+ FIND_PACKAGE(wxWidgets REQUIRED COMPONENTS ${wxWidgets_FIND_COMPONENTS})
- endif ()
- MESSAGE (STATUS "Found wxWidgets..." )
- MESSAGE (STATUS " wxWidgets Include: ${wxWidgets_INCLUDE_DIRS}")
diff --git a/gis/opencpn/patches/honor_mandir.patch b/gis/opencpn/patches/honor_mandir.patch
deleted file mode 100644
index 8a92dd86c8..0000000000
--- a/gis/opencpn/patches/honor_mandir.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -up OpenCPN-5.0.0/CMakeLists.txt.orig OpenCPN-5.0.0/CMakeLists.txt
---- OpenCPN-5.0.0/CMakeLists.txt.orig 2019-04-03 13:49:21.423885285 -0500
-+++ OpenCPN-5.0.0/CMakeLists.txt 2019-04-03 13:51:19.789880135 -0500
-@@ -91,6 +91,7 @@ SET(CMAKE_MODULE_PATH
- ${CMAKE_SOURCE_DIR}/cmake
- )
-
-+SET(MAN_PATH "man/man1")
-
- set (CMAKE_CXX_STANDARD 11)
- message(STATUS "Setting C++11 standard via cmake standard mechanism")
-@@ -2422,7 +2423,7 @@ IF(NOT APPLE)
- INSTALL(FILES src/bitmaps/other_svg_src/opencpn.svg DESTINATION ${PREFIX_DATA}/icons/hicolor/scalable/apps PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
- INSTALL(FILES data/opencpn.desktop DESTINATION ${PREFIX_DATA}/applications PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ )
- INSTALL(FILES data/opencpn.appdata.xml DESTINATION ${PREFIX_DATA}/appdata PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ )
-- INSTALL(FILES opencpn.1 DESTINATION ${PREFIX_DATA}/man/man1 PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ )
-+ INSTALL(FILES opencpn.1 DESTINATION ${MAN_PATH} PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ )
- ENDIF(UNIX)
-
- ENDIF(NOT APPLE)
diff --git a/gis/opencpn/patches/opencpn-4.4.0-multilib-strict.patch b/gis/opencpn/patches/opencpn-4.4.0-multilib-strict.patch
deleted file mode 100644
index 877e7beb8c..0000000000
--- a/gis/opencpn/patches/opencpn-4.4.0-multilib-strict.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up OpenCPN-4.4.0/CMakeLists.txt.orig OpenCPN-4.4.0/CMakeLists.txt
---- OpenCPN-4.4.0/CMakeLists.txt.orig 2016-10-22 03:24:56.824710722 -0500
-+++ OpenCPN-4.4.0/CMakeLists.txt 2016-10-22 03:28:10.592724737 -0500
-@@ -101,6 +101,9 @@ IF (NOT WIN32)
- IF (EXISTS /etc/gentoo-release)
- SET (LIB_INSTALL_DIR "lib${LIB_SUFFIX}")
- ENDIF (EXISTS /etc/gentoo-release)
-+ IF (EXISTS /etc/slackware-version)
-+ SET (LIB_INSTALL_DIR "lib${LIB_SUFFIX}")
-+ ENDIF (EXISTS /etc/slackware-version)
- IF(APPLE)
- IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
- # IF (CMAKE_OSX_64)
-