From 426d4b931c8d998532a51b8cc8f09a5042897508 Mon Sep 17 00:00:00 2001 From: "M.Dinslage" Date: Wed, 28 Jul 2021 17:43:32 -0500 Subject: gis/opencpn: Updated for version 5.2.4. Signed-off-by: Robby Workman --- gis/opencpn/README | 15 +--- gis/opencpn/opencpn.SlackBuild | 42 ++++++------ gis/opencpn/opencpn.info | 8 +-- gis/opencpn/patches/cmake_build_fix.patch | 79 ---------------------- gis/opencpn/patches/honor_mandir.patch | 20 ------ .../patches/opencpn-4.4.0-multilib-strict.patch | 14 ---- 6 files changed, 26 insertions(+), 152 deletions(-) delete mode 100644 gis/opencpn/patches/cmake_build_fix.patch delete mode 100644 gis/opencpn/patches/honor_mandir.patch delete mode 100644 gis/opencpn/patches/opencpn-4.4.0-multilib-strict.patch (limited to 'gis/opencpn') 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) - -- cgit v1.2.3