diff options
Diffstat (limited to 'office/coolreader/coolreader.SlackBuild')
-rw-r--r-- | office/coolreader/coolreader.SlackBuild | 90 |
1 files changed, 64 insertions, 26 deletions
diff --git a/office/coolreader/coolreader.SlackBuild b/office/coolreader/coolreader.SlackBuild index c1a6a928e0..af5cfcb8c1 100644 --- a/office/coolreader/coolreader.SlackBuild +++ b/office/coolreader/coolreader.SlackBuild @@ -1,9 +1,9 @@ -#!/bin/sh +#!/bin/bash # Slackware build script for CoolReader # Copyright 2011-2012 Fridrich von Stauffenberg <email removed> -# Copyright 2020 B. Watson <yalhcru@gmail.com> +# Copyright 2020 B. Watson <urchlay@slackware.uk> # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,6 +23,27 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# 20230111 bkw: BUILD=2, just to force a rebuild after libunibreak +# update to 5.1. + +# 20220218 bkw: update for v3.2.59. To get it to build, had to disable +# unrar support... which didn't exist in v3.2.57, so nobody will miss +# it, I hope. Also, wxWidgets support fails to build, so that's now +# disabled (and removed from the README). + +# 20210930 bkw: update for v3.2.57. This is not the latest release, but +# 3.2.58 fails to build. Will revisit when the next release happens. If +# you can't wait that long, send me a patch (does anyone even use this?) +# - remove fribidi from DOWNLOAD, -current's is new enough now. +# - remove libunibreak from DOWNLOAD, add to REQUIRES (SBo's libunibreak +# is now new enough to use for coolreader). +# - drop QT (qt4) GUI option since qt4's not on SBo (yet?). +# - wxGTK3 build no longer works, for GUI=wx require wxPython 2.8. + +# 20210222 bkw: update for v3.2.54. Upstream no longer ships libunibreak +# and fribidi source, so add them to DOWNLOAD. Replace qt4_settings_ui.diff +# with a more robust sed command. Add -fpermissive. Sigh. + # 20201102 bkw: # - update for v3.2.50. # - embiggen the default window size. @@ -42,10 +63,13 @@ # - add supported filetypes to README and slack-desc # - save/load settings (.ini file) to ~/.cr3, not /usr/share/cr3. +cd $(dirname $0) ; CWD=$(pwd) + PRGNAM=coolreader -VERSION=${VERSION:-3.2.50} -BUILD=${BUILD:-1} +VERSION=${VERSION:-3.2.59} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -55,7 +79,11 @@ if [ -z "$ARCH" ]; then esac fi -CWD=$(pwd) +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} @@ -92,35 +120,43 @@ find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ sed -i 's,\(<height>\)400,\11024,' cr3qt/src/mainwindow.ui sed -i 's,\(<width>\)600,\11280,' cr3qt/src/mainwindow.ui -# Use bundled libunibreak, ours is too old (3.0). -# Use bundled fribidi, Pat's is too old (0.19.7). -sed -i -e '/find_package(libunibreak)/d' \ - -e '/find_package(FriBidi)/d' \ - CMakeLists.txt - # Install the docs in the right place for Slackware. sed -i "s,share/doc/cr3,doc/$PRGNAM-$VERSION," cr3qt/CMakeLists.txt -# The settings patch for qt4 was made by loading cr3qt/src/settings.ui +# The settings sed for qt4 was made by loading cr3qt/src/settings.ui # into Qt Designer and saving it again. Needed because upstream's # using a different (older?) version of qt4. -GUI=${GUI:-QT} -GUI="$( echo $GUI | tr a-z A-Z )" -case "$GUI" in - QT) UI=Qt4 - patch -p1 < $CWD/qt4_settings_ui.diff ;; - QT5) UI=Qt5 ;; - WX) # Either 2.8.x or 3.0.x works, be specific in the slack-desc. - UI="wxWidgets $( wx-config --version | cut -d. -f1,2)" ;; - *) echo "*** Unsupported GUI '$GUI', use one of: QT QT5 WX" - exit 1 ;; -esac +if true; then + # 20220218 bkw: only the qt5 UI works in 3.2.59, sorry. + GUI=QT5 + UI=Qt5 +else + # 20220218 bkw: wxWidgets is broken (for either 2.8 or 3.0), + # this section of code can't run, it's left for reference. + GUI=${GUI:-QT5} + GUI="$( echo $GUI | tr a-z A-Z )" + case "$GUI" in + # 20210930 bkw: Qt4 disabled for now, unless/until SBo gets a qt4 build. + #QT) UI=Qt4 + #sed -i '/<property name="currentText"/s,>, stdset="0">,' cr3qt/src/settings.ui + #;; + QT5) UI=Qt5 ;; + WX) # Only 2.8.x works, be specific in the slack-desc. + UI="wxWidgets 2.8" + SLKCFLAGS+=" $( wx-config --version=2.8 --cflags )" + SLKLDFLAGS="$( wx-config --version=2.8 --libs )" ;; + *) echo "*** Unsupported GUI '$GUI', use one of: QT5 WX" + exit 1 ;; + esac +fi # 20201103 bkw: Alt+F for the File menu, Alt+V for View, etc. This # has been a UI standard since before Windows 1.0 (MS-DOS apps had it), # and I'm not sure why upstream didn't include it. Only affects the -# Qt4/5 UIs. +# Qt4/5 UIs. Incomplete: you can't press Alt+F followed by O for +# File -> Open... but you can use the arrow keys to navigate the +# menus once one of them has been opened. sed -i 's,>\(File\|View\|Navigation\|Help\)<,>\&\1<,' \ cr3qt/src/mainwindow.ui @@ -138,15 +174,17 @@ echo "=== Building $UI GUI" mkdir -p build cd build cmake \ + -D CMAKE_EXE_LINKER_FLAGS="$SLKLDFLAGS" \ -D USE_UNRAR=1 \ -D CMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ - -D CMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -D CMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -fpermissive" \ -D CMAKE_INSTALL_PREFIX=/usr \ -D LIB_SUFFIX=${LIBDIRSUFFIX} \ -D CMAKE_BUILD_TYPE=Release \ -D MAX_IMAGE_SCALE_MUL=2 \ -D DOC_DATA_COMPRESSION_LEVEL=3 \ -D DOC_BUFFER_SIZE=0x1400000 \ + -U USE_UNRAR \ -D GUI=$GUI .. make VERBOSE=1 make install/strip DESTDIR=$PKG @@ -174,4 +212,4 @@ sed "s,@UI@,$UI," $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE |