diff options
author | B. Watson <yalhcru@gmail.com> | 2022-01-13 14:00:53 -0500 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2022-01-22 08:23:01 +0700 |
commit | e538310f01461928c37c7f0d4888956271579f26 (patch) | |
tree | ed57bc5eaf452f24c8460bf915b10030bb37ea16 | |
parent | e53ed6886ff057ef214636807ff7f1878947050f (diff) |
office/jfbview: Added (framebuffer PDF and image viewer).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | office/jfbview/README | 13 | ||||
-rw-r--r-- | office/jfbview/jfbview.SlackBuild | 106 | ||||
-rw-r--r-- | office/jfbview/jfbview.info | 10 | ||||
-rw-r--r-- | office/jfbview/jpdfcat.1 | 68 | ||||
-rw-r--r-- | office/jfbview/jpdfcat.rst | 57 | ||||
-rw-r--r-- | office/jfbview/jpdfgrep.1 | 76 | ||||
-rw-r--r-- | office/jfbview/jpdfgrep.rst | 65 | ||||
-rw-r--r-- | office/jfbview/slack-desc | 19 |
8 files changed, 414 insertions, 0 deletions
diff --git a/office/jfbview/README b/office/jfbview/README new file mode 100644 index 0000000000000..cd2c9dcc5f374 --- /dev/null +++ b/office/jfbview/README @@ -0,0 +1,13 @@ +jfbview (framebuffer PDF and image viewer) + +jfbview is a PDF and image viewer for the Linux framebuffer. It's fast +and has some advanced features including: + * Arbitrary zoom (10% - 1000%) and rotation; + * Table of Contents (TOC) viewer for PDF documents; + * Interactive text search for PDF documents; + * Multi-threaded rendering; + * Asynchronous background pre-caching; + * Customizable multi-threaded caching. + +Optional dependency: imlib2 (autodetected). This will allow jfbview to +work as an image viewer as well as a PDF viewer. diff --git a/office/jfbview/jfbview.SlackBuild b/office/jfbview/jfbview.SlackBuild new file mode 100644 index 0000000000000..e0215a906940e --- /dev/null +++ b/office/jfbview/jfbview.SlackBuild @@ -0,0 +1,106 @@ +#!/bin/bash + +# Slackware build script for jfbview + +# Written by B. Watson (yalhcru@gmail.com) + +# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. + +# This doesn't depend on mupdf or mupdf-legacy because it includes its +# own bundled mupdf source. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=jfbview +VERSION=${VERSION:-0.6.0} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +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} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION-full-source +unzip $CWD/$PRGNAM-$VERSION-full-source.zip +cd $PRGNAM-$VERSION-full-source +chown -R root:root . +find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ + \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ + +# fix a typo. +sed -i 's,Plase,Please,' src/main.cpp + +# hardcoded man and doc paths. +sed -i -e 's,share/man,man,g' \ + -e "s,share/doc/$PRGNAM,doc/$PRGNAM-$VERSION,g" \ + doc/CMakeLists.txt + +# no autodetect for imlib2, help it out some. +IMLIB_OPT=off +[ "${IMLIB:-yes}" = "yes" ] && pkg-config --exists imlib2 && IMLIB_OPT=on + +mkdir -p build +cd build + cmake \ + -DENABLE_IMAGE_SUPPORT=$IMLIB_OPT \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release .. + make + make install/strip DESTDIR=$PKG +cd .. + +# when building without imlib2, we end up with two almost-identical copies +# of the binary, weighing in at 36MB apiece. use symlinks instead. +rm -f $PKG/usr/bin/jfbpdf $PKG/usr/man/man1/jfbpdf.1.gz +ln -s $PRGNAM $PKG/usr/bin/jfbpdf +ln -s $PRGNAM.1.gz $PKG/usr/man/man1/jfbpdf.1.gz + +# upstream's got a nice man page for the main application, but nothing +# for jpdf(cat|grep), so I wrote these. +gzip -9c < $CWD/jpdfcat.1 > $PKG/usr/man/man1/jpdfcat.1.gz +gzip -9c < $CWD/jpdfgrep.1 > $PKG/usr/man/man1/jpdfgrep.1.gz + +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +WITHIM=WITHOUT +objdump -p $PKG/usr/bin/$PRGNAM | grep -q 'NEEDED.*libImlib2' && WITHIM=with + +mkdir -p $PKG/install +sed "s,@WITHIM@,$WITHIM," $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/office/jfbview/jfbview.info b/office/jfbview/jfbview.info new file mode 100644 index 0000000000000..5e4c78e21139b --- /dev/null +++ b/office/jfbview/jfbview.info @@ -0,0 +1,10 @@ +PRGNAM="jfbview" +VERSION="0.6.0" +HOMEPAGE="https://github.com/jichu4n/jfbview" +DOWNLOAD="https://github.com/jichu4n/jfbview/releases/download/0.6.0/jfbview-0.6.0-full-source.zip" +MD5SUM="ac41da35a97c008424662d7dc489b841" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="B. Watson" +EMAIL="yalhcru@gmail.com" diff --git a/office/jfbview/jpdfcat.1 b/office/jfbview/jpdfcat.1 new file mode 100644 index 0000000000000..646552f745368 --- /dev/null +++ b/office/jfbview/jpdfcat.1 @@ -0,0 +1,68 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "JPDFCAT" 1 "2022-01-13" "0.6.0" "SlackBuilds.org" +.SH NAME +jpdfcat \- extract and print the text content in a PDF document +.\" RST source for jpdfcat(1) man page. Convert with: +. +.\" rst2man.py jpdfcat.rst > jpdfcat.1 +. +.\" rst2man.py comes from the SBo development/docutils package. +. +.SH SYNOPSIS +.sp +jpdfcat [\fI\-P pass\fP] \fBfilename.pdf\fP +.SH DESCRIPTION +.sp +\fBjpdfcat\fP extracts and prints the text content in a PDF document. It\(aqs +part of the \fBjfbview\fP suite. +.SH OPTIONS +.INDENT 0.0 +.TP +.B \-P,\-\-password=pass +Unlock PDF document with the given password. +.TP +.B \-h,\-\-help +Show built\-in help message. +.UNINDENT +.SH COPYRIGHT +.sp +jpdfcat is distributed under the Apache License v2. +.SH AUTHORS +.sp +jpdfcat was written by Chuan Ji. +.sp +This man page written for the SlackBuilds.org project +by B. Watson, and is licensed under the WTFPL. +.SH SEE ALSO +.sp +\fBjfbview\fP(1), \fBjpdfgrep\fP(1), \fBpdftotext\fP(1) +.\" Generated by docutils manpage writer. +. diff --git a/office/jfbview/jpdfcat.rst b/office/jfbview/jpdfcat.rst new file mode 100644 index 0000000000000..0277a572dde00 --- /dev/null +++ b/office/jfbview/jpdfcat.rst @@ -0,0 +1,57 @@ +.. RST source for jpdfcat(1) man page. Convert with: +.. rst2man.py jpdfcat.rst > jpdfcat.1 +.. rst2man.py comes from the SBo development/docutils package. + +.. |version| replace:: 0.6.0 +.. |date| date:: + +======= +jpdfcat +======= + +---------------------------------------------------- +extract and print the text content in a PDF document +---------------------------------------------------- + +:Manual section: 1 +:Manual group: SlackBuilds.org +:Date: |date| +:Version: |version| + +SYNOPSIS +======== + +jpdfcat [*-P pass*] **filename.pdf** + +DESCRIPTION +=========== + +**jpdfcat** extracts and prints the text content in a PDF document. It's +part of the **jfbview** suite. + +OPTIONS +======= + +-P,--password=pass + Unlock PDF document with the given password. + +-h,--help + Show built-in help message. + +COPYRIGHT +========= + +jpdfcat is distributed under the Apache License v2. + +AUTHORS +======= + +jpdfcat was written by Chuan Ji. + +This man page written for the SlackBuilds.org project +by B. Watson, and is licensed under the WTFPL. + +SEE ALSO +======== + +**jfbview**\(1), **jpdfgrep**\(1), **pdftotext**\(1) diff --git a/office/jfbview/jpdfgrep.1 b/office/jfbview/jpdfgrep.1 new file mode 100644 index 0000000000000..661f157ccd7f3 --- /dev/null +++ b/office/jfbview/jpdfgrep.1 @@ -0,0 +1,76 @@ +.\" Man page generated from reStructuredText. +. +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.TH "JPDFGREP" 1 "2022-01-13" "0.6.0" "SlackBuilds.org" +.SH NAME +jpdfgrep \- search for a string in a PDF document +.\" RST source for jpdfgrep(1) man page. Convert with: +. +.\" rst2man.py jpdfgrep.rst > jpdfgrep.1 +. +.\" rst2man.py comes from the SBo development/docutils package. +. +.SH SYNOPSIS +.sp +jpdfgrep [\fI\-P pass\fP] [\fI\-w width\fP] \fBfilename.pdf\fP \fBsearch\-string\fP +.SH DESCRIPTION +.sp +\fBjpdfgrep\fP searches for a string in the text content of a PDF +document and prints all matching lines. Despite the name, the +\fBsearch\-string\fP is a fixed string, \fInot\fP a regular expression. +Also, be aware that the file and search string arguments must +be given in the opposite order from grep. +.sp +\fBjpdfgrep\fP is part of the \fBjfbview\fP suite. +.SH OPTIONS +.INDENT 0.0 +.TP +.B \-P,\-\-password=pass +Unlock PDF document with the given password. +.TP +.B \-w,\-\-width=width +Specify result line width. The default is to autodetect terminal width. +.TP +.B \-h,\-\-help +Show built\-in help message. +.UNINDENT +.SH COPYRIGHT +.sp +jpdfgrep is distributed under the Apache License v2. +.SH AUTHORS +.sp +jpdfgrep was written by Chuan Ji. +.sp +This man page written for the SlackBuilds.org project +by B. Watson, and is licensed under the WTFPL. +.SH SEE ALSO +.sp +\fBjfbview\fP(1), \fBjpdfcat\fP(1), \fBpdftotext\fP(1) +.\" Generated by docutils manpage writer. +. diff --git a/office/jfbview/jpdfgrep.rst b/office/jfbview/jpdfgrep.rst new file mode 100644 index 0000000000000..462488b4d9617 --- /dev/null +++ b/office/jfbview/jpdfgrep.rst @@ -0,0 +1,65 @@ +.. RST source for jpdfgrep(1) man page. Convert with: +.. rst2man.py jpdfgrep.rst > jpdfgrep.1 +.. rst2man.py comes from the SBo development/docutils package. + +.. |version| replace:: 0.6.0 +.. |date| date:: + +======== +jpdfgrep +======== + +------------------------------------- +search for a string in a PDF document +------------------------------------- + +:Manual section: 1 +:Manual group: SlackBuilds.org +:Date: |date| +:Version: |version| + +SYNOPSIS +======== + +jpdfgrep [*-P pass*] [*-w width*] **filename.pdf** **search-string** + +DESCRIPTION +=========== + +**jpdfgrep** searches for a string in the text content of a PDF +document and prints all matching lines. Despite the name, the +**search-string** is a fixed string, *not* a regular expression. +Also, be aware that the file and search string arguments must +be given in the opposite order from grep. + +**jpdfgrep** is part of the **jfbview** suite. + +OPTIONS +======= + +-P,--password=pass + Unlock PDF document with the given password. + +-w,--width=width + Specify result line width. The default is to autodetect terminal width. + +-h,--help + Show built-in help message. + +COPYRIGHT +========= + +jpdfgrep is distributed under the Apache License v2. + +AUTHORS +======= + +jpdfgrep was written by Chuan Ji. + +This man page written for the SlackBuilds.org project +by B. Watson, and is licensed under the WTFPL. + +SEE ALSO +======== + +**jfbview**\(1), **jpdfcat**\(1), **pdftotext**\(1) diff --git a/office/jfbview/slack-desc b/office/jfbview/slack-desc new file mode 100644 index 0000000000000..91d47c1ba2c8b --- /dev/null +++ b/office/jfbview/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +jfbview: jfbview (framebuffer PDF and image viewer) +jfbview: +jfbview: jfbview is a PDF and image viewer for the Linux framebuffer. It's fast +jfbview: and has some advanced features including: +jfbview: * Arbitrary zoom (10% - 1000%) and rotation; +jfbview: * Table of Contents (TOC) viewer for PDF documents; +jfbview: * Interactive text search for PDF documents; +jfbview: * Multi-threaded rendering; +jfbview: * Asynchronous background pre-caching; +jfbview: * Customizable multi-threaded caching. +jfbview: This package built @WITHIM@ imlib2. |