crux-commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
September 2017
- 1 participants
- 174 discussions
commit 2f70aa88b64683e757224e1ca83adc8ba0f722bc
Author: Alan Mizrahi <alan at mizrahi dot com dot ve>
Date: Wed Sep 27 13:38:44 2017 +0900
hunspell: updated source url
diff --git a/hunspell/.md5sum b/hunspell/.md5sum
index cbfb77b78..61efd60cc 100644
--- a/hunspell/.md5sum
+++ b/hunspell/.md5sum
@@ -1 +1 @@
-0df1c18c1284f8625af5ae5a8d5c4cef v1.6.1.tar.gz
+0df1c18c1284f8625af5ae5a8d5c4cef hunspell-v1.6.1.tar.gz
diff --git a/hunspell/.signature b/hunspell/.signature
index f2c8573bb..fa8d3cd2b 100644
--- a/hunspell/.signature
+++ b/hunspell/.signature
@@ -1,5 +1,5 @@
untrusted comment: verify with /etc/ports/opt.pub
-RWSE3ohX2g5d/YN6zmfyUj0f3PJfHF2A3qrOIolVSc/IZiQmPxcchwGwcYjpmQ7ONHkVlundGJGNWjTVsQLRMDZNNj2pYIud9gg=
-SHA256 (Pkgfile) = 03c633704dca68da2cce154ff5fa84628d72d7501acc05d071f9207732f38341
+RWSE3ohX2g5d/UBQkdtuEcb1eYmHNyRqjD7ZJSplKlJOw21GblTjUnx6wfJCliCwvYzpcnhI3a7Espk+D1vB09HDW+7tVwBZ9QE=
+SHA256 (Pkgfile) = 372c7ba8c2a2e3263b4904e47daa39f446f0cd2332614a11446c9298e3359f27
SHA256 (.footprint) = d04b844e4e3c7a35918a0fbf5e9f65c85227a694225c99ae3f9f96ca2fd441f5
-SHA256 (v1.6.1.tar.gz) = 30f593733c50b794016bb03d31fd2a2071e4610c6fa4708e33edad2335102c49
+SHA256 (hunspell-v1.6.1.tar.gz) = 30f593733c50b794016bb03d31fd2a2071e4610c6fa4708e33edad2335102c49
diff --git a/hunspell/Pkgfile b/hunspell/Pkgfile
index 2afd2eaf2..0233ff5fc 100644
--- a/hunspell/Pkgfile
+++ b/hunspell/Pkgfile
@@ -6,7 +6,7 @@
name=hunspell
version=1.6.1
release=2
-source=(https://github.com/hunspell/$name/archive/v$version.tar.gz)
+source=(https://github.com/hunspell/$name/archive/v$version/$name-v$version.tar.gz)
build() {
cd $name-$version
1
0
commit 7b17520ffb85b8679fefde30cd6dd7a53c2cd9cf
Author: Danny Rawlins <monster.romster(a)gmail.com>
Date: Wed Sep 27 10:31:09 2017 +1000
mpg123-32: 1.25.6 -> 1.25.7
diff --git a/mpg123-32/.footprint b/mpg123-32/.footprint
index 4560423..b3ceb8f 100644
--- a/mpg123-32/.footprint
+++ b/mpg123-32/.footprint
@@ -1,9 +1,9 @@
drwxr-xr-x root/root usr/
drwxr-xr-x root/root usr/lib32/
-rwxr-xr-x root/root usr/lib32/libmpg123.la
-lrwxrwxrwx root/root usr/lib32/libmpg123.so -> libmpg123.so.0.44.5
-lrwxrwxrwx root/root usr/lib32/libmpg123.so.0 -> libmpg123.so.0.44.5
--rwxr-xr-x root/root usr/lib32/libmpg123.so.0.44.5
+lrwxrwxrwx root/root usr/lib32/libmpg123.so -> libmpg123.so.0.44.6
+lrwxrwxrwx root/root usr/lib32/libmpg123.so.0 -> libmpg123.so.0.44.6
+-rwxr-xr-x root/root usr/lib32/libmpg123.so.0.44.6
-rwxr-xr-x root/root usr/lib32/libout123.la
lrwxrwxrwx root/root usr/lib32/libout123.so -> libout123.so.0.2.1
lrwxrwxrwx root/root usr/lib32/libout123.so.0 -> libout123.so.0.2.1
diff --git a/mpg123-32/.md5sum b/mpg123-32/.md5sum
index 142e293..25d50fd 100644
--- a/mpg123-32/.md5sum
+++ b/mpg123-32/.md5sum
@@ -1 +1 @@
-43336bef78f67c2e66c4f6c288ca1eb3 mpg123-1.25.6.tar.bz2
+710f2d8689b24e86376bd64a05d7888b mpg123-1.25.7.tar.bz2
diff --git a/mpg123-32/.signature b/mpg123-32/.signature
index 1234794..28b0d45 100644
--- a/mpg123-32/.signature
+++ b/mpg123-32/.signature
@@ -1,5 +1,5 @@
untrusted comment: verify with /etc/ports/compat-32.pub
-RWSwxGo/zH7eXaMHopXnssG6iioP58YYZqmdyV+ROPbMhoyDUtD17u4oQV+b2pnqG5g26JQAMlzclq2bnxYuWlV0L58Hz5MENQc=
-SHA256 (Pkgfile) = 78411af56f17b795901a535944d8d8a55474b31dd23300e7ab5837f4649226f4
-SHA256 (.footprint) = f56afc48ac0ccaa21de9ac45748c91dc768a93e26ebc36606e3e2ab5162ded01
-SHA256 (mpg123-1.25.6.tar.bz2) = 0f0458c9b87799bc2c9bf9455279cc4d305e245db43b51a39ef27afe025c5a8e
+RWSwxGo/zH7eXdmBwoUx3T+zRlloBc8T34l9YuaU2qEvp/OxM/pZM+SKMWYIrAOd54M1Z+O9kbZtJWrszGGkzjGRc3PhP8i/MAA=
+SHA256 (Pkgfile) = a80c97de7d8ca1760332cf1fd41f3debd535329653d729ad7313a48bdaad5fe7
+SHA256 (.footprint) = e5afae006e5e0136c5834cab2bc4d1cae3e8eadd7a025968c33a502fe40f388a
+SHA256 (mpg123-1.25.7.tar.bz2) = 31b15ebcf26111b874732e07c8e60de5053ee555eea15fb70c657a4f9f0344f3
diff --git a/mpg123-32/Pkgfile b/mpg123-32/Pkgfile
index 928586c..cc61146 100644
--- a/mpg123-32/Pkgfile
+++ b/mpg123-32/Pkgfile
@@ -4,7 +4,7 @@
# Depends on: libtool alsa-lib-32 mpg123
name=mpg123-32
-version=1.25.6
+version=1.25.7
release=1
source=(https://www.mpg123.de/download/${name%-*}-$version.tar.bz2)
1
0
commit 8c2e5033fa9c47f8d68d658e4733c23ac850c283
Author: Danny Rawlins <monster.romster(a)gmail.com>
Date: Wed Sep 27 10:23:31 2017 +1000
meson: 0.42.0 -> 0.42.1
diff --git a/meson/.footprint b/meson/.footprint
index 7038c451c..9881e1b6a 100644
--- a/meson/.footprint
+++ b/meson/.footprint
@@ -8,7 +8,7 @@ drwxr-xr-x root/root usr/bin/
drwxr-xr-x root/root usr/lib/
drwxr-xr-x root/root usr/lib/python3.6/
drwxr-xr-x root/root usr/lib/python3.6/site-packages/
--rw-r--r-- root/root usr/lib/python3.6/site-packages/meson-0.42.0-py3.6.egg-info
+-rw-r--r-- root/root usr/lib/python3.6/site-packages/meson-0.42.1-py3.6.egg-info
drwxr-xr-x root/root usr/lib/python3.6/site-packages/mesonbuild/
-rw-r--r-- root/root usr/lib/python3.6/site-packages/mesonbuild/__init__.py (EMPTY)
drwxr-xr-x root/root usr/lib/python3.6/site-packages/mesonbuild/__pycache__/
diff --git a/meson/.md5sum b/meson/.md5sum
index fb743d9d0..eee8af464 100644
--- a/meson/.md5sum
+++ b/meson/.md5sum
@@ -1 +1 @@
-b2518db2c56348f17a65d5edb04e0c60 meson-0.42.0.tar.gz
+a8ff06ab5e138dec64cbfa249ff4f8bb meson-0.42.1.tar.gz
diff --git a/meson/.signature b/meson/.signature
index cc872fe63..a16888732 100644
--- a/meson/.signature
+++ b/meson/.signature
@@ -1,5 +1,5 @@
untrusted comment: verify with /etc/ports/opt.pub
-RWSE3ohX2g5d/Q6T/XZv7M3hBAFzyfWgHpTkXWXSuy6rlJFiQD+4JpcK0rTK8szQXSaSfN0msXiCtXsHTBGO42QY+YEpTXG7pgM=
-SHA256 (Pkgfile) = c59c3eb75f68ea176c4233987e22a98c20d3f0480efcf2104a672fd3fbb6af14
-SHA256 (.footprint) = da24cf2620482dc02ede02702a6861fd76c11389533c0920426624a8c7326ef4
-SHA256 (meson-0.42.0.tar.gz) = a74c7387a3dd8171e931bcd948355f7f9529368eae72c3c22a9beef6c2e73498
+RWSE3ohX2g5d/XjYZ0ZlgRfSCC0MnTljW5SHlSpaYBd6VMvu2f/eY7oKhVgzvSuPtUjIbnKI0ikRd/l6tMZovrOf4UBoXfQpaAs=
+SHA256 (Pkgfile) = ad55b1729028e99e1778a6d6f420cc41946009e961bc305b794af7bb7e763fd6
+SHA256 (.footprint) = b4a2671aa89ef16b115e891be6938066c04e8297e64669e25974f78244c77eca
+SHA256 (meson-0.42.1.tar.gz) = 30bdded6fefc48211d30818d96dd34aae56ee86ce9710476f501bd7695469c4b
diff --git a/meson/Pkgfile b/meson/Pkgfile
index 969c7b7c3..54bbc00bc 100644
--- a/meson/Pkgfile
+++ b/meson/Pkgfile
@@ -4,7 +4,7 @@
# Depends on: python3
name=meson
-version=0.42.0
+version=0.42.1
release=1
source=(https://github.com/mesonbuild/meson/releases/download/$version/$nam…
1
0
commit 3318ef344f798d0acdee08670712e9a9de16632d
Author: Fredrik Rinnestam <fredrik(a)crux.nu>
Date: Tue Sep 26 18:22:46 2017 +0200
btrfs-progs: updated to 4.13.1
diff --git a/btrfs-progs/.md5sum b/btrfs-progs/.md5sum
index f1e9ae6fc..4ad0d1601 100644
--- a/btrfs-progs/.md5sum
+++ b/btrfs-progs/.md5sum
@@ -1 +1 @@
-321c0161f0f26db0cbda73e6ca4d9056 btrfs-progs-v4.13.tar.xz
+f5140d4ece65ad297892b434699e9a37 btrfs-progs-v4.13.1.tar.xz
diff --git a/btrfs-progs/.signature b/btrfs-progs/.signature
index 0cde77e24..e0d92bda3 100644
--- a/btrfs-progs/.signature
+++ b/btrfs-progs/.signature
@@ -1,5 +1,5 @@
untrusted comment: verify with /etc/ports/opt.pub
-RWSE3ohX2g5d/b8HGFt15Q+IVX2o8xIQKhvDSx7scpxNhvW65fe15QKyCo2JbTTsdfckIntg6RAXOuqi5eKOeN6NzG64vQiYLwM=
-SHA256 (Pkgfile) = 45b3af070ea2c1f52d7bafac8b813d87ec5cadf055c4f1fdba9d2dc1954b627d
+RWSE3ohX2g5d/WNDE+ZeJY9TdKuumiClf1RX//Nvh/ekSdjFECLICkDu1MGS62YNdmbHo5G0CRCcIpJjzFCibzHOXmtcyDjBnAA=
+SHA256 (Pkgfile) = a6418652df2aea196db8534e777e3df245cc9c2c83460a7498670f843a621187
SHA256 (.footprint) = a29435b0a075edf510a96e949e3a0d21138e6af59f76ac28307f4435b35da84d
-SHA256 (btrfs-progs-v4.13.tar.xz) = 75fcc5b1a66ed7b0dc474a5a7c934ab67a9b7e589d8ad3eadc0ede24aa3ca69e
+SHA256 (btrfs-progs-v4.13.1.tar.xz) = e04f80fe55429a8a2541ab01951bb29a12c071d7ce8baa318b8feb49f3de8ab2
diff --git a/btrfs-progs/Pkgfile b/btrfs-progs/Pkgfile
index 917da481e..5f6523e63 100644
--- a/btrfs-progs/Pkgfile
+++ b/btrfs-progs/Pkgfile
@@ -4,7 +4,7 @@
# Depends on: util-linux e2fsprogs lzo zlib
name=btrfs-progs
-version=4.13
+version=4.13.1
release=1
source=(https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/bt…
1
0
commit d6d9a6643f8ca19bb290df9e99bde276e9f9340f
Author: Juergen Daubert <jue(a)jue.li>
Date: Tue Sep 26 12:14:27 2017 +0200
sshfs-fuse: add missing man-page
diff --git a/sshfs-fuse/sshfs.1 b/sshfs-fuse/sshfs.1
new file mode 100644
index 000000000..c5eecb9e3
--- /dev/null
+++ b/sshfs-fuse/sshfs.1
@@ -0,0 +1,314 @@
+.\" Man page generated from reStructuredText.
+.
+.TH SSHFS 1 "" "" "User Commands"
+.SH NAME
+SSHFS \- filesystem client based on SSH
+.
+.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
+..
+.SH SYNOPSIS
+.sp
+To mount a filesystem:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+sshfs [user@]host:[dir] mountpoint [options]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+If \fIhost\fP is a numeric IPv6 address, it needs to be enclosed in square
+brackets.
+.sp
+To unmount it:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+fusermount3 \-u mountpoint # Linux
+umount mountpoint # OS X, FreeBSD
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH DESCRIPTION
+.sp
+SSHFS allows you to mount a remote filesystem using SSH (more
+precisely, the SFTP subsystem). Most SSH servers support and enable
+this SFTP access by default, so SSHFS is very simple to use \- there\(aqs
+nothing to do on the server\-side.
+.sp
+SSHFS uses FUSE (Filesystem in Userspace) and should work on any
+operating system that provides a FUSE implementation. Currently,
+this includes Linux, FreeBSD and Mac OS X.
+.sp
+It is recommended to run SSHFS as regular user (not as root). For
+this to work the mountpoint must be owned by the user. If username is
+omitted SSHFS will use the local username. If the directory is
+omitted, SSHFS will mount the (remote) home directory. If you need to
+enter a password sshfs will ask for it (actually it just runs ssh
+which ask for the password if needed).
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-o opt,[opt...]
+mount options, see below for details. A a variety of SSH options can
+be given here as well, see the manual pages for \fIsftp(1)\fP and
+\fIssh_config(5)\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-h\fP,\fB \-\-help
+print help and exit.
+.TP
+.B \-V\fP,\fB \-\-version
+print version information and exit.
+.TP
+.B \-d\fP,\fB \-\-debug
+print debugging information.
+.TP
+.BI \-p \ PORT
+equivalent to \(aq\-o port=PORT\(aq
+.TP
+.B \-f
+do not daemonize, stay in foreground.
+.TP
+.B \-s
+Single threaded operation.
+.TP
+.B \-C
+equivalent to \(aq\-o compression=yes\(aq
+.TP
+.BI \-F \ ssh_configfile
+specifies alternative ssh configuration file
+.TP
+.B \-1
+equivalent to \(aq\-o ssh_protocol=1\(aq
+.TP
+.BI \-o \ reconnect
+automatically reconnect to server if connection is
+interrupted. Attempts to access files that were opened before the
+reconnection will give errors and need to be re\-opened.
+.TP
+.BI \-o \ delay_connect
+Don\(aqt immediately connect to server, wait until mountpoint is first
+accessed.
+.TP
+.BI \-o \ sshfs_sync
+synchronous writes. This will slow things down, but may be useful
+in some situations.
+.TP
+.BI \-o \ no_readahead
+Only read exactly the data that was requested, instead of
+speculatively reading more to anticipate the next read request.
+.TP
+.BI \-o \ sync_readdir
+synchronous readdir. This will slow things down, but may be useful
+in some situations.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-o workaround=LIST
+Enable the specified workaround. See the \fICaveats\fP section below
+for some additional information. Possible values are:
+.INDENT 7.0
+.TP
+.B rename
+Emulate overwriting an existing file by deleting and
+renaming.
+.TP
+.B truncate
+Work around servers that don\(aqt support truncate by
+coping the whole file, truncating it locally, and sending it
+back.
+.TP
+.B fstat
+Work around broken servers that don\(aqt support \fIfstat()\fP by
+using \fIstat\fP instead.
+.TP
+.B buflimit
+Work around OpenSSH "buffer fillup" bug.
+.UNINDENT
+.TP
+.B \-o idmap=TYPE
+How to map remote UID/GIDs to local values. Possible values are:
+.INDENT 7.0
+.TP
+.B none
+no translation of the ID space (default).
+.TP
+.B user
+map the UID/GID of the remote user to UID/GID of the
+mounting user.
+.TP
+.B file
+translate UIDs/GIDs based upon the contents of \fI\-\-uidfile\fP
+and \fI\-\-gidfile\fP\&.
+.UNINDENT
+.TP
+.B \-o uidfile=FILE
+file containing \fBusername:uid\fP mappings for \fI\-o idmap=file\fP
+.TP
+.B \-o gidfile=FILE
+file containing \fBgroupname:gid\fP mappings for \fI\-o idmap=file\fP
+.TP
+.B \-o nomap=TYPE
+with idmap=file, how to handle missing mappings:
+.INDENT 7.0
+.TP
+.B ignore
+don\(aqt do any re\-mapping
+.TP
+.B error
+return an error (default)
+.UNINDENT
+.TP
+.B \-o ssh_command=CMD
+execute CMD instead of \(aqssh\(aq
+.TP
+.B \-o ssh_protocol=N
+ssh protocol to use (default: 2)
+.TP
+.B \-o sftp_server=SERV
+path to sftp server or subsystem (default: sftp)
+.TP
+.B \-o directport=PORT
+directly connect to PORT bypassing ssh
+.UNINDENT
+.INDENT 0.0
+.TP
+.BI \-o \ slave
+communicate over stdin and stdout bypassing network
+.TP
+.BI \-o \ disable_hardlink
+With this option set, attempts to call \fIlink(2)\fP will fail with
+error code ENOSYS.
+.TP
+.BI \-o \ transform_symlinks
+transform absolute symlinks on remote side to relative
+symlinks. This means that if e.g. on the server side
+\fB/foo/bar/com\fP is a symlink to \fB/foo/blub\fP, SSHFS will
+transform the link target to \fB\&../blub\fP on the client side.
+.TP
+.BI \-o \ follow_symlinks
+follow symlinks on the server, i.e. present them as regular
+files on the client. If a symlink is dangling (i.e, the target does
+not exist) the behavior depends on the remote server \- the entry
+may appear as a symlink on the client, or it may appear as a
+regular file that cannot be accessed.
+.TP
+.BI \-o \ no_check_root
+don\(aqt check for existence of \(aqdir\(aq on server
+.TP
+.BI \-o \ password_stdin
+read password from stdin (only for pam_mount!)
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-o dir_cache=BOOL
+Enables (\fIyes\fP) or disables (\fIno\fP) the SSHFS directory cache. The
+directory cache holds the names of directory entries. Enabling it
+allows \fIreaddir(3)\fP system calls to be processed without network
+access.
+.TP
+.B \-o dcache_max_size=N
+sets the maximum size of the directory cache.
+.TP
+.B \-o dcache_timeout=N
+sets timeout for directory cache in seconds.
+.TP
+.B \-o dcache_{stat,link,dir}_timeout=N
+sets separate timeout for {attributes, symlinks, names} in the
+directory cache.
+.TP
+.B \-o dcache_clean_interval=N
+sets the interval for automatic cleaning of the directory cache.
+.TP
+.B \-o dcache_min_clean_interval=N
+sets the interval for forced cleaning of the directory cache
+when full.
+.UNINDENT
+.sp
+In addition, SSHFS accepts several options common to all FUSE file
+systems. These are described in the \fImount.fuse\fP manpage (look
+for "general", "libfuse specific", and "high\-level API" options).
+.SH CAVEATS / WORKAROUNDS
+.SS Hardlinks
+.sp
+If the SSH server supports the \fIhardlinks\fP extension, SSHFS will allow
+you to create hardlinks. However, hardlinks will always appear as
+individual files when seen through an SSHFS mount, i.e. they will
+appear to have different inodes and an \fIst_nlink\fP value of 1.
+.SS Rename
+.sp
+Some SSH servers do not support atomically overwriting the destination
+when renaming a file. In this case you will get an error when you
+attempt to rename a file and the destination already exists. A
+workaround is to first remove the destination file, and then do the
+rename. SSHFS can do this automatically if you call it with \fI\-o
+workaround=rename\fP\&. However, in this case it is still possible that
+someone (or something) recreates the destination file after SSHFS has
+removed it, but before SSHFS had the time to rename the old file. In
+this case, the rename will still fail.
+.SS SSHFS hangs
+.sp
+In some cases, attempts to access the SSHFS mountpoint may freeze if
+no filesystem activity has occured for some time. This is typically
+caused by the SSH connection being dropped because of inactivity
+without SSHFS being informed about that. As a workaround, you can try
+to mount with \fB\-o ServerAliveInterval=15\fP\&. This will force the SSH
+connection to stay alive even if you have no activity.
+.SH MOUNTING FROM /ETC/FSTAB
+.sp
+To mount an SSHFS filesystem from \fB/etc/fstab\fP, simply use \fBsshfs\(ga
+as the file system type. (For backwards compatibility, you may also
+use \(ga\(gafuse.sshfs\fP).
+.SH SEE ALSO
+.sp
+The \fImount.fuse(8)\fP manpage.
+.SH GETTING HELP
+.sp
+If you need help, please ask on the <\fI\%fuse\-sshfs(a)lists.sourceforge.net\fP>
+mailing list (subscribe at
+\fI\%https://lists.sourceforge.net/lists/listinfo/fuse\-sshfs\fP).
+.sp
+Please report any bugs on the GitHub issue tracker at
+\fI\%https://github.com/libfuse/libfuse/issues\fP\&.
+.SH AUTHORS
+.sp
+SSHFS is currently maintained by Nikolaus Rath <\fI\%Nikolaus(a)rath.org\fP>,
+and was created by Miklos Szeredi <\fI\%miklos(a)szeredi.hu\fP>.
+.sp
+This man page was originally written by Bartosz Fenski
+<\fI\%fenio(a)debian.org\fP> for the Debian GNU/Linux distribution (but it may
+be used by others).
+.\" Generated by docutils manpage writer.
+.
1
0
commit c524fb2adbbffb204184f004508ed76bc6e957e6
Author: Juergen Daubert <jue(a)jue.li>
Date: Tue Sep 26 11:45:55 2017 +0200
mpg123: update to 1.25.7
diff --git a/mpg123/.footprint b/mpg123/.footprint
index 577e2e86c..21f8759f5 100644
--- a/mpg123/.footprint
+++ b/mpg123/.footprint
@@ -10,9 +10,9 @@ drwxr-xr-x root/root usr/include/
-rw-r--r-- root/root usr/include/out123.h
drwxr-xr-x root/root usr/lib/
-rwxr-xr-x root/root usr/lib/libmpg123.la
-lrwxrwxrwx root/root usr/lib/libmpg123.so -> libmpg123.so.0.44.5
-lrwxrwxrwx root/root usr/lib/libmpg123.so.0 -> libmpg123.so.0.44.5
--rwxr-xr-x root/root usr/lib/libmpg123.so.0.44.5
+lrwxrwxrwx root/root usr/lib/libmpg123.so -> libmpg123.so.0.44.6
+lrwxrwxrwx root/root usr/lib/libmpg123.so.0 -> libmpg123.so.0.44.6
+-rwxr-xr-x root/root usr/lib/libmpg123.so.0.44.6
-rwxr-xr-x root/root usr/lib/libout123.la
lrwxrwxrwx root/root usr/lib/libout123.so -> libout123.so.0.2.1
lrwxrwxrwx root/root usr/lib/libout123.so.0 -> libout123.so.0.2.1
diff --git a/mpg123/.md5sum b/mpg123/.md5sum
index 142e29310..25d50fd13 100644
--- a/mpg123/.md5sum
+++ b/mpg123/.md5sum
@@ -1 +1 @@
-43336bef78f67c2e66c4f6c288ca1eb3 mpg123-1.25.6.tar.bz2
+710f2d8689b24e86376bd64a05d7888b mpg123-1.25.7.tar.bz2
diff --git a/mpg123/.signature b/mpg123/.signature
index 2f9187966..a30543d38 100644
--- a/mpg123/.signature
+++ b/mpg123/.signature
@@ -1,5 +1,5 @@
untrusted comment: verify with /etc/ports/opt.pub
-RWSE3ohX2g5d/acFP27QOZVNBDGELXVvdTUJWALSsWoS/EyfskNoJNPv3MbBUoQ7nMxyp00m0Glab97hbRH61L6oTAZulMagHAg=
-SHA256 (Pkgfile) = b856a3482e1e91f1a5b7d38435a192a1463f337ed6432b1bd7cdeef487cba1c1
-SHA256 (.footprint) = 6f7bda5f8e115976249bba8bb96fba4244debae0f488e3ce7cfed197d8cc97fe
-SHA256 (mpg123-1.25.6.tar.bz2) = 0f0458c9b87799bc2c9bf9455279cc4d305e245db43b51a39ef27afe025c5a8e
+RWSE3ohX2g5d/fp4K5P7JpHHIye1BLabA+ndgcerVhnseRgUoOGFtOZDv/1ZYRT7tGcfzOkJOLEhkNsvY9t1ICFjzVrkUF2x5ww=
+SHA256 (Pkgfile) = 84962f619028111e708e27f81c4c00196b0e9aef9ee114c21448e0abd6903114
+SHA256 (.footprint) = d2c4d8049f672bdb1021fe93a9b4f0183dafa6bdd496bedff2897e36600bf9a7
+SHA256 (mpg123-1.25.7.tar.bz2) = 31b15ebcf26111b874732e07c8e60de5053ee555eea15fb70c657a4f9f0344f3
diff --git a/mpg123/Pkgfile b/mpg123/Pkgfile
index 7f223c097..7dd3c951b 100644
--- a/mpg123/Pkgfile
+++ b/mpg123/Pkgfile
@@ -4,7 +4,7 @@
# Depends on: libtool, alsa-lib
name=mpg123
-version=1.25.6
+version=1.25.7
release=1
source=(http://www.mpg123.de/download/$name-$version.tar.bz2)
1
0
commit 40ede79b81e53fa44f960fcdb6e464aa8f7c7afd
Author: Juergen Daubert <jue(a)jue.li>
Date: Tue Sep 26 11:45:34 2017 +0200
sshfs-fuse: update to 3.3.0
diff --git a/sshfs-fuse/.footprint b/sshfs-fuse/.footprint
index e5ddb6754..91048b9ee 100644
--- a/sshfs-fuse/.footprint
+++ b/sshfs-fuse/.footprint
@@ -1,7 +1,10 @@
drwxr-xr-x root/root usr/
drwxr-xr-x root/root usr/bin/
-rwxr-xr-x root/root usr/bin/sshfs
+drwxr-xr-x root/root usr/sbin/
+lrwxrwxrwx root/root usr/sbin/mount.fuse.sshfs -> ../bin/sshfs
+lrwxrwxrwx root/root usr/sbin/mount.sshfs -> ../bin/sshfs
drwxr-xr-x root/root usr/share/
drwxr-xr-x root/root usr/share/man/
drwxr-xr-x root/root usr/share/man/man1/
--rw-r--r-- root/root usr/share/man/man1/sshfs.1.gz
+-rwxr-xr-x root/root usr/share/man/man1/sshfs.1.gz
diff --git a/sshfs-fuse/.md5sum b/sshfs-fuse/.md5sum
index 7cd5fb1c7..df51f4777 100644
--- a/sshfs-fuse/.md5sum
+++ b/sshfs-fuse/.md5sum
@@ -1 +1,2 @@
-dee189442efb22e08d4f233af8626ce7 sshfs-3.2.0.tar.gz
+918f99e5a5b077cdfda6bddf8940ee0c sshfs-3.3.0.tar.xz
+92e0188ff3349babbed1e73a8c561322 sshfs.1
diff --git a/sshfs-fuse/.signature b/sshfs-fuse/.signature
index 415bcea58..a0b0070e0 100644
--- a/sshfs-fuse/.signature
+++ b/sshfs-fuse/.signature
@@ -1,5 +1,6 @@
untrusted comment: verify with /etc/ports/opt.pub
-RWSE3ohX2g5d/bjdCSW4V7byJbT1SOT24W0rdl8j31Ei6dZw2zoIhUPkjG9iR0E50DCV0vKlp57OV6CvUAc/Jf2ERi6YPi5AFgY=
-SHA256 (Pkgfile) = 6c722dae4dce41ce433c13906d563b25a6472281005152756d0ae93541b4c833
-SHA256 (.footprint) = fa53e4c7d54568efe2e06e42e693a1b5321694979ab8c4141db4917f07ed97d5
-SHA256 (sshfs-3.2.0.tar.gz) = b494cdbac7ba2e77b994b3d3957171610be640e49c287ff6cb8f2959c4768101
+RWSE3ohX2g5d/ZR80VZqlSbCmC2vp+XFoV305Jb9p5Jgmg+ILlx+Vlf72JIf50M+yMSpLtp/WJ+IOCfLY631nUPizj7H0Y/brgo=
+SHA256 (Pkgfile) = 963086824578a95e5d71c7dbd9a2502585c04c0c9a1f144940de024a3de09d77
+SHA256 (.footprint) = 7f13776954f8545eaef5b6a706cc8900ea540ff289c89d923825ab97347b0c41
+SHA256 (sshfs-3.3.0.tar.xz) = 9ddfcc2564fafe002706b093b6295afbcb2cc0a3bc52bc805cc5361cb69ca51d
+SHA256 (sshfs.1) = 42c34c125251a6e94336f2bc11eee3575cfd63cf20b2b69919c198b4ed33f2ce
diff --git a/sshfs-fuse/Pkgfile b/sshfs-fuse/Pkgfile
index aba4117ab..ccbf137fc 100644
--- a/sshfs-fuse/Pkgfile
+++ b/sshfs-fuse/Pkgfile
@@ -5,13 +5,23 @@
# Depends on: fuse3 glib
name=sshfs-fuse
-version=3.2.0
+version=3.3.0
release=1
-source=(https://github.com/libfuse/sshfs/releases/download/sshfs-$version/sshfs-$version.tar.gz)
+source=(https://github.com/libfuse/sshfs/releases/download/sshfs-$version/sshfs-$version.tar.xz
+ sshfs.1)
build() {
cd sshfs-$version
- ./configure --prefix=/usr
- make
- make DESTDIR=$PKG install
+
+ # fix man-dir location (only used if python-docutils is installed)
+ sed -i '/mandir/s/1/man1/' meson.build
+
+ local JOBS=
+ [[ $MAKEFLAGS =~ (-j|-j *|--jobs=)([[:digit:]]+) ]] && JOBS="-j ${BASH_REMATCH[2]}"
+
+ mkdir build ; cd build
+ meson .. --prefix /usr
+ DESTDIR=$PKG ninja $JOBS install
+
+ install -D $SRC/sshfs.1 $PKG/usr/share/man/man1/sshfs.1
}
1
0
commit c78e23cd78e16571f771158c78e432909d55ed59
Author: Juergen Daubert <jue(a)jue.li>
Date: Tue Sep 26 11:44:04 2017 +0200
[notify] fuse3: update to 3.2.0
Note: new dependencies meson and ninja
diff --git a/fuse3/.footprint b/fuse3/.footprint
index 3db120b09..4eff097bd 100644
--- a/fuse3/.footprint
+++ b/fuse3/.footprint
@@ -3,17 +3,15 @@ drwxr-xr-x root/root usr/bin/
-rwsr-xr-x root/root usr/bin/fusermount3
drwxr-xr-x root/root usr/include/
drwxr-xr-x root/root usr/include/fuse3/
--rw-r--r-- root/root usr/include/fuse3/cuse_lowlevel.h
--rw-r--r-- root/root usr/include/fuse3/fuse.h
--rw-r--r-- root/root usr/include/fuse3/fuse_common.h
--rw-r--r-- root/root usr/include/fuse3/fuse_lowlevel.h
--rw-r--r-- root/root usr/include/fuse3/fuse_opt.h
+-rw-rw-r-- root/root usr/include/fuse3/cuse_lowlevel.h
+-rw-rw-r-- root/root usr/include/fuse3/fuse.h
+-rw-rw-r-- root/root usr/include/fuse3/fuse_common.h
+-rw-rw-r-- root/root usr/include/fuse3/fuse_lowlevel.h
+-rw-rw-r-- root/root usr/include/fuse3/fuse_opt.h
drwxr-xr-x root/root usr/lib/
--rw-r--r-- root/root usr/lib/libfuse3.a
--rwxr-xr-x root/root usr/lib/libfuse3.la
-lrwxrwxrwx root/root usr/lib/libfuse3.so -> libfuse3.so.3.1.1
-lrwxrwxrwx root/root usr/lib/libfuse3.so.3 -> libfuse3.so.3.1.1
--rwxr-xr-x root/root usr/lib/libfuse3.so.3.1.1
+lrwxrwxrwx root/root usr/lib/libfuse3.so -> libfuse3.so.3
+lrwxrwxrwx root/root usr/lib/libfuse3.so.3 -> libfuse3.so.3.2.0
+-rwxr-xr-x root/root usr/lib/libfuse3.so.3.2.0
drwxr-xr-x root/root usr/lib/pkgconfig/
-rw-r--r-- root/root usr/lib/pkgconfig/fuse3.pc
drwxr-xr-x root/root usr/sbin/
@@ -21,6 +19,6 @@ drwxr-xr-x root/root usr/sbin/
drwxr-xr-x root/root usr/share/
drwxr-xr-x root/root usr/share/man/
drwxr-xr-x root/root usr/share/man/man1/
--rw-r--r-- root/root usr/share/man/man1/fusermount3.1.gz
+-rw-rw-r-- root/root usr/share/man/man1/fusermount3.1.gz
drwxr-xr-x root/root usr/share/man/man8/
--rw-r--r-- root/root usr/share/man/man8/mount.fuse3.8.gz
+-rw-rw-r-- root/root usr/share/man/man8/mount.fuse3.8.gz
diff --git a/fuse3/.md5sum b/fuse3/.md5sum
index 5a18a36ef..1f7f46552 100644
--- a/fuse3/.md5sum
+++ b/fuse3/.md5sum
@@ -1 +1 @@
-20b10f24b825062c1db9a21a35157f97 fuse-3.1.1.tar.gz
+79e862bf915864aceef179607c0b3e4d fuse-3.2.0.tar.xz
diff --git a/fuse3/.signature b/fuse3/.signature
index 5655df580..fb7b3ddd4 100644
--- a/fuse3/.signature
+++ b/fuse3/.signature
@@ -1,5 +1,5 @@
untrusted comment: verify with /etc/ports/opt.pub
-RWSE3ohX2g5d/b8lMxas+CtwVOOx36NZwxhL+8RyvxMoS9MtpKwc+gosqQFhticr+Vp9wJhW6Fb3oO9Ry2LF9oTp/kpu2DUipQI=
-SHA256 (Pkgfile) = 606d8d47d7b816e0eb007a9e966a1ae6116037bd2250535412bcccb8a77ac4bb
-SHA256 (.footprint) = 334ed47921f1eb8eca41a459b41a5bbc53b8e1876925c1e9fc4819aa550ce1c0
-SHA256 (fuse-3.1.1.tar.gz) = 4e89cf58d0b498fc37f7474193fe9c17dbd3b5d14e5abc6ff629b33e81f1d213
+RWSE3ohX2g5d/Qfs1Xsct72450RdmLkuRGleluefIny5E8Q0oxWoe7sYhEOBKslaswSB3qTxFmOM5yOOGCoDxpBjkQPQcbBodwc=
+SHA256 (Pkgfile) = 1d006baa98383d752064c7815421432e08a12d59133e2fbfa4cea0e24b1ddbf2
+SHA256 (.footprint) = 979fcf1c40d6d5fa329e9f5ddaa4075b74c35a7ca3e92506719df901a5309769
+SHA256 (fuse-3.2.0.tar.xz) = d11913032cbeaa40c80830bee97a6e7d0d9b1b9a5fbd58b0e4cee51bc19d848c
diff --git a/fuse3/Pkgfile b/fuse3/Pkgfile
index 34317439a..c45dc8c49 100644
--- a/fuse3/Pkgfile
+++ b/fuse3/Pkgfile
@@ -1,17 +1,23 @@
# Description: Interface for userspace filesystems
# URL: https://github.com/libfuse/
# Maintainer: Juergen Daubert, jue at crux dot nu
+# Depends on: meson ninja
name=fuse3
-version=3.1.1
+version=3.2.0
release=1
-source=(https://github.com/libfuse/libfuse/releases/download/fuse-$version/fuse-$version.tar.gz)
+source=(https://github.com/libfuse/libfuse/releases/download/fuse-$version/fuse-$version.tar.xz)
build() {
cd fuse-$version
- ./configure --prefix=/usr
- make
- make DESTDIR=$PKG install
- rm -r $PKG/{dev,usr/etc,usr/lib/udev}
- mv $PKG/usr/share/man/man8/mount.{fuse.8,fuse3.8}
+
+ local JOBS=
+ [[ $MAKEFLAGS =~ (-j|-j *|--jobs=)([[:digit:]]+) ]] && JOBS="-j ${BASH_REMATCH[2]}"
+
+ mkdir build ; cd build
+ meson .. --prefix /usr
+ DESTDIR=$PKG ninja $JOBS install
+
+ rm -r $PKG/{dev,etc,lib}
+ mv $PKG/usr/share/man/man8/mount.{fuse.8.gz,fuse3.8.gz}
}
1
0
commit 0af474a1695f40de224c5895a3a127606c53fcde
Author: Danny Rawlins <monster.romster(a)gmail.com>
Date: Tue Sep 26 08:47:31 2017 +1000
inkscape: patch for popper version 0.58
diff --git a/inkscape/.md5sum b/inkscape/.md5sum
index 449375da..636a1d9e 100644
--- a/inkscape/.md5sum
+++ b/inkscape/.md5sum
@@ -1 +1,2 @@
6f6bcbd0237ecd064460315465467b04 inkscape-0.92.2.tar.bz2
+2d82a8b53fbab1b0a7de01e1444dfbfe poppler-0.58.patch
diff --git a/inkscape/.signature b/inkscape/.signature
index 01c4e31d..a5838f6b 100644
--- a/inkscape/.signature
+++ b/inkscape/.signature
@@ -1,5 +1,6 @@
untrusted comment: verify with /etc/ports/contrib.pub
-RWSagIOpLGJF30J17cJqy5xnn/DSf228b1tyK8XFrc62H0XUneYTb2QSswK7HcYM0pBCZiUFu3jL8FIDvlhId9G8hk01L/ZTaQ8=
-SHA256 (Pkgfile) = bef79687dc442c9e87dcbc4219bc5bf01c233847f5950bb04b97535b941a6c87
+RWSagIOpLGJF32mxb6hfsCtCLDJsJjkjTzqZEtCe/PHlwDLsEuPuNq0G2XHcNnkRVynA29OBHe1OCNYEcz3tV8MzLiGFJCG0dgw=
+SHA256 (Pkgfile) = bba2b659421160387a64d6a4d795cc1030307042d1f966eba97245caa576a52b
SHA256 (.footprint) = da1084baa092a6172ffe78b59a8eea7f1faf1f947f902217f55c891e43c8c7e2
SHA256 (inkscape-0.92.2.tar.bz2) = a628d0e04c254e9840947e6d866974f92c68ae31631a38b94d9b65e5cd84cfd3
+SHA256 (poppler-0.58.patch) = 0505f49cf69ad51159cda5aa5f497f001fe9d10f34d59e6ad704a1b1e1dc50c1
diff --git a/inkscape/Pkgfile b/inkscape/Pkgfile
index 29fdbde5..17ded802 100644
--- a/inkscape/Pkgfile
+++ b/inkscape/Pkgfile
@@ -5,12 +5,16 @@
name=inkscape
version=0.92.2
-release=1
-source=(https://media.inkscape.org/dl/resources/file/$name-$version.tar.bz2)
+release=2
+source=(https://media.inkscape.org/dl/resources/file/$name-$version.tar.bz2
+ poppler-0.58.patch)
build() {
cd $name-$version
+ # https://gitlab.com/inkscape/inkscape/commit/93ccf03162cd2e46d962822d5507865…
+ patch -p1 -i $SRC/poppler-0.58.patch
+
CXXFLAGS+=' -std=c++11'
./autogen.sh
diff --git a/inkscape/poppler-0.58.patch b/inkscape/poppler-0.58.patch
new file mode 100644
index 00000000..212bde5d
--- /dev/null
+++ b/inkscape/poppler-0.58.patch
@@ -0,0 +1,1430 @@
+diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake
+index 836cfd9..c33a3bf 100644
+--- a/CMakeScripts/DefineDependsandFlags.cmake
++++ b/CMakeScripts/DefineDependsandFlags.cmake
+@@ -124,6 +124,10 @@ if(ENABLE_POPPLER)
+ POPPLER_VERSION VERSION_EQUAL "0.29.0")
+ set(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API ON)
+ endif()
++ if(POPPLER_VERSION VERSION_GREATER "0.58.0" OR
++ POPPLER_VERSION VERSION_EQUAL "0.58.0")
++ set(POPPLER_NEW_OBJECT_API ON)
++ endif()
+ else()
+ set(ENABLE_POPPLER_CAIRO OFF)
+ endif()
+diff --git a/config.h.cmake b/config.h.cmake
+index 00d6fb8..7af7da8 100644
+--- a/config.h.cmake
++++ b/config.h.cmake
+@@ -149,6 +149,9 @@
+ /* Use color space API from Poppler >= 0.29.0 */
+ #cmakedefine POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API 1
+
++/* Use object API from Poppler >= 0.58.0 */
++#cmakedefine POPPLER_NEW_OBJECT_API 1
++
+ /* Define to 1 if you have the `pow' function. */
+ #cmakedefine HAVE_POW 1
+
+diff --git a/src/extension/internal/pdfinput/pdf-input.cpp b/src/extension/internal/pdfinput/pdf-input.cpp
+index c1940b1..e311562 100644
+--- a/src/extension/internal/pdfinput/pdf-input.cpp
++++ b/src/extension/internal/pdfinput/pdf-input.cpp
+@@ -840,14 +840,20 @@ PdfInput::open(::Inkscape::Extension::Input * /*mod*/, const gchar * uri) {
+ }
+
+ // Parse the document structure
++#if defined(POPPLER_NEW_OBJECT_API)
++ Object obj = page->getContents();
++#else
+ Object obj;
+ page->getContents(&obj);
++#endif
+ if (!obj.isNull()) {
+ pdf_parser->parse(&obj);
+ }
+
+ // Cleanup
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj.free();
++#endif
+ delete pdf_parser;
+ delete builder;
+ g_free(docname);
+diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp
+index 5ede59b..604b7f8 100644
+--- a/src/extension/internal/pdfinput/pdf-parser.cpp
++++ b/src/extension/internal/pdfinput/pdf-parser.cpp
+@@ -414,13 +414,21 @@ void PdfParser::parse(Object *obj, GBool topLevel) {
+
+ if (obj->isArray()) {
+ for (int i = 0; i < obj->arrayGetLength(); ++i) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj2 = obj->arrayGet(i);
++#else
+ obj->arrayGet(i, &obj2);
++#endif
+ if (!obj2.isStream()) {
+ error(errInternal, -1, "Weird page contents");
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj2.free();
++#endif
+ return;
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj2.free();
++#endif
+ }
+ } else if (!obj->isStream()) {
+ error(errInternal, -1, "Weird page contents");
+@@ -439,7 +447,11 @@ void PdfParser::go(GBool /*topLevel*/)
+
+ // scan a sequence of objects
+ int numArgs = 0;
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj = parser->getObj();
++#else
+ parser->getObj(&obj);
++#endif
+ while (!obj.isEOF()) {
+
+ // got a command - execute it
+@@ -457,14 +469,20 @@ void PdfParser::go(GBool /*topLevel*/)
+ // Run the operation
+ execOp(&obj, args, numArgs);
+
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj.free();
+ for (int i = 0; i < numArgs; ++i)
+ args[i].free();
++#endif
+ numArgs = 0;
+
+ // got an argument - save it
+ } else if (numArgs < maxArgs) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ args[numArgs++] = std::move(obj);
++#else
+ args[numArgs++] = obj;
++#endif
+
+ // too many arguments - something is wrong
+ } else {
+@@ -475,13 +493,21 @@ void PdfParser::go(GBool /*topLevel*/)
+ printf("\n");
+ fflush(stdout);
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj.free();
++#endif
+ }
+
+ // grab the next object
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj = parser->getObj();
++#else
+ parser->getObj(&obj);
++#endif
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj.free();
++#endif
+
+ // args at end with no command
+ if (numArgs > 0) {
+@@ -495,8 +521,10 @@ void PdfParser::go(GBool /*topLevel*/)
+ printf("\n");
+ fflush(stdout);
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ for (int i = 0; i < numArgs; ++i)
+ args[i].free();
++#endif
+ }
+ }
+
+@@ -692,9 +720,13 @@ void PdfParser::opSetDash(Object args[], int /*numArgs*/)
+ if (length != 0) {
+ dash = (double *)gmallocn(length, sizeof(double));
+ for (int i = 0; i < length; ++i) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ dash[i] = a->get(i).getNum();
++#else
+ Object obj;
+ dash[i] = a->get(i, &obj)->getNum();
+ obj.free();
++#endif
+ }
+ }
+ state->setLineDash(dash, length, args[1].getNum());
+@@ -744,12 +776,18 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/)
+ GBool haveBackdropColor = gFalse;
+ GBool alpha = gFalse;
+
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((obj1 = res->lookupGState(args[0].getName())).isNull()) {
++#else
+ if (!res->lookupGState(args[0].getName(), &obj1)) {
++#endif
+ return;
+ }
+ if (!obj1.isDict()) {
+ error(errSyntaxError, getPos(), "ExtGState '{0:s}' is wrong type"), args[0].getName();
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+ return;
+ }
+ if (printCommands) {
+@@ -759,7 +797,11 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/)
+ }
+
+ // transparency support: blend mode, fill/stroke opacity
++#if defined(POPPLER_NEW_OBJECT_API)
++ if (!((obj2 = obj1.dictLookup(const_cast<char*>("BM"))).isNull())) {
++#else
+ if (!obj1.dictLookup(const_cast<char*>("BM"), &obj2)->isNull()) {
++#endif
+ GfxBlendMode mode = gfxBlendNormal;
+ if (state->parseBlendMode(&obj2, &mode)) {
+ state->setBlendMode(mode);
+@@ -767,40 +809,71 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/)
+ error(errSyntaxError, getPos(), "Invalid blend mode in ExtGState");
+ }
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((obj2 = obj1.dictLookup(const_cast<char*>("ca"))).isNum()) {
++#else
+ obj2.free();
+ if (obj1.dictLookup(const_cast<char*>("ca"), &obj2)->isNum()) {
++#endif
+ state->setFillOpacity(obj2.getNum());
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((obj2 = obj1.dictLookup(const_cast<char*>("CA"))).isNum()) {
++#else
+ obj2.free();
+ if (obj1.dictLookup(const_cast<char*>("CA"), &obj2)->isNum()) {
++#endif
+ state->setStrokeOpacity(obj2.getNum());
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj2.free();
++#endif
+
+ // fill/stroke overprint
+ GBool haveFillOP = gFalse;
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((haveFillOP = (obj2 = obj1.dictLookup(const_cast<char*>("op"))).isBool())) {
++#else
+ if ((haveFillOP = (obj1.dictLookup(const_cast<char*>("op"), &obj2)->isBool()))) {
++#endif
+ state->setFillOverprint(obj2.getBool());
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((obj2 = obj1.dictLookup(const_cast<char*>("OP"))).isBool()) {
++#else
+ obj2.free();
+ if (obj1.dictLookup(const_cast<char*>("OP"), &obj2)->isBool()) {
++#endif
+ state->setStrokeOverprint(obj2.getBool());
+ if (!haveFillOP) {
+ state->setFillOverprint(obj2.getBool());
+ }
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj2.free();
++#endif
+
+ // stroke adjust
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((obj2 = obj1.dictLookup(const_cast<char*>("SA"))).isBool()) {
++#else
+ if (obj1.dictLookup(const_cast<char*>("SA"), &obj2)->isBool()) {
++#endif
+ state->setStrokeAdjust(obj2.getBool());
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj2.free();
++#endif
+
+ // transfer function
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((obj2 = obj1.dictLookup(const_cast<char*>("TR2"))).isNull()) {
++ obj2 = obj1.dictLookup(const_cast<char*>("TR"));
++#else
+ if (obj1.dictLookup(const_cast<char*>("TR2"), &obj2)->isNull()) {
+ obj2.free();
+ obj1.dictLookup(const_cast<char*>("TR"), &obj2);
++#endif
+ }
+ if (obj2.isName(const_cast<char*>("Default")) ||
+ obj2.isName(const_cast<char*>("Identity"))) {
+@@ -809,9 +882,15 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/)
+ } else if (obj2.isArray() && obj2.arrayGetLength() == 4) {
+ int pos = 4;
+ for (int i = 0; i < 4; ++i) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj3 = obj2.arrayGet(i);
++#else
+ obj2.arrayGet(i, &obj3);
++#endif
+ funcs[i] = Function::parse(&obj3);
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj3.free();
++#endif
+ if (!funcs[i]) {
+ pos = i;
+ break;
+@@ -828,21 +907,37 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/)
+ } else if (!obj2.isNull()) {
+ error(errSyntaxError, getPos(), "Invalid transfer function in ExtGState");
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj2.free();
++#endif
+
+ // soft mask
++#if defined(POPPLER_NEW_OBJECT_API)
++ if (!((obj2 = obj1.dictLookup(const_cast<char*>("SMask"))).isNull())) {
++#else
+ if (!obj1.dictLookup(const_cast<char*>("SMask"), &obj2)->isNull()) {
++#endif
+ if (obj2.isName(const_cast<char*>("None"))) {
+ builder->clearSoftMask(state);
+ } else if (obj2.isDict()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((obj3 = obj2.dictLookup(const_cast<char*>("S"))).isName(const_cast<char*>("Alpha"))) {
++#else
+ if (obj2.dictLookup(const_cast<char*>("S"), &obj3)->isName(const_cast<char*>("Alpha"))) {
++#endif
+ alpha = gTrue;
+ } else { // "Luminosity"
+ alpha = gFalse;
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj3.free();
++#endif
+ funcs[0] = NULL;
++#if defined(POPPLER_NEW_OBJECT_API)
++ if (!((obj3 = obj2.dictLookup(const_cast<char*>("TR"))).isNull())) {
++#else
+ if (!obj2.dictLookup(const_cast<char*>("TR"), &obj3)->isNull()) {
++#endif
+ funcs[0] = Function::parse(&obj3);
+ if (funcs[0]->getInputSize() != 1 ||
+ funcs[0]->getOutputSize() != 1) {
+@@ -851,26 +946,45 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/)
+ funcs[0] = NULL;
+ }
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((haveBackdropColor = (obj3 = obj2.dictLookup(const_cast<char*>("BC"))).isArray())) {
++#else
+ obj3.free();
+ if ((haveBackdropColor = obj2.dictLookup(const_cast<char*>("BC"), &obj3)->isArray())) {
++#endif
+ for (int i = 0; i < gfxColorMaxComps; ++i) {
+ backdropColor.c[i] = 0;
+ }
+ for (int i = 0; i < obj3.arrayGetLength() && i < gfxColorMaxComps; ++i) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj4 = obj3.arrayGet(i);
++#else
+ obj3.arrayGet(i, &obj4);
++#endif
+ if (obj4.isNum()) {
+ backdropColor.c[i] = dblToCol(obj4.getNum());
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj4.free();
++#endif
+ }
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((obj3 = obj2.dictLookup(const_cast<char*>("G"))).isStream()) {
++ if ((obj4 = obj3.streamGetDict()->lookup(const_cast<char*>("Group"))).isDict()) {
++#else
+ obj3.free();
+ if (obj2.dictLookup(const_cast<char*>("G"), &obj3)->isStream()) {
+ if (obj3.streamGetDict()->lookup(const_cast<char*>("Group"), &obj4)->isDict()) {
++#endif
+ GfxColorSpace *blendingColorSpace = 0;
+ GBool isolated = gFalse;
+ GBool knockout = gFalse;
++#if defined(POPPLER_NEW_OBJECT_API)
++ if (!((obj5 = obj4.dictLookup(const_cast<char*>("CS"))).isNull())) {
++#else
+ if (!obj4.dictLookup(const_cast<char*>("CS"), &obj5)->isNull()) {
++#endif
+ #if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
+ blendingColorSpace = GfxColorSpace::parse(NULL, &obj5, NULL, NULL);
+ #elif defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
+@@ -879,15 +993,25 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/)
+ blendingColorSpace = GfxColorSpace::parse(&obj5, NULL);
+ #endif
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((obj5 = obj4.dictLookup(const_cast<char*>("I"))).isBool()) {
++#else
+ obj5.free();
+ if (obj4.dictLookup(const_cast<char*>("I"), &obj5)->isBool()) {
++#endif
+ isolated = obj5.getBool();
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((obj5 = obj4.dictLookup(const_cast<char*>("K"))).isBool()) {
++#else
+ obj5.free();
+ if (obj4.dictLookup(const_cast<char*>("K"), &obj5)->isBool()) {
++#endif
+ knockout = obj5.getBool();
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj5.free();
++#endif
+ if (!haveBackdropColor) {
+ if (blendingColorSpace) {
+ blendingColorSpace->getDefaultColor(&backdropColor);
+@@ -906,18 +1030,24 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/)
+ } else {
+ error(errSyntaxError, getPos(), "Invalid soft mask in ExtGState - missing group");
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj4.free();
++#endif
+ } else {
+ error(errSyntaxError, getPos(), "Invalid soft mask in ExtGState - missing group");
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj3.free();
++#endif
+ } else if (!obj2.isNull()) {
+ error(errSyntaxError, getPos(), "Invalid soft mask in ExtGState");
+ }
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj2.free();
+
+ obj1.free();
++#endif
+ }
+
+ void PdfParser::doSoftMask(Object *str, GBool alpha,
+@@ -938,43 +1068,79 @@ void PdfParser::doSoftMask(Object *str, GBool alpha,
+ dict = str->streamGetDict();
+
+ // check form type
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("FormType"));
++#else
+ dict->lookup(const_cast<char*>("FormType"), &obj1);
++#endif
+ if (!(obj1.isNull() || (obj1.isInt() && obj1.getInt() == 1))) {
+ error(errSyntaxError, getPos(), "Unknown form type");
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+
+ // get bounding box
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("BBox"));
++#else
+ dict->lookup(const_cast<char*>("BBox"), &obj1);
++#endif
+ if (!obj1.isArray()) {
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+ error(errSyntaxError, getPos(), "Bad form bounding box");
+ return;
+ }
+ for (i = 0; i < 4; ++i) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj2 = obj1.arrayGet(i);
++#else
+ obj1.arrayGet(i, &obj2);
++#endif
+ bbox[i] = obj2.getNum();
++#if defined(POPPLER_NEW_OBJECT_API)
++ }
++#else
+ obj2.free();
+ }
+ obj1.free();
++#endif
+
+ // get matrix
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("Matrix"));
++#else
+ dict->lookup(const_cast<char*>("Matrix"), &obj1);
++#endif
+ if (obj1.isArray()) {
+ for (i = 0; i < 6; ++i) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj2 = obj1.arrayGet(i);
++#else
+ obj1.arrayGet(i, &obj2);
++#endif
+ m[i] = obj2.getNum();
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj2.free();
++#endif
+ }
+ } else {
+ m[0] = 1; m[1] = 0;
+ m[2] = 0; m[3] = 1;
+ m[4] = 0; m[5] = 0;
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+
+ // get resources
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("Resources"));
++#else
+ dict->lookup(const_cast<char*>("Resources"), &obj1);
++#endif
+ resDict = obj1.isDict() ? obj1.getDict() : (Dict *)NULL;
+
+ // draw it
+@@ -987,7 +1153,9 @@ void PdfParser::doSoftMask(Object *str, GBool alpha,
+ if (blendingColorSpace) {
+ delete blendingColorSpace;
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+ }
+
+ void PdfParser::opSetRenderingIntent(Object /*args*/[], int /*numArgs*/)
+@@ -1084,7 +1252,11 @@ void PdfParser::opSetFillColorSpace(Object args[], int /*numArgs*/)
+ Object obj;
+
+ state->setFillPattern(NULL);
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj = res->lookupColorSpace(args[0].getName());
++#else
+ res->lookupColorSpace(args[0].getName(), &obj);
++#endif
+
+ GfxColorSpace *colorSpace = 0;
+ #if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
+@@ -1106,7 +1278,9 @@ void PdfParser::opSetFillColorSpace(Object args[], int /*numArgs*/)
+ colorSpace = GfxColorSpace::parse(&obj, NULL);
+ }
+ #endif
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj.free();
++#endif
+ if (colorSpace) {
+ GfxColor color;
+ state->setFillColorSpace(colorSpace);
+@@ -1125,7 +1299,11 @@ void PdfParser::opSetStrokeColorSpace(Object args[], int /*numArgs*/)
+ GfxColorSpace *colorSpace = 0;
+
+ state->setStrokePattern(NULL);
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj = res->lookupColorSpace(args[0].getName());
++#else
+ res->lookupColorSpace(args[0].getName(), &obj);
++#endif
+ #if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
+ if (obj.isNull()) {
+ colorSpace = GfxColorSpace::parse(NULL, &args[0], NULL, NULL);
+@@ -1145,7 +1323,9 @@ void PdfParser::opSetStrokeColorSpace(Object args[], int /*numArgs*/)
+ colorSpace = GfxColorSpace::parse(&obj, NULL);
+ }
+ #endif
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj.free();
++#endif
+ if (colorSpace) {
+ GfxColor color;
+ state->setStrokeColorSpace(colorSpace);
+@@ -2375,7 +2555,11 @@ void PdfParser::opShowSpaceText(Object args[], int /*numArgs*/)
+ wMode = state->getFont()->getWMode();
+ a = args[0].getArray();
+ for (int i = 0; i < a->getLength(); ++i) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj = a->get(i);
++#else
+ a->get(i, &obj);
++#endif
+ if (obj.isNum()) {
+ // this uses the absolute value of the font size to match
+ // Acrobat's behavior
+@@ -2392,7 +2576,9 @@ void PdfParser::opShowSpaceText(Object args[], int /*numArgs*/)
+ } else {
+ error(errSyntaxError, getPos(), "Element of show/space array must be number or string");
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj.free();
++#endif
+ }
+ }
+
+@@ -2465,7 +2651,11 @@ void PdfParser::doShowText(GooString *s) {
+ //out->updateCTM(state, 1, 0, 0, 1, 0, 0);
+ if (0){ /*!out->beginType3Char(state, curX + riseX, curY + riseY, tdx, tdy,
+ code, u, uLen)) {*/
++#if defined(POPPLER_NEW_OBJECT_API)
++ charProc = ((Gfx8BitFont *)font)->getCharProc(code);
++#else
+ ((Gfx8BitFont *)font)->getCharProc(code, &charProc);
++#endif
+ if ((resDict = ((Gfx8BitFont *)font)->getResources())) {
+ pushResources(resDict);
+ }
+@@ -2478,7 +2668,9 @@ void PdfParser::doShowText(GooString *s) {
+ if (resDict) {
+ popResources();
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ charProc.free();
++#endif
+ }
+ restoreState();
+ // GfxState::restore() does *not* restore the current position,
+@@ -2541,23 +2733,43 @@ void PdfParser::opXObject(Object args[], int /*numArgs*/)
+ Object obj1, obj2, obj3, refObj;
+
+ char *name = args[0].getName();
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((obj1 = res->lookupXObject(name)).isNull()) {
++#else
+ if (!res->lookupXObject(name, &obj1)) {
++#endif
+ return;
+ }
+ if (!obj1.isStream()) {
+ error(errSyntaxError, getPos(), "XObject '{0:s}' is wrong type", name);
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+ return;
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj2 = obj1.streamGetDict()->lookup(const_cast<char*>("Subtype"));
++#else
+ obj1.streamGetDict()->lookup(const_cast<char*>("Subtype"), &obj2);
++#endif
+ if (obj2.isName(const_cast<char*>("Image"))) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ refObj = res->lookupXObjectNF(name);
++#else
+ res->lookupXObjectNF(name, &refObj);
++#endif
+ doImage(&refObj, obj1.getStream(), gFalse);
++#if !defined(POPPLER_NEW_OBJECT_API)
+ refObj.free();
++#endif
+ } else if (obj2.isName(const_cast<char*>("Form"))) {
+ doForm(&obj1);
+ } else if (obj2.isName(const_cast<char*>("PS"))) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj3 = obj1.streamGetDict()->lookup(const_cast<char*>("Level1"));
++#else
+ obj1.streamGetDict()->lookup(const_cast<char*>("Level1"), &obj3);
++#endif
+ /* out->psXObject(obj1.getStream(),
+ obj3.isStream() ? obj3.getStream() : (Stream *)NULL);*/
+ } else if (obj2.isName()) {
+@@ -2565,8 +2777,10 @@ void PdfParser::opXObject(Object args[], int /*numArgs*/)
+ } else {
+ error(errSyntaxError, getPos(), "XObject subtype is missing or wrong type");
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj2.free();
+ obj1.free();
++#endif
+ }
+
+ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+@@ -2593,10 +2807,18 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ dict = str->getDict();
+
+ // get size
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("Width"));
++#else
+ dict->lookup(const_cast<char*>("Width"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("W"));
++#else
+ obj1.free();
+ dict->lookup(const_cast<char*>("W"), &obj1);
++#endif
+ }
+ if (obj1.isInt()){
+ width = obj1.getInt();
+@@ -2607,11 +2829,19 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ else {
+ goto err2;
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("Height"));
++#else
+ obj1.free();
+ dict->lookup(const_cast<char*>("Height"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("H"));
++#else
+ obj1.free();
+ dict->lookup(const_cast<char*>("H"), &obj1);
++#endif
+ }
+ if (obj1.isInt()) {
+ height = obj1.getInt();
+@@ -2622,26 +2852,46 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ else {
+ goto err2;
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+
+ // image interpolation
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup("Interpolate");
++#else
+ dict->lookup("Interpolate", &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup("I");
++#else
+ obj1.free();
+ dict->lookup("I", &obj1);
++#endif
+ }
+ if (obj1.isBool())
+ interpolate = obj1.getBool();
+ else
+ interpolate = gFalse;
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+ maskInterpolate = gFalse;
+
+ // image or mask?
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("ImageMask"));
++#else
+ dict->lookup(const_cast<char*>("ImageMask"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("IM"));
++#else
+ obj1.free();
+ dict->lookup(const_cast<char*>("IM"), &obj1);
++#endif
+ }
+ mask = gFalse;
+ if (obj1.isBool()) {
+@@ -2650,14 +2900,24 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ else if (!obj1.isNull()) {
+ goto err2;
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+
+ // bit depth
+ if (bits == 0) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("BitsPerComponent"));
++#else
+ dict->lookup(const_cast<char*>("BitsPerComponent"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("BPC"));
++#else
+ obj1.free();
+ dict->lookup(const_cast<char*>("BPC"), &obj1);
++#endif
+ }
+ if (obj1.isInt()) {
+ bits = obj1.getInt();
+@@ -2666,7 +2926,9 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ } else {
+ goto err2;
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+ }
+
+ // display a mask
+@@ -2676,21 +2938,37 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ goto err1;
+ }
+ invert = gFalse;
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("Decode"));
++#else
+ dict->lookup(const_cast<char*>("Decode"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("D"));
++#else
+ obj1.free();
+ dict->lookup(const_cast<char*>("D"), &obj1);
++#endif
+ }
+ if (obj1.isArray()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj2 = obj1.arrayGet(0);
++#else
+ obj1.arrayGet(0, &obj2);
++#endif
+ if (obj2.isInt() && obj2.getInt() == 1) {
+ invert = gTrue;
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj2.free();
++#endif
+ } else if (!obj1.isNull()) {
+ goto err2;
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+
+ // draw it
+ builder->addImageMask(state, str, width, height, invert, interpolate);
+@@ -2698,18 +2976,36 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ } else {
+ // get color space and color map
+ GfxColorSpace *colorSpace;
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("ColorSpace"));
++#else
+ dict->lookup(const_cast<char*>("ColorSpace"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("CS"));
++#else
+ obj1.free();
+ dict->lookup(const_cast<char*>("CS"), &obj1);
++#endif
+ }
+ if (obj1.isName()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj2 = res->lookupColorSpace(obj1.getName());
++#else
+ res->lookupColorSpace(obj1.getName(), &obj2);
++#endif
+ if (!obj2.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = std::move(obj2);
++#else
+ obj1.free();
+ obj1 = obj2;
++#endif
+ } else {
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj2.free();
++#endif
+ }
+ }
+ if (!obj1.isNull()) {
+@@ -2729,17 +3025,29 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ } else {
+ colorSpace = NULL;
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+ if (!colorSpace) {
+ goto err1;
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("Decode"));
++#else
+ dict->lookup(const_cast<char*>("Decode"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("D"));
++#else
+ obj1.free();
+ dict->lookup(const_cast<char*>("D"), &obj1);
++#endif
+ }
+ GfxImageColorMap *colorMap = new GfxImageColorMap(bits, &obj1, colorSpace);
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+ if (!colorMap->isOk()) {
+ delete colorMap;
+ goto err1;
+@@ -2753,8 +3061,13 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ int maskHeight = 0;
+ maskInvert = gFalse;
+ GfxImageColorMap *maskColorMap = NULL;
++#if defined(POPPLER_NEW_OBJECT_API)
++ maskObj = dict->lookup(const_cast<char*>("Mask"));
++ smaskObj = dict->lookup(const_cast<char*>("SMask"));
++#else
+ dict->lookup(const_cast<char*>("Mask"), &maskObj);
+ dict->lookup(const_cast<char*>("SMask"), &smaskObj);
++#endif
+ Dict* maskDict;
+ if (smaskObj.isStream()) {
+ // soft mask
+@@ -2763,58 +3076,108 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ }
+ maskStr = smaskObj.getStream();
+ maskDict = smaskObj.streamGetDict();
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("Width"));
++#else
+ maskDict->lookup(const_cast<char*>("Width"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("W"));
++#else
+ obj1.free();
+ maskDict->lookup(const_cast<char*>("W"), &obj1);
++#endif
+ }
+ if (!obj1.isInt()) {
+ goto err2;
+ }
+ maskWidth = obj1.getInt();
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("Height"));
++#else
+ obj1.free();
+ maskDict->lookup(const_cast<char*>("Height"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("H"));
++#else
+ obj1.free();
+ maskDict->lookup(const_cast<char*>("H"), &obj1);
++#endif
+ }
+ if (!obj1.isInt()) {
+ goto err2;
+ }
+ maskHeight = obj1.getInt();
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("BitsPerComponent"));
++#else
+ obj1.free();
+ maskDict->lookup(const_cast<char*>("BitsPerComponent"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("BPC"));
++#else
+ obj1.free();
+ maskDict->lookup(const_cast<char*>("BPC"), &obj1);
++#endif
+ }
+ if (!obj1.isInt()) {
+ goto err2;
+ }
+ int maskBits = obj1.getInt();
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("Interpolate"));
++#else
+ obj1.free();
+ maskDict->lookup("Interpolate", &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("I"));
++#else
+ obj1.free();
+ maskDict->lookup("I", &obj1);
++#endif
+ }
+ if (obj1.isBool())
+ maskInterpolate = obj1.getBool();
+ else
+ maskInterpolate = gFalse;
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("ColorSpace"));
++#else
+ obj1.free();
+ maskDict->lookup(const_cast<char*>("ColorSpace"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("CS"));
++#else
+ obj1.free();
+ maskDict->lookup(const_cast<char*>("CS"), &obj1);
++#endif
+ }
+ if (obj1.isName()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj2 = res->lookupColorSpace(obj1.getName());
++#else
+ res->lookupColorSpace(obj1.getName(), &obj2);
++#endif
+ if (!obj2.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = std::move(obj2);
++#else
+ obj1.free();
+ obj1 = obj2;
++#endif
+ } else {
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj2.free();
++#endif
+ }
+ }
+ #if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
+@@ -2824,17 +3187,29 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ #else
+ GfxColorSpace *maskColorSpace = GfxColorSpace::parse(&obj1, NULL);
+ #endif
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+ if (!maskColorSpace || maskColorSpace->getMode() != csDeviceGray) {
+ goto err1;
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("Decode"));
++#else
+ maskDict->lookup(const_cast<char*>("Decode"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("D"));
++#else
+ obj1.free();
+ maskDict->lookup(const_cast<char*>("D"), &obj1);
++#endif
+ }
+ maskColorMap = new GfxImageColorMap(maskBits, &obj1, maskColorSpace);
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+ if (!maskColorMap->isOk()) {
+ delete maskColorMap;
+ goto err1;
+@@ -2845,9 +3220,15 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ // color key mask
+ int i;
+ for (i = 0; i < maskObj.arrayGetLength() && i < 2*gfxColorMaxComps; ++i) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskObj.arrayGet(i);
++#else
+ maskObj.arrayGet(i, &obj1);
++#endif
+ maskColors[i] = obj1.getInt();
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+ }
+ haveColorKeyMask = gTrue;
+ } else if (maskObj.isStream()) {
+@@ -2857,61 +3238,111 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ }
+ maskStr = maskObj.getStream();
+ maskDict = maskObj.streamGetDict();
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("Width"));
++#else
+ maskDict->lookup(const_cast<char*>("Width"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("W"));
++#else
+ obj1.free();
+ maskDict->lookup(const_cast<char*>("W"), &obj1);
++#endif
+ }
+ if (!obj1.isInt()) {
+ goto err2;
+ }
+ maskWidth = obj1.getInt();
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("Height"));
++#else
+ obj1.free();
+ maskDict->lookup(const_cast<char*>("Height"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("H"));
++#else
+ obj1.free();
+ maskDict->lookup(const_cast<char*>("H"), &obj1);
++#endif
+ }
+ if (!obj1.isInt()) {
+ goto err2;
+ }
+ maskHeight = obj1.getInt();
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("ImageMask"));
++#else
+ obj1.free();
+ maskDict->lookup(const_cast<char*>("ImageMask"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("IM"));
++#else
+ obj1.free();
+ maskDict->lookup(const_cast<char*>("IM"), &obj1);
++#endif
+ }
+ if (!obj1.isBool() || !obj1.getBool()) {
+ goto err2;
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup("Interpolate");
++#else
+ obj1.free();
+ maskDict->lookup("Interpolate", &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup("I");
++#else
+ obj1.free();
+ maskDict->lookup("I", &obj1);
++#endif
+ }
+ if (obj1.isBool())
+ maskInterpolate = obj1.getBool();
+ else
+ maskInterpolate = gFalse;
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+ maskInvert = gFalse;
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("Decode"));
++#else
+ maskDict->lookup(const_cast<char*>("Decode"), &obj1);
++#endif
+ if (obj1.isNull()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = maskDict->lookup(const_cast<char*>("D"));
++#else
+ obj1.free();
+ maskDict->lookup(const_cast<char*>("D"), &obj1);
++#endif
+ }
+ if (obj1.isArray()) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj2 = obj1.arrayGet(0);
++#else
+ obj1.arrayGet(0, &obj2);
++#endif
+ if (obj2.isInt() && obj2.getInt() == 1) {
+ maskInvert = gTrue;
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj2.free();
++#endif
+ } else if (!obj1.isNull()) {
+ goto err2;
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+ haveExplicitMask = gTrue;
+ }
+
+@@ -2929,14 +3360,18 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ }
+ delete colorMap;
+
++#if !defined(POPPLER_NEW_OBJECT_API)
+ maskObj.free();
+ smaskObj.free();
++#endif
+ }
+
+ return;
+
+ err2:
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+ err1:
+ error(errSyntaxError, getPos(), "Bad image parameters");
+ }
+@@ -2961,52 +3396,97 @@ void PdfParser::doForm(Object *str) {
+ dict = str->streamGetDict();
+
+ // check form type
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = dict->lookup(const_cast<char*>("FormType"));
++#else
+ dict->lookup(const_cast<char*>("FormType"), &obj1);
++#endif
+ if (!(obj1.isNull() || (obj1.isInt() && obj1.getInt() == 1))) {
+ error(errSyntaxError, getPos(), "Unknown form type");
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+
+ // get bounding box
++#if defined(POPPLER_NEW_OBJECT_API)
++ bboxObj = dict->lookup(const_cast<char*>("BBox"));
++#else
+ dict->lookup(const_cast<char*>("BBox"), &bboxObj);
++#endif
+ if (!bboxObj.isArray()) {
++#if !defined(POPPLER_NEW_OBJECT_API)
+ bboxObj.free();
++#endif
+ error(errSyntaxError, getPos(), "Bad form bounding box");
+ return;
+ }
+ for (i = 0; i < 4; ++i) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = bboxObj.arrayGet(i);
++#else
+ bboxObj.arrayGet(i, &obj1);
++#endif
+ bbox[i] = obj1.getNum();
++#if defined(POPPLER_NEW_OBJECT_API)
++ }
++#else
+ obj1.free();
+ }
+ bboxObj.free();
++#endif
+
+ // get matrix
++#if defined(POPPLER_NEW_OBJECT_API)
++ matrixObj = dict->lookup(const_cast<char*>("Matrix"));
++#else
+ dict->lookup(const_cast<char*>("Matrix"), &matrixObj);
++#endif
+ if (matrixObj.isArray()) {
+ for (i = 0; i < 6; ++i) {
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj1 = matrixObj.arrayGet(i);
++#else
+ matrixObj.arrayGet(i, &obj1);
++#endif
+ m[i] = obj1.getNum();
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj1.free();
++#endif
+ }
+ } else {
+ m[0] = 1; m[1] = 0;
+ m[2] = 0; m[3] = 1;
+ m[4] = 0; m[5] = 0;
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ matrixObj.free();
++#endif
+
+ // get resources
++#if defined(POPPLER_NEW_OBJECT_API)
++ resObj = dict->lookup(const_cast<char*>("Resources"));
++#else
+ dict->lookup(const_cast<char*>("Resources"), &resObj);
++#endif
+ resDict = resObj.isDict() ? resObj.getDict() : (Dict *)NULL;
+
+ // check for a transparency group
+ transpGroup = isolated = knockout = gFalse;
+ blendingColorSpace = NULL;
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((obj1 = dict->lookup(const_cast<char*>("Group"))).isDict()) {
++ if ((obj2 = obj1.dictLookup(const_cast<char*>("S"))).isName(const_cast<char*>("Transparency"))) {
++#else
+ if (dict->lookup(const_cast<char*>("Group"), &obj1)->isDict()) {
+ if (obj1.dictLookup(const_cast<char*>("S"), &obj2)->isName(const_cast<char*>("Transparency"))) {
++#endif
+ transpGroup = gTrue;
++#if defined(POPPLER_NEW_OBJECT_API)
++ if (!((obj3 = obj1.dictLookup(const_cast<char*>("CS"))).isNull())) {
++#else
+ if (!obj1.dictLookup(const_cast<char*>("CS"), &obj3)->isNull()) {
++#endif
+ #if defined(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API)
+ blendingColorSpace = GfxColorSpace::parse(NULL, &obj3, NULL, NULL);
+ #elif defined(POPPLER_EVEN_NEWER_COLOR_SPACE_API)
+@@ -3015,19 +3495,32 @@ void PdfParser::doForm(Object *str) {
+ blendingColorSpace = GfxColorSpace::parse(&obj3, NULL);
+ #endif
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((obj3 = obj1.dictLookup(const_cast<char*>("I"))).isBool()) {
++#else
+ obj3.free();
+ if (obj1.dictLookup(const_cast<char*>("I"), &obj3)->isBool()) {
++#endif
+ isolated = obj3.getBool();
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ if ((obj3 = obj1.dictLookup(const_cast<char*>("K"))).isBool()) {
++#else
+ obj3.free();
+ if (obj1.dictLookup(const_cast<char*>("K"), &obj3)->isBool()) {
++#endif
+ knockout = obj3.getBool();
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ }
++ }
++#else
+ obj3.free();
+ }
+ obj2.free();
+ }
+ obj1.free();
++#endif
+
+ // draw it
+ ++formDepth;
+@@ -3038,7 +3531,9 @@ void PdfParser::doForm(Object *str) {
+ if (blendingColorSpace) {
+ delete blendingColorSpace;
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ resObj.free();
++#endif
+ }
+
+ void PdfParser::doForm1(Object *str, Dict *resDict, double *matrix, double *bbox,
+@@ -3166,35 +3661,61 @@ Stream *PdfParser::buildImageStream() {
+ Stream *str;
+
+ // build dictionary
++#if defined(POPPLER_NEW_OBJECT_API)
++ dict = Object(new Dict(xref));
++ obj = parser->getObj();
++#else
+ dict.initDict(xref);
+ parser->getObj(&obj);
++#endif
+ while (!obj.isCmd(const_cast<char*>("ID")) && !obj.isEOF()) {
+ if (!obj.isName()) {
+ error(errSyntaxError, getPos(), "Inline image dictionary key must be a name object");
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj.free();
++#endif
+ } else {
+ key = copyString(obj.getName());
++#if defined(POPPLER_NEW_OBJECT_API)
++ obj = parser->getObj();
++#else
+ obj.free();
+ parser->getObj(&obj);
++#endif
+ if (obj.isEOF() || obj.isError()) {
+ gfree(key);
+ break;
+ }
++#if defined(POPPLER_NEW_OBJECT_API)
++ dict.dictAdd(key, std::move(obj));
++ }
++ obj = parser->getObj();
++#else
+ dict.dictAdd(key, &obj);
+ }
+ parser->getObj(&obj);
++#endif
+ }
+ if (obj.isEOF()) {
+ error(errSyntaxError, getPos(), "End of file in inline image");
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj.free();
+ dict.free();
++#endif
+ return NULL;
+ }
++#if !defined(POPPLER_NEW_OBJECT_API)
+ obj.free();
++#endif
+
+ // make stream
++#if defined(POPPLER_NEW_OBJECT_API)
++ str = new EmbedStream(parser->getStream(), dict.copy(), gFalse, 0);
++ str = str->addFilters(dict.getDict());
++#else
+ str = new EmbedStream(parser->getStream(), &dict, gFalse, 0);
+ str = str->addFilters(&dict);
++#endif
+
+ return str;
+ }
+
+diff --git a/build-x64-gtk3.xml b/build-x64-gtk3.xml
+index 29ade0e..769f168 100644
+--- a/build-x64-gtk3.xml
++++ b/build-x64-gtk3.xml
+@@ -393,6 +393,7 @@
+ -DPOPPLER_NEW_ERRORAPI <!-- poppler changed the error api for 0.20.0 -->
+ -DPOPPLER_EVEN_NEWER_COLOR_SPACE_API <!-- poppler changed the colorspace api for 0.26.0 -->
+ -DPOPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API <!-- poppler changed the colorspace api for 0.29.0 -->
++ -DPOPPLER_NEW_OBJECT_API <!-- poppler changed the object api for 0.58.0 -->
+ <!-- GTK+3 migration -->
+ -DGLIBMM_DISABLE_DEPRECATED
+ -DG_DISABLE_DEPRECATED
+diff --git a/build-x64.xml b/build-x64.xml
+index 7176723..abe230d 100644
+--- a/build-x64.xml
++++ b/build-x64.xml
+@@ -388,6 +388,7 @@
+ -DPOPPLER_NEW_ERRORAPI <!-- poppler changed the error api for 0.20.0 -->
+ -DPOPPLER_EVEN_NEWER_COLOR_SPACE_API <!-- poppler changed the colorspace api for 0.26.0 -->
+ -DPOPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API <!-- poppler changed the colorspace api for 0.29.0 -->
++ -DPOPPLER_NEW_OBJECT_API <!-- poppler changed the object api for 0.58.0 -->
+ <!-- GTK+3 migration -->
+ -DGLIBMM_DISABLE_DEPRECATED
+ -DG_DISABLE_DEPRECATED
+diff --git a/build.xml b/build.xml
+index 90ba74d..1070aa9 100644
+--- a/build.xml
++++ b/build.xml
+@@ -388,6 +388,7 @@
+ -DPOPPLER_NEW_ERRORAPI <!-- poppler changed the error api for 0.20.0 -->
+ -DPOPPLER_EVEN_NEWER_COLOR_SPACE_API <!-- poppler changed the colorspace api for 0.26.0 -->
+ -DPOPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API <!-- poppler changed the colorspace api for 0.29.0 -->
++ -DPOPPLER_NEW_OBJECT_API <!-- poppler changed the object api for 0.58.0 -->
+ <!-- GTK+3 migration -->
+ -DGLIBMM_DISABLE_DEPRECATED
+ -DG_DISABLE_DEPRECATED
+diff --git a/configure.ac b/configure.ac
+index 2454012..ff55553 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -454,6 +454,11 @@ if test "x$popplernewernewcolorspaceapi" = "xyes"; then
+ AC_DEFINE(POPPLER_EVEN_NEWER_NEW_COLOR_SPACE_API, 1, [Use even newer new color space API from Poppler >= 0.29.0])
+ fi
+
++PKG_CHECK_MODULES(POPPLER_NEW_OBJECT_API, poppler >= 0.58.0, popplernewobjectapi=yes, popplernewobjectapi=no)
++if test "x$popplernewobjectapi" = "xyes"; then
++ AC_DEFINE(POPPLER_NEW_OBJECT_API, 1, [Use new object API from Poppler >= 0.58.0])
++fi
++
+ CPPFLAGS=$ink_svd_CPPFLAGS
+ LIBS=$ink_svd_LIBS
+
+
1
0
commit 0287c00c4d6d4eca67b6d0a64fa26be21a47ff77
Author: Thomas Penteker <tek(a)serverop.de>
Date: Mon Sep 25 23:14:41 2017 +0200
wireshark: 2.2.7 -> 2.4.1
diff --git a/wireshark/.footprint b/wireshark/.footprint
index 0ebd5a8df..c94c42fe0 100644
--- a/wireshark/.footprint
+++ b/wireshark/.footprint
@@ -10,32 +10,34 @@ drwxr-xr-x root/root usr/bin/
-rwxr-xr-x root/root usr/bin/randpkt
-rwxr-xr-x root/root usr/bin/rawshark
-rwxr-xr-x root/root usr/bin/reordercap
+-rwxr-xr-x root/root usr/bin/sharkd
-rwxr-xr-x root/root usr/bin/text2pcap
-rwxr-xr-x root/root usr/bin/tshark
-rwxr-xr-x root/root usr/bin/wireshark-gtk
drwxr-xr-x root/root usr/lib/
-rwxr-xr-x root/root usr/lib/libwireshark.la
-lrwxrwxrwx root/root usr/lib/libwireshark.so -> libwireshark.so.8.1.7
-lrwxrwxrwx root/root usr/lib/libwireshark.so.8 -> libwireshark.so.8.1.7
--rwxr-xr-x root/root usr/lib/libwireshark.so.8.1.7
+lrwxrwxrwx root/root usr/lib/libwireshark.so -> libwireshark.so.10.0.1
+lrwxrwxrwx root/root usr/lib/libwireshark.so.10 -> libwireshark.so.10.0.1
+-rwxr-xr-x root/root usr/lib/libwireshark.so.10.0.1
-rwxr-xr-x root/root usr/lib/libwiretap.la
-lrwxrwxrwx root/root usr/lib/libwiretap.so -> libwiretap.so.6.0.7
-lrwxrwxrwx root/root usr/lib/libwiretap.so.6 -> libwiretap.so.6.0.7
--rwxr-xr-x root/root usr/lib/libwiretap.so.6.0.7
+lrwxrwxrwx root/root usr/lib/libwiretap.so -> libwiretap.so.7.0.1
+lrwxrwxrwx root/root usr/lib/libwiretap.so.7 -> libwiretap.so.7.0.1
+-rwxr-xr-x root/root usr/lib/libwiretap.so.7.0.1
-rwxr-xr-x root/root usr/lib/libwscodecs.la
-lrwxrwxrwx root/root usr/lib/libwscodecs.so -> libwscodecs.so.1.0.0
-lrwxrwxrwx root/root usr/lib/libwscodecs.so.1 -> libwscodecs.so.1.0.0
--rwxr-xr-x root/root usr/lib/libwscodecs.so.1.0.0
+lrwxrwxrwx root/root usr/lib/libwscodecs.so -> libwscodecs.so.1.1.0
+lrwxrwxrwx root/root usr/lib/libwscodecs.so.1 -> libwscodecs.so.1.1.0
+-rwxr-xr-x root/root usr/lib/libwscodecs.so.1.1.0
-rwxr-xr-x root/root usr/lib/libwsutil.la
-lrwxrwxrwx root/root usr/lib/libwsutil.so -> libwsutil.so.7.0.0
-lrwxrwxrwx root/root usr/lib/libwsutil.so.7 -> libwsutil.so.7.0.0
--rwxr-xr-x root/root usr/lib/libwsutil.so.7.0.0
+lrwxrwxrwx root/root usr/lib/libwsutil.so -> libwsutil.so.8.0.0
+lrwxrwxrwx root/root usr/lib/libwsutil.so.8 -> libwsutil.so.8.0.0
+-rwxr-xr-x root/root usr/lib/libwsutil.so.8.0.0
drwxr-xr-x root/root usr/lib/pkgconfig/
-rw-r--r-- root/root usr/lib/pkgconfig/wireshark.pc
drwxr-xr-x root/root usr/lib/wireshark/
drwxr-xr-x root/root usr/lib/wireshark/extcap/
-rwxr-xr-x root/root usr/lib/wireshark/extcap/androiddump
-rwxr-xr-x root/root usr/lib/wireshark/extcap/randpktdump
+-rwxr-xr-x root/root usr/lib/wireshark/extcap/udpdump
drwxr-xr-x root/root usr/lib/wireshark/plugins/
-rwxr-xr-x root/root usr/lib/wireshark/plugins/docsis.la
-rwxr-xr-x root/root usr/lib/wireshark/plugins/docsis.so
@@ -55,6 +57,8 @@ drwxr-xr-x root/root usr/lib/wireshark/plugins/
-rwxr-xr-x root/root usr/lib/wireshark/plugins/profinet.so
-rwxr-xr-x root/root usr/lib/wireshark/plugins/stats_tree.la
-rwxr-xr-x root/root usr/lib/wireshark/plugins/stats_tree.so
+-rwxr-xr-x root/root usr/lib/wireshark/plugins/transum.la
+-rwxr-xr-x root/root usr/lib/wireshark/plugins/transum.so
-rwxr-xr-x root/root usr/lib/wireshark/plugins/unistim.la
-rwxr-xr-x root/root usr/lib/wireshark/plugins/unistim.so
-rwxr-xr-x root/root usr/lib/wireshark/plugins/wimax.la
@@ -123,6 +127,7 @@ drwxr-xr-x root/root usr/share/man/man1/
-rw-r--r-- root/root usr/share/man/man1/reordercap.1.gz
-rw-r--r-- root/root usr/share/man/man1/text2pcap.1.gz
-rw-r--r-- root/root usr/share/man/man1/tshark.1.gz
+-rw-r--r-- root/root usr/share/man/man1/udpdump.1.gz
-rw-r--r-- root/root usr/share/man/man1/wireshark.1.gz
drwxr-xr-x root/root usr/share/man/man4/
-rw-r--r-- root/root usr/share/man/man4/extcap.4.gz
@@ -147,6 +152,8 @@ drwxr-xr-x root/root usr/share/wireshark/diameter/
-rw-r--r-- root/root usr/share/wireshark/diameter/Custom.xml
-rw-r--r-- root/root usr/share/wireshark/diameter/Ericsson.xml
-rw-r--r-- root/root usr/share/wireshark/diameter/HP.xml
+-rw-r--r-- root/root usr/share/wireshark/diameter/Inovar.xml
+-rw-r--r-- root/root usr/share/wireshark/diameter/Juniper.xml
-rw-r--r-- root/root usr/share/wireshark/diameter/Nokia.xml
-rw-r--r-- root/root usr/share/wireshark/diameter/NokiaSolutionsAndNetworks.xml
-rw-r--r-- root/root usr/share/wireshark/diameter/Oracle.xml
@@ -252,12 +259,14 @@ drwxr-xr-x root/root usr/share/wireshark/radius/
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.cisco.vpn5000
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.citrix
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.clavister
+-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.cnergee
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.colubris
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.columbia_university
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.compat
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.compatible
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.cosine
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.dante
+-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.dellemc
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.dhcp
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.digium
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.dlink
@@ -269,7 +278,6 @@ drwxr-xr-x root/root usr/share/wireshark/radius/
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.ericsson
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.ericsson.ab
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.ericsson.packet.core.networks
--rw-r--r-- root/root usr/share/wireshark/radius/dictionary.erx
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.extreme
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.f5
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.fdxtended
@@ -304,6 +312,7 @@ drwxr-xr-x root/root usr/share/wireshark/radius/
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.meinberg
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.merit
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.meru
+-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.microsemi
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.microsoft
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.mikrotik
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.motorola
@@ -360,6 +369,7 @@ drwxr-xr-x root/root usr/share/wireshark/radius/
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.rfc7155
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.rfc7268
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.rfc7499
+-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.rfc7930
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.riverbed
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.riverstone
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.roaringpenguin
@@ -386,6 +396,7 @@ drwxr-xr-x root/root usr/share/wireshark/radius/
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.travelping
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.tropos
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.ukerna
+-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.unisphere
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.unix
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.usr
-rw-r--r-- root/root usr/share/wireshark/radius/dictionary.utstarcom
@@ -416,6 +427,7 @@ drwxr-xr-x root/root usr/share/wireshark/radius/
drwxr-xr-x root/root usr/share/wireshark/tpncp/
-rw-r--r-- root/root usr/share/wireshark/tpncp/tpncp.dat
-rw-r--r-- root/root usr/share/wireshark/tshark.html
+-rw-r--r-- root/root usr/share/wireshark/udpdump.html
drwxr-xr-x root/root usr/share/wireshark/wimaxasncp/
-rw-r--r-- root/root usr/share/wireshark/wimaxasncp/dictionary.dtd
-rw-r--r-- root/root usr/share/wireshark/wimaxasncp/dictionary.xml
diff --git a/wireshark/.md5sum b/wireshark/.md5sum
index 21bef3ff6..aebb923f7 100644
--- a/wireshark/.md5sum
+++ b/wireshark/.md5sum
@@ -1 +1 @@
-a4d880554c7f925dafef60fa313b580d wireshark-2.2.7.tar.bz2
+22b925108e0b65d6560f0af161157266 wireshark-2.4.1.tar.xz
diff --git a/wireshark/.signature b/wireshark/.signature
index 638459aa1..4c90cc76d 100644
--- a/wireshark/.signature
+++ b/wireshark/.signature
@@ -1,5 +1,5 @@
untrusted comment: verify with /etc/ports/opt.pub
-RWSE3ohX2g5d/SbJMx2Tn2oosg3SMfiHSowZ0iY7BRokVVAGxfo5HQNu8b2s+5OxlBKgVeZw8a03jQsixPja7h2eyuqkSe3H9gg=
-SHA256 (Pkgfile) = 7bd52da35590cc91e1ae91c7e3ec362090c3a65e6d85bf82cda6a9dd452ee7fe
-SHA256 (.footprint) = 3ae1cd01b578b751d4154e4c596d86483d23798705166908a637bf6fac4ef55f
-SHA256 (wireshark-2.2.7.tar.bz2) = 689ddf62221b152779d8846ab5b2063cc7fd41ec1a9f04eefab09b5d5486dbb5
+RWSE3ohX2g5d/bMcHpWXTBWv9Gs3XBKd6i8gXQzFnWJCUkJJMIaeece655OuNQ8JDuR09QNnNnLKBgp0s4S7BKuoRzXxkJzvNwU=
+SHA256 (Pkgfile) = 82346f1727cbfc7e66adb80dc759b977018fc56eb33c6994c617542aa9659108
+SHA256 (.footprint) = f726806b4ab79574fb5b37528c0be50c27620af62258ed808493068725f0f02c
+SHA256 (wireshark-2.4.1.tar.xz) = 02ddbcf9b10f9dfa1e36eec00fe00cb5b5ce8e07203843baf056ac7909911fcd
diff --git a/wireshark/Pkgfile b/wireshark/Pkgfile
index 41adc8c18..505e5f4d9 100644
--- a/wireshark/Pkgfile
+++ b/wireshark/Pkgfile
@@ -5,9 +5,9 @@
# Depends on: gtk3 libpcap libpcre hicolor-icon-theme
name=wireshark
-version=2.2.7
+version=2.4.1
release=1
-source=(https://www.$name.org/download/src/all-versions/$name-$version.tar.bz2)
+source=(https://1.eu.dl.wireshark.org/src/wireshark-$version.tar.xz)
build() {
cd $name-$version
@@ -15,7 +15,8 @@ build() {
./configure --prefix=/usr \
--with-plugins=/usr/lib/$name/plugins \
--without-krb5 \
- --with-qt=no
+ --with-qt=no \
+ --with-gtk=yes
make
make DESTDIR=$PKG install
1
0