diff options
Diffstat (limited to 'office/coolreader/coolreader.SlackBuild')
-rw-r--r-- | office/coolreader/coolreader.SlackBuild | 90 |
1 files changed, 48 insertions, 42 deletions
diff --git a/office/coolreader/coolreader.SlackBuild b/office/coolreader/coolreader.SlackBuild index 2c79b31423..af5cfcb8c1 100644 --- a/office/coolreader/coolreader.SlackBuild +++ b/office/coolreader/coolreader.SlackBuild @@ -3,7 +3,7 @@ # 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,23 @@ # 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. @@ -49,8 +66,8 @@ cd $(dirname $0) ; CWD=$(pwd) PRGNAM=coolreader -VERSION=${VERSION:-3.2.54} -BUILD=${BUILD:-1} +VERSION=${VERSION:-3.2.59} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -62,9 +79,6 @@ if [ -z "$ARCH" ]; then esac fi -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" exit 0 @@ -90,32 +104,15 @@ fi set -e -FBDVER=${FBDVER:-1.0.10} -LUBVER=${LUBVER:-4.3} - rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-cr$VERSION tar xvf $CWD/$PRGNAM-cr$VERSION.tar.gz cd $PRGNAM-cr$VERSION -( cd thirdparty - tar xvf $CWD/fribidi-$FBDVER.tar.xz - tar xvf $CWD/libunibreak-$LUBVER.tar.gz ) find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ -# Apply coolreader-specific patches to thirdparty libs. -( cd thirdparty/fribidi-$FBDVER - for i in ../../thirdparty_repo/patches/fribidi/*.patch; do - patch -p1 < $i - done ) - -( cd thirdparty/libunibreak-$LUBVER - for i in ../../thirdparty_repo/patches/libunibreak/*.patch; do - patch -p1 < $i - done ) - # FFS, it's 2020, we don't need GUI apps hardcoded to start at # 640x400 window size. Honestly we don't need them hardcoded at # all, but since that's what coolreader does, pick a size that's @@ -123,12 +120,6 @@ 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 @@ -136,23 +127,36 @@ sed -i "s,share/doc/cr3,doc/$PRGNAM-$VERSION," cr3qt/CMakeLists.txt # 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 - sed -i '/<property name="currentText"/s,>, stdset="0">,' cr3qt/src/settings.ui - ;; - 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 @@ -170,6 +174,7 @@ 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 -fpermissive" \ @@ -179,6 +184,7 @@ cd build -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 |