office/evince: Updated for version 3.28.5, new maintainer.

Signed-off-by: B. Watson <yalhcru@gmail.com>

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
B. Watson 2020-01-01 03:31:45 -05:00 committed by Robby Workman
parent 632539f0bc
commit f0424e1e05
5 changed files with 84 additions and 28 deletions

View file

@ -1,3 +1,5 @@
evince (a simple gtk-based document viewer)
Evince is a document viewer for multiple document formats. It currently
supports pdf, postscript, djvu, tiff and dvi. The goal of evince is to
replace the multiple document viewers that exist on the GNOME Desktop
@ -6,10 +8,16 @@ with a single simple application.
Evince is specifically designed to support the following file formats:
* PDF
* Postscript
* djvu
* tiff
* dvi
Texlive is an optional dependency (for dvi support).
* DjVu
* TIFF
* CBR/CBZ (comic books)
* DVI (requires optional dependency texlive)
* XPS (requires optional dependency libgxps)
This uses dconf (runtime-only) to save various settings (and even
then, not ALL settings are saved).
Note: this is the last version I could get to compile and run on Slackware
14.2. Newer versions of evince require newer glib2 and gtk+3 libraries
than 14.2 provides, so please don't email me asking for updates (you'll
have to wait until Slackware 15.0 is released).

View file

@ -4,6 +4,7 @@
# Copyright 2009 Andrew Brouwers <abrouwers@gmail.com>
# Copyright 2009-2014, Michiel van Wessem, Manchester, United Kingdom.
# Copyright 2019, B. Watson
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@ -23,8 +24,16 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Now maintained by B. Watson <yalhcru@gmail.com>
# 20191231 bkw:
# - take over maintenance
# - update for v3.28.5.3, which is the last version that will build with
# Slack 14.2's rather outdated gtk+3 libraries. Actually it requires
# some fugly hackery to work, see shim.h for gory details and polemic.
PRGNAM=evince
VERSION=${VERSION:-3.20.2}
VERSION=${VERSION:-3.28.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@ -36,8 +45,6 @@ if [ -z "$ARCH" ]; then
esac
fi
NLS=${NLS:-YES}
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
@ -66,15 +73,15 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
\! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
# If we have any patches apply them here:
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-text/evince/files/
# 20191231 bkw: I'll leave this here, but I have NOT tested it.
# It was never documented in README, caveat hactor.
NLS=${NLS:-YES}
if [ "$NLS" != "YES" ]; then
# disable NLS - we're going for a small package here.
rm po/*.po
@ -82,6 +89,20 @@ if [ "$NLS" != "YES" ]; then
-e 's/ENABLE_NLS 1/ENABLE_NLS 0/g' configure
fi
# 20200101 bkw: "shim" to let us actually compile with gtk+-3.18 and
# glib-2.46.2. Supposedly these versions are supported by evince-3.28.5,
# but upstream uses a couple of functions that are new in gtk+-3.22
# and glib-2.52. Fortunately it's stuff we can work around with a few
# #defines.
SLKCFLAGS="$SLKCFLAGS -include $CWD/shim.h"
# 20200101 bkw: 14.2's mime stuff identifies djvu files as
# image/vnd.djvu only, but evince wants image/vnd.djvu+multipage.
sed -i '/^ *DJVU_MIME_TYPES/s|="|&image/vnd.djvu;|' configure
# If we were building 3.30.x, we'd need this:
# --without-gspell \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@ -99,27 +120,29 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-t1lib \
--enable-comics \
--enable-dvi \
--enable-ps \
--enable-xps \
--enable-introspection \
--disable-static \
--disable-nautilus \
--disable-maintainer-mode \
--with-systemduserunitdir=no \
--build=$ARCH-slackware-linux
make
make install DESTDIR=$PKG
# ugh. glib-genmarshal's flags changed gratuitously.
sed -i 's,--prototypes,--header,' libview/Makefile
make V=1
make install-strip DESTDIR=$PKG
# Fix desktop entry
sed -i "/NoDisplay=true/d" $PKG/usr/share/applications/evince.desktop
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
gzip -9 $PKG/usr/man/man1/$PRGNAM.1
rm -rf $PKG/{usr/share/gtk-doc,etc}
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a AUTHORS COPYING NEWS README $PKG/usr/doc/$PRGNAM-$VERSION
cp -a AUTHORS COPYING NEWS README MAINTAINERS $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install

View file

@ -1,10 +1,10 @@
PRGNAM="evince"
VERSION="3.20.2"
VERSION="3.28.5"
HOMEPAGE="http://projects.gnome.org/evince/"
DOWNLOAD="https://download.gnome.org/sources/evince/3.20/evince-3.20.2.tar.xz"
MD5SUM="3da5f98a360829ac49f754873494ce1a"
DOWNLOAD="https://download.gnome.org/sources/evince/3.28/evince-3.28.5.tar.xz"
MD5SUM="855600d64544a959add349e32f5185e0"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Michiel van Wessem"
EMAIL="michiel@slackbuilds.org"
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"

25
office/evince/shim.h Normal file
View file

@ -0,0 +1,25 @@
/* 20191231 bkw: This seems like stupidity: g_content_type_is_mime_type
is a new function in glib-2.52, which literally just calls the
g_content_type_is_a function from older glibs, and returns its
result. Here's the function from the glib-2.52 source:
gboolean
g_content_type_is_mime_type (const gchar *type,
const gchar *mime_type)
{
return g_content_type_is_a (type, mime_type);
}
The docs describe it as a "convenience wrapper" but there's
nothing more or less convenient about it, except that it breaks builds
with older glib versions. Why does it even exist?
*/
#define g_content_type_is_mime_type(x,y) g_content_type_is_a(x,y)
/* 20191231 bkw: We'd need gtk+-3.22 to have gtk_popover_popup and
gtk_popover_popdown. They're functionally the same as gtk_widget_show
and gtk_widget_hide, except they have a "transition" (fade-in/out).
Some folks might actually prefer it without the fade.
*/
#define gtk_popover_popup(x) gtk_widget_show(GTK_WIDGET(x))
#define gtk_popover_popdown(x) gtk_widget_hide(GTK_WIDGET(x))

View file

@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
evince: evince (a simple gnome-based document viewer)
evince: evince (a simple gtk-based document viewer)
evince:
evince: Evince is a document viewer for multiple document formats.
evince: It currently supports pdf, postscript, djvu, tiff, and dvi.
evince: It currently supports pdf, postscript, djvu, tiff, dvi, cbr/cbz,
evince: and xps.
evince:
evince: The goal of evince is to replace the multiple document viewers
evince: that exist on the GNOME Desktop with a single simple application.
evince:
evince: Homepage: http://projects.gnome.org/evince/
evince:
evince: